ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 96 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-tree.mjs","sources":["../../components/tree/tree-drop-indicator.component.ts","../../components/tree/tree-indent.component.ts","../../components/tree/tree-node-checkbox.component.ts","../../components/tree/tree-node-switcher.component.ts","../../components/tree/tree-node-title.component.ts","../../components/tree/tree-node.component.ts","../../components/tree/tree.service.ts","../../components/tree/tree.component.ts","../../components/tree/tree.module.ts","../../components/tree/public-api.ts","../../components/tree/ng-zorro-antd-tree.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 { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, SimpleChanges } from '@angular/core';\n\nimport { NgStyleInterface } from 'ng-zorro-antd/core/types';\n\n@Component({\n selector: 'nz-tree-drop-indicator',\n exportAs: 'NzTreeDropIndicator',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n host: {\n '[class.ant-tree-drop-indicator]': 'true',\n '[style]': 'style'\n }\n})\nexport class NzTreeDropIndicatorComponent implements OnChanges {\n @Input() dropPosition?: number;\n @Input() level: number = 1;\n @Input() direction: string = 'ltr';\n style: NgStyleInterface = {};\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnChanges(_changes: SimpleChanges): void {\n this.renderIndicator(this.dropPosition!, this.direction);\n }\n\n renderIndicator(dropPosition: number, direction: string = 'ltr'): void {\n const offset = 4;\n const startPosition = direction === 'ltr' ? 'left' : 'right';\n const endPosition = direction === 'ltr' ? 'right' : 'left';\n const style: NgStyleInterface = {\n [startPosition]: `${offset}px`,\n [endPosition]: '0px'\n };\n switch (dropPosition) {\n case -1:\n style.top = `${-3}px`;\n break;\n case 1:\n style.bottom = `${-3}px`;\n break;\n case 0:\n // dropPosition === 0\n style.bottom = `${-3}px`;\n style[startPosition] = `${offset + 24}px`;\n break;\n default:\n style.display = 'none';\n break;\n }\n this.style = style;\n this.cdr.markForCheck();\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 { ChangeDetectionStrategy, Component, Input, OnChanges, SimpleChanges } from '@angular/core';\n\n@Component({\n selector: 'nz-tree-indent',\n exportAs: 'nzTreeIndent',\n template: `\n <span\n [class.ant-tree-indent-unit]=\"!nzSelectMode\"\n [class.ant-select-tree-indent-unit]=\"nzSelectMode\"\n [class.ant-select-tree-indent-unit-start]=\"nzSelectMode && nzIsStart[i]\"\n [class.ant-tree-indent-unit-start]=\"!nzSelectMode && nzIsStart[i]\"\n [class.ant-select-tree-indent-unit-end]=\"nzSelectMode && nzIsEnd[i]\"\n [class.ant-tree-indent-unit-end]=\"!nzSelectMode && nzIsEnd[i]\"\n *ngFor=\"let _ of listOfUnit; let i = index\"\n ></span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n host: {\n '[attr.aria-hidden]': 'true',\n '[class.ant-tree-indent]': '!nzSelectMode',\n '[class.ant-select-tree-indent]': 'nzSelectMode'\n }\n})\nexport class NzTreeIndentComponent implements OnChanges {\n @Input() nzTreeLevel = 0;\n @Input() nzIsStart: boolean[] = [];\n @Input() nzIsEnd: boolean[] = [];\n @Input() nzSelectMode = false;\n\n listOfUnit: number[] = [];\n\n ngOnChanges(changes: SimpleChanges): void {\n const { nzTreeLevel } = changes;\n if (nzTreeLevel) {\n this.listOfUnit = [...new Array(nzTreeLevel.currentValue || 0)];\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 { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'nz-tree-node-checkbox[builtin]',\n template: `\n <span [class.ant-tree-checkbox-inner]=\"!nzSelectMode\" [class.ant-select-tree-checkbox-inner]=\"nzSelectMode\"></span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n host: {\n '[class.ant-select-tree-checkbox]': `nzSelectMode`,\n '[class.ant-select-tree-checkbox-checked]': `nzSelectMode && isChecked`,\n '[class.ant-select-tree-checkbox-indeterminate]': `nzSelectMode && isHalfChecked`,\n '[class.ant-select-tree-checkbox-disabled]': `nzSelectMode && (isDisabled || isDisableCheckbox)`,\n '[class.ant-tree-checkbox]': `!nzSelectMode`,\n '[class.ant-tree-checkbox-checked]': `!nzSelectMode && isChecked`,\n '[class.ant-tree-checkbox-indeterminate]': `!nzSelectMode && isHalfChecked`,\n '[class.ant-tree-checkbox-disabled]': `!nzSelectMode && (isDisabled || isDisableCheckbox)`\n }\n})\nexport class NzTreeNodeBuiltinCheckboxComponent {\n @Input() nzSelectMode = false;\n @Input() isChecked?: boolean;\n @Input() isHalfChecked?: boolean;\n @Input() isDisabled?: boolean;\n @Input() isDisableCheckbox?: boolean;\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 { ChangeDetectionStrategy, Component, Input, TemplateRef } from '@angular/core';\n\nimport { NzTreeNode, NzTreeNodeOptions } from 'ng-zorro-antd/core/tree';\n\n@Component({\n selector: 'nz-tree-node-switcher',\n template: `\n <ng-container *ngIf=\"isShowSwitchIcon\">\n <ng-container *ngIf=\"!isLoading; else loadingTemplate\">\n <ng-container *nzStringTemplateOutlet=\"nzExpandedIcon; context: { $implicit: context, origin: context.origin }\">\n <span\n nz-icon\n nzType=\"caret-down\"\n [class.ant-select-tree-switcher-icon]=\"nzSelectMode\"\n [class.ant-tree-switcher-icon]=\"!nzSelectMode\"\n ></span>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"nzShowLine\">\n <ng-container *ngIf=\"!isLoading; else loadingTemplate\">\n <ng-container *nzStringTemplateOutlet=\"nzExpandedIcon; context: { $implicit: context, origin: context.origin }\">\n <span\n *ngIf=\"isShowLineIcon\"\n nz-icon\n [nzType]=\"isSwitcherOpen ? 'minus-square' : 'plus-square'\"\n class=\"ant-tree-switcher-line-icon\"\n ></span>\n <span *ngIf=\"!isShowLineIcon\" nz-icon nzType=\"file\" class=\"ant-tree-switcher-line-icon\"></span>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-template #loadingTemplate>\n <span nz-icon nzType=\"loading\" [nzSpin]=\"true\" class=\"ant-tree-switcher-loading-icon\"></span>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n host: {\n '[class.ant-select-tree-switcher]': 'nzSelectMode',\n '[class.ant-select-tree-switcher-noop]': 'nzSelectMode && isLeaf',\n '[class.ant-select-tree-switcher_open]': 'nzSelectMode && isSwitcherOpen',\n '[class.ant-select-tree-switcher_close]': 'nzSelectMode && isSwitcherClose',\n '[class.ant-tree-switcher]': '!nzSelectMode',\n '[class.ant-tree-switcher-noop]': '!nzSelectMode && isLeaf',\n '[class.ant-tree-switcher_open]': '!nzSelectMode && isSwitcherOpen',\n '[class.ant-tree-switcher_close]': '!nzSelectMode && isSwitcherClose'\n }\n})\nexport class NzTreeNodeSwitcherComponent {\n @Input() nzShowExpand?: boolean;\n @Input() nzShowLine?: boolean;\n @Input() nzExpandedIcon?: TemplateRef<{ $implicit: NzTreeNode; origin: NzTreeNodeOptions }>;\n @Input() nzSelectMode = false;\n @Input() context!: NzTreeNode;\n @Input() isLeaf?: boolean;\n @Input() isLoading?: boolean;\n @Input() isExpanded?: boolean;\n\n get isShowLineIcon(): boolean {\n return !this.isLeaf && !!this.nzShowLine;\n }\n\n get isShowSwitchIcon(): boolean {\n return !this.isLeaf && !this.nzShowLine;\n }\n\n get isSwitcherOpen(): boolean {\n return !!this.isExpanded && !this.isLeaf;\n }\n\n get isSwitcherClose(): boolean {\n return !this.isExpanded && !this.isLeaf;\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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnChanges,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\n\nimport { NzTreeNode, NzTreeNodeOptions } from 'ng-zorro-antd/core/tree';\n\n@Component({\n selector: 'nz-tree-node-title',\n template: `\n <ng-template\n [ngTemplateOutlet]=\"treeTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: context, origin: context.origin }\"\n ></ng-template>\n <ng-container *ngIf=\"!treeTemplate\">\n <span\n *ngIf=\"icon && showIcon\"\n [class.ant-tree-icon__open]=\"isSwitcherOpen\"\n [class.ant-tree-icon__close]=\"isSwitcherClose\"\n [class.ant-tree-icon_loading]=\"isLoading\"\n [class.ant-select-tree-iconEle]=\"selectMode\"\n [class.ant-tree-iconEle]=\"!selectMode\"\n >\n <span\n [class.ant-select-tree-iconEle]=\"selectMode\"\n [class.ant-select-tree-icon__customize]=\"selectMode\"\n [class.ant-tree-iconEle]=\"!selectMode\"\n [class.ant-tree-icon__customize]=\"!selectMode\"\n >\n <span nz-icon *ngIf=\"icon\" [nzType]=\"icon\"></span>\n </span>\n </span>\n <span class=\"ant-tree-title\" [innerHTML]=\"title | nzHighlight: matchedValue:'i':'font-highlight'\"></span>\n <nz-tree-drop-indicator\n *ngIf=\"showIndicator\"\n [dropPosition]=\"dragPosition\"\n [level]=\"context.level\"\n ></nz-tree-drop-indicator>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n host: {\n '[attr.title]': 'title',\n '[attr.draggable]': 'canDraggable',\n '[attr.aria-grabbed]': 'canDraggable',\n '[class.draggable]': 'canDraggable',\n '[class.ant-select-tree-node-content-wrapper]': `selectMode`,\n '[class.ant-select-tree-node-content-wrapper-open]': `selectMode && isSwitcherOpen`,\n '[class.ant-select-tree-node-content-wrapper-close]': `selectMode && isSwitcherClose`,\n '[class.ant-select-tree-node-selected]': `selectMode && isSelected`,\n '[class.ant-tree-node-content-wrapper]': `!selectMode`,\n '[class.ant-tree-node-content-wrapper-open]': `!selectMode && isSwitcherOpen`,\n '[class.ant-tree-node-content-wrapper-close]': `!selectMode && isSwitcherClose`,\n '[class.ant-tree-node-selected]': `!selectMode && isSelected`\n }\n})\nexport class NzTreeNodeTitleComponent implements OnChanges {\n @Input() searchValue!: string;\n @Input() treeTemplate: TemplateRef<{ $implicit: NzTreeNode; origin: NzTreeNodeOptions }> | null = null;\n @Input() draggable!: boolean;\n @Input() showIcon!: boolean;\n @Input() selectMode = false;\n @Input() context!: NzTreeNode;\n @Input() icon!: string;\n @Input() title!: string;\n @Input() isLoading!: boolean;\n @Input() isSelected!: boolean;\n @Input() isDisabled!: boolean;\n @Input() isMatched!: boolean;\n @Input() isExpanded!: boolean;\n @Input() isLeaf!: boolean;\n // Drag indicator\n @Input() showIndicator = true;\n @Input() dragPosition?: number;\n\n get canDraggable(): boolean | null {\n return this.draggable && !this.isDisabled ? true : null;\n }\n\n get matchedValue(): string {\n return this.isMatched ? this.searchValue : '';\n }\n\n get isSwitcherOpen(): boolean {\n return this.isExpanded && !this.isLeaf;\n }\n\n get isSwitcherClose(): boolean {\n return !this.isExpanded && !this.isLeaf;\n }\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n const { showIndicator, dragPosition } = changes;\n if (showIndicator || dragPosition) {\n this.cdr.markForCheck();\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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Host,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n SimpleChange,\n TemplateRef\n} from '@angular/core';\nimport { fromEvent, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport {\n NzFormatBeforeDropEvent,\n NzFormatEmitEvent,\n NzTreeBaseService,\n NzTreeNode,\n NzTreeNodeOptions\n} from 'ng-zorro-antd/core/tree';\nimport { BooleanInput } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\n@Component({\n selector: 'nz-tree-node[builtin]',\n exportAs: 'nzTreeBuiltinNode',\n template: `\n <nz-tree-indent\n [nzTreeLevel]=\"nzTreeNode.level\"\n [nzSelectMode]=\"nzSelectMode\"\n [nzIsStart]=\"isStart\"\n [nzIsEnd]=\"isEnd\"\n ></nz-tree-indent>\n <nz-tree-node-switcher\n *ngIf=\"nzShowExpand\"\n [nzShowExpand]=\"nzShowExpand\"\n [nzShowLine]=\"nzShowLine\"\n [nzExpandedIcon]=\"nzExpandedIcon\"\n [nzSelectMode]=\"nzSelectMode\"\n [context]=\"nzTreeNode\"\n [isLeaf]=\"isLeaf\"\n [isExpanded]=\"isExpanded\"\n [isLoading]=\"isLoading\"\n (click)=\"clickExpand($event)\"\n ></nz-tree-node-switcher>\n <nz-tree-node-checkbox\n builtin\n *ngIf=\"nzCheckable\"\n (click)=\"clickCheckBox($event)\"\n [nzSelectMode]=\"nzSelectMode\"\n [isChecked]=\"isChecked\"\n [isHalfChecked]=\"isHalfChecked\"\n [isDisabled]=\"isDisabled\"\n [isDisableCheckbox]=\"isDisableCheckbox\"\n ></nz-tree-node-checkbox>\n <nz-tree-node-title\n [icon]=\"icon\"\n [title]=\"title\"\n [isLoading]=\"isLoading\"\n [isSelected]=\"isSelected\"\n [isDisabled]=\"isDisabled\"\n [isMatched]=\"isMatched\"\n [isExpanded]=\"isExpanded\"\n [isLeaf]=\"isLeaf\"\n [searchValue]=\"nzSearchValue\"\n [treeTemplate]=\"nzTreeTemplate\"\n [draggable]=\"nzDraggable\"\n [showIcon]=\"nzShowIcon\"\n [selectMode]=\"nzSelectMode\"\n [context]=\"nzTreeNode\"\n [showIndicator]=\"showIndicator\"\n [dragPosition]=\"dragPos\"\n (dblclick)=\"dblClick($event)\"\n (click)=\"clickSelect($event)\"\n (contextmenu)=\"contextMenu($event)\"\n ></nz-tree-node-title>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n host: {\n '[class.ant-select-tree-treenode]': `nzSelectMode`,\n '[class.ant-select-tree-treenode-disabled]': `nzSelectMode && isDisabled`,\n '[class.ant-select-tree-treenode-switcher-open]': `nzSelectMode && isSwitcherOpen`,\n '[class.ant-select-tree-treenode-switcher-close]': `nzSelectMode && isSwitcherClose`,\n '[class.ant-select-tree-treenode-checkbox-checked]': `nzSelectMode && isChecked`,\n '[class.ant-select-tree-treenode-checkbox-indeterminate]': `nzSelectMode && isHalfChecked`,\n '[class.ant-select-tree-treenode-selected]': `nzSelectMode && isSelected`,\n '[class.ant-select-tree-treenode-loading]': `nzSelectMode && isLoading`,\n '[class.ant-tree-treenode]': `!nzSelectMode`,\n '[class.ant-tree-treenode-disabled]': `!nzSelectMode && isDisabled`,\n '[class.ant-tree-treenode-switcher-open]': `!nzSelectMode && isSwitcherOpen`,\n '[class.ant-tree-treenode-switcher-close]': `!nzSelectMode && isSwitcherClose`,\n '[class.ant-tree-treenode-checkbox-checked]': `!nzSelectMode && isChecked`,\n '[class.ant-tree-treenode-checkbox-indeterminate]': `!nzSelectMode && isHalfChecked`,\n '[class.ant-tree-treenode-selected]': `!nzSelectMode && isSelected`,\n '[class.ant-tree-treenode-loading]': `!nzSelectMode && isLoading`,\n '[class.dragging]': `draggingKey === nzTreeNode.key`,\n '[style.display]': 'displayStyle'\n }\n})\nexport class NzTreeNodeBuiltinComponent implements OnInit, OnChanges, OnDestroy {\n static ngAcceptInputType_nzShowLine: BooleanInput;\n static ngAcceptInputType_nzShowExpand: BooleanInput;\n static ngAcceptInputType_nzCheckable: BooleanInput;\n static ngAcceptInputType_nzAsyncData: BooleanInput;\n static ngAcceptInputType_nzHideUnMatched: BooleanInput;\n static ngAcceptInputType_nzNoAnimation: BooleanInput;\n static ngAcceptInputType_nzSelectMode: BooleanInput;\n static ngAcceptInputType_nzShowIcon: BooleanInput;\n\n /**\n * for global property\n */\n @Input() icon: string = '';\n @Input() title: string = '';\n @Input() isLoading: boolean = false;\n @Input() isSelected: boolean = false;\n @Input() isDisabled: boolean = false;\n @Input() isMatched: boolean = false;\n @Input() isExpanded!: boolean;\n @Input() isLeaf!: boolean;\n @Input() isChecked?: boolean;\n @Input() isHalfChecked?: boolean;\n @Input() isDisableCheckbox?: boolean;\n @Input() isSelectable?: boolean;\n @Input() canHide?: boolean;\n @Input() isStart: boolean[] = [];\n @Input() isEnd: boolean[] = [];\n @Input() nzTreeNode!: NzTreeNode;\n @Input() @InputBoolean() nzShowLine?: boolean;\n @Input() @InputBoolean() nzShowExpand?: boolean;\n @Input() @InputBoolean() nzCheckable?: boolean;\n @Input() @InputBoolean() nzAsyncData?: boolean;\n @Input() @InputBoolean() nzHideUnMatched = false;\n @Input() @InputBoolean() nzNoAnimation = false;\n @Input() @InputBoolean() nzSelectMode = false;\n @Input() @InputBoolean() nzShowIcon = false;\n @Input() nzExpandedIcon?: TemplateRef<{ $implicit: NzTreeNode; origin: NzTreeNodeOptions }>;\n @Input() nzTreeTemplate: TemplateRef<{ $implicit: NzTreeNode; origin: NzTreeNodeOptions }> | null = null;\n @Input() nzBeforeDrop?: (confirm: NzFormatBeforeDropEvent) => Observable<boolean>;\n @Input() nzSearchValue = '';\n @Input() nzDraggable: boolean = false;\n @Output() readonly nzClick = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzDblClick = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzContextMenu = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzCheckBoxChange = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzExpandChange = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzOnDragStart = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzOnDragEnter = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzOnDragOver = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzOnDragLeave = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzOnDrop = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzOnDragEnd = new EventEmitter<NzFormatEmitEvent>();\n\n /**\n * drag var\n */\n destroy$ = new Subject();\n dragPos = 2;\n dragPosClass: { [key: string]: string } = {\n 0: 'drag-over',\n 1: 'drag-over-gap-bottom',\n '-1': 'drag-over-gap-top'\n };\n draggingKey: string | null = null;\n showIndicator = false;\n /**\n * default set\n */\n get displayStyle(): string {\n // to hide unmatched nodes\n return this.nzSearchValue && this.nzHideUnMatched && !this.isMatched && !this.isExpanded && this.canHide\n ? 'none'\n : '';\n }\n\n get isSwitcherOpen(): boolean {\n return this.isExpanded && !this.isLeaf;\n }\n\n get isSwitcherClose(): boolean {\n return !this.isExpanded && !this.isLeaf;\n }\n\n /**\n * collapse node\n *\n * @param event\n */\n clickExpand(event: MouseEvent): void {\n event.preventDefault();\n if (!this.isLoading && !this.isLeaf) {\n // set async state\n if (this.nzAsyncData && this.nzTreeNode.children.length === 0 && !this.isExpanded) {\n this.nzTreeNode.isLoading = true;\n }\n this.nzTreeNode.setExpanded(!this.isExpanded);\n }\n this.nzTreeService.setExpandedNodeList(this.nzTreeNode);\n const eventNext = this.nzTreeService.formatEvent('expand', this.nzTreeNode, event);\n this.nzExpandChange.emit(eventNext);\n }\n\n clickSelect(event: MouseEvent): void {\n event.preventDefault();\n if (this.isSelectable && !this.isDisabled) {\n this.nzTreeNode.isSelected = !this.nzTreeNode.isSelected;\n }\n this.nzTreeService.setSelectedNodeList(this.nzTreeNode);\n const eventNext = this.nzTreeService.formatEvent('click', this.nzTreeNode, event);\n this.nzClick.emit(eventNext);\n }\n\n dblClick(event: MouseEvent): void {\n event.preventDefault();\n const eventNext = this.nzTreeService.formatEvent('dblclick', this.nzTreeNode, event);\n this.nzDblClick.emit(eventNext);\n }\n\n contextMenu(event: MouseEvent): void {\n event.preventDefault();\n const eventNext = this.nzTreeService.formatEvent('contextmenu', this.nzTreeNode, event);\n this.nzContextMenu.emit(eventNext);\n }\n\n /**\n * check node\n *\n * @param event\n */\n clickCheckBox(event: MouseEvent): void {\n event.preventDefault();\n // return if node is disabled\n if (this.isDisabled || this.isDisableCheckbox) {\n return;\n }\n this.nzTreeNode.isChecked = !this.nzTreeNode.isChecked;\n this.nzTreeNode.isHalfChecked = false;\n this.nzTreeService.setCheckedNodeList(this.nzTreeNode);\n const eventNext = this.nzTreeService.formatEvent('check', this.nzTreeNode, event);\n this.nzCheckBoxChange.emit(eventNext);\n }\n\n clearDragClass(): void {\n const dragClass = ['drag-over-gap-top', 'drag-over-gap-bottom', 'drag-over', 'drop-target'];\n dragClass.forEach(e => {\n this.renderer.removeClass(this.elementRef.nativeElement, e);\n });\n }\n\n /**\n * drag event\n *\n * @param e\n */\n handleDragStart(e: DragEvent): void {\n try {\n // ie throw error\n // firefox-need-it\n e.dataTransfer!.setData('text/plain', this.nzTreeNode.key!);\n } catch (error) {\n // empty\n }\n this.nzTreeService.setSelectedNode(this.nzTreeNode);\n this.draggingKey = this.nzTreeNode.key;\n const eventNext = this.nzTreeService.formatEvent('dragstart', this.nzTreeNode, e);\n this.nzOnDragStart.emit(eventNext);\n }\n\n handleDragEnter(e: DragEvent): void {\n e.preventDefault();\n // reset position\n this.showIndicator = this.nzTreeNode.key !== this.nzTreeService.getSelectedNode()?.key;\n this.renderIndicator(2);\n this.ngZone.run(() => {\n const eventNext = this.nzTreeService.formatEvent('dragenter', this.nzTreeNode, e);\n this.nzOnDragEnter.emit(eventNext);\n });\n }\n\n handleDragOver(e: DragEvent): void {\n e.preventDefault();\n const dropPosition = this.nzTreeService.calcDropPosition(e);\n if (this.dragPos !== dropPosition) {\n this.clearDragClass();\n this.renderIndicator(dropPosition);\n // leaf node will pass\n if (!(this.dragPos === 0 && this.isLeaf)) {\n this.renderer.addClass(this.elementRef.nativeElement, this.dragPosClass[this.dragPos]);\n this.renderer.addClass(this.elementRef.nativeElement, 'drop-target');\n }\n }\n const eventNext = this.nzTreeService.formatEvent('dragover', this.nzTreeNode, e);\n this.nzOnDragOver.emit(eventNext);\n }\n\n handleDragLeave(e: DragEvent): void {\n e.preventDefault();\n this.renderIndicator(2);\n this.clearDragClass();\n const eventNext = this.nzTreeService.formatEvent('dragleave', this.nzTreeNode, e);\n this.nzOnDragLeave.emit(eventNext);\n }\n\n handleDragDrop(e: DragEvent): void {\n e.preventDefault();\n e.stopPropagation();\n this.ngZone.run(() => {\n this.showIndicator = false;\n this.clearDragClass();\n const node = this.nzTreeService.getSelectedNode();\n if (!node || (node && node.key === this.nzTreeNode.key) || (this.dragPos === 0 && this.isLeaf)) {\n return;\n }\n // pass if node is leafNo\n const dropEvent = this.nzTreeService.formatEvent('drop', this.nzTreeNode, e);\n const dragEndEvent = this.nzTreeService.formatEvent('dragend', this.nzTreeNode, e);\n if (this.nzBeforeDrop) {\n this.nzBeforeDrop({\n dragNode: this.nzTreeService.getSelectedNode()!,\n node: this.nzTreeNode,\n pos: this.dragPos\n }).subscribe((canDrop: boolean) => {\n if (canDrop) {\n this.nzTreeService.dropAndApply(this.nzTreeNode, this.dragPos);\n }\n this.nzOnDrop.emit(dropEvent);\n this.nzOnDragEnd.emit(dragEndEvent);\n });\n } else if (this.nzTreeNode) {\n this.nzTreeService.dropAndApply(this.nzTreeNode, this.dragPos);\n this.nzOnDrop.emit(dropEvent);\n }\n });\n }\n\n handleDragEnd(e: DragEvent): void {\n e.preventDefault();\n this.ngZone.run(() => {\n // if user do not custom beforeDrop\n if (!this.nzBeforeDrop) {\n // clear dragging state\n this.draggingKey = null;\n const eventNext = this.nzTreeService.formatEvent('dragend', this.nzTreeNode, e);\n this.nzOnDragEnd.emit(eventNext);\n }\n });\n }\n\n /**\n * Listening to dragging events.\n */\n handDragEvent(): void {\n this.ngZone.runOutsideAngular(() => {\n if (this.nzDraggable) {\n const nativeElement = this.elementRef.nativeElement;\n this.destroy$ = new Subject();\n fromEvent<DragEvent>(nativeElement, 'dragstart')\n .pipe(takeUntil(this.destroy$))\n .subscribe((e: DragEvent) => this.handleDragStart(e));\n fromEvent<DragEvent>(nativeElement, 'dragenter')\n .pipe(takeUntil(this.destroy$))\n .subscribe((e: DragEvent) => this.handleDragEnter(e));\n fromEvent<DragEvent>(nativeElement, 'dragover')\n .pipe(takeUntil(this.destroy$))\n .subscribe((e: DragEvent) => this.handleDragOver(e));\n fromEvent<DragEvent>(nativeElement, 'dragleave')\n .pipe(takeUntil(this.destroy$))\n .subscribe((e: DragEvent) => this.handleDragLeave(e));\n fromEvent<DragEvent>(nativeElement, 'drop')\n .pipe(takeUntil(this.destroy$))\n .subscribe((e: DragEvent) => this.handleDragDrop(e));\n fromEvent<DragEvent>(nativeElement, 'dragend')\n .pipe(takeUntil(this.destroy$))\n .subscribe((e: DragEvent) => this.handleDragEnd(e));\n } else {\n this.destroy$.next();\n this.destroy$.complete();\n }\n });\n }\n\n markForCheck(): void {\n this.cdr.markForCheck();\n }\n\n constructor(\n public nzTreeService: NzTreeBaseService,\n private ngZone: NgZone,\n private renderer: Renderer2,\n private elementRef: ElementRef<HTMLElement>,\n private cdr: ChangeDetectorRef,\n @Host() @Optional() public noAnimation?: NzNoAnimationDirective\n ) {}\n\n ngOnInit(): void {\n this.nzTreeNode.component = this;\n\n this.ngZone.runOutsideAngular(() => {\n fromEvent(this.elementRef.nativeElement, 'mousedown')\n .pipe(takeUntil(this.destroy$))\n .subscribe(event => {\n if (this.nzSelectMode) {\n event.preventDefault();\n }\n });\n });\n }\n\n ngOnChanges(changes: { [propertyName: string]: SimpleChange }): void {\n const { nzDraggable } = changes;\n if (nzDraggable) {\n this.handDragEvent();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private renderIndicator(dropPosition: number): void {\n this.ngZone.run(() => {\n this.showIndicator = dropPosition !== 2;\n if (this.nzTreeNode.key === this.nzTreeService.getSelectedNode()?.key || (dropPosition === 0 && this.isLeaf)) {\n return;\n }\n this.dragPos = dropPosition;\n this.cdr.markForCheck();\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 { Injectable } from '@angular/core';\n\nimport { NzTreeBaseService } from 'ng-zorro-antd/core/tree';\n\n@Injectable()\nexport class NzTreeService extends NzTreeBaseService {\n constructor() {\n super();\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 { Direction, Directionality } from '@angular/cdk/bidi';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n Host,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n SimpleChange,\n SkipSelf,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { treeCollapseMotion } from 'ng-zorro-antd/core/animation';\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport {\n flattenTreeData,\n NzFormatBeforeDropEvent,\n NzFormatEmitEvent,\n NzTreeBase,\n NzTreeBaseService,\n NzTreeHigherOrderServiceToken,\n NzTreeNode,\n NzTreeNodeKey,\n NzTreeNodeOptions\n} from 'ng-zorro-antd/core/tree';\nimport { BooleanInput, NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport { NzTreeService } from './tree.service';\n\nexport function NzTreeServiceFactory(\n higherOrderService: NzTreeBaseService,\n treeService: NzTreeService\n): NzTreeBaseService {\n return higherOrderService ? higherOrderService : treeService;\n}\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'tree';\n\n@Component({\n selector: 'nz-tree',\n exportAs: 'nzTree',\n animations: [treeCollapseMotion],\n template: `\n <div>\n <input [ngStyle]=\"HIDDEN_STYLE\" />\n </div>\n <div class=\"ant-tree-treenode\" [ngStyle]=\"HIDDEN_NODE_STYLE\">\n <div class=\"ant-tree-indent\">\n <div class=\"ant-tree-indent-unit\"></div>\n </div>\n </div>\n <div class=\"ant-tree-list\" [class.ant-select-tree-list]=\"nzSelectMode\" style=\"position: relative\">\n <cdk-virtual-scroll-viewport\n *ngIf=\"nzVirtualHeight\"\n [class.ant-select-tree-list-holder-inner]=\"nzSelectMode\"\n [class.ant-tree-list-holder-inner]=\"!nzSelectMode\"\n [itemSize]=\"nzVirtualItemSize\"\n [minBufferPx]=\"nzVirtualMinBufferPx\"\n [maxBufferPx]=\"nzVirtualMaxBufferPx\"\n [style.height]=\"nzVirtualHeight\"\n >\n <ng-container *cdkVirtualFor=\"let node of nzFlattenNodes; trackBy: trackByFlattenNode\">\n <ng-template [ngTemplateOutlet]=\"nodeTemplate\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-template>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n\n <div\n *ngIf=\"!nzVirtualHeight\"\n [class.ant-select-tree-list-holder-inner]=\"nzSelectMode\"\n [class.ant-tree-list-holder-inner]=\"!nzSelectMode\"\n [@.disabled]=\"beforeInit || noAnimation?.nzNoAnimation\"\n [nzNoAnimation]=\"noAnimation?.nzNoAnimation\"\n [@treeCollapseMotion]=\"nzFlattenNodes.length\"\n >\n <ng-container *ngFor=\"let node of nzFlattenNodes; trackBy: trackByFlattenNode\">\n <ng-template [ngTemplateOutlet]=\"nodeTemplate\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-template>\n </ng-container>\n </div>\n </div>\n <ng-template #nodeTemplate let-treeNode>\n <nz-tree-node\n builtin\n [icon]=\"treeNode.icon\"\n [title]=\"treeNode.title\"\n [isLoading]=\"treeNode.isLoading\"\n [isSelected]=\"treeNode.isSelected\"\n [isDisabled]=\"treeNode.isDisabled\"\n [isMatched]=\"treeNode.isMatched\"\n [isExpanded]=\"treeNode.isExpanded\"\n [isLeaf]=\"treeNode.isLeaf\"\n [isStart]=\"treeNode.isStart\"\n [isEnd]=\"treeNode.isEnd\"\n [isChecked]=\"treeNode.isChecked\"\n [isHalfChecked]=\"treeNode.isHalfChecked\"\n [isDisableCheckbox]=\"treeNode.isDisableCheckbox\"\n [isSelectable]=\"treeNode.isSelectable\"\n [canHide]=\"treeNode.canHide\"\n [nzTreeNode]=\"treeNode\"\n [nzSelectMode]=\"nzSelectMode\"\n [nzShowLine]=\"nzShowLine\"\n [nzExpandedIcon]=\"nzExpandedIcon\"\n [nzDraggable]=\"nzDraggable\"\n [nzCheckable]=\"nzCheckable\"\n [nzShowExpand]=\"nzShowExpand\"\n [nzAsyncData]=\"nzAsyncData\"\n [nzSearchValue]=\"nzSearchValue\"\n [nzHideUnMatched]=\"nzHideUnMatched\"\n [nzBeforeDrop]=\"nzBeforeDrop\"\n [nzShowIcon]=\"nzShowIcon\"\n [nzTreeTemplate]=\"nzTreeTemplate || nzTreeTemplateChild\"\n (nzExpandChange)=\"eventTriggerChanged($event)\"\n (nzClick)=\"eventTriggerChanged($event)\"\n (nzDblClick)=\"eventTriggerChanged($event)\"\n (nzContextMenu)=\"eventTriggerChanged($event)\"\n (nzCheckBoxChange)=\"eventTriggerChanged($event)\"\n (nzOnDragStart)=\"eventTriggerChanged($event)\"\n (nzOnDragEnter)=\"eventTriggerChanged($event)\"\n (nzOnDragOver)=\"eventTriggerChanged($event)\"\n (nzOnDragLeave)=\"eventTriggerChanged($event)\"\n (nzOnDragEnd)=\"eventTriggerChanged($event)\"\n (nzOnDrop)=\"eventTriggerChanged($event)\"\n ></nz-tree-node>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n NzTreeService,\n {\n provide: NzTreeBaseService,\n useFactory: NzTreeServiceFactory,\n deps: [[new SkipSelf(), new Optional(), NzTreeHigherOrderServiceToken], NzTreeService]\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NzTreeComponent),\n multi: true\n }\n ],\n host: {\n '[class.ant-select-tree]': `nzSelectMode`,\n '[class.ant-select-tree-show-line]': `nzSelectMode && nzShowLine`,\n '[class.ant-select-tree-icon-hide]': `nzSelectMode && !nzShowIcon`,\n '[class.ant-select-tree-block-node]': `nzSelectMode && nzBlockNode`,\n '[class.ant-tree]': `!nzSelectMode`,\n '[class.ant-tree-rtl]': `dir === 'rtl'`,\n '[class.ant-tree-show-line]': `!nzSelectMode && nzShowLine`,\n '[class.ant-tree-icon-hide]': `!nzSelectMode && !nzShowIcon`,\n '[class.ant-tree-block-node]': `!nzSelectMode && nzBlockNode`,\n '[class.draggable-tree]': `nzDraggable`\n }\n})\nexport class NzTreeComponent\n extends NzTreeBase\n implements OnInit, OnDestroy, ControlValueAccessor, OnChanges, AfterViewInit\n{\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n\n static ngAcceptInputType_nzShowIcon: BooleanInput;\n static ngAcceptInputType_nzHideUnMatched: BooleanInput;\n static ngAcceptInputType_nzBlockNode: BooleanInput;\n static ngAcceptInputType_nzExpandAll: BooleanInput;\n static ngAcceptInputType_nzSelectMode: BooleanInput;\n static ngAcceptInputType_nzCheckStrictly: BooleanInput;\n static ngAcceptInputType_nzShowExpand: BooleanInput;\n static ngAcceptInputType_nzShowLine: BooleanInput;\n static ngAcceptInputType_nzCheckable: BooleanInput;\n static ngAcceptInputType_nzAsyncData: BooleanInput;\n static ngAcceptInputType_nzDraggable: BooleanInput;\n static ngAcceptInputType_nzMultiple: BooleanInput;\n\n @Input() @InputBoolean() @WithConfig() nzShowIcon: boolean = false;\n @Input() @InputBoolean() @WithConfig() nzHideUnMatched: boolean = false;\n @Input() @InputBoolean() @WithConfig() nzBlockNode: boolean = false;\n @Input() @InputBoolean() nzExpandAll = false;\n @Input() @InputBoolean() nzSelectMode = false;\n @Input() @InputBoolean() nzCheckStrictly = false;\n @Input() @InputBoolean() nzShowExpand: boolean = true;\n @Input() @InputBoolean() nzShowLine = false;\n @Input() @InputBoolean() nzCheckable = false;\n @Input() @InputBoolean() nzAsyncData = false;\n @Input() @InputBoolean() nzDraggable: boolean = false;\n @Input() @InputBoolean() nzMultiple = false;\n @Input() nzExpandedIcon?: TemplateRef<{ $implicit: NzTreeNode; origin: NzTreeNodeOptions }>;\n @Input() nzVirtualItemSize = 28;\n @Input() nzVirtualMaxBufferPx = 500;\n @Input() nzVirtualMinBufferPx = 28;\n @Input() nzVirtualHeight: string | null = null;\n @Input() nzTreeTemplate?: TemplateRef<{ $implicit: NzTreeNode; origin: NzTreeNodeOptions }>;\n @Input() nzBeforeDrop?: (confirm: NzFormatBeforeDropEvent) => Observable<boolean>;\n @Input() nzData: NzTreeNodeOptions[] | NzTreeNode[] = [];\n @Input() nzExpandedKeys: NzTreeNodeKey[] = [];\n @Input() nzSelectedKeys: NzTreeNodeKey[] = [];\n @Input() nzCheckedKeys: NzTreeNodeKey[] = [];\n @Input() nzSearchValue: string = '';\n @Input() nzSearchFunc?: (node: NzTreeNodeOptions) => boolean;\n @ContentChild('nzTreeTemplate', { static: true }) nzTreeTemplateChild!: TemplateRef<{\n $implicit: NzTreeNode;\n origin: NzTreeNodeOptions;\n }>;\n @ViewChild(CdkVirtualScrollViewport, { read: CdkVirtualScrollViewport })\n cdkVirtualScrollViewport!: CdkVirtualScrollViewport;\n nzFlattenNodes: NzTreeNode[] = [];\n beforeInit = true;\n dir: Direction = 'ltr';\n\n @Output() readonly nzExpandedKeysChange: EventEmitter<string[]> = new EventEmitter<string[]>();\n @Output() readonly nzSelectedKeysChange: EventEmitter<string[]> = new EventEmitter<string[]>();\n @Output() readonly nzCheckedKeysChange: EventEmitter<string[]> = new EventEmitter<string[]>();\n @Output() readonly nzSearchValueChange = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzClick = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzDblClick = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzContextMenu = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzCheckBoxChange = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzExpandChange = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzOnDragStart = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzOnDragEnter = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzOnDragOver = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzOnDragLeave = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzOnDrop = new EventEmitter<NzFormatEmitEvent>();\n @Output() readonly nzOnDragEnd = new EventEmitter<NzFormatEmitEvent>();\n\n HIDDEN_STYLE = {\n width: 0,\n height: 0,\n display: 'flex',\n overflow: 'hidden',\n opacity: 0,\n border: 0,\n padding: 0,\n margin: 0\n };\n\n HIDDEN_NODE_STYLE = {\n position: 'absolute',\n pointerEvents: 'none',\n visibility: 'hidden',\n height: 0,\n overflow: 'hidden'\n };\n\n destroy$ = new Subject();\n\n onChange: (value: NzTreeNode[]) => void = () => null;\n onTouched: () => void = () => null;\n\n writeValue(value: NzTreeNode[]): void {\n this.handleNzData(value);\n }\n\n registerOnChange(fn: (_: NzTreeNode[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * Render all properties of nzTree\n *\n * @param changes: all changes from @Input\n */\n renderTreeProperties(changes: { [propertyName: string]: SimpleChange }): void {\n let useDefaultExpandedKeys = false;\n let expandAll = false;\n const {\n nzData,\n nzExpandedKeys,\n nzSelectedKeys,\n nzCheckedKeys,\n nzCheckStrictly,\n nzExpandAll,\n nzMultiple,\n nzSearchValue\n } = changes;\n\n if (nzExpandAll) {\n useDefaultExpandedKeys = true;\n expandAll = this.nzExpandAll;\n }\n\n if (nzMultiple) {\n this.nzTreeService.isMultiple = this.nzMultiple;\n }\n\n if (nzCheckStrictly) {\n this.nzTreeService.isCheckStrictly = this.nzCheckStrictly;\n }\n\n if (nzData) {\n this.handleNzData(this.nzData);\n }\n\n if (nzCheckedKeys) {\n this.handleCheckedKeys(this.nzCheckedKeys);\n }\n\n if (nzCheckStrictly) {\n this.handleCheckedKeys(null);\n }\n\n if (nzExpandedKeys || nzExpandAll) {\n useDefaultExpandedKeys = true;\n this.handleExpandedKeys(expandAll || this.nzExpandedKeys);\n }\n\n if (nzSelectedKeys) {\n this.handleSelectedKeys(this.nzSelectedKeys, this.nzMultiple);\n }\n\n if (nzSearchValue) {\n if (!(nzSearchValue.firstChange && !this.nzSearchValue)) {\n useDefaultExpandedKeys = false;\n this.handleSearchValue(nzSearchValue.currentValue, this.nzSearchFunc);\n this.nzSearchValueChange.emit(this.nzTreeService.formatEvent('search', null, null));\n }\n }\n\n // flatten data\n const currentExpandedKeys = this.getExpandedNodeList().map(v => v.key);\n const newExpandedKeys = useDefaultExpandedKeys ? expandAll || this.nzExpandedKeys : currentExpandedKeys;\n this.handleFlattenNodes(this.nzTreeService.rootNodes, newExpandedKeys);\n }\n\n trackByFlattenNode(_: number, node: NzTreeNode): string {\n return node.key;\n }\n // Deal with properties\n /**\n * nzData\n *\n * @param value\n */\n handleNzData(value: NzSafeAny[]): void {\n if (Array.isArray(value)) {\n const data = this.coerceTreeNodes(value);\n this.nzTreeService.initTree(data);\n }\n }\n\n handleFlattenNodes(data: NzTreeNode[], expandKeys: NzTreeNodeKey[] | true = []): void {\n this.nzTreeService.flattenTreeData(data, expandKeys);\n }\n\n handleCheckedKeys(keys: NzTreeNodeKey[] | null): void {\n this.nzTreeService.conductCheck(keys, this.nzCheckStrictly);\n }\n\n handleExpandedKeys(keys: NzTreeNodeKey[] | true = []): void {\n this.nzTreeService.conductExpandedKeys(keys);\n }\n\n handleSelectedKeys(keys: NzTreeNodeKey[], isMulti: boolean): void {\n this.nzTreeService.conductSelectedKeys(keys, isMulti);\n }\n\n handleSearchValue(value: string, searchFunc?: (node: NzTreeNodeOptions) => boolean): void {\n const dataList = flattenTreeData(this.nzTreeService.rootNodes, true).map(v => v.data);\n const checkIfMatched = (node: NzTreeNode): boolean => {\n if (searchFunc) {\n return searchFunc(node.origin);\n }\n return !value || !node.title.toLowerCase().includes(value.toLowerCase()) ? false : true;\n };\n dataList.forEach(v => {\n v.isMatched = checkIfMatched(v);\n v.canHide = !v.isMatched;\n if (!v.isMatched) {\n v.setExpanded(false);\n this.nzTreeService.setExpandedNodeList(v);\n } else {\n // expand\n this.nzTreeService.expandNodeAllParentBySearch(v);\n }\n this.nzTreeService.setMatchedNodeList(v);\n });\n }\n\n /**\n * Handle emit event\n *\n * @param event\n * handle each event\n */\n eventTriggerChanged(event: NzFormatEmitEvent): void {\n const node = event.node!;\n switch (event.eventName) {\n case 'expand':\n this.renderTree();\n this.nzExpandChange.emit(event);\n break;\n case 'click':\n this.nzClick.emit(event);\n break;\n case 'dblclick':\n this.nzDblClick.emit(event);\n break;\n case 'contextmenu':\n this.nzContextMenu.emit(event);\n break;\n case 'check':\n // Render checked state with nodes' property `isChecked`\n this.nzTreeService.setCheckedNodeList(node);\n if (!this.nzCheckStrictly) {\n this.nzTreeService.conduct(node);\n }\n // Cause check method will rerender list, so we need recover it and next the new event to user\n const eventNext = this.nzTreeService.formatEvent('check', node, event.event!);\n this.nzCheckBoxChange.emit(eventNext);\n break;\n case 'dragstart':\n // if node is expanded\n if (node.isExpanded) {\n node.setExpanded(!node.isExpanded);\n this.renderTree();\n }\n this.nzOnDragStart.emit(event);\n break;\n case 'dragenter':\n const selectedNode = this.nzTreeService.getSelectedNode();\n if (selectedNode && selectedNode.key !== node.key && !node.isExpanded && !node.isLeaf) {\n node.setExpanded(true);\n this.renderTree();\n }\n this.nzOnDragEnter.emit(event);\n break;\n case 'dragover':\n this.nzOnDragOver.emit(event);\n break;\n case 'dragleave':\n this.nzOnDragLeave.emit(event);\n break;\n case 'dragend':\n this.nzOnDragEnd.emit(event);\n break;\n case 'drop':\n this.renderTree();\n this.nzOnDrop.emit(event);\n break;\n }\n }\n\n /**\n * Click expand icon\n */\n renderTree(): void {\n this.handleFlattenNodes(\n this.nzTreeService.rootNodes,\n this.getExpandedNodeList().map(v => v.key)\n );\n this.cdr.markForCheck();\n }\n // Handle emit event end\n\n constructor(\n nzTreeService: NzTreeBaseService,\n public nzConfigService: NzConfigService,\n private cdr: ChangeDetectorRef,\n @Optional() private directionality: Directionality,\n @Host() @Optional() public noAnimation?: NzNoAnimationDirective\n ) {\n super(nzTreeService);\n }\n\n ngOnInit(): void {\n this.nzTreeService.flattenNodes$.pipe(takeUntil(this.destroy$)).subscribe(data => {\n this.nzFlattenNodes = data;\n this.cdr.markForCheck();\n });\n\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n }\n\n ngOnChanges(changes: { [propertyName: string]: SimpleChange }): void {\n this.renderTreeProperties(changes);\n }\n\n ngAfterViewInit(): void {\n this.beforeInit = false;\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 { BidiModule } from '@angular/cdk/bidi';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzHighlightModule } from 'ng-zorro-antd/core/highlight';\nimport { NzNoAnimationModule } from 'ng-zorro-antd/core/no-animation';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NzTreeDropIndicatorComponent } from './tree-drop-indicator.component';\nimport { NzTreeIndentComponent } from './tree-indent.component';\nimport { NzTreeNodeBuiltinCheckboxComponent } from './tree-node-checkbox.component';\nimport { NzTreeNodeSwitcherComponent } from './tree-node-switcher.component';\nimport { NzTreeNodeTitleComponent } from './tree-node-title.component';\nimport { NzTreeNodeBuiltinComponent } from './tree-node.component';\nimport { NzTreeComponent } from './tree.component';\n\n@NgModule({\n imports: [\n BidiModule,\n CommonModule,\n NzOutletModule,\n NzIconModule,\n NzNoAnimationModule,\n NzHighlightModule,\n ScrollingModule\n ],\n declarations: [\n NzTreeComponent,\n NzTreeNodeBuiltinComponent,\n NzTreeIndentComponent,\n NzTreeNodeSwitcherComponent,\n NzTreeNodeBuiltinCheckboxComponent,\n NzTreeNodeTitleComponent,\n NzTreeDropIndicatorComponent\n ],\n exports: [NzTreeComponent, NzTreeNodeBuiltinComponent, NzTreeIndentComponent]\n})\nexport class NzTreeModule {}\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 './tree.module';\nexport * from './tree.component';\nexport * from './tree-node.component';\nexport * from './tree-indent.component';\nexport * from './tree.service';\nexport * from './tree-node-switcher.component';\nexport * from './tree-node-checkbox.component';\nexport * from './tree-node-title.component';\nexport { NzTreeNodeOptions, NzFormatEmitEvent, NzFormatBeforeDropEvent, NzTreeNode } from 'ng-zorro-antd/core/tree';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3.NzTreeDropIndicatorComponent","i1","i3","i4.NzTreeIndentComponent","i5.NzTreeNodeSwitcherComponent","i6.NzTreeNodeBuiltinCheckboxComponent","i7.NzTreeNodeTitleComponent","i4","i5","i7.NzTreeNodeBuiltinComponent"],"mappings":"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"}