ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
2 lines • 18.3 kB
JavaScript
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/cdk/keycodes"),require("rxjs"),require("rxjs/operators"),require("@angular/cdk/overlay"),require("@angular/common"),require("@angular/core"),require("@angular/forms"),require("ng-zorro-antd/core"),require("ng-zorro-antd/empty"),require("ng-zorro-antd/icon"),require("ng-zorro-antd/tree")):"function"==typeof define&&define.amd?define("ng-zorro-antd/tree-select",["exports","@angular/cdk/keycodes","rxjs","rxjs/operators","@angular/cdk/overlay","@angular/common","@angular/core","@angular/forms","ng-zorro-antd/core","ng-zorro-antd/empty","ng-zorro-antd/icon","ng-zorro-antd/tree"],n):n((e["ng-zorro-antd"]=e["ng-zorro-antd"]||{},e["ng-zorro-antd"]["tree-select"]={}),e.ng.cdk.keycodes,e.rxjs,e.rxjs.operators,e.ng.cdk.overlay,e.ng.common,e.ng.core,e.ng.forms,e["ng-zorro-antd"].core,e["ng-zorro-antd"].empty,e["ng-zorro-antd"].icon,e["ng-zorro-antd"].tree)}(this,function(e,i,n,o,t,s,l,r,a,c,p,d){"use strict";var u=function(e,n){return(u=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)};var h=function(){return(h=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};function z(e,n,t,o){var i,s=arguments.length,l=s<3?n:null===o?o=Object.getOwnPropertyDescriptor(n,t):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,n,t,o);else for(var r=e.length-1;0<=r;r--)(i=e[r])&&(l=(s<3?i(l):3<s?i(n,t,l):i(n,t))||l);return 3<s&&l&&Object.defineProperty(n,t,l),l}function y(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function g(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,i,s=t.call(e),l=[];try{for(;(void 0===n||0<n--)&&!(o=s.next()).done;)l.push(o.value)}catch(r){i={error:r}}finally{try{o&&!o.done&&(t=s["return"])&&t.call(s)}finally{if(i)throw i.error}}return l}function f(){for(var e=[],n=0;n<arguments.length;n++)e=e.concat(g(arguments[n]));return e}var v=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return function o(e,n){function t(){this.constructor=e}u(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}(n,e),n.decorators=[{type:l.Injectable}],n}(a.NzTreeBaseService);function m(e){return e.get(v)}var C=function(){function e(e,n,t,o,i){this.renderer=e,this.cdr=n,this.nzTreeService=t,this.elementRef=o,this.noAnimation=i,this.nzAllowClear=!0,this.nzShowExpand=!0,this.nzShowLine=!1,this.nzDropdownMatchSelectWidth=!0,this.nzCheckable=!1,this.nzShowSearch=!1,this.nzDisabled=!1,this.nzAsyncData=!1,this.nzMultiple=!1,this.nzDefaultExpandAll=!1,this.nzNodes=[],this.nzOpen=!1,this.nzSize="default",this.nzPlaceHolder="",this.nzDefaultExpandedKeys=[],this.nzDisplayWith=function(e){return e.title},this.nzOpenChange=new l.EventEmitter,this.nzCleared=new l.EventEmitter,this.nzRemoved=new l.EventEmitter,this.nzExpandChange=new l.EventEmitter,this.nzTreeClick=new l.EventEmitter,this.nzTreeCheckBoxChange=new l.EventEmitter,this.isComposing=!1,this.isDestroy=!0,this.isNotFound=!1,this.inputValue="",this.dropDownPosition="bottom",this.selectedNodes=[],this.value=[],this.onTouched=function(){return null},this.renderer.addClass(this.elementRef.nativeElement,"ant-select")}return Object.defineProperty(e.prototype,"placeHolderDisplay",{get:function(){return this.inputValue||this.isComposing||this.selectedNodes.length?"none":"block"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"searchDisplay",{get:function(){return this.nzOpen?"block":"none"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isMultiple",{get:function(){return this.nzMultiple||this.nzCheckable},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectedValueDisplay",{get:function(){var e=!1,n=1;return this.nzShowSearch&&this.nzOpen?(e=!(this.inputValue||this.isComposing))&&(n=.4):e=!0,{display:e?"block":"none",opacity:""+n}},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.isDestroy=!1,this.selectionChangeSubscription=this.subscribeSelectionChange()},e.prototype.ngOnDestroy=function(){this.isDestroy=!0,this.closeDropDown(),this.selectionChangeSubscription.unsubscribe()},e.prototype.setDisabledState=function(e){this.nzDisabled=e,this.closeDropDown()},e.prototype.ngOnChanges=function(e){e.hasOwnProperty("nzNodes")&&this.updateSelectedNodes(!0)},e.prototype.writeValue=function(e){var n=this;a.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()},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.trigger=function(){this.nzDisabled||!this.nzDisabled&&this.nzOpen?this.closeDropDown():(this.openDropdown(),(this.nzShowSearch||this.isMultiple)&&this.focusOnInput())},e.prototype.openDropdown=function(){this.nzDisabled||(this.nzOpen=!0,this.nzOpenChange.emit(this.nzOpen),this.updateCdkConnectedOverlayStatus(),this.updatePosition())},e.prototype.closeDropDown=function(){this.onTouched(),this.nzOpen=!1,this.nzOpenChange.emit(this.nzOpen),this.cdr.markForCheck()},e.prototype.onKeyDownInput=function(e){var n=e.keyCode,t=e.target;if(this.isMultiple&&!t.value&&n===i.BACKSPACE&&(e.preventDefault(),this.selectedNodes.length)){var o=this.selectedNodes[this.selectedNodes.length-1];this.removeSelected(o),this.nzTreeService.triggerEventChange$.next({eventName:"removeSelect",node:o})}},e.prototype.onExpandedKeysChange=function(e){this.nzExpandChange.emit(e),this.nzDefaultExpandedKeys=f(e.keys)},e.prototype.setInputValue=function(e){this.inputValue=e,this.updateInputWidth(),this.updatePosition()},e.prototype.removeSelected=function(e,n,t){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),t&&t.stopPropagation&&t.stopPropagation()},e.prototype.focusOnInput=function(){var e=this;setTimeout(function(){e.inputElement&&e.inputElement.nativeElement.focus()})},e.prototype.subscribeSelectionChange=function(){var t=this;return n.merge(this.nzTreeClick.pipe(o.tap(function(e){var n=e.node;!t.nzCheckable||n.isDisabled||n.isDisableCheckbox||(n.isChecked=!n.isChecked,t.nzTreeService.conduct(n)),t.nzCheckable&&(n.isSelected=!1)}),o.filter(function(e){var n=e.node;return t.nzCheckable?!n.isDisabled&&!n.isDisableCheckbox:!n.isDisabled})),this.nzCheckable?this.nzTreeCheckBoxChange:n.of(),this.nzCleared,this.nzRemoved).subscribe(function(){t.updateSelectedNodes();var e=t.selectedNodes.map(function(e){return e.key});t.value=f(e),(t.nzShowSearch||t.isMultiple)&&(t.inputValue="",t.isNotFound=!1),t.isMultiple?(t.onChange(e),t.focusOnInput(),t.updatePosition()):(t.closeDropDown(),t.onChange(e.length?e[0]:null))})},e.prototype.updateSelectedNodes=function(e){var n=this;if(void 0===e&&(e=!1),e){var t=void 0;this.nzTreeService.isMultiple=this.isMultiple,t=this.nzTreeService.isArrayOfNzTreeNode(this.nzNodes)?this.nzNodes.map(function(e){return new a.NzTreeNode(h({},e.origin),undefined,n.nzTreeService)}):this.nzNodes.map(function(e){return new a.NzTreeNode(e,undefined,n.nzTreeService)}),this.nzTreeService.initTree(t),this.nzCheckable?this.nzTreeService.calcCheckedKeys(this.value,t):this.nzTreeService.calcSelectedKeys(this.value,t,this.isMultiple)}this.selectedNodes=f(this.nzCheckable?this.nzTreeService.getCheckedNodeList():this.nzTreeService.getSelectedNodeList())},e.prototype.updatePosition=function(){var e=this;setTimeout(function(){e.cdkConnectedOverlay&&e.cdkConnectedOverlay.overlayRef&&e.cdkConnectedOverlay.overlayRef.updatePosition()})},e.prototype.onPositionChange=function(e){this.dropDownPosition=e.connectionPair.originY},e.prototype.updateInputWidth=function(){this.isMultiple&&this.inputElement&&(this.inputValue||this.isComposing?this.renderer.setStyle(this.inputElement.nativeElement,"width",this.inputElement.nativeElement.scrollWidth+"px"):this.renderer.removeStyle(this.inputElement.nativeElement,"width"))},e.prototype.onClearSelection=function(e){var n=this;e.stopPropagation(),e.preventDefault(),this.selectedNodes.forEach(function(e){n.removeSelected(e,!1)}),this.nzCleared.emit()},e.prototype.setSearchValues=function(e){var n=this;Promise.resolve().then(function(){n.isNotFound=(n.nzShowSearch||n.isMultiple)&&!!n.inputValue&&0===e.matchedKeys.length})},e.prototype.updateCdkConnectedOverlayStatus=function(){this.triggerWidth=this.cdkOverlayOrigin.elementRef.nativeElement.getBoundingClientRect().width},e.prototype.trackValue=function(e,n){return n.key},e.decorators=[{type:l.Component,args:[{selector:"nz-tree-select",exportAs:"nzTreeSelect",animations:[a.slideMotion,a.zoomMotion],template:'<ng-template #inputTemplate>\n <input\n #inputElement\n autocomplete="off"\n class="ant-select-search__field"\n (compositionstart)="isComposing = true"\n (compositionend)="isComposing = false"\n (keydown)="onKeyDownInput($event)"\n [ngModel]="inputValue"\n (ngModelChange)="setInputValue($event)"\n [disabled]="nzDisabled">\n</ng-template>\n\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 <div class="ant-select-dropdown ant-select-tree-dropdown"\n [@slideMotion]="nzOpen ? dropDownPosition : \'void\'"\n [nzNoAnimation]="noAnimation?.nzNoAnimation"\n [class.ant-select-dropdown--single]="!nzMultiple"\n [class.ant-select-dropdown--multiple]="nzMultiple"\n [class.ant-select-dropdown-placement-bottomLeft]="dropDownPosition === \'bottom\'"\n [class.ant-select-dropdown-placement-topLeft]="dropDownPosition === \'top\'"\n [ngStyle]="nzDropdownStyle">\n <nz-tree\n #treeRef\n [hidden]="isNotFound"\n nzNoAnimation\n nzSelectMode\n [nzData]="nzNodes"\n [nzMultiple]="nzMultiple"\n [nzSearchValue]="inputValue"\n [nzCheckable]="nzCheckable"\n [nzAsyncData]="nzAsyncData"\n [nzShowExpand]="nzShowExpand"\n [nzShowLine]="nzShowLine"\n [nzExpandedIcon]="nzExpandedIcon"\n [nzExpandAll]="nzDefaultExpandAll"\n [nzExpandedKeys]="nzDefaultExpandedKeys"\n [nzCheckedKeys]="nzCheckable ? value : []"\n [nzSelectedKeys]="!nzCheckable ? value : []"\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 </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\n cdkOverlayOrigin\n class="ant-select-selection"\n [class.ant-select-selection--single]="!isMultiple"\n [class.ant-select-selection--multiple]="isMultiple"\n tabindex="0">\n <ng-container *ngIf="!isMultiple">\n <div class="ant-select-selection__rendered">\n <div\n *ngIf="nzPlaceHolder && selectedNodes.length === 0"\n [style.display]="placeHolderDisplay"\n class="ant-select-selection__placeholder">\n {{ nzPlaceHolder }}\n </div>\n\n <div\n *ngIf="selectedNodes.length === 1"\n class="ant-select-selection-selected-value"\n [attr.title]="nzDisplayWith(selectedNodes[0])"\n [ngStyle]="selectedValueDisplay">\n {{ nzDisplayWith(selectedNodes[0]) }}\n </div>\n\n <div\n *ngIf="nzShowSearch"\n [style.display]="searchDisplay"\n class="ant-select-search ant-select-search--inline">\n <div class="ant-select-search__field__wrap">\n <ng-template [ngTemplateOutlet]="inputTemplate"></ng-template>\n <span class="ant-select-search__field__mirror">{{inputValue}} </span>\n </div>\n </div>\n\n </div>\n </ng-container>\n <ng-container *ngIf="isMultiple">\n <ul class="ant-select-selection__rendered">\n <div\n *ngIf="nzPlaceHolder && selectedNodes.length === 0"\n [style.display]="placeHolderDisplay"\n class="ant-select-selection__placeholder">\n {{ nzPlaceHolder }}\n </div>\n <ng-container *ngFor="let node of selectedNodes | slice: 0 : nzMaxTagCount; trackBy:trackValue">\n <li\n [@zoomMotion]\n [nzNoAnimation]="noAnimation?.nzNoAnimation"\n [attr.title]="nzDisplayWith(node)"\n [class.ant-select-selection__choice__disabled]="node.isDisabled"\n class="ant-select-selection__choice">\n <span *ngIf="!node.isDisabled" class="ant-select-selection__choice__remove"\n (mousedown)="$event.preventDefault()"\n (click)="removeSelected(node, true, $event)">\n <i nz-icon type="close" class="ant-select-remove-icon"></i>\n </span>\n <span class="ant-select-selection__choice__content">{{ nzDisplayWith(node) }}</span>\n </li>\n </ng-container>\n <li [@zoomMotion]\n *ngIf="selectedNodes.length > nzMaxTagCount"\n class="ant-select-selection__choice">\n <div class="ant-select-selection__choice__content">\n <ng-container *ngIf="nzMaxTagPlaceholder">\n <ng-template\n [ngTemplateOutlet]="nzMaxTagPlaceholder"\n [ngTemplateOutletContext]="{ $implicit: selectedNodes | slice: nzMaxTagCount}">\n </ng-template>\n </ng-container>\n <ng-container *ngIf="!nzMaxTagPlaceholder">\n + {{ selectedNodes.length - nzMaxTagCount }} ...\n </ng-container>\n </div>\n </li>\n <li class="ant-select-search ant-select-search--inline">\n <ng-template [ngTemplateOutlet]="inputTemplate"></ng-template>\n </li>\n </ul>\n </ng-container>\n <span *ngIf="nzAllowClear" class="ant-select-selection__clear"\n (mousedown)="$event.preventDefault()"\n (click)="onClearSelection($event)">\n <i nz-icon type="close-circle" class="ant-select-clear-icon" theme="fill"></i>\n </span>\n <span *ngIf="!isMultiple" class="ant-select-arrow">\n <i nz-icon type="down" class="ant-select-arrow-icon"></i>\n </span>\n</div>',providers:[v,{provide:a.NzTreeHigherOrderServiceToken,useFactory:m,deps:[[new l.Self,l.Injector]]},{provide:r.NG_VALUE_ACCESSOR,useExisting:l.forwardRef(function(){return e}),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-allow-clear]":"nzAllowClear","[class.ant-select-open]":"nzOpen","(click)":"trigger()"},styles:["\n .ant-select-dropdown {\n top: 100%;\n left: 0;\n position: relative;\n width: 100%;\n margin-top: 4px;\n margin-bottom: 4px;\n overflow: auto;\n }\n "]}]}],e.ctorParameters=function(){return[{type:l.Renderer2},{type:l.ChangeDetectorRef},{type:v},{type:l.ElementRef},{type:a.NzNoAnimationDirective,decorators:[{type:l.Host},{type:l.Optional}]}]},e.propDecorators={nzAllowClear:[{type:l.Input}],nzShowExpand:[{type:l.Input}],nzShowLine:[{type:l.Input}],nzExpandedIcon:[{type:l.Input}],nzDropdownMatchSelectWidth:[{type:l.Input}],nzCheckable:[{type:l.Input}],nzShowSearch:[{type:l.Input}],nzDisabled:[{type:l.Input}],nzAsyncData:[{type:l.Input}],nzMultiple:[{type:l.Input}],nzDefaultExpandAll:[{type:l.Input}],nzNotFoundContent:[{type:l.Input}],nzNodes:[{type:l.Input}],nzOpen:[{type:l.Input}],nzSize:[{type:l.Input}],nzPlaceHolder:[{type:l.Input}],nzDropdownStyle:[{type:l.Input}],nzDefaultExpandedKeys:[{type:l.Input}],nzDisplayWith:[{type:l.Input}],nzMaxTagCount:[{type:l.Input}],nzMaxTagPlaceholder:[{type:l.Input}],nzOpenChange:[{type:l.Output}],nzCleared:[{type:l.Output}],nzRemoved:[{type:l.Output}],nzExpandChange:[{type:l.Output}],nzTreeClick:[{type:l.Output}],nzTreeCheckBoxChange:[{type:l.Output}],inputElement:[{type:l.ViewChild,args:["inputElement"]}],treeRef:[{type:l.ViewChild,args:["treeRef"]}],cdkOverlayOrigin:[{type:l.ViewChild,args:[t.CdkOverlayOrigin]}],cdkConnectedOverlay:[{type:l.ViewChild,args:[t.CdkConnectedOverlay]}]},z([a.InputBoolean(),y("design:type",Object)],e.prototype,"nzAllowClear",void 0),z([a.InputBoolean(),y("design:type",Object)],e.prototype,"nzShowExpand",void 0),z([a.InputBoolean(),y("design:type",Object)],e.prototype,"nzShowLine",void 0),z([a.InputBoolean(),y("design:type",Object)],e.prototype,"nzDropdownMatchSelectWidth",void 0),z([a.InputBoolean(),y("design:type",Object)],e.prototype,"nzCheckable",void 0),z([a.InputBoolean(),y("design:type",Object)],e.prototype,"nzShowSearch",void 0),z([a.InputBoolean(),y("design:type",Object)],e.prototype,"nzDisabled",void 0),z([a.InputBoolean(),y("design:type",Object)],e.prototype,"nzAsyncData",void 0),z([a.InputBoolean(),y("design:type",Object)],e.prototype,"nzMultiple",void 0),z([a.InputBoolean(),y("design:type",Object)],e.prototype,"nzDefaultExpandAll",void 0),e}(),S=function(){function e(){}return e.decorators=[{type:l.NgModule,args:[{imports:[s.CommonModule,t.OverlayModule,r.FormsModule,d.NzTreeModule,p.NzIconModule,c.NzEmptyModule,a.NzOverlayModule,a.NzNoAnimationModule],declarations:[C],exports:[C]}]}],e}();e.higherOrderServiceFactory=m,e.NzTreeSelectComponent=C,e.NzTreeSelectModule=S,e.NzTreeSelectService=v,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=ng-zorro-antd-tree-select.umd.min.js.map