UNPKG

ngx-bootstrap

Version:
1 lines 20.3 kB
{"version":3,"file":"ngx-bootstrap-popover.mjs","sources":["../../../../src/popover/popover.config.ts","../../../../src/popover/popover-container.component.ts","../../../../src/popover/popover-container.component.html","../../../../src/popover/popover.directive.ts","../../../../src/popover/popover.module.ts","../../../../src/popover/ngx-bootstrap-popover.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n/**\n * Configuration service for the Popover directive.\n * You can inject this service, typically in your root component, and customize\n * the values of its properties in order to provide default values for all the\n * popovers used in the application.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class PopoverConfig {\n /** sets disable adaptive position */\n adaptivePosition = true;\n /**\n * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\", \"auto\"\n */\n placement = 'top';\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n triggers = 'click';\n\n outsideClick = false;\n /**\n * A selector specifying the element the popover should be appended to.\n */\n container?: string;\n /** delay before showing the tooltip */\n delay = 0;\n\n boundariesElement?:string;\n}\n","import { ChangeDetectionStrategy, Input, Component } from '@angular/core';\nimport { PopoverConfig } from './popover.config';\nimport { getBsVer, IBsVersion } from 'ngx-bootstrap/utils';\nimport { PlacementForBs5, checkMargins, AvailableBSPositions } from 'ngx-bootstrap/positioning';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'popover-container',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.id]': 'popoverId',\n '[class]': '\"popover in popover-\" + _placement + \" \" + \"bs-popover-\" + _placement + \" \" + _placement + \" \" + containerClass + \" \" + checkMarginNecessity()',\n '[class.show]': '!_bsVersions.isBs3',\n '[class.bs3]': '_bsVersions.isBs3',\n role: 'tooltip',\n style: 'display:block; position:absolute'\n },\n styles: [\n `\n :host.popover.bottom > .arrow {\n margin-left: -4px;\n }\n\n :host .popover-arrow {\n position: absolute;\n }\n `\n ],\n templateUrl: './popover-container.component.html',\n standalone: true,\n imports: [NgIf]\n})\nexport class PopoverContainerComponent {\n @Input() set placement(value: AvailableBSPositions) {\n if (!this._bsVersions.isBs5) {\n this._placement = value;\n } else {\n this._placement = PlacementForBs5[value as keyof typeof PlacementForBs5];\n }\n }\n\n @Input() title?: string;\n\n containerClass?: string;\n popoverId?: string;\n _placement: AvailableBSPositions = 'top';\n\n get _bsVersions(): IBsVersion {\n return getBsVer();\n }\n\n constructor(config: PopoverConfig) {\n Object.assign(this, config);\n }\n\n checkMarginNecessity(): string {\n return checkMargins(this._placement);\n }\n}\n","<div class=\"popover-arrow arrow\"></div>\n<h3 class=\"popover-title popover-header\" *ngIf=\"title\">{{ title }}</h3>\n<div class=\"popover-content popover-body\">\n <ng-content></ng-content>\n</div>\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { PopoverConfig } from './popover.config';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PopoverContainerComponent } from './popover-container.component';\nimport { PositioningService, AvailableBSPositions } from 'ngx-bootstrap/positioning';\nimport { timer } from 'rxjs';\nimport { parseTriggers, Trigger } from 'ngx-bootstrap/utils';\n\nlet id = 0;\n\n/**\n * A lightweight, extensible directive for fancy popover creation.\n */\n@Directive({\n selector: '[popover]',\n exportAs: 'bs-popover',\n standalone: true,\n providers: [ PositioningService, ComponentLoaderFactory ]\n})\nexport class PopoverDirective implements OnInit, OnDestroy {\n /** unique id popover - use for aria-describedby */\n popoverId = id++;\n /** sets disable adaptive position */\n @Input() adaptivePosition = true;\n\n @Input() boundariesElement?: 'viewport' | 'scrollParent' | 'window';\n /**\n * Content to be displayed as popover.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() popover?: string | TemplateRef<any>;\n /**\n * Context to be used if popover is a template.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() popoverContext: any;\n /**\n * Title of a popover.\n */\n @Input() popoverTitle?: string;\n /**\n * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n @Input() placement: AvailableBSPositions = 'top';\n /**\n * Close popover on outside click\n */\n @Input() outsideClick = false;\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n @Input() triggers = 'click';\n /**\n * A selector specifying the element the popover should be appended to.\n */\n @Input() container?: string;\n\n /**\n * Css class for popover container\n */\n @Input() containerClass = '';\n\n /**\n * Returns whether or not the popover is currently being shown\n */\n @Input()\n get isOpen(): boolean {\n return this._popover.isShown;\n }\n\n set isOpen(value: boolean) {\n if (value) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n /**\n * Delay before showing the tooltip\n */\n @Input() delay = 0;\n\n /**\n * Emits an event when the popover is shown\n */\n @Output() onShown: EventEmitter<unknown>;\n /**\n * Emits an event when the popover is hidden\n */\n @Output() onHidden: EventEmitter<unknown>;\n\n protected _popoverCancelShowFn?: () => void;\n\n protected _delayTimeoutId?: number;\n\n private _popover: ComponentLoader<PopoverContainerComponent>;\n private _isInited = false;\n private _ariaDescribedby?: string;\n\n constructor(\n _config: PopoverConfig,\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n _viewContainerRef: ViewContainerRef,\n cis: ComponentLoaderFactory,\n private _positionService: PositioningService\n ) {\n this._popover = cis\n .createLoader<PopoverContainerComponent>(_elementRef, _viewContainerRef, _renderer)\n .provide({ provide: PopoverConfig, useValue: _config });\n\n Object.assign(this, _config);\n\n this.onShown = this._popover.onShown;\n this.onHidden = this._popover.onHidden;\n\n // fix: no focus on button on Mac OS #1795\n if (typeof window !== 'undefined') {\n _elementRef.nativeElement.addEventListener('click', function () {\n try {\n _elementRef.nativeElement.focus();\n } catch (err) {\n return;\n }\n });\n }\n }\n\n /**\n * Set attribute aria-describedBy for element directive and\n * set id for the popover\n */\n setAriaDescribedBy(): void {\n this._ariaDescribedby = this.isOpen ? `ngx-popover-${this.popoverId}` : void 0;\n if (this._ariaDescribedby) {\n if (this._popover.instance) {\n this._popover.instance.popoverId = this._ariaDescribedby;\n }\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ariaDescribedby);\n } else {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n }\n }\n\n /**\n * Opens an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n show(): void {\n if (this._popover.isShown || !this.popover || this._delayTimeoutId) {\n return;\n }\n\n this._positionService.setOptions({\n modifiers: {\n flip: {\n enabled: this.adaptivePosition\n },\n preventOverflow: {\n enabled: this.adaptivePosition,\n boundariesElement: this.boundariesElement || 'scrollParent'\n }\n }\n });\n\n const showPopover = () => {\n if (this._delayTimeoutId) {\n this._delayTimeoutId = undefined;\n }\n\n this._popover.attach(PopoverContainerComponent).to(this.container).position({ attachment: this.placement }).show({\n content: this.popover,\n context: this.popoverContext,\n placement: this.placement,\n title: this.popoverTitle,\n containerClass: this.containerClass\n });\n\n if (!this.adaptivePosition && this._popover._componentRef) {\n this._positionService.calcPosition();\n this._positionService.deletePositionElement(this._popover._componentRef.location);\n }\n\n this.isOpen = true;\n this.setAriaDescribedBy();\n };\n\n const cancelDelayedTooltipShowing = () => {\n if (this._popoverCancelShowFn) {\n this._popoverCancelShowFn();\n }\n };\n\n if (this.delay) {\n const _timer = timer(this.delay).subscribe(() => {\n showPopover();\n cancelDelayedTooltipShowing();\n });\n\n if (this.triggers) {\n parseTriggers(this.triggers).forEach((trigger: Trigger) => {\n if (!trigger.close) {\n return;\n }\n\n this._popoverCancelShowFn = this._renderer.listen(this._elementRef.nativeElement, trigger.close, () => {\n _timer.unsubscribe();\n cancelDelayedTooltipShowing();\n });\n });\n }\n } else {\n showPopover();\n }\n }\n\n /**\n * Closes an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n hide(): void {\n if (this._delayTimeoutId) {\n clearTimeout(this._delayTimeoutId);\n this._delayTimeoutId = undefined;\n }\n\n if (this.isOpen) {\n this._popover.hide();\n this.setAriaDescribedBy();\n this.isOpen = false;\n }\n }\n\n /**\n * Toggles an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n toggle(): void {\n if (this.isOpen) {\n return this.hide();\n }\n\n this.show();\n }\n\n ngOnInit(): void {\n // fix: seems there are an issue with `routerLinkActive`\n // which result in duplicated call ngOnInit without call to ngOnDestroy\n // read more: https://github.com/valor-software/ngx-bootstrap/issues/1885\n if (this._isInited) {\n return;\n }\n this._isInited = true;\n\n this._popover.listen({\n triggers: this.triggers,\n outsideClick: this.outsideClick,\n show: () => this.show(),\n hide: () => this.hide()\n });\n }\n\n ngOnDestroy(): void {\n this._popover.dispose();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverContainerComponent } from './popover-container.component';\n\n@NgModule({\n imports: [CommonModule, PopoverDirective, PopoverContainerComponent],\n exports: [PopoverDirective]\n})\nexport class PopoverModule {\n // @deprecated method not required anymore, will be deleted in v19.0.0\n static forRoot(): ModuleWithProviders<PopoverModule> {\n return {\n ngModule: PopoverModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.PopoverConfig"],"mappings":"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"}