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