UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

16 lines (14 loc) 46.9 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("@angular/forms"),require("ng-devui/checkbox"),require("ng-devui/loading"),require("lodash-es"),require("ng-devui/utils"),require("ng-devui/i18n"),require("ng-devui/popover")):"function"==typeof define&&define.amd?define("ng-devui/tree",["exports","@angular/common","@angular/core","@angular/forms","ng-devui/checkbox","ng-devui/loading","lodash-es","ng-devui/utils","ng-devui/i18n","ng-devui/popover"],t):t(((e=e||self)["ng-devui"]=e["ng-devui"]||{},e["ng-devui"].tree={}),e.ng.common,e.ng.core,e.ng.forms,e["ng-devui"].checkbox,e["ng-devui"].loading,e.lodashEs,e["ng-devui"].utils,e["ng-devui"].i18n,e["ng-devui"].popover)}(this,(function(e,t,n,r,o,d,i,a,s,l){"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(){return(c=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function p(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function u(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,d=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=d.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=d.return)&&n.call(d)}finally{if(o)throw o.error}}return i}var h=function(e,t,n){this.id=e,this.parentId=t,this.data=n};var v=function(){function e(){var e=this;this._checked=new Set,this._treeRoot=[],this.mapTreeItems=function(t){var n=t.treeItems,r=t.parentId,o=t.treeNodeChildrenKey,d=void 0===o?"items":o,a=t.treeNodeIdKey,s=void 0===a?"id":a,l=t.checkboxDisabledKey,c=void 0===l?"disabled":l,p=t.treeNodeTitleKey,u=void 0===p?"title":p;return i.forEach(n,(function(t){var n=e.addNode({id:t[s],parentId:r,title:t[u],isOpen:!!t.open,data:t.data||{},originItem:t,isParent:!!t.isParent||!!(t[d]&&t[d].length>0),loading:!!t.loading,isMatch:!!t.isMatch,isHide:!!t.isHide,isChecked:!!t.isChecked,halfChecked:!!t.halfChecked,isActive:!!t.isActive,disabled:!!t[c],disableAdd:!!t.disableAdd,disableEdit:!!t.disableEdit,disableDelete:!!t.disableDelete,children:[]});t.isChecked&&e._checked.add(n),e.mapTreeItems({treeItems:t[d]||[],parentId:n.id,treeNodeChildrenKey:d,treeNodeIdKey:s,checkboxDisabledKey:c,treeNodeTitleKey:u})})),e},this.idx=0,this.nodes={}}return e.create=function(){return new e},e.fromTree=function(t){var n=t.treeItems,r=t.treeNodeChildrenKey,o=void 0===r?"items":r,d=t.treeNodeIdKey,i=void 0===d?"id":d,a=t.checkboxDisabledKey,s=void 0===a?"disabled":a,l=t.treeNodeTitleKey,c=void 0===l?"title":l,p=e.create();return p.mapTreeItems({treeItems:n,parentId:void 0,treeNodeChildrenKey:o,treeNodeIdKey:i,checkboxDisabledKey:s,treeNodeTitleKey:c}),p},e.prototype.addNode=function(e){var t,n=e.id,r=e.parentId,o=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}(e,["id","parentId"]);i.isUndefined(n)&&(this.idx++,n=this.idx);var d=new h(n,r,o);if(this.nodes.hasOwnProperty(d.id))throw new Error("Duplicated id: "+d.id+" detected, please specify unique ids in the tree.");return this.nodes=c({},this.nodes,((t={})[d.id]=d,t)),this.addChildNode(this.nodes[r],d),d},e.prototype.editNodeTitle=function(e){this.nodes[e].data.editable=!0},e.prototype.deleteNodeById=function(e){var t=this,n=this.nodes[e],r=this.nodes[n.parentId];this.removeChildNode(r,n);var o=function(n){var r=t.getChildrenById(n);t.nodes=i.omitBy(t.nodes,(function(t){return t.id===e})),i.forEach(r,(function(e){o(e.id)}))};return o(e),!r||r.data.children&&r.data.children.length||(r.data.isParent=!1),this},e.prototype.toggleNodeById=function(e){return this.nodes[e].data.isOpen=!this.nodes[e].data.isOpen,this},e.prototype.openNodesById=function(e){return this.nodes[e].data.isOpen=!0,void 0!==this.nodes[e].parentId&&this.openNodesById(this.nodes[e].parentId),this},e.prototype.closeNodesById=function(e,t){var n=this;return void 0===t&&(t=!1),this.nodes[e].data.isOpen=!1,t&&this.nodes[e]&&this.nodes[e].data.children&&this.nodes[e].data.children.forEach((function(e){n.closeNodesById(e.id)})),this},e.prototype.disabledNodesById=function(e){var t=this;this.nodes[e].data.disabled=!0;var n=this.nodes[e].parentId;this._disabledParentNodes(n);var r=function(e){var n=t.getChildrenById(e);n.length>0&&n.forEach((function(e){t.nodes[e.id].data.disabled=!0,r(e.id)}))};return r(e),this},e.prototype._disabledParentNodes=function(e){var t=this.getChildrenById(e);if(!(t.length<1)){var n=i.reduce(t,(function(e,t){return e&&t.data.disabled}),!0);this.nodes[e]&&(this.nodes[e].data.disabled=n)}},e.prototype.checkNodesById=function(e,t){return this.nodes[e].data.halfChecked=!1,this.nodes[e].data.isChecked=t,this.checkParentNodes(this.nodes[e]),this.checkChildNodes(this.nodes[e],t),this.maintainCheckedNodeList(this.nodes[e],t),this.getCheckedNodes()},e.prototype.checkParentNodes=function(e){var t=e.parentId,n=this.nodes[t];if(n){var r=this.getChildrenById(t);r.every((function(e){return e.data.isChecked&&!e.data.halfChecked}))?(n.data.isChecked=!0,n.data.halfChecked=!1):r.some((function(e){return e.data.halfChecked||e.data.isChecked}))?(n.data.isChecked=!0,n.data.halfChecked=!0):(n.data.isChecked=!1,n.data.halfChecked=!1),this.maintainCheckedNodeList(n,n.data.isChecked),this.checkParentNodes(n)}},e.prototype.checkChildNodes=function(e,t){var n=this,r=e.id,o=this.getChildrenById(r);if(o.length>0){o.forEach((function(e){var r=e.id,o=n.nodes[r].data;o.disabled||(o.isChecked=t,o.halfChecked=!1,n.maintainCheckedNodeList(e,t)),n.checkChildNodes(e,t)}));var d=o.filter((function(e){return e.data.isChecked})).length,i=o.filter((function(e){var t=e.data;return t.isChecked||t.halfChecked})).length;e.data.halfChecked=i>0&&o.length>d}},e.prototype.getCheckedNodes=function(){return Array.from(this._checked)},e.prototype.getDisabledNodes=function(){var e=i.pickBy(this.nodes,(function(e){return!0===e.data.disabled}));return i.values(e)},e.prototype.activeNodeById=function(e){this.deactivateAllNodes(),this.nodes[e].data.isActive=!this.nodes[e].data.isActive},e.prototype.getChildrenById=function(e){return this.nodes[e]?this.nodes[e].data.children||[]:void 0===e?this._treeRoot:[]},e.prototype.toTree=function(){var e=this,t=function(n){return i.map(n,(function(n){return c({},n,{children:t(e.getChildrenById(n.id))})}))};return t(this.getChildrenById(void 0))},e.prototype.startLoading=function(e){this.nodes[e].data.loading=!0},e.prototype.endLoading=function(e){this.nodes[e].data.loading=!1},e.prototype.isMatchNode=function(e,t){var n=i.trim(e);this.resetSearchResults(),this.dfs(n.toLowerCase(),this._treeRoot,t)},e.prototype.getNodeById=function(e){return this.nodes[e].data},e.prototype.hideNodeById=function(e,t){return this.nodes[e].data.isHide=t,this},e.prototype.maintainCheckedNodeList=function(e,t){t&&!e.data.halfChecked?this._checked.add(e):this._checked.delete(e)},e.prototype.dfs=function(e,t,n){var r=this;if(!t)return!1;if(!e)return!1;if(Array.isArray(t))return t.map((function(t){return r.dfs(e,t,n)}));var o=t,d=this.getChildrenById(o.id),i=o.data.title.toLowerCase().includes(e);i&&(o.data.isMatch=!0);var a=this.dfs(e,d,n&&!i).some((function(e){return!!e}));return i||a?(d.length>0&&this.openNodesById(o.id),!0):(o.data.isHide=n,!1)},e.prototype.addChildNode=function(e,t){e?Array.isArray(e.data.children)?e.data.children.push(t):e.data.children=[t]:this._treeRoot.push(t)},e.prototype.removeChildNode=function(e,t){e?e.data.children=e.data.children.filter((function(e){return e.id!==t.id})):this._treeRoot=this._treeRoot.filter((function(e){return e.id!==t.id}))},e.prototype.resetSearchResults=function(){var e=this;Object.keys(this.nodes).forEach((function(t){var n=e.nodes[t];n.data.isMatch=!1,n.data.isHide=!1}))},e.prototype.searchTree=function(e,t){return void 0===t&&(t=!1),e=i.trim(e),this.resetSearchResults(),this.dfs(e.toLowerCase(),this._treeRoot,t)},Object.defineProperty(e.prototype,"treeRoot",{get:function(){return this._treeRoot},enumerable:!0,configurable:!0}),e.prototype.deactivateAllNodes=function(){var e,t;try{for(var n=p(Object.keys(this.nodes)),r=n.next();!r.done;r=n.next()){var o=r.value;this.nodes[o].data.isActive=!1}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}},e}();var g=function(){function e(){}return e.creatMaskElement=function(){var e=document.createElement("span");return e.classList.add("devui-tree-mask"),a.TreeUtils.addElStyles(e,{display:"none",position:"absolute",top:"0",right:"0","z-index":"-1"}),e},e.addMask=function(e,t,n){if(event.stopPropagation(),n){var r=e.clientHeight;t.style.width=n+"px",t.style.height=r+"px",t.style.display="block",e.appendChild(t)}},e.removeMask=function(e,t){t.style.display="none",e.removeChild(t)},e.calcWidth=function(e,t){var n;if(e.clientWidth)n=e.clientWidth;else if(e.length){var r=e._results;n=t>=0?r[t].nativeElement.clientWidth:Math.max.apply(Math,function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(u(arguments[t]));return e}(r.map((function(e){return e.nativeElement.clientWidth}))))}return n},e}(),f=function(){function e(e){var t=this;this.i18n=e,this.treeNodeTitleKey="title",this.checkboxDisabledKey="disabled",this.nodeSelected=new n.EventEmitter,this.nodeDblClicked=new n.EventEmitter,this.nodeToggled=new n.EventEmitter,this.i18nCommonText=this.i18n.getI18nText().common,this.i18nSubscription=this.i18n.langChange().subscribe((function(e){t.i18nCommonText=e.common}))}return e.prototype.ngOnInit=function(){this.treeFactory=v.fromTree({treeItems:this.tree,treeNodeChildrenKey:this.treeNodeChildrenKey,treeNodeIdKey:this.treeNodeIdKey,treeNodeTitleKey:this.treeNodeTitleKey,checkboxDisabledKey:this.checkboxDisabledKey})},e.prototype.ngOnChanges=function(e){e&&e.tree&&(this.treeFactory=v.fromTree({treeItems:this.tree,treeNodeChildrenKey:this.treeNodeChildrenKey,treeNodeIdKey:this.treeNodeIdKey,treeNodeTitleKey:this.treeNodeTitleKey,checkboxDisabledKey:this.checkboxDisabledKey}))},e.prototype.ngAfterViewInit=function(){this.elementAsMask=g.creatMaskElement()},e.prototype.addBackGround=function(e){e.stopPropagation(),g.addMask(e.target,this.elementAsMask,g.calcWidth(this.treeNodeContent,0))},e.prototype.removeBackGround=function(e){e.stopPropagation(),g.removeMask(e.target,this.elementAsMask)},e.prototype.selectNode=function(e,t){this.nodeSelected.emit(t),this.treeFactory.activeNodeById(t.id)},e.prototype.toggleNode=function(e,t){this.treeFactory.toggleNodeById(t.id),this.nodeToggled.emit(t)},e.prototype.appendTreeItems=function(e,t){if(!this.treeFactory.nodes[t])throw new Error("parent node does not exist.");this.treeFactory.mapTreeItems({treeItems:e,parentId:t,treeNodeChildrenKey:this.treeNodeChildrenKey,treeNodeIdKey:this.treeNodeIdKey,treeNodeTitleKey:this.treeNodeTitleKey,checkboxDisabledKey:this.checkboxDisabledKey})},e.prototype.nodeDblClick=function(e,t){this.nodeDblClicked.emit(t)},e.prototype.ngOnDestroy=function(){this.i18nSubscription&&this.i18nSubscription.unsubscribe()},e.decorators=[{type:n.Component,args:[{selector:"d-tree",template:'<d-tree-nodes [treeList]="treeFactory.treeRoot" [treeNodesRef]="treeNodesRef ? treeNodesRef : default" [treeFactory]="treeFactory">\r\n</d-tree-nodes>\r\n\r\n<ng-template #default let-treeNode="treeNode" let-treeFactory="treeFactory">\r\n <div class="devui-tree-node" #treeNodeContent>\r\n <div\r\n class="devui-tree-node__content"\r\n [class.devui-tree-node--parent]="(treeNode.data.children || []).length > 0"\r\n (mouseenter)="addBackGround($event)"\r\n (mouseleave)="removeBackGround($event)"\r\n >\r\n <div class="devui-tree-node__content--value-wrapper" [class.isMatch]="treeNode.data.isMatch">\r\n <span\r\n (click)="toggleNode($event, treeNode)"\r\n *ngIf="(treeNode.data.children || []).length > 0 || treeNode.data.isParent"\r\n class="devui-tree-node__folder"\r\n >\r\n <span *ngIf="iconParentClose && !treeNode.data.isOpen" [innerHTML]="iconParentClose"></span>\r\n <span *ngIf="iconParentOpen && treeNode.data.isOpen" [innerHTML]="iconParentOpen"></span>\r\n <span *ngIf="!iconParentClose && !treeNode.data.isOpen">\r\n <svg\r\n class="svg-icon"\r\n xmlns="http://www.w3.org/2000/svg"\r\n xmlns:xlink="http://www.w3.org/1999/xlink"\r\n width="16px"\r\n height="16px"\r\n viewBox="0 0 16 16"\r\n version="1.1"\r\n >\r\n <g id="图标" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\r\n <g id="fold">\r\n <rect id="Rectangle-175" x="0" y="0" width="16" height="16" />\r\n <path\r\n d="M14,6 L14,5 L7.58578644,5 L5.58578644,3 L2,3 L2,6 L14,6 Z M14,7 L2,7 L2,13 L14,13 L14,7 Z M1,2 L6,2 L8,4 L15,4 L15,14 L1,14 L1,2 Z"\r\n id="形状"\r\n fill-rule="nonzero"\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n <span *ngIf="!iconParentOpen && treeNode.data.isOpen">\r\n <svg\r\n class="svg-icon"\r\n xmlns="http://www.w3.org/2000/svg"\r\n xmlns:xlink="http://www.w3.org/1999/xlink"\r\n width="16px"\r\n height="16px"\r\n viewBox="0 0 16 16"\r\n version="1.1"\r\n >\r\n <g id="图标" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\r\n <g id="fold-copy-3">\r\n <rect id="Rectangle-175" x="0" y="0" width="16" height="16" />\r\n <path\r\n d="M14,5 L14,4 L7.58578644,4 L5.58578644,2 L2,2 L2,5 L1,5 L1,1 L6,1 L8,3 L15,3 L15,5 L14,5 Z M1.28077641,7 L2.78077641,13 L13.2192236,13 L14.7192236,7 L1.28077641,7 Z M0,6 L16,6 L14,14 L2,14 L0,6 Z"\r\n id="形状"\r\n fill-rule="nonzero"\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n </span>\r\n <span class="devui-tree-node__leaf" *ngIf="(treeNode.data.children || []).length === 0 && !treeNode.data.isParent">\r\n <span *ngIf="!iconLeaf">\r\n <svg\r\n class="svg-icon"\r\n xmlns="http://www.w3.org/2000/svg"\r\n xmlns:xlink="http://www.w3.org/1999/xlink"\r\n width="16px"\r\n height="16px"\r\n viewBox="0 0 16 16"\r\n version="1.1"\r\n >\r\n <g id="图标" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\r\n <g id="文件">\r\n <rect id="Rectangle-175" x="0" y="0" width="16" height="16" />\r\n <path\r\n d="M13,6 L9,6 L9,2 L3,2 L3,14 L13,14 L13,6 Z M12.5857864,5 L10,2.41421356 L10,5 L12.5857864,5 Z M2,1 L10,1 L14,5 L14,15 L2,15 L2,1 Z"\r\n id="形状"\r\n fill-rule="nonzero"\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n <span *ngIf="iconLeaf" [innerHTML]="iconLeaf"></span>\r\n </span>\r\n <span\r\n (click)="selectNode($event, treeNode)"\r\n (dblclick)="nodeDblClick($event, treeNode)"\r\n class="devui-tree-node__title"\r\n [class.active]="treeNode.data.isActive"\r\n title="{{ treeNode.data.title }}"\r\n >{{ treeNode.data.title }}</span\r\n >\r\n <span dLoading [showLoading]="treeNode.data.loading" [loadingTemplateRef]="customizedLoadingRef"> </span>\r\n </div>\r\n </div>\r\n <div class="devui-tree-node__children" *ngIf="treeNode.data.isOpen">\r\n <d-tree-nodes [treeList]="treeNode.data.children || []" [treeNodesRef]="default" [treeFactory]="treeFactory"> </d-tree-nodes>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #customizedLoadingRef>\r\n <span class="devui-loading-children">{{ i18nCommonText?.loading }}</span>\r\n</ng-template>\r\n',styles:[":host{display:block}.devui-tree-node{color:#575d6c;line-height:1;white-space:nowrap;position:relative}.devui-tree-node .devui-tree-node__content{display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;font-size:14px}.devui-tree-node .devui-tree-node__content--value-wrapper{display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;padding:.1em;margin:.3em 0}.devui-tree-node .devui-tree-node__content--value-wrapper.isMatch{color:#5e7ce0;border:1px solid #dfe1e6;border-radius:.2em}.devui-tree-node .devui-tree-node__children{padding-left:.8em}.devui-tree-node .devui-tree-node__children:first-child{border-left-color:transparent}.devui-tree-node .devui-tree-node__children .devui-tree-node{margin-left:1.2em;content:'';position:relative}.devui-tree-node .devui-tree-node__children .devui-tree-node:last-child{border-left-color:transparent}.devui-tree-node .devui-tree-node__title{margin-left:.4em;padding:.1em;display:inline-block;border:1px dashed transparent;border-radius:2px;cursor:pointer}.devui-tree-node .devui-tree-node__title.active{background-color:#f2f5fc;color:#5e7ce0;text-decoration:none;border-color:transparent}.devui-tree-node .devui-tree-node__edit{margin-left:.4em;padding:.1em}.devui-tree-node .devui-tree-node__edit>.devui-input-sm{height:26px}.devui-tree-node .devui-tree-node__edit>.devui-input-sm.error,.devui-tree-node .devui-tree-node__edit>.devui-input-sm.error:focus,.devui-tree-node .devui-tree-node__edit>.devui-input-sm.error:hover{border-color:#f66f6a}.devui-tree-node .devui-tree-node__leaf{cursor:default}.devui-tree-node .devui-tree-node__leaf .devui-tree-node__leaf--default{color:#f2a71f}.devui-tree-node .devui-tree-node__folder{display:inline-block;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.devui-tree-node .devui-tree-node__folder .devui-tree-node__folder--default{color:#f2b806}.devui-tree-node .devui-loading-children{display:inline-block;vertical-align:middle;margin-left:.5em;margin-top:.15em;color:#5e7ce0;font-style:italic;font-size:1em;-webkit-animation-name:devui-loading-children;animation-name:devui-loading-children;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-webkit-keyframes devui-loading-children{0%,12.5%{color:#627fe1}25%{color:#617fe1}37.5%{color:#617ee1}50%,62.5%{color:#607ee0}75%{color:#5f7de0}100%,87.5%{color:#5e7ce0}}@keyframes devui-loading-children{0%,12.5%{color:#627fe1}25%{color:#617fe1}37.5%{color:#617ee1}50%,62.5%{color:#607ee0}75%{color:#5f7de0}100%,87.5%{color:#5e7ce0}}.devui-tree-node svg.svg-icon>g>g>path{fill:#575d6c}::ng-deep .devui-tree-mask{background:#f2f5fc}"]}]}],e.ctorParameters=function(){return[{type:s.I18nService}]},e.propDecorators={tree:[{type:n.Input}],treeNodesRef:[{type:n.Input}],treeNodeIdKey:[{type:n.Input}],treeNodeChildrenKey:[{type:n.Input}],iconParentOpen:[{type:n.Input}],iconParentClose:[{type:n.Input}],iconLeaf:[{type:n.Input}],treeNodeTitleKey:[{type:n.Input}],checkboxDisabledKey:[{type:n.Input}],nodeSelected:[{type:n.Output}],nodeDblClicked:[{type:n.Output}],nodeToggled:[{type:n.Output}],treeNodeContent:[{type:n.ViewChildren,args:["treeNodeContent"]}]},e}();var y=function(){function e(e){var t=this;this.i18n=e,this.checkable=!0,this.deletable=!1,this.addable=!1,this.editable=!1,this.draggable=!1,this.checkboxInput={},this.canActivateNode=!0,this.canActivateParentNode=!0,this.treeNodeTitleKey="title",this.nodeSelected=new n.EventEmitter,this.nodeDblClicked=new n.EventEmitter,this.nodeDeleted=new n.EventEmitter,this.nodeToggled=new n.EventEmitter,this.nodeChecked=new n.EventEmitter,this.nodeEdited=new n.EventEmitter,this.editValueChange=new n.EventEmitter,this.nodeOnDrop=new n.EventEmitter,this.addingNode=!1,this.treeNodeDragoverResponder={node:null,timeout:null},this.deleteNodesProxy=function(e,n){t.deleteNodes(e,n)},this.addChildNodeProxy=function(e,n,r){t.addChildNode(e,n,r)},this.editNodeProxy=function(e,n){t.editNode(e,n)},this.i18nCommonText=this.i18n.getI18nText().common,this.i18nSubscription=this.i18n.langChange().subscribe((function(e){t.i18nCommonText=e.common}))}return e.prototype.ngAfterViewInit=function(){this.elementAsMask=g.creatMaskElement()},e.prototype.addBackGround=function(e){e.stopPropagation(),g.addMask(e.target,this.elementAsMask,g.calcWidth(this.treeNodeContent))},e.prototype.removeBackGround=function(e){e.stopPropagation(),g.removeMask(e.target,this.elementAsMask)},e.prototype.onDragstart=function(e,t){var n={type:"operable-tree-node",nodeId:t.id,parentId:t.parentId,nodeTitle:t.data.title,isParent:t.data.isParent};e.dataTransfer.setData("Text",JSON.stringify(n))},e.prototype.onDragover=function(e,t,n){var r=this;t&&(e.preventDefault(),e.dataTransfer.dropEffect="move",(!this.treeNodeDragoverResponder.node||this.treeNodeDragoverResponder.node&&this.treeNodeDragoverResponder.node.id!==n.id)&&(clearTimeout(this.treeNodeDragoverResponder.timeout),this.treeNodeDragoverResponder.node=n,this.treeNodeDragoverResponder.timeout=setTimeout((function(){r.treeFactory.openNodesById(n.id),r.nodeToggled.emit(n)}),1e3)))},e.prototype.onDragleave=function(e,t){this.treeNodeDragoverResponder.node&&this.treeNodeDragoverResponder.node.id===t.id&&(this.treeNodeDragoverResponder.node=null,clearTimeout(this.treeNodeDragoverResponder.timeout))},e.prototype.onDrop=function(e,t){var n=this;if(this.draggable){e.preventDefault();var r=e.dataTransfer.getData("Text");if(r)try{var o=JSON.parse(r);if("object"==typeof o&&"operable-tree-node"===o.type){var d=o.nodeId,i=o.parentId;if(d===t.id||d===t.parentId||i===t.id||void 0===i)return;var a=Promise.resolve(!0);this.beforeNodeDrop&&(a=this.beforeNodeDrop(d,t.id)),a.then((function(){var e=n.treeFactory.nodes[d],r=n.treeFactory.nodes[e.parentId];e.parentId=t.id,n.treeFactory.addChildNode(t,e),r.data.children=r.data.children.filter((function(e){return e.id!==d})),r.data.children&&r.data.children.length||(r.data.isParent=!1),n.nodeToggled.emit(t),n.treeFactory.openNodesById(t.id),t.data.isParent=!0}))}}catch(e){}finally{this.nodeOnDrop.observers.length>0&&this.nodeOnDrop.emit({event:e,treeNode:t})}}},e.prototype.selectNode=function(e,t){t.data.disabled||(this.canActivateNode?(this.canActivateParentNode||!this.canActivateParentNode&&!t.data.isParent?this.treeFactory.activeNodeById(t.id):this.toggleNode(e,t),this.nodeSelected.emit(t)):this.checkNode(e,t))},e.prototype.toggleNode=function(e,t){this.nodeToggled.emit(t),this.treeFactory.toggleNodeById(t.id)},e.prototype.deleteNodes=function(e,t){var n=this,r=Promise.resolve(!0);this.beforeDeleteNode&&(r=this.beforeDeleteNode(t)),r.then((function(){n.treeFactory.deleteNodeById(t.id),n.nodeDeleted.emit(t)}))},e.prototype.addChildNode=function(e,t,n){var r=this,o=Promise.resolve(n||!0);this.beforeAddNode&&(o=this.beforeAddNode(t)),o.then((function(e){var n=r.treeFactory.addNode({parentId:t.id,title:e.title?e.title:"新增节点",isParent:e.isParent,id:e.id?e.id:void 0,data:e.data});return r.treeFactory.editNodeTitle(n.id),r.addingNode=!0,t.data.isOpen=!0,t.data.isParent=!0,t}))},e.prototype.editNode=function(e,t){var n=this,r=Promise.resolve(!0);this.beforeEditNode&&(r=this.beforeEditNode(t)),r.then((function(){n.treeFactory.editNodeTitle(t.id)}))},e.prototype.checkNodeById=function(e,t){var n=this.treeFactory.checkNodesById(t,e);this.nodeChecked.emit(n)},e.prototype.onBlurEdit=function(e){if(!e.data.errTips)return e.data.editable=!1,this.postEditNode(e)},e.prototype.onInputChange=function(e,t){this.editValueChange.emit({value:e,callback:function(e){e&&e.errTips?t.data.errTips=e.errTips:t.data.errTips&&delete t.data.errTips}})},e.prototype.treeNodeHover=function(e,t){e.data.isHover="enter"===t},e.prototype.isSelectedNode=function(e){return this.checkable?e.isChecked:e.isActive},Object.defineProperty(e.prototype,"nodes",{get:function(){var e=this;return this.operableTree?Object.keys(this.treeFactory.nodes).map((function(t){return e.treeFactory.nodes[t]})):[]},enumerable:!0,configurable:!0}),e.prototype.postEditNode=function(e){var t=this;if(!0===this.addingNode){if(this.addingNode=!1,"function"==typeof this.postAddNode){var n=e.id;return this.postAddNode(e).then((function(r){return e.id=r.id?r.id:n,delete t.treeFactory.nodes[n],r.hasOwnProperty("data")&&r.data&&(e.hasOwnProperty("data")&&e.data.hasOwnProperty("data")?e.data.data=Object.assign({},e.data.data,r.data):e.data=Object.assign(e.data,{data:r.data})),t.treeFactory.nodes[e.id]=e,e})).catch((function(n,r){switch(void 0===r&&(r="cancel"),r){case"justify":var o=t.treeFactory.nodes[e.parentId],d=e.data.title;t.treeFactory.deleteNodeById(e.id),t.addChildNode(null,o,{title:d});break;case"cancel":default:t.treeFactory.deleteNodeById(e.id)}return Promise.reject(n)}))}}else this.nodeEdited.emit(e);return Promise.resolve(e)},e.prototype.appendTreeItems=function(e,t){if(!this.treeFactory.nodes[t])throw new Error("parent node does not exist.");this.treeFactory.mapTreeItems({treeItems:e,parentId:t,treeNodeChildrenKey:this.treeNodeChildrenKey,treeNodeIdKey:this.treeNodeIdKey,checkboxDisabledKey:this.checkboxDisabledKey,treeNodeTitleKey:this.treeNodeTitleKey})},Object.defineProperty(e.prototype,"treeFactory",{get:function(){return this.operableTree.treeFactory},enumerable:!0,configurable:!0}),e.prototype.checkNode=function(e,t){t.data.disabled||(t.data.isChecked=!t.data.isChecked,this.checkNodeById(t.data.isChecked,t.id))},e.prototype.nodeDblClick=function(e,t){this.nodeDblClicked.emit(t)},e.prototype.ngOnDestroy=function(){this.i18nSubscription&&this.i18nSubscription.unsubscribe()},e.decorators=[{type:n.Component,args:[{selector:"d-operable-tree",template:'<d-tree\r\n #operableTree\r\n [tree]="tree"\r\n [treeNodeIdKey]="treeNodeIdKey"\r\n [treeNodeChildrenKey]="treeNodeChildrenKey"\r\n [treeNodesRef]="operableTreeNodeRef"\r\n [iconParentOpen]="iconParentOpen"\r\n [iconParentClose]="iconParentClose"\r\n [iconLeaf]="iconLeaf"\r\n [treeNodeTitleKey]="treeNodeTitleKey"\r\n [checkboxDisabledKey]="checkboxDisabledKey"\r\n>\r\n</d-tree>\r\n\r\n<ng-template #operableTreeNodeRef let-treeNode="treeNode" let-treeFactory="treeFactory">\r\n <div\r\n class="devui-tree-node devui-operable-tree-node"\r\n [style.display]="treeNode.data.isHide ? \'none\' : \'\'"\r\n [ngClass]="{ selected: isSelectedNode(treeNode.data) }"\r\n #treeNodeContent\r\n >\r\n <div\r\n class="devui-tree-node__content"\r\n [class.devui-tree-node--parent]="(treeNode.data.children || []).length > 0"\r\n (mouseenter)="treeNodeHover(treeNode, \'enter\')"\r\n (mouseleave)="treeNodeHover(treeNode, \'leave\')"\r\n [draggable]="draggable && treeNode.parentId !== undefined"\r\n (dragstart)="onDragstart($event, treeNode)"\r\n (dragover)="onDragover($event, draggable, treeNode)"\r\n (dragleave)="onDragleave($event, treeNode)"\r\n (drop)="onDrop($event, treeNode)"\r\n (mouseenter)="addBackGround($event)"\r\n (mouseleave)="removeBackGround($event)"\r\n >\r\n <div class="devui-tree-node__content--value-wrapper" [class.isMatch]="treeNode.data.isMatch">\r\n <span\r\n (click)="toggleNode($event, treeNode)"\r\n *ngIf="(treeNode.data.children || []).length > 0 || treeNode.data.isParent"\r\n class="devui-tree-node__folder"\r\n >\r\n <span\r\n [ngStyle]="{\r\n display: iconParentClose && !treeNode.data.isOpen ? \'inline\' : \'none\'\r\n }"\r\n [innerHTML]="iconParentClose | safe: \'html\'"\r\n ></span>\r\n <span\r\n [ngStyle]="{\r\n display: iconParentOpen && treeNode.data.isOpen ? \'inline\' : \'none\'\r\n }"\r\n [innerHTML]="iconParentOpen | safe: \'html\'"\r\n ></span>\r\n <span\r\n [ngStyle]="{\r\n display: !iconParentOpen && !treeNode.data.isOpen ? \'inline\' : \'none\'\r\n }"\r\n >\r\n <svg\r\n class="svg-icon"\r\n xmlns="http://www.w3.org/2000/svg"\r\n xmlns:xlink="http://www.w3.org/1999/xlink"\r\n width="16px"\r\n height="16px"\r\n viewBox="0 0 16 16"\r\n version="1.1"\r\n >\r\n <g id="图标" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\r\n <g id="fold">\r\n <rect id="Rectangle-175" x="0" y="0" width="16" height="16" />\r\n <path\r\n d="M14,6 L14,5 L7.58578644,5 L5.58578644,3 L2,3 L2,6 L14,6 Z M14,7 L2,7 L2,13 L14,13 L14,7 Z M1,2 L6,2 L8,4 L15,4 L15,14 L1,14 L1,2 Z"\r\n id="形状"\r\n fill="#293040"\r\n fill-rule="nonzero"\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n <span\r\n [ngStyle]="{\r\n display: !iconParentOpen && treeNode.data.isOpen ? \'inline\' : \'none\'\r\n }"\r\n >\r\n <svg\r\n class="svg-icon"\r\n xmlns="http://www.w3.org/2000/svg"\r\n xmlns:xlink="http://www.w3.org/1999/xlink"\r\n width="16px"\r\n height="16px"\r\n viewBox="0 0 16 16"\r\n version="1.1"\r\n >\r\n <g id="图标" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\r\n <g id="fold-copy-3">\r\n <rect id="Rectangle-175" x="0" y="0" width="16" height="16" />\r\n <path\r\n d="M14,5 L14,4 L7.58578644,4 L5.58578644,2 L2,2 L2,5 L1,5 L1,1 L6,1 L8,3 L15,3 L15,5 L14,5 Z M1.28077641,7 L2.78077641,13 L13.2192236,13 L14.7192236,7 L1.28077641,7 Z M0,6 L16,6 L14,14 L2,14 L0,6 Z"\r\n id="形状"\r\n fill="#293040"\r\n fill-rule="nonzero"\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n </span>\r\n <span class="devui-tree-node__leaf" *ngIf="(treeNode.data.children || []).length === 0 && !treeNode.data.isParent">\r\n <span *ngIf="!iconLeaf">\r\n <svg\r\n class="svg-icon"\r\n xmlns="http://www.w3.org/2000/svg"\r\n xmlns:xlink="http://www.w3.org/1999/xlink"\r\n width="16px"\r\n height="16px"\r\n viewBox="0 0 16 16"\r\n version="1.1"\r\n >\r\n <g id="图标" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\r\n <g id="文件">\r\n <rect id="Rectangle-175" x="0" y="0" width="16" height="16" />\r\n <path\r\n d="M13,6 L9,6 L9,2 L3,2 L3,14 L13,14 L13,6 Z M12.5857864,5 L10,2.41421356 L10,5 L12.5857864,5 Z M2,1 L10,1 L14,5 L14,15 L2,15 L2,1 Z"\r\n id="形状"\r\n fill="#293040"\r\n fill-rule="nonzero"\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n <span *ngIf="iconLeaf" [innerHTML]="iconLeaf | safe: \'html\'"></span>\r\n </span>\r\n <ng-container *ngIf="iconTemplate && iconTemplatePosition === \'before-checkbox\'">\r\n <ng-template [ngTemplateOutlet]="iconTemplate" [ngTemplateOutletContext]="{ node: treeNode.data }"> </ng-template>\r\n </ng-container>\r\n <d-checkbox\r\n *ngIf="checkable"\r\n [(ngModel)]="treeNode.data.isChecked"\r\n (ngModelChange)="checkNodeById($event, treeNode.id)"\r\n [halfchecked]="treeNode.data.halfChecked"\r\n [color]="checkboxInput?.color"\r\n [cssClass]="\'devui-tree-node__checkbox\'"\r\n [disabled]="treeNode.data.disabled"\r\n >\r\n </d-checkbox>\r\n <ng-container *ngIf="iconTemplate && (!iconTemplatePosition || iconTemplatePosition === \'after-checkbox\')">\r\n <ng-template [ngTemplateOutlet]="iconTemplate" [ngTemplateOutletContext]="{ node: treeNode.data }"> </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf="nodeTemplate">\r\n <ng-template [ngTemplateOutlet]="nodeTemplate" [ngTemplateOutletContext]="{ node: treeNode.data }"> </ng-template>\r\n </ng-container>\r\n <span\r\n *ngIf="!nodeTemplate && !treeNode.data?.editable"\r\n (click)="selectNode($event, treeNode)"\r\n (dblclick)="nodeDblClick($event, treeNode)"\r\n class="devui-tree-node__title"\r\n [class.active]="treeNode.data.isActive"\r\n [class.disabled]="treeNode.data.disabled"\r\n title="{{ treeNode.data.title }}"\r\n >{{ treeNode.data.title }}</span\r\n >\r\n <span class="devui-tree-node__edit" *ngIf="!nodeTemplate && treeNode.data?.editable">\r\n <input\r\n [class.error]="!!treeNode.data.errTips"\r\n class="devui-form-control devui-input-sm"\r\n type="text"\r\n dTreeAutoFocus\r\n [(ngModel)]="treeNode.data.title"\r\n (blur)="onBlurEdit(treeNode)"\r\n (keyup.enter)="onBlurEdit(treeNode)"\r\n (input)="onInputChange($event.target.value, treeNode)"\r\n dPopover\r\n [content]="treeNode.data.errTips"\r\n [position]="\'top\'"\r\n [appendToBody]="true"\r\n [visible]="!!treeNode.data.errTips"\r\n [popType]="\'error\'"\r\n />\r\n </span>\r\n <ng-container *ngIf="statusTemplate">\r\n <ng-template [ngTemplateOutlet]="statusTemplate" [ngTemplateOutletContext]="{ node: treeNode }"> </ng-template>\r\n </ng-container>\r\n <span dLoading [showLoading]="treeNode.data.loading" [loadingTemplateRef]="customizedLoadingRef"> </span>\r\n <span\r\n class="devui-tree-icons"\r\n *ngIf="!treeNode.data.disableAdd && (treeNode.data.isActive || treeNode.data.isHover) && addable"\r\n (click)="addChildNode($event, treeNode)"\r\n >\r\n <svg\r\n width="12px"\r\n height="12px"\r\n viewBox="0 0 12 12"\r\n version="1.1"\r\n xmlns="http://www.w3.org/2000/svg"\r\n xmlns:xlink="http://www.w3.org/1999/xlink"\r\n >\r\n <g id="add-plus" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\r\n <g transform="translate(-531.000000, -168.000000)">\r\n <g transform="translate(529.000000, 166.000000)">\r\n <path d="M7,7 L7,2 L9,2 L9,7 L14,7 L14,9 L9,9 L9,14 L7,14 L7,9 L2,9 L2,7 L7,7 Z" id="add-path" fill="#293040"></path>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n <span\r\n class="devui-tree-icons"\r\n *ngIf="!treeNode.data.disableEdit && (treeNode.data.isActive || treeNode.data.isHover) && editable"\r\n (click)="editNode($event, treeNode)"\r\n >\r\n <svg\r\n width="12px"\r\n height="12px"\r\n viewBox="0 0 12 12"\r\n version="1.1"\r\n xmlns="http://www.w3.org/2000/svg"\r\n xmlns:xlink="http://www.w3.org/1999/xlink"\r\n >\r\n <g id="edit" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\r\n <g transform="translate(-652.000000, -1070.000000)">\r\n <g transform="translate(650.000000, 1068.000000)">\r\n <path\r\n d="M9.48528137,3.41421356 L10.8994949,2 L13.7279221,4.82842712 L12.3137085,6.24264069 L9.48528137,3.41421356 Z M5.24264069,13.3137085 L2.41421356,13.3137085 L2.41421356,10.4852814 L8.77817459,4.12132034 L11.6066017,6.94974747 L5.24264069,13.3137085 Z"\r\n id="edit-path"\r\n fill="#293040"\r\n ></path>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n <span\r\n class="devui-tree-icons"\r\n *ngIf="!treeNode.data.disableDelete && (treeNode.data.isActive || treeNode.data.isHover) && deletable"\r\n (click)="deleteNodes($event, treeNode)"\r\n >\r\n <svg\r\n width="12px"\r\n height="12px"\r\n viewBox="0 0 12 12"\r\n version="1.1"\r\n xmlns="http://www.w3.org/2000/svg"\r\n xmlns:xlink="http://www.w3.org/1999/xlink"\r\n >\r\n <g id="delete" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\r\n <g transform="translate(-1693.000000, -168.000000)" fill="#3C4458" fill-rule="nonzero" id="delete-path">\r\n <g transform="translate(1691.000000, 166.000000)">\r\n <polygon\r\n id="Mask"\r\n points="8 6.58578644 12.2426407 2.34314575 13.6568542 3.75735931 9.41421356 8 13.6568542 12.2426407 12.2426407 13.6568542 8 9.41421356 3.75735931 13.6568542 2.34314575 12.2426407 6.58578644 8 2.34314575 3.75735931 3.75735931 2.34314575"\r\n ></polygon>\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n <ng-container *ngIf="operatorTemplate && (treeNode.data.isActive || treeNode.data.isHover)">\r\n <ng-template\r\n [ngTemplateOutlet]="operatorTemplate"\r\n [ngTemplateOutletContext]="{$implicit: this, node: treeNode, addNode: addChildNodeProxy, editNode: editNodeProxy, deleteNode: deleteNodesProxy}"\r\n >\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class="devui-tree-node__children" *ngIf="treeNode.data.isOpen">\r\n <d-tree-nodes [treeList]="treeNode.data.children || []" [treeNodesRef]="operableTreeNodeRef" [treeFactory]="treeFactory">\r\n </d-tree-nodes>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #customizedLoadingRef>\r\n <span class="devui-loading-children">{{ i18nCommonText?.loading }}</span>\r\n</ng-template>\r\n',exportAs:"dOperableTreeComponent",styles:[".devui-tree-node{color:#575d6c;line-height:1;white-space:nowrap;position:relative}.devui-tree-node .devui-tree-node__content{display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;font-size:14px}.devui-tree-node .devui-tree-node__content--value-wrapper{display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;padding:.1em;margin:.3em 0}.devui-tree-node .devui-tree-node__content--value-wrapper.isMatch{color:#5e7ce0;border:1px solid #dfe1e6;border-radius:.2em}.devui-tree-node .devui-tree-node__children{padding-left:.8em}.devui-tree-node .devui-tree-node__children:first-child{border-left-color:transparent}.devui-tree-node .devui-tree-node__children .devui-tree-node{margin-left:1.2em;content:'';position:relative}.devui-tree-node .devui-tree-node__children .devui-tree-node:last-child{border-left-color:transparent}.devui-tree-node .devui-tree-node__title{margin-left:.4em;padding:.1em;display:inline-block;border:1px dashed transparent;border-radius:2px;cursor:pointer}.devui-tree-node .devui-tree-node__title.active{background-color:#f2f5fc;color:#5e7ce0;text-decoration:none;border-color:transparent}.devui-tree-node .devui-tree-node__edit{margin-left:.4em;padding:.1em}.devui-tree-node .devui-tree-node__edit>.devui-input-sm{height:26px}.devui-tree-node .devui-tree-node__edit>.devui-input-sm.error,.devui-tree-node .devui-tree-node__edit>.devui-input-sm.error:focus,.devui-tree-node .devui-tree-node__edit>.devui-input-sm.error:hover{border-color:#f66f6a}.devui-tree-node .devui-tree-node__leaf{cursor:default}.devui-tree-node .devui-tree-node__leaf .devui-tree-node__leaf--default{color:#f2a71f}.devui-tree-node .devui-tree-node__folder{display:inline-block;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.devui-tree-node .devui-tree-node__folder .devui-tree-node__folder--default{color:#f2b806}.devui-tree-node .devui-loading-children{display:inline-block;vertical-align:middle;margin-left:.5em;margin-top:.15em;color:#5e7ce0;font-style:italic;font-size:1em;-webkit-animation-name:devui-loading-children;animation-name:devui-loading-children;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-webkit-keyframes devui-loading-children{0%,12.5%{color:#627fe1}25%{color:#617fe1}37.5%{color:#617ee1}50%,62.5%{color:#607ee0}75%{color:#5f7de0}100%,87.5%{color:#5e7ce0}}@keyframes devui-loading-children{0%,12.5%{color:#627fe1}25%{color:#617fe1}37.5%{color:#617ee1}50%,62.5%{color:#607ee0}75%{color:#5f7de0}100%,87.5%{color:#5e7ce0}}.devui-tree-node svg.svg-icon>g>g>path{fill:#575d6c}::ng-deep .devui-tree-mask{background:#f2f5fc}:host{display:block}.disabled{opacity:.3;cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::ng-deep.devui-tree-node.devui-operable-tree-node .devui-tree-node__checkbox{margin-left:.5em;margin-top:-.2em}::ng-deep.devui-tree-node.devui-operable-tree-node .devui-tree-node__checkbox .devui-checkbox-material{width:16px;height:16px}::ng-deep.devui-tree-node.devui-operable-tree-node .devui-tree-icons{margin-left:.5em;cursor:pointer}::ng-deep.devui-tree-node.devui-operable-tree-node .devui-tree-icons svg #add-path{fill:#252b3a}::ng-deep.devui-tree-node.devui-operable-tree-node .devui-tree-icons svg #edit-path{fill:#252b3a}::ng-deep.devui-tree-node.devui-operable-tree-node .devui-tree-icons svg #delete-path{fill:#252b3a}::ng-deep.devui-tree-node.devui-operable-tree-node .devui-tree-icons:hover #add-path{fill:#344899}::ng-deep.devui-tree-node.devui-operable-tree-node .devui-tree-icons:hover #edit-path{fill:#344899}::ng-deep.devui-tree-node.devui-operable-tree-node .devui-tree-icons:hover #delete-path{fill:#344899}::ng-deep.devui-tree-node.devui-operable-tree-node svg.svg-icon>g>g>path{fill:#575d6c}.devui-form-control{outline:0}"]}]}],e.ctorParameters=function(){return[{type:s.I18nService}]},e.propDecorators={tree:[{type:n.Input}],treeNodeIdKey:[{type:n.Input}],treeNodeChildrenKey:[{type:n.Input}],checkboxDisabledKey:[{type:n.Input}],iconParentOpen:[{type:n.Input}],iconParentClose:[{type:n.Input}],iconLeaf:[{type:n.Input}],showLoading:[{type:n.Input}],checkable:[{type:n.Input}],deletable:[{type:n.Input}],addable:[{type:n.Input}],editable:[{type:n.Input}],draggable:[{type:n.Input}],checkboxInput:[{type:n.Input}],beforeAddNode:[{type:n.Input}],beforeDeleteNode:[{type:n.Input}],beforeNodeDrop:[{type:n.Input}],beforeEditNode:[{type:n.Input}],canActivateNode:[{type:n.Input}],canActivateParentNode:[{type:n.Input}],treeNodeTitleKey:[{type:n.Input}],postAddNode:[{type:n.Input}],iconTemplatePosition:[{type:n.Input}],nodeSelected:[{type:n.Output}],nodeDblClicked:[{type:n.Output}],nodeDeleted:[{type:n.Output}],nodeToggled:[{type:n.Output}],nodeChecked:[{type:n.Output}],nodeEdited:[{type:n.Output}],editValueChange:[{type:n.Output}],nodeOnDrop:[{type:n.Output}],operableTree:[{type:n.ViewChild,args:["operableTree",{static:!0}]}],iconTemplate:[{type:n.ContentChild,args:["iconTemplate",{static:!1}]}],nodeTemplate:[{type:n.ContentChild,args:["nodeTemplate",{static:!1}]}],operatorTemplate:[{type:n.ContentChild,args:["operatorTemplate",{static:!1}]}],statusTemplate:[{type:n.ContentChild,args:["statusTemplate",{static:!1}]}],treeNodeContent:[{type:n.ViewChildren,args:["treeNodeContent"]}]},e}();var m=function(){function e(){}return e.prototype.trackByFn=function(e,t){return e},e.decorators=[{type:n.Component,args:[{selector:"d-tree-nodes",template:'<ng-template\r\n *ngFor="let treeNode of treeList; trackBy: trackByFn"\r\n [ngTemplateOutlet]="treeNodesRef"\r\n [ngTemplateOutletContext]="{\r\n $implicit: this,\r\n treeNode: treeNode,\r\n treeFactory: treeFactory}"\r\n>\r\n</ng-template>\r\n',styles:[":host{display:block}"]}]}],e.propDecorators={treeList:[{type:n.Input}],treeNodesRef:[{type:n.Input}],treeFactory:[{type:n.Input}]},e}();var N=function(){function e(e){this.elementRef=e}return e.prototype.ngOnInit=function(){var e=this;this.elementRef.nativeElement.focus(),setTimeout((function(){e.elementRef.nativeElement.select()}))},e.decorators=[{type:n.Directive,args:[{selector:"[dTreeAutoFocus]"}]}],e.ctorParameters=function(){return[{type:n.ElementRef}]},e}();var b=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[t.CommonModule,r.FormsModule,d.LoadingModule,o.CheckBoxModule,l.PopoverModule,a.SafePipeModule],exports:[f,m,y],declarations:[f,m,y,N],providers:[]}]}],e}();e.AutofocusDirective=N,e.OperableTreeComponent=y,e.TreeComponent=f,e.TreeFactory=v,e.TreeModule=b,e.TreeNode=h,e.TreeNodesComponent=m,Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=ng-devui-tree.umd.min.js.map