ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 35.2 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-dropdown.mjs","sources":["../../components/dropdown/dropdown.directive.ts","../../components/dropdown/context-menu.service.module.ts","../../components/dropdown/dropdown-a.directive.ts","../../components/dropdown/dropdown-menu.component.ts","../../components/dropdown/dropdown.module.ts","../../components/dropdown/context-menu.service.ts","../../components/dropdown/public-api.ts","../../components/dropdown/ng-zorro-antd-dropdown.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\nimport {\n createFlexibleConnectedPositionStrategy,\n createOverlayRef,\n createRepositionScrollStrategy,\n OverlayRef\n} from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n booleanAttribute,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n Injector,\n Input,\n OnChanges,\n Output,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n type AnimationCallbackEvent\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BehaviorSubject, combineLatest, EMPTY, fromEvent, merge, Subject } from 'rxjs';\nimport { auditTime, distinctUntilChanged, filter, map, switchMap } from 'rxjs/operators';\n\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport {\n getPlacementName,\n POSITION_MAP,\n POSITION_TYPE,\n setConnectedPositionOffset,\n TOOLTIP_OFFSET_MAP\n} from 'ng-zorro-antd/core/overlay';\nimport { IndexableObject } from 'ng-zorro-antd/core/types';\n\nimport { NzDropdownMenuComponent, NzPlacementType } from './dropdown-menu.component';\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'dropdown';\n\nconst listOfPositions: POSITION_TYPE[] = ['bottomLeft', 'bottomRight', 'topRight', 'topLeft'];\n\n@Directive({\n selector: '[nz-dropdown]',\n exportAs: 'nzDropdown',\n host: {\n class: 'ant-dropdown-trigger'\n }\n})\nexport class NzDropdownDirective implements AfterViewInit, OnChanges {\n public readonly nzConfigService = inject(NzConfigService);\n private renderer = inject(Renderer2);\n private viewContainerRef = inject(ViewContainerRef);\n private platform = inject(Platform);\n private destroyRef = inject(DestroyRef);\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n public elementRef = inject(ElementRef);\n private injector = inject(Injector);\n\n private portal?: TemplatePortal;\n private overlayRef: OverlayRef | null = null;\n\n private inputVisible$ = new BehaviorSubject<boolean>(false);\n private nzTrigger$ = new BehaviorSubject<'click' | 'hover'>('hover');\n private overlayClose$ = new Subject<boolean>();\n @Input() nzDropdownMenu: NzDropdownMenuComponent | null = null;\n @Input() nzTrigger: 'click' | 'hover' = 'hover';\n @Input() nzMatchWidthElement: ElementRef | null = null;\n @Input({ transform: booleanAttribute }) @WithConfig() nzBackdrop = false;\n @Input({ transform: booleanAttribute }) nzClickHide = true;\n @Input({ transform: booleanAttribute }) nzDisabled = false;\n @Input({ transform: booleanAttribute }) nzVisible = false;\n @Input({ transform: booleanAttribute }) nzArrow = false;\n @Input() nzOverlayClassName: string = '';\n @Input() nzOverlayStyle: IndexableObject = {};\n @Input() nzPlacement: NzPlacementType = 'bottomLeft';\n @Output() readonly nzVisibleChange = new EventEmitter<boolean>();\n\n constructor() {\n this.destroyRef.onDestroy(() => {\n this.overlayRef?.dispose();\n this.overlayRef = null;\n });\n }\n\n setDropdownMenuValue<T extends keyof NzDropdownMenuComponent>(key: T, value: NzDropdownMenuComponent[T]): void {\n this.nzDropdownMenu?.setValue(key, value);\n }\n\n ngAfterViewInit(): void {\n if (this.nzDropdownMenu) {\n const nativeElement: HTMLElement = this.elementRef.nativeElement;\n /** host mouse state **/\n const hostMouseState$ = merge(\n fromEvent(nativeElement, 'mouseenter').pipe(map(() => true)),\n fromEvent(nativeElement, 'mouseleave').pipe(map(() => false))\n );\n /** menu mouse state **/\n const menuMouseState$ = this.nzDropdownMenu.mouseState$;\n /** merged mouse state **/\n const mergedMouseState$ = merge(menuMouseState$, hostMouseState$);\n /** host click state **/\n const hostClickState$ = fromEvent(nativeElement, 'click').pipe(map(() => !this.nzVisible));\n /** visible state switch by nzTrigger **/\n const visibleStateByTrigger$ = this.nzTrigger$.pipe(\n switchMap(trigger => {\n if (trigger === 'hover') {\n return mergedMouseState$;\n } else if (trigger === 'click') {\n return hostClickState$;\n } else {\n return EMPTY;\n }\n })\n );\n const descendantMenuItemClick$ = this.nzDropdownMenu.descendantMenuItemClick$.pipe(\n filter(() => this.nzClickHide),\n map(() => false)\n );\n const domTriggerVisible$ = merge(visibleStateByTrigger$, descendantMenuItemClick$, this.overlayClose$).pipe(\n filter(() => !this.nzDisabled)\n );\n const visible$ = merge(this.inputVisible$, domTriggerVisible$);\n combineLatest([visible$, this.nzDropdownMenu.isChildSubMenuOpen$])\n .pipe(\n map(([visible, sub]) => visible || sub),\n auditTime(150),\n distinctUntilChanged(),\n filter(() => this.platform.isBrowser),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe(visible => {\n const element = this.nzMatchWidthElement ? this.nzMatchWidthElement.nativeElement : nativeElement;\n const triggerWidth = element.getBoundingClientRect().width;\n if (this.nzVisible !== visible) {\n this.nzVisibleChange.emit(visible);\n }\n this.nzVisible = visible;\n\n if (visible) {\n const positionStrategy = createFlexibleConnectedPositionStrategy(\n this.injector,\n this.elementRef.nativeElement\n )\n .withLockedPosition()\n .withTransformOriginOn('.ant-dropdown');\n\n // Listen for placement changes to update the menu classes (arrow position)\n positionStrategy.positionChanges\n .pipe(\n filter(() => Boolean(this.overlayRef)),\n map(change => getPlacementName(change) as NzPlacementType | undefined),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe(placement => {\n if (placement) {\n this.nzDropdownMenu?.placement.set(this.nzPlacement);\n }\n });\n\n /** set up overlayRef **/\n if (!this.overlayRef) {\n /** new overlay **/\n this.overlayRef = createOverlayRef(this.injector, {\n positionStrategy,\n minWidth: triggerWidth,\n disposeOnNavigation: true,\n hasBackdrop: this.nzBackdrop && this.nzTrigger === 'click',\n scrollStrategy: createRepositionScrollStrategy(this.injector)\n });\n merge(\n this.overlayRef.backdropClick(),\n this.overlayRef.detachments(),\n this.overlayRef\n .outsidePointerEvents()\n .pipe(filter(e => !this.elementRef.nativeElement.contains(e.target))),\n this.overlayRef.keydownEvents().pipe(filter(e => e.keyCode === ESCAPE && !hasModifierKey(e)))\n )\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.overlayClose$.next(false);\n });\n } else {\n /** update overlay config **/\n const overlayConfig = this.overlayRef.getConfig();\n overlayConfig.minWidth = triggerWidth;\n }\n /** open dropdown with animation **/\n const positions = [this.nzPlacement, ...listOfPositions].map(position => {\n return this.nzArrow\n ? setConnectedPositionOffset(POSITION_MAP[position], TOOLTIP_OFFSET_MAP[position])\n : POSITION_MAP[position];\n });\n positionStrategy.withPositions(positions);\n /** reset portal if needed **/\n if (!this.portal || this.portal.templateRef !== this.nzDropdownMenu!.templateRef) {\n this.portal = new TemplatePortal(this.nzDropdownMenu!.templateRef, this.viewContainerRef);\n }\n // Initialize arrow and placement on open\n this.setDropdownMenuValue('nzArrow', this.nzArrow);\n this.nzDropdownMenu?.placement.set(this.nzPlacement);\n this.overlayRef.attach(this.portal);\n } else {\n /** detach overlayRef if needed **/\n this.overlayRef?.detach();\n }\n });\n\n this.nzDropdownMenu!.animationStateChange$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(\n (event: AnimationCallbackEvent) => {\n this.overlayRef?.dispose();\n this.overlayRef = null;\n event.animationComplete();\n }\n );\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { nzVisible, nzDisabled, nzOverlayClassName, nzOverlayStyle, nzTrigger, nzArrow, nzPlacement } = changes;\n if (nzTrigger) {\n this.nzTrigger$.next(this.nzTrigger);\n }\n if (nzVisible) {\n this.inputVisible$.next(this.nzVisible);\n }\n if (nzDisabled) {\n const nativeElement = this.elementRef.nativeElement;\n if (this.nzDisabled) {\n this.renderer.setAttribute(nativeElement, 'disabled', '');\n this.inputVisible$.next(false);\n } else {\n this.renderer.removeAttribute(nativeElement, 'disabled');\n }\n }\n if (nzOverlayClassName) {\n this.setDropdownMenuValue('nzOverlayClassName', this.nzOverlayClassName);\n }\n if (nzOverlayStyle) {\n this.setDropdownMenuValue('nzOverlayStyle', this.nzOverlayStyle);\n }\n if (nzArrow) {\n this.setDropdownMenuValue('nzArrow', this.nzArrow);\n }\n if (nzPlacement) {\n this.nzDropdownMenu?.placement.set(this.nzPlacement);\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\n@NgModule()\nexport class NzContextMenuServiceModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: 'a[nz-dropdown]',\n host: {\n class: 'ant-dropdown-link'\n }\n})\nexport class NzDropdownADirective {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n inject,\n signal,\n type AnimationCallbackEvent\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { NzNoAnimationDirective, slideAnimationEnter, slideAnimationLeave } from 'ng-zorro-antd/core/animation';\nimport { IndexableObject, NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { MenuService, NzIsMenuInsideDropdownToken } from 'ng-zorro-antd/menu';\n\nexport type NzPlacementType = 'bottomLeft' | 'bottomCenter' | 'bottomRight' | 'topLeft' | 'topCenter' | 'topRight';\n\n@Component({\n selector: `nz-dropdown-menu`,\n exportAs: `nzDropdownMenu`,\n providers: [\n MenuService,\n /** menu is inside dropdown-menu component **/\n {\n provide: NzIsMenuInsideDropdownToken,\n useValue: true\n }\n ],\n imports: [NzNoAnimationDirective],\n template: `\n <ng-template>\n <div\n class=\"ant-dropdown\"\n [class.ant-dropdown-rtl]=\"dir() === 'rtl'\"\n [class.ant-dropdown-show-arrow]=\"nzArrow\"\n [class.ant-dropdown-placement-bottomLeft]=\"placement() === 'bottomLeft'\"\n [class.ant-dropdown-placement-bottomRight]=\"placement() === 'bottomRight'\"\n [class.ant-dropdown-placement-bottom]=\"placement() === 'bottomCenter'\"\n [class.ant-dropdown-placement-topLeft]=\"placement() === 'topLeft'\"\n [class.ant-dropdown-placement-topRight]=\"placement() === 'topRight'\"\n [class.ant-dropdown-placement-top]=\"placement() === 'topCenter'\"\n [class]=\"nzOverlayClassName\"\n [style]=\"nzOverlayStyle\"\n [animate.enter]=\"slideAnimationEnter()\"\n [animate.leave]=\"slideAnimationLeave()\"\n (animate.leave)=\"onAnimationEvent($event)\"\n [nzNoAnimation]=\"!!noAnimation?.nzNoAnimation?.()\"\n (mouseenter)=\"setMouseState(true)\"\n (mouseleave)=\"setMouseState(false)\"\n >\n @if (nzArrow) {\n <div class=\"ant-dropdown-arrow\"></div>\n }\n <ng-content />\n </div>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class NzDropdownMenuComponent implements AfterContentInit {\n public readonly viewContainerRef = inject(ViewContainerRef);\n public readonly nzMenuService = inject(MenuService);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly elementRef = inject(ElementRef);\n private readonly renderer = inject(Renderer2);\n protected readonly dir = inject(Directionality).valueSignal;\n protected readonly noAnimation = inject(NzNoAnimationDirective, { host: true, optional: true });\n\n isChildSubMenuOpen$ = this.nzMenuService.isChildSubMenuOpen$;\n descendantMenuItemClick$ = this.nzMenuService.descendantMenuItemClick$;\n mouseState$ = new BehaviorSubject<boolean>(false);\n animationStateChange$ = new EventEmitter<AnimationCallbackEvent>();\n @ViewChild(TemplateRef, { static: true }) templateRef!: TemplateRef<NzSafeAny>;\n\n nzOverlayClassName: string = '';\n nzOverlayStyle: IndexableObject = {};\n nzArrow: boolean = false;\n\n readonly placement = signal<NzPlacementType>('bottomLeft');\n protected readonly slideAnimationEnter = slideAnimationEnter(() =>\n this.placement().startsWith('top') ? 'down' : 'up'\n );\n protected readonly slideAnimationLeave = slideAnimationLeave(() =>\n this.placement().startsWith('top') ? 'down' : 'up'\n );\n\n onAnimationEvent(event: AnimationCallbackEvent): void {\n const element = event.target as HTMLElement;\n const onAnimationEnd = (): void => {\n element.removeEventListener('animationend', onAnimationEnd);\n this.animationStateChange$.emit(event);\n };\n element.addEventListener('animationend', onAnimationEnd);\n }\n\n setMouseState(visible: boolean): void {\n this.mouseState$.next(visible);\n }\n\n setValue<T extends keyof NzDropdownMenuComponent>(key: T, value: this[T]): void {\n this[key] = value;\n this.cdr.markForCheck();\n }\n\n ngAfterContentInit(): void {\n this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement), this.elementRef.nativeElement);\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { NzMenuModule } from 'ng-zorro-antd/menu';\n\nimport { NzContextMenuServiceModule } from './context-menu.service.module';\nimport { NzDropdownADirective } from './dropdown-a.directive';\nimport { NzDropdownMenuComponent } from './dropdown-menu.component';\nimport { NzDropdownDirective } from './dropdown.directive';\n\n@NgModule({\n imports: [NzDropdownDirective, NzDropdownADirective, NzDropdownMenuComponent, NzContextMenuServiceModule],\n exports: [NzMenuModule, NzDropdownDirective, NzDropdownADirective, NzDropdownMenuComponent]\n})\nexport class NzDropdownModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n ConnectionPositionPair,\n createCloseScrollStrategy,\n createFlexibleConnectedPositionStrategy,\n createOverlayRef,\n OverlayRef\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { EmbeddedViewRef, inject, Injectable, Injector, NgZone } from '@angular/core';\nimport { merge, Subscription } from 'rxjs';\nimport { filter, first } from 'rxjs/operators';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { fromEventOutsideAngular } from 'ng-zorro-antd/core/util';\n\nimport { NzContextMenuServiceModule } from './context-menu.service.module';\nimport { NzDropdownMenuComponent } from './dropdown-menu.component';\n\nconst LIST_OF_POSITIONS = [\n new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'top' }),\n new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }),\n new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'end', overlayY: 'bottom' }),\n new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'end', overlayY: 'top' })\n];\n\n@Injectable({\n providedIn: NzContextMenuServiceModule\n})\nexport class NzContextMenuService {\n private ngZone = inject(NgZone);\n private injector = inject(Injector);\n private overlayRef: OverlayRef | null = null;\n private closeSubscription = Subscription.EMPTY;\n\n create(\n $event: MouseEvent | { x: number; y: number },\n nzDropdownMenuComponent: NzDropdownMenuComponent\n ): EmbeddedViewRef<NzSafeAny> {\n this.close(true);\n const { x, y } = $event;\n if ($event instanceof MouseEvent) {\n $event.preventDefault();\n }\n\n this.overlayRef = createOverlayRef(this.injector, {\n positionStrategy: createFlexibleConnectedPositionStrategy(this.injector, { x, y })\n .withPositions(LIST_OF_POSITIONS)\n .withTransformOriginOn('.ant-dropdown'),\n disposeOnNavigation: true,\n scrollStrategy: createCloseScrollStrategy(this.injector)\n });\n\n this.closeSubscription = new Subscription();\n\n this.closeSubscription.add(nzDropdownMenuComponent.descendantMenuItemClick$.subscribe(() => this.close()));\n\n this.closeSubscription.add(\n merge(\n fromEventOutsideAngular<MouseEvent>(document, 'click').pipe(\n filter(event => !!this.overlayRef && !this.overlayRef.overlayElement.contains(event.target as HTMLElement)),\n /** handle firefox contextmenu event **/\n filter(event => event.button !== 2)\n ),\n fromEventOutsideAngular<KeyboardEvent>(document, 'keydown').pipe(filter(event => event.key === 'Escape'))\n )\n .pipe(first())\n .subscribe(() => this.ngZone.run(() => this.close()))\n );\n\n return this.overlayRef.attach(\n new TemplatePortal(nzDropdownMenuComponent.templateRef, nzDropdownMenuComponent.viewContainerRef)\n );\n }\n\n close(clear: boolean = false): void {\n if (this.overlayRef) {\n this.overlayRef.detach();\n if (clear) {\n this.overlayRef.dispose();\n }\n this.overlayRef = null;\n this.closeSubscription.unsubscribe();\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './dropdown.directive';\nexport * from './dropdown.module';\nexport * from './dropdown-a.directive';\nexport * from './dropdown-menu.component';\nexport * from './context-menu.service';\nexport * from './context-menu.service.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}