ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
16 lines (14 loc) • 18.5 kB
JavaScript
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/cdk/keycodes"),require("@angular/cdk/overlay"),require("@angular/core"),require("@angular/forms"),require("ng-zorro-antd/core/animation"),require("ng-zorro-antd/core/config"),require("ng-zorro-antd/core/no-animation"),require("ng-zorro-antd/core/tree"),require("ng-zorro-antd/core/util"),require("ng-zorro-antd/select"),require("ng-zorro-antd/tree"),require("rxjs"),require("rxjs/operators"),require("@angular/common"),require("ng-zorro-antd/core/overlay"),require("ng-zorro-antd/empty"),require("ng-zorro-antd/icon")):"function"==typeof define&&define.amd?define("ng-zorro-antd/tree-select",["exports","@angular/cdk/keycodes","@angular/cdk/overlay","@angular/core","@angular/forms","ng-zorro-antd/core/animation","ng-zorro-antd/core/config","ng-zorro-antd/core/no-animation","ng-zorro-antd/core/tree","ng-zorro-antd/core/util","ng-zorro-antd/select","ng-zorro-antd/tree","rxjs","rxjs/operators","@angular/common","ng-zorro-antd/core/overlay","ng-zorro-antd/empty","ng-zorro-antd/icon"],n):n(((e=e||self)["ng-zorro-antd"]=e["ng-zorro-antd"]||{},e["ng-zorro-antd"]["tree-select"]={}),e.ng.cdk.keycodes,e.ng.cdk.overlay,e.ng.core,e.ng.forms,e["ng-zorro-antd"].core.animation,e["ng-zorro-antd"].core.config,e["ng-zorro-antd"].core["no-animation"],e["ng-zorro-antd"].core.tree,e["ng-zorro-antd"].core.util,e["ng-zorro-antd"].select,e["ng-zorro-antd"].tree,e.rxjs,e.rxjs.operators,e.ng.common,e["ng-zorro-antd"].core.overlay,e["ng-zorro-antd"].empty,e["ng-zorro-antd"].icon)}(this,(function(e,n,t,o,r,i,a,l,s,c,d,p,u,h,z,y,g,f){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */var C=function(e,n){return(C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t])})(e,n)};function m(e,n){function t(){this.constructor=e}C(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}function v(e,n,t,o){var r,i=arguments.length,a=i<3?n:null===o?o=Object.getOwnPropertyDescriptor(n,t):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,t,o);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(a=(i<3?r(a):i>3?r(n,t,a):r(n,t))||a);return i>3&&a&&Object.defineProperty(n,t,a),a}function S(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function b(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,r,i=t.call(e),a=[];try{for(;(void 0===n||n-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(t=i.return)&&t.call(i)}finally{if(r)throw r.error}}return a}function k(){for(var e=[],n=0;n<arguments.length;n++)e=e.concat(b(arguments[n]));return e}var w=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return m(n,e),n.decorators=[{type:o.Injectable}],n}(s.NzTreeBaseService);function O(e){return e.get(w)}var N=function(e){function p(n,t,r,i,a,l){var s=e.call(this,n)||this;return s.nzConfigService=t,s.renderer=r,s.cdr=i,s.elementRef=a,s.noAnimation=l,s.nzAllowClear=!0,s.nzShowExpand=!0,s.nzShowLine=!1,s.nzCheckable=!1,s.nzShowSearch=!1,s.nzDisabled=!1,s.nzAsyncData=!1,s.nzMultiple=!1,s.nzDefaultExpandAll=!1,s.nzCheckStrictly=!1,s.nzNodes=[],s.nzOpen=!1,s.nzPlaceHolder="",s.nzDisplayWith=function(e){return e.title},s.nzOpenChange=new o.EventEmitter,s.nzCleared=new o.EventEmitter,s.nzRemoved=new o.EventEmitter,s.nzExpandChange=new o.EventEmitter,s.nzTreeClick=new o.EventEmitter,s.nzTreeCheckBoxChange=new o.EventEmitter,s.dropdownClassName="ant-select-dropdown ant-select-tree-dropdown",s.isComposing=!1,s.isDestroy=!0,s.isNotFound=!1,s.inputValue="",s.dropDownPosition="bottom",s.selectedNodes=[],s.expandedKeys=[],s.value=[],s.onTouched=function(){return null},s.renderer.addClass(s.elementRef.nativeElement,"ant-select"),s.renderer.addClass(s.elementRef.nativeElement,"ant-tree-select"),s}return m(p,e),Object.defineProperty(p.prototype,"nzExpandedKeys",{get:function(){return this.expandedKeys},set:function(e){this.expandedKeys=e},enumerable:!0,configurable:!0}),Object.defineProperty(p.prototype,"treeTemplate",{get:function(){return this.nzTreeTemplate||this.nzTreeTemplateChild},enumerable:!0,configurable:!0}),Object.defineProperty(p.prototype,"placeHolderDisplay",{get:function(){return this.inputValue||this.isComposing||this.selectedNodes.length?"none":"block"},enumerable:!0,configurable:!0}),Object.defineProperty(p.prototype,"isMultiple",{get:function(){return this.nzMultiple||this.nzCheckable},enumerable:!0,configurable:!0}),p.prototype.ngOnInit=function(){this.isDestroy=!1,this.selectionChangeSubscription=this.subscribeSelectionChange()},p.prototype.ngOnDestroy=function(){this.isDestroy=!0,this.closeDropDown(),this.selectionChangeSubscription.unsubscribe()},p.prototype.setDisabledState=function(e){this.nzDisabled=e,this.closeDropDown()},p.prototype.ngOnChanges=function(e){var n=e.nzNodes,t=e.nzDropdownClassName;if(n&&this.updateSelectedNodes(!0),t){var o=this.nzDropdownClassName&&this.nzDropdownClassName.trim();this.dropdownClassName=o?"ant-select-dropdown ant-select-tree-dropdown "+o:"ant-select-dropdown ant-select-tree-dropdown"}},p.prototype.writeValue=function(e){var n=this;c.isNotNil(e)?(this.isMultiple&&Array.isArray(e)?this.value=e:this.value=[e],this.updateSelectedNodes(!0)):(this.value=[],this.selectedNodes.forEach((function(e){n.removeSelected(e,!1)})),this.selectedNodes=[]),this.cdr.markForCheck()},p.prototype.registerOnChange=function(e){this.onChange=e},p.prototype.registerOnTouched=function(e){this.onTouched=e},p.prototype.trigger=function(){this.nzDisabled||!this.nzDisabled&&this.nzOpen?this.closeDropDown():(this.openDropdown(),(this.nzShowSearch||this.isMultiple)&&this.focusOnInput())},p.prototype.openDropdown=function(){this.nzDisabled||(this.nzOpen=!0,this.nzOpenChange.emit(this.nzOpen),this.updateCdkConnectedOverlayStatus(),this.updatePosition())},p.prototype.closeDropDown=function(){this.onTouched(),this.nzOpen=!1,this.inputValue="",this.nzOpenChange.emit(this.nzOpen),this.cdr.markForCheck()},p.prototype.onKeyDownInput=function(e){var t=e.keyCode,o=e.target;if(this.isMultiple&&!o.value&&t===n.BACKSPACE&&(e.preventDefault(),this.selectedNodes.length)){var r=this.selectedNodes[this.selectedNodes.length-1];this.removeSelected(r)}},p.prototype.onExpandedKeysChange=function(e){this.nzExpandChange.emit(e),this.expandedKeys=k(e.keys)},p.prototype.setInputValue=function(e){this.inputValue=e,this.updatePosition()},p.prototype.removeSelected=function(e,n){void 0===n&&(n=!0),e.isSelected=!1,e.isChecked=!1,this.nzCheckable?this.nzTreeService.conduct(e):this.nzTreeService.setSelectedNodeList(e,this.nzMultiple),n&&this.nzRemoved.emit(e)},p.prototype.focusOnInput=function(){this.nzSelectSearchComponent&&this.nzSelectSearchComponent.focus()},p.prototype.subscribeSelectionChange=function(){var e=this;return u.merge(this.nzTreeClick.pipe(h.tap((function(n){var t=n.node;!e.nzCheckable||t.isDisabled||t.isDisableCheckbox||(t.isChecked=!t.isChecked,t.isHalfChecked=!1,e.nzCheckStrictly||e.nzTreeService.conduct(t)),e.nzCheckable&&(t.isSelected=!1)})),h.filter((function(n){var t=n.node;return e.nzCheckable?!t.isDisabled&&!t.isDisableCheckbox:!t.isDisabled&&t.isSelectable}))),this.nzCheckable?this.nzTreeCheckBoxChange:u.of(),this.nzCleared,this.nzRemoved).subscribe((function(){e.updateSelectedNodes();var n=e.selectedNodes.map((function(e){return e.key}));e.value=k(n),(e.nzShowSearch||e.isMultiple)&&(e.inputValue="",e.isNotFound=!1),e.isMultiple?(e.onChange(n),e.focusOnInput(),e.updatePosition()):(e.closeDropDown(),e.onChange(n.length?n[0]:null))}))},p.prototype.updateSelectedNodes=function(e){if(void 0===e&&(e=!1),e){var n=this.coerceTreeNodes(this.nzNodes);this.nzTreeService.isMultiple=this.isMultiple,this.nzTreeService.isCheckStrictly=this.nzCheckStrictly,this.nzTreeService.initTree(n),this.nzCheckable?this.nzTreeService.conductCheck(this.value,this.nzCheckStrictly):this.nzTreeService.conductSelectedKeys(this.value,this.isMultiple)}this.selectedNodes=k(this.nzCheckable?this.getCheckedNodeList():this.getSelectedNodeList())},p.prototype.updatePosition=function(){var e=this;setTimeout((function(){e.cdkConnectedOverlay&&e.cdkConnectedOverlay.overlayRef&&e.cdkConnectedOverlay.overlayRef.updatePosition()}))},p.prototype.onPositionChange=function(e){this.dropDownPosition=e.connectionPair.originY},p.prototype.onClearSelection=function(){var e=this;this.selectedNodes.forEach((function(n){e.removeSelected(n,!1)})),this.nzCleared.emit()},p.prototype.setSearchValues=function(e){var n=this;Promise.resolve().then((function(){n.isNotFound=(n.nzShowSearch||n.isMultiple)&&!!n.inputValue&&0===e.matchedKeys.length}))},p.prototype.updateCdkConnectedOverlayStatus=function(){this.triggerWidth=this.cdkOverlayOrigin.elementRef.nativeElement.getBoundingClientRect().width},p.prototype.trackValue=function(e,n){return n.key},p.decorators=[{type:o.Component,args:[{selector:"nz-tree-select",exportAs:"nzTreeSelect",animations:[i.slideMotion,i.zoomMotion],template:'\n <ng-template\n cdkConnectedOverlay\n nzConnectedOverlay\n [cdkConnectedOverlayOrigin]="cdkOverlayOrigin"\n [cdkConnectedOverlayOpen]="nzOpen"\n [cdkConnectedOverlayHasBackdrop]="true"\n [cdkConnectedOverlayMinWidth]="nzDropdownMatchSelectWidth ? null : triggerWidth"\n [cdkConnectedOverlayWidth]="nzDropdownMatchSelectWidth ? triggerWidth : null"\n (backdropClick)="closeDropDown()"\n (detach)="closeDropDown()"\n (positionChange)="onPositionChange($event)"\n >\n <div\n [ngClass]="dropdownClassName"\n [@slideMotion]="nzOpen ? dropDownPosition : \'void\'"\n [@.disabled]="noAnimation?.nzNoAnimation"\n [nzNoAnimation]="noAnimation?.nzNoAnimation"\n [class.ant-select-dropdown-placement-bottomLeft]="dropDownPosition === \'bottom\'"\n [class.ant-select-dropdown-placement-topLeft]="dropDownPosition === \'top\'"\n [ngStyle]="nzDropdownStyle"\n >\n <nz-tree\n #treeRef\n [hidden]="isNotFound"\n nzNoAnimation\n nzSelectMode\n [nzData]="nzNodes"\n [nzMultiple]="nzMultiple"\n [nzSearchValue]="inputValue"\n [nzHideUnMatched]="nzHideUnMatched"\n [nzShowIcon]="nzShowIcon"\n [nzCheckable]="nzCheckable"\n [nzAsyncData]="nzAsyncData"\n [nzShowExpand]="nzShowExpand"\n [nzShowLine]="nzShowLine"\n [nzExpandedIcon]="nzExpandedIcon"\n [nzExpandAll]="nzDefaultExpandAll"\n [nzExpandedKeys]="expandedKeys"\n [nzCheckedKeys]="nzCheckable ? value : []"\n [nzSelectedKeys]="!nzCheckable ? value : []"\n [nzTreeTemplate]="treeTemplate"\n [nzCheckStrictly]="nzCheckStrictly"\n (nzExpandChange)="onExpandedKeysChange($event)"\n (nzClick)="nzTreeClick.emit($event)"\n (nzCheckedKeysChange)="updateSelectedNodes()"\n (nzSelectedKeysChange)="updateSelectedNodes()"\n (nzCheckBoxChange)="nzTreeCheckBoxChange.emit($event)"\n (nzSearchValueChange)="setSearchValues($event)"\n >\n </nz-tree>\n <span *ngIf="nzNodes.length === 0 || isNotFound" class="ant-select-not-found">\n <nz-embed-empty [nzComponentName]="\'tree-select\'" [specificContent]="nzNotFoundContent"></nz-embed-empty>\n </span>\n </div>\n </ng-template>\n\n <div cdkOverlayOrigin class="ant-select-selector">\n <ng-container *ngIf="isMultiple">\n <nz-select-item\n *ngFor="let node of selectedNodes | slice: 0:nzMaxTagCount; trackBy: trackValue"\n [@zoomMotion]\n [@.disabled]="noAnimation?.nzNoAnimation"\n [nzNoAnimation]="noAnimation?.nzNoAnimation"\n [deletable]="true"\n [disabled]="node.isDisabled || nzDisabled"\n [label]="nzDisplayWith(node)"\n (@zoomMotion.done)="updatePosition()"\n (delete)="removeSelected(node, true)"\n ></nz-select-item>\n\n <nz-select-item\n *ngIf="selectedNodes.length > nzMaxTagCount"\n [@zoomMotion]\n (@zoomMotion.done)="updatePosition()"\n [@.disabled]="noAnimation?.nzNoAnimation"\n [nzNoAnimation]="noAnimation?.nzNoAnimation"\n [contentTemplateOutlet]="nzMaxTagPlaceholder"\n [contentTemplateOutletContext]="selectedNodes | slice: nzMaxTagCount"\n [deletable]="false"\n [disabled]="false"\n [label]="\'+ \' + (selectedNodes.length - nzMaxTagCount) + \' ...\'"\n ></nz-select-item>\n </ng-container>\n\n <nz-select-search\n *ngIf="nzShowSearch"\n (keydown)="onKeyDownInput($event)"\n (isComposingChange)="isComposing = $event"\n (valueChange)="setInputValue($event)"\n [value]="inputValue"\n [mirrorSync]="isMultiple"\n [disabled]="nzDisabled"\n [showInput]="nzOpen"\n >\n </nz-select-search>\n\n <nz-select-placeholder\n *ngIf="nzPlaceHolder && selectedNodes.length === 0"\n [placeholder]="nzPlaceHolder"\n [style.display]="placeHolderDisplay"\n >\n </nz-select-placeholder>\n\n <nz-select-item\n *ngIf="!isMultiple && selectedNodes.length === 1"\n [deletable]="false"\n [disabled]="false"\n [label]="nzDisplayWith(selectedNodes[0])"\n ></nz-select-item>\n\n <nz-select-arrow *ngIf="!isMultiple"></nz-select-arrow>\n\n <nz-select-clear *ngIf="nzAllowClear" (clear)="onClearSelection()"></nz-select-clear>\n </div>\n ',providers:[w,{provide:s.NzTreeHigherOrderServiceToken,useFactory:O,deps:[[new o.Self,o.Injector]]},{provide:r.NG_VALUE_ACCESSOR,useExisting:o.forwardRef((function(){return p})),multi:!0}],host:{"[class.ant-select-lg]":'nzSize==="large"',"[class.ant-select-sm]":'nzSize==="small"',"[class.ant-select-enabled]":"!nzDisabled","[class.ant-select-disabled]":"nzDisabled","[class.ant-select-single]":"!isMultiple","[class.ant-select-show-arrow]":"!isMultiple","[class.ant-select-show-search]":"!isMultiple","[class.ant-select-multiple]":"isMultiple","[class.ant-select-allow-clear]":"nzAllowClear","[class.ant-select-open]":"nzOpen","(click)":"trigger()"}}]}],p.ctorParameters=function(){return[{type:w},{type:a.NzConfigService},{type:o.Renderer2},{type:o.ChangeDetectorRef},{type:o.ElementRef},{type:l.NzNoAnimationDirective,decorators:[{type:o.Host},{type:o.Optional}]}]},p.propDecorators={nzAllowClear:[{type:o.Input}],nzShowExpand:[{type:o.Input}],nzShowLine:[{type:o.Input}],nzDropdownMatchSelectWidth:[{type:o.Input}],nzCheckable:[{type:o.Input}],nzHideUnMatched:[{type:o.Input}],nzShowIcon:[{type:o.Input}],nzShowSearch:[{type:o.Input}],nzDisabled:[{type:o.Input}],nzAsyncData:[{type:o.Input}],nzMultiple:[{type:o.Input}],nzDefaultExpandAll:[{type:o.Input}],nzCheckStrictly:[{type:o.Input}],nzExpandedIcon:[{type:o.Input}],nzNotFoundContent:[{type:o.Input}],nzNodes:[{type:o.Input}],nzOpen:[{type:o.Input}],nzSize:[{type:o.Input}],nzPlaceHolder:[{type:o.Input}],nzDropdownStyle:[{type:o.Input}],nzDropdownClassName:[{type:o.Input}],nzExpandedKeys:[{type:o.Input}],nzDisplayWith:[{type:o.Input}],nzMaxTagCount:[{type:o.Input}],nzMaxTagPlaceholder:[{type:o.Input}],nzOpenChange:[{type:o.Output}],nzCleared:[{type:o.Output}],nzRemoved:[{type:o.Output}],nzExpandChange:[{type:o.Output}],nzTreeClick:[{type:o.Output}],nzTreeCheckBoxChange:[{type:o.Output}],nzSelectSearchComponent:[{type:o.ViewChild,args:[d.NzSelectSearchComponent,{static:!1}]}],treeRef:[{type:o.ViewChild,args:["treeRef",{static:!1}]}],cdkOverlayOrigin:[{type:o.ViewChild,args:[t.CdkOverlayOrigin,{static:!0}]}],cdkConnectedOverlay:[{type:o.ViewChild,args:[t.CdkConnectedOverlay,{static:!1}]}],nzTreeTemplate:[{type:o.Input}],nzTreeTemplateChild:[{type:o.ContentChild,args:["nzTreeTemplate",{static:!0}]}]},v([c.InputBoolean(),S("design:type",Boolean)],p.prototype,"nzAllowClear",void 0),v([c.InputBoolean(),S("design:type",Boolean)],p.prototype,"nzShowExpand",void 0),v([c.InputBoolean(),S("design:type",Boolean)],p.prototype,"nzShowLine",void 0),v([c.InputBoolean(),a.WithConfig("treeSelect",!0),S("design:type",Boolean)],p.prototype,"nzDropdownMatchSelectWidth",void 0),v([c.InputBoolean(),S("design:type",Boolean)],p.prototype,"nzCheckable",void 0),v([c.InputBoolean(),a.WithConfig("treeSelect",!1),S("design:type",Boolean)],p.prototype,"nzHideUnMatched",void 0),v([c.InputBoolean(),a.WithConfig("treeSelect",!1),S("design:type",Boolean)],p.prototype,"nzShowIcon",void 0),v([c.InputBoolean(),S("design:type",Boolean)],p.prototype,"nzShowSearch",void 0),v([c.InputBoolean(),S("design:type",Object)],p.prototype,"nzDisabled",void 0),v([c.InputBoolean(),S("design:type",Object)],p.prototype,"nzAsyncData",void 0),v([c.InputBoolean(),S("design:type",Object)],p.prototype,"nzMultiple",void 0),v([c.InputBoolean(),S("design:type",Object)],p.prototype,"nzDefaultExpandAll",void 0),v([c.InputBoolean(),S("design:type",Object)],p.prototype,"nzCheckStrictly",void 0),v([a.WithConfig("treeSelect","default"),S("design:type",String)],p.prototype,"nzSize",void 0),p}(s.NzTreeBase);var D=function(){function e(){}return e.decorators=[{type:o.NgModule,args:[{imports:[z.CommonModule,t.OverlayModule,r.FormsModule,d.NzSelectModule,p.NzTreeModule,f.NzIconModule,g.NzEmptyModule,y.NzOverlayModule,l.NzNoAnimationModule],declarations:[N],exports:[N]}]}],e}();e.NzTreeSelectComponent=N,e.NzTreeSelectModule=D,e.NzTreeSelectService=w,e.higherOrderServiceFactory=O,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=ng-zorro-antd-tree-select.umd.min.js.map