From f74da6a4b5d02b7e2f7fbcc3dc38f41d0b13f99a Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Wed, 26 Apr 2023 18:06:16 +0300 Subject: [PATCH] UI: Improve/fix popover hover --- ui-ngx/src/app/shared/components/popover.component.ts | 10 +++++++++- ui-ngx/src/styles.scss | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ui-ngx/src/app/shared/components/popover.component.ts b/ui-ngx/src/app/shared/components/popover.component.ts index 59fd8fd313..9f4d4e3798 100644 --- a/ui-ngx/src/app/shared/components/popover.component.ts +++ b/ui-ngx/src/app/shared/components/popover.component.ts @@ -58,6 +58,7 @@ import { import { distinctUntilChanged, take, takeUntil } from 'rxjs/operators'; import { isNotEmptyStr, onParentScrollOrWindowResize } from '@core/utils'; import { animate, AnimationBuilder, AnimationMetadata, style } from '@angular/animations'; +import { coerceBoolean } from '@shared/decorators/coerce-boolean'; export type TbPopoverTrigger = 'click' | 'focus' | 'hover' | null; @@ -72,10 +73,12 @@ export class TbPopoverDirective implements OnChanges, OnDestroy, AfterViewInit { /* eslint-disable @angular-eslint/no-input-rename */ @Input('tbPopoverContent') content?: string | TemplateRef; + @Input('tbPopoverContext') context?: any | null = null; @Input('tbPopoverTrigger') trigger?: TbPopoverTrigger = 'hover'; @Input('tbPopoverPlacement') placement?: string | string[] = 'top'; @Input('tbPopoverOrigin') origin?: ElementRef; @Input('tbPopoverVisible') visible?: boolean; + @Input('tbPopoverShowCloseButton') @coerceBoolean() showCloseButton = true; @Input('tbPopoverMouseEnterDelay') mouseEnterDelay?: number; @Input('tbPopoverMouseLeaveDelay') mouseLeaveDelay?: number; @Input('tbPopoverOverlayClassName') overlayClassName?: string; @@ -220,9 +223,11 @@ export class TbPopoverDirective implements OnChanges, OnDestroy, AfterViewInit { const mappingProperties: PropertyMapping = { // common mappings content: ['tbContent', () => this.content], + context: ['tbComponentContext', () => this.context], trigger: ['tbTrigger', () => this.trigger], placement: ['tbPlacement', () => this.placement], visible: ['tbVisible', () => this.visible], + showCloseButton: ['tbShowCloseButton', () => this.showCloseButton], mouseEnterDelay: ['tbMouseEnterDelay', () => this.mouseEnterDelay], mouseLeaveDelay: ['tbMouseLeaveDelay', () => this.mouseLeaveDelay], overlayClassName: ['tbOverlayClassName', () => this.overlayClassName], @@ -320,7 +325,9 @@ export class TbPopoverDirective implements OnChanges, OnDestroy, AfterViewInit {
- {{ tbContent }} + + {{ tbContent }} +