UNPKG

17.6 kBSource Map (JSON)View Raw
1{"version":3,"file":"ngx-bootstrap-popover.umd.js","sources":["../../../../src/popover/popover.config.ts","../../../../src/popover/popover-container.component.ts","../../../../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","import { ChangeDetectionStrategy, Input, Component } from '@angular/core';\nimport { PopoverConfig } from './popover.config';\nimport { getBsVer, IBsVersion } from 'ngx-bootstrap/utils';\nimport { PlacementForBs5, checkMargins, AvailbleBSPositions } from 'ngx-bootstrap/positioning';\n\n@Component({\n selector: 'popover-container',\n changeDetection: ChangeDetectionStrategy.OnPush,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[attr.id]': 'popoverId',\n '[class]':\n '\"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;'\n },\n styles: [\n `\n :host.bs3.popover-top {\n margin-bottom: 10px;\n }\n :host.bs3.popover.top>.arrow {\n margin-left: -2px;\n }\n :host.bs3.popover.top {\n margin-bottom: 10px;\n }\n :host.popover.bottom>.arrow {\n margin-left: -4px;\n }\n :host.bs3.bs-popover-left {\n margin-right: .5rem;\n }\n :host.bs3.bs-popover-right .arrow, :host.bs3.bs-popover-left .arrow{\n margin: .3rem 0;\n }\n `\n ],\n templateUrl: './popover-container.component.html'\n})\nexport class PopoverContainerComponent {\n @Input() set placement(value: AvailbleBSPositions) {\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 = '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","import {\n Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output,\n Renderer2, TemplateRef, 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, AvailbleBSPositions } 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({selector: '[popover]', exportAs: 'bs-popover'})\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 * 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: AvailbleBSPositions = '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>(\n _elementRef,\n _viewContainerRef,\n _renderer\n )\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 }\n }\n });\n\n const showPopover = () => {\n if (this._delayTimeoutId) {\n this._delayTimeoutId = undefined;\n }\n\n this._popover\n .attach(PopoverContainerComponent)\n .to(this.container)\n .position({attachment: this.placement})\n .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)\n .forEach((trigger: Trigger) => {\n if (!trigger.close) {\n return;\n }\n\n this._popoverCancelShowFn = this._renderer.listen(\n this._elementRef.nativeElement,\n trigger.close,\n () => {\n _timer.unsubscribe();\n cancelDelayedTooltipShowing();\n }\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 { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverContainerComponent } from './popover-container.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [PopoverDirective, PopoverContainerComponent],\n exports: [PopoverDirective],\n entryComponents: [PopoverContainerComponent]\n})\nexport class PopoverModule {\n static forRoot(): ModuleWithProviders<PopoverModule> {\n return {\n ngModule: PopoverModule,\n providers: [ComponentLoaderFactory, PositioningService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Injectable","PlacementForBs5","getBsVer","checkMargins","Component","ChangeDetectionStrategy","Input","timer","parseTriggers","Directive","ElementRef","Renderer2","ViewContainerRef","ComponentLoaderFactory","PositioningService","Output","NgModule","CommonModule"],"mappings":"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"}
\No newline at end of file