ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 35.3 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-button.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 { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n booleanAttribute,\n inject\n} from '@angular/core';\nimport { BehaviorSubject, EMPTY, Subject, combineLatest, fromEvent, merge } from 'rxjs';\nimport { auditTime, distinctUntilChanged, filter, map, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { POSITION_MAP } 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 = [\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottomRight,\n POSITION_MAP.topRight,\n POSITION_MAP.topLeft\n];\n\n@Directive({\n selector: '[nz-dropdown]',\n exportAs: 'nzDropdown',\n host: {\n class: 'ant-dropdown-trigger'\n }\n})\nexport class NzDropDownDirective implements AfterViewInit, OnDestroy, OnChanges {\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n public elementRef = inject(ElementRef);\n private overlay = inject(Overlay);\n\n private portal?: TemplatePortal;\n private overlayRef: OverlayRef | null = null;\n private destroy$ = new Subject<boolean>();\n private positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef.nativeElement)\n .withLockedPosition()\n .withTransformOriginOn('.ant-dropdown');\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() nzOverlayClassName: string = '';\n @Input() nzOverlayStyle: IndexableObject = {};\n @Input() nzPlacement: NzPlacementType = 'bottomLeft';\n @Output() readonly nzVisibleChange = new EventEmitter<boolean>();\n\n setDropdownMenuValue<T extends keyof NzDropdownMenuComponent>(key: T, value: NzDropdownMenuComponent[T]): void {\n if (this.nzDropdownMenu) {\n this.nzDropdownMenu.setValue(key, value);\n }\n }\n\n constructor(\n public readonly nzConfigService: NzConfigService,\n private renderer: Renderer2,\n private viewContainerRef: ViewContainerRef,\n private platform: Platform\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 takeUntil(this.destroy$)\n )\n .subscribe((visible: boolean) => {\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 if (visible) {\n /** set up overlayRef **/\n if (!this.overlayRef) {\n /** new overlay **/\n this.overlayRef = this.overlay.create({\n positionStrategy: this.positionStrategy,\n minWidth: triggerWidth,\n disposeOnNavigation: true,\n hasBackdrop: this.nzBackdrop && this.nzTrigger === 'click',\n scrollStrategy: this.overlay.scrollStrategies.reposition()\n });\n merge(\n this.overlayRef.backdropClick(),\n this.overlayRef.detachments(),\n this.overlayRef\n .outsidePointerEvents()\n .pipe(filter((e: MouseEvent) => !this.elementRef.nativeElement.contains(e.target))),\n this.overlayRef.keydownEvents().pipe(filter(e => e.keyCode === ESCAPE && !hasModifierKey(e)))\n )\n .pipe(takeUntil(this.destroy$))\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 this.positionStrategy.withPositions([POSITION_MAP[this.nzPlacement], ...listOfPositions]);\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 this.overlayRef.attach(this.portal);\n } else {\n /** detach overlayRef if needed **/\n if (this.overlayRef) {\n this.overlayRef.detach();\n }\n }\n });\n\n this.nzDropdownMenu!.animationStateChange$.pipe(takeUntil(this.destroy$)).subscribe(event => {\n if (event.toState === 'void') {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n }\n this.overlayRef = null;\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { nzVisible, nzDisabled, nzOverlayClassName, nzOverlayStyle, nzTrigger } = 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 }\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 { AfterViewInit, Directive, ElementRef, Renderer2, inject } from '@angular/core';\n\nimport { NzButtonGroupComponent } from 'ng-zorro-antd/button';\n\n@Directive({\n selector: '[nz-button][nz-dropdown]'\n})\nexport class NzDropdownButtonDirective implements AfterViewInit {\n private nzButtonGroupComponent = inject(NzButtonGroupComponent, { host: true, optional: true });\n\n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef\n ) {}\n ngAfterViewInit(): void {\n const parentElement = this.renderer.parentNode(this.elementRef.nativeElement);\n if (this.nzButtonGroupComponent && parentElement) {\n this.renderer.addClass(parentElement, 'ant-dropdown-button');\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 { AnimationEvent } from '@angular/animations';\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n OnDestroy,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { slideMotion } from 'ng-zorro-antd/core/animation';\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-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 animations: [slideMotion],\n providers: [\n MenuService,\n /** menu is inside dropdown-menu component **/\n {\n provide: NzIsMenuInsideDropDownToken,\n useValue: true\n }\n ],\n template: `\n <ng-template>\n <div\n class=\"ant-dropdown\"\n [class.ant-dropdown-rtl]=\"dir === 'rtl'\"\n [class]=\"nzOverlayClassName\"\n [style]=\"nzOverlayStyle\"\n @slideMotion\n (@slideMotion.done)=\"onAnimationEvent($event)\"\n [@.disabled]=\"!!noAnimation?.nzNoAnimation\"\n [nzNoAnimation]=\"noAnimation?.nzNoAnimation\"\n (mouseenter)=\"setMouseState(true)\"\n (mouseleave)=\"setMouseState(false)\"\n >\n <ng-content></ng-content>\n </div>\n </ng-template>\n `,\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NzNoAnimationDirective]\n})\nexport class NzDropdownMenuComponent implements AfterContentInit, OnDestroy, OnInit {\n mouseState$ = new BehaviorSubject<boolean>(false);\n public nzMenuService = inject(MenuService);\n isChildSubMenuOpen$ = this.nzMenuService.isChildSubMenuOpen$;\n descendantMenuItemClick$ = this.nzMenuService.descendantMenuItemClick$;\n animationStateChange$ = new EventEmitter<AnimationEvent>();\n nzOverlayClassName: string = '';\n nzOverlayStyle: IndexableObject = {};\n @ViewChild(TemplateRef, { static: true }) templateRef!: TemplateRef<NzSafeAny>;\n\n dir: Direction = 'ltr';\n private destroy$ = new Subject<void>();\n\n onAnimationEvent(event: AnimationEvent): void {\n this.animationStateChange$.emit(event);\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 noAnimation = inject(NzNoAnimationDirective, { host: true, optional: true });\n\n constructor(\n private cdr: ChangeDetectorRef,\n private elementRef: ElementRef,\n private renderer: Renderer2,\n public viewContainerRef: ViewContainerRef,\n private directionality: Directionality\n ) {}\n ngOnInit(): void {\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n\n this.dir = this.directionality.value;\n }\n\n ngAfterContentInit(): void {\n this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement), this.elementRef.nativeElement);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\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 { NzDropdownButtonDirective } from './dropdown-button.directive';\nimport { NzDropdownMenuComponent } from './dropdown-menu.component';\nimport { NzDropDownDirective } from './dropdown.directive';\n\n@NgModule({\n imports: [\n NzDropDownDirective,\n NzDropDownADirective,\n NzDropdownMenuComponent,\n NzDropdownButtonDirective,\n NzContextMenuServiceModule\n ],\n exports: [NzMenuModule, NzDropDownDirective, NzDropDownADirective, NzDropdownMenuComponent, NzDropdownButtonDirective]\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 { ConnectionPositionPair, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { EmbeddedViewRef, Injectable, 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 overlayRef: OverlayRef | null = null;\n private closeSubscription = Subscription.EMPTY;\n\n constructor(\n private ngZone: NgZone,\n private overlay: Overlay\n ) {}\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 const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo({ x, y })\n .withPositions(LIST_OF_POSITIONS)\n .withTransformOriginOn('.ant-dropdown');\n this.overlayRef = this.overlay.create({\n positionStrategy,\n disposeOnNavigation: true,\n scrollStrategy: this.overlay.scrollStrategies.close()\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-button.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":["i1"],"mappings":"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"}