primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 39.8 kB
JavaScript
this.primevue=this.primevue||{},this.primevue.treetable=function(e,t,l,o,n){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=i(l),s=i(n),a={name:"BodyCell",emits:["node-toggle","checkbox-toggle"],props:{node:{type:Object,default:null},column:{type:Object,default:null},level:{type:Number,default:0},indentation:{type:Number,default:1},leaf:{type:Boolean,default:!1},expanded:{type:Boolean,default:!1},selectionMode:{type:String,default:null},checked:{type:Boolean,default:!1},partialChecked:{type:Boolean,default:!1}},data:()=>({styleObject:{},checkboxFocused:!1}),mounted(){this.columnProp("frozen")&&this.updateStickyPosition()},updated(){this.columnProp("frozen")&&this.updateStickyPosition()},methods:{toggle(){this.$emit("node-toggle",this.node)},columnProp(e){return this.column.props?this.column.type.props[e].type===Boolean&&""===this.column.props[e]||this.column.props[e]:null},updateStickyPosition(){if(this.columnProp("frozen")){if("right"===this.columnProp("alignFrozen")){let t=0,l=this.$el.nextElementSibling;l&&(t=e.DomHandler.getOuterWidth(l)+parseFloat(l.style.right)),this.styleObject.right=t+"px"}else{let t=0,l=this.$el.previousElementSibling;l&&(t=e.DomHandler.getOuterWidth(l)+parseFloat(l.style.left)),this.styleObject.left=t+"px"}}},resolveFieldData:(t,l)=>e.ObjectUtils.resolveFieldData(t,l),toggleCheckbox(){this.$emit("checkbox-toggle")},onCheckboxFocus(){this.checkboxFocused=!0},onCheckboxBlur(){this.checkboxFocused=!1}},computed:{containerClass(){return[this.columnProp("bodyClass"),this.columnProp("class"),{"p-frozen-column":this.columnProp("frozen")}]},containerStyle(){let e=this.columnProp("bodyStyle"),t=this.columnProp("style");return this.columnProp("frozen")?[t,e,this.styleObject]:[t,e]},togglerStyle(){return{marginLeft:this.level*this.indentation+"rem",visibility:this.leaf?"hidden":"visible"}},togglerIcon(){return["p-treetable-toggler-icon pi",{"pi-chevron-right":!this.expanded,"pi-chevron-down":this.expanded}]},checkboxSelectionMode(){return"checkbox"===this.selectionMode},checkboxClass(){return["p-checkbox-box",{"p-highlight":this.checked,"p-focus":this.checkboxFocused,"p-indeterminate":this.partialChecked}]},checkboxIcon(){return["p-checkbox-icon",{"pi pi-check":this.checked,"pi pi-minus":this.partialChecked}]}},directives:{ripple:r.default}};const c={class:"p-hidden-accessible"},d={key:3};a.render=function(e,t,l,n,i,r){const s=o.resolveDirective("ripple");return o.openBlock(),o.createBlock("td",{style:r.containerStyle,class:r.containerClass},[r.columnProp("expander")?o.withDirectives((o.openBlock(),o.createBlock("button",{key:0,type:"button",class:"p-treetable-toggler p-link",onClick:t[1]||(t[1]=(...e)=>r.toggle&&r.toggle(...e)),style:r.togglerStyle,tabindex:"-1"},[o.createVNode("i",{class:r.togglerIcon},null,2)],4)),[[s]]):o.createCommentVNode("",!0),r.checkboxSelectionMode&&r.columnProp("expander")?(o.openBlock(),o.createBlock("div",{key:1,class:"p-checkbox p-treetable-checkbox p-component",onClick:t[4]||(t[4]=(...e)=>r.toggleCheckbox&&r.toggleCheckbox(...e)),role:"checkbox","aria-checked":l.checked},[o.createVNode("div",c,[o.createVNode("input",{type:"checkbox",onFocus:t[2]||(t[2]=(...e)=>r.onCheckboxFocus&&r.onCheckboxFocus(...e)),onBlur:t[3]||(t[3]=(...e)=>r.onCheckboxBlur&&r.onCheckboxBlur(...e))},null,32)]),o.createVNode("div",{ref:"checkboxEl",class:r.checkboxClass},[o.createVNode("span",{class:r.checkboxIcon},null,2)],2)],8,["aria-checked"])):o.createCommentVNode("",!0),l.column.children&&l.column.children.body?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(l.column.children.body),{key:2,node:l.node,column:l.column},null,8,["node","column"])):(o.openBlock(),o.createBlock("span",d,o.toDisplayString(r.resolveFieldData(l.node.data,r.columnProp("field"))),1))],6)};var h={name:"TreeTableRow",emits:["node-click","node-toggle","checkbox-change","nodeClick","nodeToggle","checkboxChange"],props:{node:{type:null,default:null},parentNode:{type:null,default:null},columns:{type:null,default:null},expandedKeys:{type:null,default:null},selectionKeys:{type:null,default:null},selectionMode:{type:String,default:null},level:{type:Number,default:0},indentation:{type:Number,default:1}},nodeTouched:!1,methods:{columnProp:(e,t)=>e.props?e.type.props[t].type===Boolean&&""===e.props[t]||e.props[t]:null,toggle(){this.$emit("node-toggle",this.node)},onClick(t){e.DomHandler.isClickable(t.target)||e.DomHandler.hasClass(t.target,"p-treetable-toggler")||e.DomHandler.hasClass(t.target.parentElement,"p-treetable-toggler")||(this.$emit("node-click",{originalEvent:t,nodeTouched:this.nodeTouched,node:this.node}),this.nodeTouched=!1)},onTouchEnd(){this.nodeTouched=!0},onKeyDown(e){if(e.target===this.$el){const t=this.$el;switch(e.which){case 40:{const l=t.nextElementSibling;l&&l.focus(),e.preventDefault();break}case 38:{const l=t.previousElementSibling;l&&l.focus(),e.preventDefault();break}case 37:case 39:this.leaf||(this.$emit("node-toggle",this.node),e.preventDefault());break;case 13:this.onClick(e),e.preventDefault()}}},toggleCheckbox(){let e=this.selectionKeys?{...this.selectionKeys}:{};const t=!this.checked;this.propagateDown(this.node,t,e),this.$emit("checkbox-change",{node:this.node,check:t,selectionKeys:e})},propagateDown(e,t,l){if(t?l[e.key]={checked:!0,partialChecked:!1}:delete l[e.key],e.children&&e.children.length)for(let o of e.children)this.propagateDown(o,t,l)},propagateUp(e){let t=e.check,l={...e.selectionKeys},o=0,n=!1;for(let e of this.node.children)l[e.key]&&l[e.key].checked?o++:l[e.key]&&l[e.key].partialChecked&&(n=!0);t&&o===this.node.children.length?l[this.node.key]={checked:!0,partialChecked:!1}:(t||delete l[this.node.key],n||o>0&&o!==this.node.children.length?l[this.node.key]={checked:!1,partialChecked:!0}:l[this.node.key]={checked:!1,partialChecked:!1}),this.$emit("checkbox-change",{node:e.node,check:e.check,selectionKeys:l})},onCheckboxChange(e){let t=e.check,l={...e.selectionKeys},o=0,n=!1;for(let e of this.node.children)l[e.key]&&l[e.key].checked?o++:l[e.key]&&l[e.key].partialChecked&&(n=!0);t&&o===this.node.children.length?l[this.node.key]={checked:!0,partialChecked:!1}:(t||delete l[this.node.key],n||o>0&&o!==this.node.children.length?l[this.node.key]={checked:!1,partialChecked:!0}:l[this.node.key]={checked:!1,partialChecked:!1}),this.$emit("checkbox-change",{node:e.node,check:e.check,selectionKeys:l})}},computed:{containerClass(){return[this.node.styleClass,{"p-highlight":this.selected}]},hasChildren(){return this.node.children&&this.node.children.length>0},expanded(){return this.expandedKeys&&!0===this.expandedKeys[this.node.key]},leaf(){return!1!==this.node.leaf&&!(this.node.children&&this.node.children.length)},selected(){return!(!this.selectionMode||!this.selectionKeys)&&!0===this.selectionKeys[this.node.key]},childLevel(){return this.level+1},checked(){return!!this.selectionKeys&&(this.selectionKeys[this.node.key]&&this.selectionKeys[this.node.key].checked)},partialChecked(){return!!this.selectionKeys&&(this.selectionKeys[this.node.key]&&this.selectionKeys[this.node.key].partialChecked)}},components:{TTBodyCell:a}};h.render=function(e,t,l,n,i,r){const s=o.resolveComponent("TTBodyCell"),a=o.resolveComponent("TreeTableRow",!0);return o.openBlock(),o.createBlock(o.Fragment,null,[o.createVNode("tr",{class:r.containerClass,onClick:t[2]||(t[2]=(...e)=>r.onClick&&r.onClick(...e)),onKeydown:t[3]||(t[3]=(...e)=>r.onKeyDown&&r.onKeyDown(...e)),onTouchend:t[4]||(t[4]=(...e)=>r.onTouchEnd&&r.onTouchEnd(...e)),style:l.node.style,tabindex:"0"},[(o.openBlock(!0),o.createBlock(o.Fragment,null,o.renderList(l.columns,((n,i)=>(o.openBlock(),o.createBlock(o.Fragment,{key:r.columnProp(n,"columnKey")||r.columnProp(n,"field")||i},[r.columnProp(n,"hidden")?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(s,{key:0,column:n,node:l.node,level:l.level,leaf:r.leaf,indentation:l.indentation,expanded:r.expanded,selectionMode:l.selectionMode,checked:r.checked,partialChecked:r.partialChecked,onNodeToggle:t[1]||(t[1]=t=>e.$emit("node-toggle",t)),onCheckboxToggle:r.toggleCheckbox},null,8,["column","node","level","leaf","indentation","expanded","selectionMode","checked","partialChecked","onCheckboxToggle"]))],64)))),128))],38),r.expanded&&l.node.children&&l.node.children.length?(o.openBlock(!0),o.createBlock(o.Fragment,{key:0},o.renderList(l.node.children,(n=>(o.openBlock(),o.createBlock(a,{key:n.key,columns:l.columns,node:n,parentNode:l.node,level:l.level+1,expandedKeys:l.expandedKeys,selectionMode:l.selectionMode,selectionKeys:l.selectionKeys,indentation:l.indentation,onNodeToggle:t[5]||(t[5]=t=>e.$emit("node-toggle",t)),onNodeClick:t[6]||(t[6]=t=>e.$emit("node-click",t)),onCheckboxChange:r.onCheckboxChange},null,8,["columns","node","parentNode","level","expandedKeys","selectionMode","selectionKeys","indentation","onCheckboxChange"])))),128)):o.createCommentVNode("",!0)],64)};var p={name:"HeaderCell",emits:["column-click","column-resizestart"],props:{column:{type:Object,default:null},resizableColumns:{type:Boolean,default:!1},sortField:{type:[String,Function],default:null},sortOrder:{type:Number,default:null},multiSortMeta:{type:Array,default:null},sortMode:{type:String,default:"single"}},data:()=>({styleObject:{}}),mounted(){this.columnProp("frozen")&&this.updateStickyPosition()},updated(){this.columnProp("frozen")&&this.updateStickyPosition()},methods:{columnProp(e){return this.column.props?this.column.type.props[e].type===Boolean&&""===this.column.props[e]||this.column.props[e]:null},updateStickyPosition(){if(this.columnProp("frozen")){if("right"===this.columnProp("alignFrozen")){let t=0,l=this.$el.nextElementSibling;l&&(t=e.DomHandler.getOuterWidth(l)+parseFloat(l.style.right)),this.styleObject.right=t+"px"}else{let t=0,l=this.$el.previousElementSibling;l&&(t=e.DomHandler.getOuterWidth(l)+parseFloat(l.style.left)),this.styleObject.left=t+"px"}let t=this.$el.parentElement.nextElementSibling;if(t){let l=e.DomHandler.index(this.$el);t.children[l].style.left=this.styleObject.left,t.children[l].style.right=this.styleObject.right}}},onClick(e){this.$emit("column-click",{originalEvent:e,column:this.column})},onKeyDown(t){13===t.which&&"TH"===t.currentTarget.nodeName&&e.DomHandler.hasClass(t.currentTarget,"p-sortable-column")&&this.$emit("column-click",{originalEvent:t,column:this.column})},onResizeStart(e){this.$emit("column-resizestart",e)},getMultiSortMetaIndex(){let e=-1;for(let t=0;t<this.multiSortMeta.length;t++){let l=this.multiSortMeta[t];if(l.field===this.columnProp("field")||l.field===this.columnProp("sortField")){e=t;break}}return e},isMultiSorted(){return this.columnProp("sortable")&&this.getMultiSortMetaIndex()>-1},isColumnSorted(){return"single"===this.sortMode?this.sortField&&(this.sortField===this.columnProp("field")||this.sortField===this.columnProp("sortField")):this.isMultiSorted()}},computed:{containerClass(){return[this.columnProp("headerClass"),this.columnProp("class"),{"p-sortable-column":this.columnProp("sortable"),"p-resizable-column":this.resizableColumns,"p-highlight":this.isColumnSorted(),"p-frozen-column":this.columnProp("frozen")}]},containerStyle(){let e=this.columnProp("headerStyle"),t=this.columnProp("style");return this.columnProp("frozen")?[t,e,this.styleObject]:[t,e]},sortableColumnIcon(){let e=!1,t=null;if("single"===this.sortMode)e=this.sortField&&(this.sortField===this.columnProp("field")||this.sortField===this.columnProp("sortField")),t=e?this.sortOrder:0;else if("multiple"===this.sortMode){let l=this.getMultiSortMetaIndex();l>-1&&(e=!0,t=this.multiSortMeta[l].order)}return["p-sortable-column-icon pi pi-fw",{"pi-sort-alt":!e,"pi-sort-amount-up-alt":e&&t>0,"pi-sort-amount-down":e&&t<0}]},ariaSort(){if(this.columnProp("sortable")){const e=this.sortableColumnIcon;return e[1]["pi-sort-amount-down"]?"descending":e[1]["pi-sort-amount-up-alt"]?"ascending":"none"}return null}}};const u={key:2,class:"p-column-title"},m={key:4,class:"p-sortable-column-badge"};p.render=function(e,t,l,n,i,r){return o.openBlock(),o.createBlock("th",{style:[r.containerStyle],class:r.containerClass,onClick:t[2]||(t[2]=(...e)=>r.onClick&&r.onClick(...e)),onKeydown:t[3]||(t[3]=(...e)=>r.onKeyDown&&r.onKeyDown(...e)),tabindex:r.columnProp("sortable")?"0":null,"aria-sort":r.ariaSort},[l.resizableColumns&&!r.columnProp("frozen")?(o.openBlock(),o.createBlock("span",{key:0,class:"p-column-resizer",onMousedown:t[1]||(t[1]=(...e)=>r.onResizeStart&&r.onResizeStart(...e))},null,32)):o.createCommentVNode("",!0),l.column.children&&l.column.children.header?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(l.column.children.header),{key:1,column:l.column},null,8,["column"])):o.createCommentVNode("",!0),r.columnProp("header")?(o.openBlock(),o.createBlock("span",u,o.toDisplayString(r.columnProp("header")),1)):o.createCommentVNode("",!0),r.columnProp("sortable")?(o.openBlock(),o.createBlock("span",{key:3,class:r.sortableColumnIcon},null,2)):o.createCommentVNode("",!0),r.isMultiSorted()?(o.openBlock(),o.createBlock("span",m,o.toDisplayString(r.getMultiSortMetaIndex()+1),1)):o.createCommentVNode("",!0)],46,["tabindex","aria-sort"])};var f={name:"FooterCell",props:{column:{type:Object,default:null}},data:()=>({styleObject:{}}),mounted(){this.columnProp("frozen")&&this.updateStickyPosition()},updated(){this.columnProp("frozen")&&this.updateStickyPosition()},methods:{columnProp(e){return this.column.props?this.column.type.props[e].type===Boolean&&""===this.column.props[e]||this.column.props[e]:null},updateStickyPosition(){if(this.columnProp("frozen")){if("right"===this.columnProp("alignFrozen")){let t=0,l=this.$el.nextElementSibling;l&&(t=e.DomHandler.getOuterWidth(l)+parseFloat(l.style.right)),this.styleObject.right=t+"px"}else{let t=0,l=this.$el.previousElementSibling;l&&(t=e.DomHandler.getOuterWidth(l)+parseFloat(l.style.left)),this.styleObject.left=t+"px"}}}},computed:{containerClass(){return[this.columnProp("footerClass"),this.columnProp("class"),{"p-frozen-column":this.columnProp("frozen")}]},containerStyle(){let e=this.columnProp("footerStyle"),t=this.columnProp("style");return this.columnProp("frozen")?[t,e,this.styleObject]:[t,e]}}};f.render=function(e,t,l,n,i,r){return o.openBlock(),o.createBlock("td",{style:r.containerStyle,class:r.containerClass},[l.column.children&&l.column.children.footer?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(l.column.children.footer),{key:0,column:e.col},null,8,["column"])):o.createCommentVNode("",!0),o.createTextVNode(" "+o.toDisplayString(r.columnProp("footer")),1)],6)};var b={name:"TreeTable",emits:["node-expand","node-collapse","update:expandedKeys","update:selectionKeys","node-select","node-unselect","update:first","update:rows","page","update:sortField","update:sortOrder","update:multiSortMeta","sort","filter","column-resize-end"],props:{value:{type:null,default:null},expandedKeys:{type:null,default:null},selectionKeys:{type:null,default:null},selectionMode:{type:String,default:null},metaKeySelection:{type:Boolean,default:!0},rows:{type:Number,default:0},first:{type:Number,default:0},totalRecords:{type:Number,default:0},paginator:{type:Boolean,default:!1},paginatorPosition:{type:String,default:"bottom"},alwaysShowPaginator:{type:Boolean,default:!0},paginatorTemplate:{type:String,default:"FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown"},pageLinkSize:{type:Number,default:5},rowsPerPageOptions:{type:Array,default:null},currentPageReportTemplate:{type:String,default:"({currentPage} of {totalPages})"},lazy:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},loadingIcon:{type:String,default:"pi pi-spinner"},rowHover:{type:Boolean,default:!1},autoLayout:{type:Boolean,default:!1},sortField:{type:[String,Function],default:null},sortOrder:{type:Number,default:null},defaultSortOrder:{type:Number,default:1},multiSortMeta:{type:Array,default:null},sortMode:{type:String,default:"single"},removableSort:{type:Boolean,default:!1},filters:{type:Object,default:null},filterMode:{type:String,default:"lenient"},filterLocale:{type:String,default:void 0},resizableColumns:{type:Boolean,default:!1},columnResizeMode:{type:String,default:"fit"},indentation:{type:Number,default:1},showGridlines:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},scrollDirection:{type:String,default:"vertical"},scrollHeight:{type:String,default:null},responsiveLayout:{type:String,default:null}},documentColumnResizeListener:null,documentColumnResizeEndListener:null,lastResizeHelperX:null,resizeColumnElement:null,data(){return{d_expandedKeys:this.expandedKeys||{},d_first:this.first,d_rows:this.rows,d_sortField:this.sortField,d_sortOrder:this.sortOrder,d_multiSortMeta:this.multiSortMeta?[...this.multiSortMeta]:[]}},watch:{expandedKeys(e){this.d_expandedKeys=e},first(e){this.d_first=e},rows(e){this.d_rows=e},sortField(e){this.d_sortField=e},sortOrder(e){this.d_sortOrder=e},multiSortMeta(e){this.d_multiSortMeta=e}},mounted(){this.scrollable&&"vertical"!==this.scrollDirection&&this.updateScrollWidth()},updated(){this.scrollable&&"vertical"!==this.scrollDirection&&this.updateScrollWidth()},methods:{columnProp:(e,t)=>e.props?e.type.props[t].type===Boolean&&""===e.props[t]||e.props[t]:null,onNodeToggle(e){const t=e.key;this.d_expandedKeys[t]?(delete this.d_expandedKeys[t],this.$emit("node-collapse",e)):(this.d_expandedKeys[t]=!0,this.$emit("node-expand",e)),this.d_expandedKeys={...this.d_expandedKeys},this.$emit("update:expandedKeys",this.d_expandedKeys)},onNodeClick(e){if(this.rowSelectionMode&&!1!==e.node.selectable){const t=!e.nodeTouched&&this.metaKeySelection?this.handleSelectionWithMetaKey(e):this.handleSelectionWithoutMetaKey(e);this.$emit("update:selectionKeys",t)}},handleSelectionWithMetaKey(e){const t=e.originalEvent,l=e.node,o=t.metaKey||t.ctrlKey;let n;return this.isNodeSelected(l)&&o?(this.isSingleSelectionMode()?n={}:(n={...this.selectionKeys},delete n[l.key]),this.$emit("node-unselect",l)):(this.isSingleSelectionMode()?n={}:this.isMultipleSelectionMode()&&(n=o&&this.selectionKeys?{...this.selectionKeys}:{}),n[l.key]=!0,this.$emit("node-select",l)),n},handleSelectionWithoutMetaKey(e){const t=e.node,l=this.isNodeSelected(t);let o;return this.isSingleSelectionMode()?l?(o={},this.$emit("node-unselect",t)):(o={},o[t.key]=!0,this.$emit("node-select",t)):l?(o={...this.selectionKeys},delete o[t.key],this.$emit("node-unselect",t)):(o=this.selectionKeys?{...this.selectionKeys}:{},o[t.key]=!0,this.$emit("node-select",t)),o},onCheckboxChange(e){this.$emit("update:selectionKeys",e.selectionKeys),e.check?this.$emit("node-select",e.node):this.$emit("node-unselect",e.node)},isSingleSelectionMode(){return"single"===this.selectionMode},isMultipleSelectionMode(){return"multiple"===this.selectionMode},onPage(e){this.d_first=e.first,this.d_rows=e.rows;let t=this.createLazyLoadEvent(e);t.pageCount=e.pageCount,t.page=e.page,this.$emit("update:first",this.d_first),this.$emit("update:rows",this.d_rows),this.$emit("page",t)},resetPage(){this.d_first=0,this.$emit("update:first",this.d_first)},getFilterColumnHeaderClass(e){return["p-filter-column",this.columnProp(e,"filterHeaderClass"),{"p-frozen-column":this.columnProp(e,"frozen")}]},onColumnHeaderClick(t){let l=t.originalEvent,o=t.column;if(this.columnProp(o,"sortable")){const t=l.target,n=this.columnProp(o,"sortField")||this.columnProp(o,"field");if(e.DomHandler.hasClass(t,"p-sortable-column")||e.DomHandler.hasClass(t,"p-column-title")||e.DomHandler.hasClass(t,"p-sortable-column-icon")||e.DomHandler.hasClass(t.parentElement,"p-sortable-column-icon")){if(e.DomHandler.clearSelection(),"single"===this.sortMode)this.d_sortField===n?this.removableSort&&-1*this.d_sortOrder===this.defaultSortOrder?(this.d_sortOrder=null,this.d_sortField=null):this.d_sortOrder=-1*this.d_sortOrder:(this.d_sortOrder=this.defaultSortOrder,this.d_sortField=n),this.$emit("update:sortField",this.d_sortField),this.$emit("update:sortOrder",this.d_sortOrder),this.resetPage();else if("multiple"===this.sortMode){l.metaKey||l.ctrlKey||(this.d_multiSortMeta=this.d_multiSortMeta.filter((e=>e.field===n))),this.addMultiSortField(n),this.$emit("update:multiSortMeta",this.d_multiSortMeta)}this.$emit("sort",this.createLazyLoadEvent(l))}}},addMultiSortField(e){let t=this.d_multiSortMeta.findIndex((t=>t.field===e));t>=0?this.removableSort&&-1*this.d_multiSortMeta[t].order===this.defaultSortOrder?this.d_multiSortMeta.splice(t,1):this.d_multiSortMeta[t]={field:e,order:-1*this.d_multiSortMeta[t].order}:this.d_multiSortMeta.push({field:e,order:this.defaultSortOrder}),this.d_multiSortMeta=[...this.d_multiSortMeta]},sortSingle(e){return this.sortNodesSingle(e)},sortNodesSingle(t){let l=[...t];return l.sort(((t,l)=>{const o=e.ObjectUtils.resolveFieldData(t.data,this.d_sortField),n=e.ObjectUtils.resolveFieldData(l.data,this.d_sortField);let i=null;return i=null==o&&null!=n?-1:null!=o&&null==n?1:null==o&&null==n?0:"string"==typeof o&&"string"==typeof n?o.localeCompare(n,void 0,{numeric:!0}):o<n?-1:o>n?1:0,this.d_sortOrder*i})),l},sortMultiple(e){return this.sortNodesMultiple(e)},sortNodesMultiple(e){let t=[...e];return t.sort(((e,t)=>this.multisortField(e,t,0))),t},multisortField(t,l,o){const n=e.ObjectUtils.resolveFieldData(t.data,this.d_multiSortMeta[o].field),i=e.ObjectUtils.resolveFieldData(l.data,this.d_multiSortMeta[o].field);let r=null;if(null==n&&null!=i)r=-1;else if(null!=n&&null==i)r=1;else if(null==n&&null==i)r=0;else{if(n===i)return this.d_multiSortMeta.length-1>o?this.multisortField(t,l,o+1):0;if(("string"==typeof n||n instanceof String)&&("string"==typeof i||i instanceof String))return this.d_multiSortMeta[o].order*n.localeCompare(i,void 0,{numeric:!0});r=n<i?-1:1}return this.d_multiSortMeta[o].order*r},filter(e){let l=[];const o="strict"===this.filterMode;for(let n of e){let e={...n},i=!0,r=!1;for(let l=0;l<this.columns.length;l++){let n=this.columns[l],s=this.columnProp(n,"field");if(Object.prototype.hasOwnProperty.call(this.filters,this.columnProp(n,"field"))){let l=this.columnProp(n,"filterMatchMode")||"startsWith",r={filterField:s,filterValue:this.filters[this.columnProp(n,"field")],filterConstraint:t.FilterService.filters[l],strict:o};if((!o||this.findFilteredNodes(e,r)||this.isFilterMatched(e,r))&&(o||this.isFilterMatched(e,r)||this.findFilteredNodes(e,r))||(i=!1),!i)break}if(this.hasGlobalFilter()&&!r){let l={...e},n={filterField:s,filterValue:this.filters.global,filterConstraint:t.FilterService.filters.contains,strict:o};(o&&(this.findFilteredNodes(l,n)||this.isFilterMatched(l,n))||!o&&(this.isFilterMatched(l,n)||this.findFilteredNodes(l,n)))&&(r=!0,e=l)}}let s=i;this.hasGlobalFilter()&&(s=i&&r),s&&l.push(e)}let n=this.createLazyLoadEvent(event);return n.filteredValue=l,this.$emit("filter",n),l},findFilteredNodes(e,t){if(e){let l=!1;if(e.children){let o=[...e.children];e.children=[];for(let n of o){let o={...n};this.isFilterMatched(o,t)&&(l=!0,e.children.push(o))}}if(l)return!0}},isFilterMatched(t,{filterField:l,filterValue:o,filterConstraint:n,strict:i}){let r=!1;return n(e.ObjectUtils.resolveFieldData(t.data,l),o,this.filterLocale)&&(r=!0),(!r||i&&!this.isNodeLeaf(t))&&(r=this.findFilteredNodes(t,{filterField:l,filterValue:o,filterConstraint:n,strict:i})||r),r},isNodeSelected(e){return!(!this.selectionMode||!this.selectionKeys)&&!0===this.selectionKeys[e.key]},isNodeLeaf:e=>!1!==e.leaf&&!(e.children&&e.children.length),createLazyLoadEvent(e){let t;return this.hasFilters()&&(t={},this.columns.forEach((e=>{this.columnProp(e,"field")&&(t[e.props.field]=this.columnProp(e,"filterMatchMode"))}))),{originalEvent:e,first:this.d_first,rows:this.d_rows,sortField:this.d_sortField,sortOrder:this.d_sortOrder,multiSortMeta:this.d_multiSortMeta,filters:this.filters,filterMatchModes:t}},onColumnResizeStart(t){let l=e.DomHandler.getOffset(this.$el).left;this.resizeColumnElement=t.target.parentElement,this.columnResizing=!0,this.lastResizeHelperX=t.pageX-l+this.$el.scrollLeft,this.bindColumnResizeEvents()},onColumnResize(t){let l=e.DomHandler.getOffset(this.$el).left;e.DomHandler.addClass(this.$el,"p-unselectable-text"),this.$refs.resizeHelper.style.height=this.$el.offsetHeight+"px",this.$refs.resizeHelper.style.top="0px",this.$refs.resizeHelper.style.left=t.pageX-l+this.$el.scrollLeft+"px",this.$refs.resizeHelper.style.display="block"},onColumnResizeEnd(){let t=this.$refs.resizeHelper.offsetLeft-this.lastResizeHelperX,l=this.resizeColumnElement.offsetWidth,o=l+t,n=this.resizeColumnElement.style.minWidth||15;if(l+t>parseInt(n,10)){if("fit"===this.columnResizeMode){let e=this.resizeColumnElement.nextElementSibling,l=e.offsetWidth-t;o>15&&l>15&&(this.scrollable?this.resizeTableCells(o,l):(this.resizeColumnElement.style.width=o+"px",e&&(e.style.width=l+"px")))}else"expand"===this.columnResizeMode&&(this.$refs.table.style.width=this.$refs.table.offsetWidth+t+"px",this.scrollable?this.resizeTableCells(o):this.resizeColumnElement.style.width=o+"px");this.$emit("column-resize-end",{element:this.resizeColumnElement,delta:t})}this.$refs.resizeHelper.style.display="none",this.resizeColumn=null,e.DomHandler.removeClass(this.$el,"p-unselectable-text"),this.unbindColumnResizeEvents()},resizeTableCells(t,l){let o=e.DomHandler.index(this.resizeColumnElement),n=this.$refs.table.children;for(let e of n)for(let n of e.children){let e=n.children[o];if(e.style.flex="0 0 "+t+"px","fit"===this.columnResizeMode){let t=e.nextElementSibling;t&&(t.style.flex="0 0 "+l+"px")}}},bindColumnResizeEvents(){this.documentColumnResizeListener||(this.documentColumnResizeListener=document.addEventListener("mousemove",(()=>{this.columnResizing&&this.onColumnResize(event)}))),this.documentColumnResizeEndListener||(this.documentColumnResizeEndListener=document.addEventListener("mouseup",(()=>{this.columnResizing&&(this.columnResizing=!1,this.onColumnResizeEnd())})))},unbindColumnResizeEvents(){this.documentColumnResizeListener&&(document.removeEventListener("document",this.documentColumnResizeListener),this.documentColumnResizeListener=null),this.documentColumnResizeEndListener&&(document.removeEventListener("document",this.documentColumnResizeEndListener),this.documentColumnResizeEndListener=null)},onColumnKeyDown(t,l){13===t.which&&"TH"===t.currentTarget.nodeName&&e.DomHandler.hasClass(t.currentTarget,"p-sortable-column")&&this.onColumnHeaderClick(t,l)},hasColumnFilter(){if(this.columns)for(let e of this.columns)if(e.children&&e.children.filter)return!0;return!1},hasFilters(){return this.filters&&Object.keys(this.filters).length>0&&this.filters.constructor===Object},hasGlobalFilter(){return this.filters&&Object.prototype.hasOwnProperty.call(this.filters,"global")},updateScrollWidth(){this.$refs.table.style.width=this.$refs.table.scrollWidth+"px"}},computed:{containerClass(){return["p-treetable p-component",{"p-treetable-hoverable-rows":this.rowHover||this.rowSelectionMode,"p-treetable-auto-layout":this.autoLayout,"p-treetable-resizable":this.resizableColumns,"p-treetable-resizable-fit":this.resizableColumns&&"fit"===this.columnResizeMode,"p-treetable-gridlines":this.showGridlines,"p-treetable-scrollable":this.scrollable,"p-treetable-scrollable-vertical":this.scrollable&&"vertical"===this.scrollDirection,"p-treetable-scrollable-horizontal":this.scrollable&&"horizontal"===this.scrollDirection,"p-treetable-scrollable-both":this.scrollable&&"both"===this.scrollDirection,"p-treetable-flex-scrollable":this.scrollable&&"flex"===this.scrollHeight,"p-treetable-responsive-scroll":"scroll"===this.responsiveLayout}]},columns(){let e=[];return this.$slots.default().forEach((t=>{t.children&&t.children instanceof Array?e=[...e,...t.children]:"Column"===t.type.name&&e.push(t)})),e},processedData(){if(this.lazy)return this.value;if(this.value&&this.value.length){let e=this.value;return this.sorted&&("single"===this.sortMode?e=this.sortSingle(e):"multiple"===this.sortMode&&(e=this.sortMultiple(e))),this.hasFilters()&&(e=this.filter(e)),e}return null},dataToRender(){const e=this.processedData;if(this.paginator){const t=this.lazy?0:this.d_first;return e.slice(t,t+this.d_rows)}return e},empty(){const e=this.processedData;return!e||0===e.length},sorted(){return this.d_sortField||this.d_multiSortMeta&&this.d_multiSortMeta.length>0},hasFooter(){let e=!1;for(let t of this.columns)if(this.columnProp(t,"footer")||t.children&&t.children.footer){e=!0;break}return e},paginatorTop(){return this.paginator&&("bottom"!==this.paginatorPosition||"both"===this.paginatorPosition)},paginatorBottom(){return this.paginator&&("top"!==this.paginatorPosition||"both"===this.paginatorPosition)},singleSelectionMode(){return this.selectionMode&&"single"===this.selectionMode},multipleSelectionMode(){return this.selectionMode&&"multiple"===this.selectionMode},rowSelectionMode(){return this.singleSelectionMode||this.multipleSelectionMode},totalRecordsLength(){if(this.lazy)return this.totalRecords;{const e=this.processedData;return e?e.length:0}},loadingIconClass(){return["p-treetable-loading-icon pi-spin",this.loadingIcon]}},components:{TTRow:h,TTPaginator:s.default,TTHeaderCell:p,TTFooterCell:f}};const y={key:0,class:"p-treetable-loading"},g={class:"p-treetable-loading-overlay p-component-overlay"},k={key:1,class:"p-treetable-header"},C={ref:"table"},x={class:"p-treetable-thead"},S={key:0},v={class:"p-treetable-tbody"},z={key:1,class:"p-treetable-emptymessage"},P={key:0,class:"p-treetable-tfoot"},w={key:4,class:"p-treetable-footer"},M={ref:"resizeHelper",class:"p-column-resizer-helper p-highlight",style:{display:"none"}};return function(e,t){void 0===t&&(t={});var l=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===l&&o.firstChild?o.insertBefore(n,o.firstChild):o.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-treetable {\n position: relative;\n}\n.p-treetable table {\n border-collapse: collapse;\n width: 100%;\n table-layout: fixed;\n}\n.p-treetable .p-sortable-column {\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-treetable-responsive-scroll > .p-treetable-wrapper {\n overflow-x: auto;\n}\n.p-treetable-responsive-scroll > .p-treetable-wrapper > table,\n.p-treetable-auto-layout > .p-treetable-wrapper > table {\n table-layout: auto;\n}\n.p-treetable-hoverable-rows .p-treetable-tbody > tr {\n cursor: pointer;\n}\n.p-treetable-toggler {\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n vertical-align: middle;\n overflow: hidden;\n position: relative;\n}\n.p-treetable-toggler + .p-checkbox {\n vertical-align: middle;\n}\n.p-treetable-toggler + .p-checkbox + span {\n vertical-align: middle;\n}\n\n/* Resizable */\n.p-treetable-resizable > .p-treetable-wrapper {\n overflow-x: auto;\n}\n.p-treetable-resizable .p-treetable-thead > tr > th,\n.p-treetable-resizable .p-treetable-tfoot > tr > td,\n.p-treetable-resizable .p-treetable-tbody > tr > td {\n overflow: hidden;\n}\n.p-treetable-resizable .p-resizable-column {\n background-clip: padding-box;\n position: relative;\n}\n.p-treetable-resizable-fit .p-resizable-column:last-child .p-column-resizer {\n display: none;\n}\n.p-treetable .p-column-resizer {\n display: block;\n position: absolute !important;\n top: 0;\n right: 0;\n margin: 0;\n width: .5rem;\n height: 100%;\n padding: 0px;\n cursor:col-resize;\n border: 1px solid transparent;\n}\n.p-treetable .p-column-resizer-helper {\n width: 1px;\n position: absolute;\n z-index: 10;\n display: none;\n}\n.p-treetable .p-treetable-loading-overlay {\n position: absolute;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n z-index: 2;\n}\n\n/* Scrollable */\n.p-treetable-scrollable .p-treetable-wrapper {\n position: relative;\n overflow: auto;\n}\n.p-treetable-scrollable .p-treetable-table {\n display: block;\n}\n.p-treetable-scrollable .p-treetable-thead,\n.p-treetable-scrollable .p-treetable-tbody,\n.p-treetable-scrollable .p-treetable-tfoot {\n display: block;\n}\n.p-treetable-scrollable .p-treetable-thead > tr,\n.p-treetable-scrollable .p-treetable-tbody > tr,\n.p-treetable-scrollable .p-treetable-tfoot > tr {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n width: 100%;\n}\n.p-treetable-scrollable .p-treetable-thead > tr > th,\n.p-treetable-scrollable .p-treetable-tbody > tr > td,\n.p-treetable-scrollable .p-treetable-tfoot > tr > td {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-flex: 1;\n -ms-flex: 1 1 0px;\n flex: 1 1 0;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-treetable-scrollable .p-treetable-thead {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n.p-treetable-scrollable .p-treetable-tfoot {\n position: sticky;\n bottom: 0;\n z-index: 1;\n}\n.p-treetable-scrollable .p-frozen-column {\n position: sticky;\n background: inherit;\n}\n.p-treetable-scrollable-both .p-treetable-thead > tr > th,\n.p-treetable-scrollable-both .p-treetable-tbody > tr > td,\n.p-treetable-scrollable-both .p-treetable-tfoot > tr > td,\n.p-treetable-scrollable-horizontal .p-treetable-thead > tr > th\n.p-treetable-scrollable-horizontal .p-treetable-tbody > tr > td,\n.p-treetable-scrollable-horizontal .p-treetable-tfoot > tr > td {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n.p-treetable-flex-scrollable {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n height: 100%;\n}\n.p-treetable-flex-scrollable .p-treetable-wrapper {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n height: 100%;\n}\n"),b.render=function(e,t,l,n,i,r){const s=o.resolveComponent("TTPaginator"),a=o.resolveComponent("TTHeaderCell"),c=o.resolveComponent("TTRow"),d=o.resolveComponent("TTFooterCell");return o.openBlock(),o.createBlock("div",{class:r.containerClass,"data-scrollselectors":".p-treetable-scrollable-body"},[l.loading?(o.openBlock(),o.createBlock("div",y,[o.createVNode("div",g,[o.createVNode("i",{class:r.loadingIconClass},null,2)])])):o.createCommentVNode("",!0),e.$slots.header?(o.openBlock(),o.createBlock("div",k,[o.renderSlot(e.$slots,"header")])):o.createCommentVNode("",!0),r.paginatorTop?(o.openBlock(),o.createBlock(s,{key:2,rows:i.d_rows,first:i.d_first,totalRecords:r.totalRecordsLength,pageLinkSize:l.pageLinkSize,template:l.paginatorTemplate,rowsPerPageOptions:l.rowsPerPageOptions,currentPageReportTemplate:l.currentPageReportTemplate,class:"p-paginator-top",onPage:t[1]||(t[1]=e=>r.onPage(e)),alwaysShow:l.alwaysShowPaginator},o.createSlots({_:2},[e.$slots.paginatorLeft?{name:"left",fn:o.withCtx((()=>[o.renderSlot(e.$slots,"paginatorLeft")]))}:void 0,e.$slots.paginatorRight?{name:"right",fn:o.withCtx((()=>[o.renderSlot(e.$slots,"paginatorRight")]))}:void 0]),1032,["rows","first","totalRecords","pageLinkSize","template","rowsPerPageOptions","currentPageReportTemplate","alwaysShow"])):o.createCommentVNode("",!0),o.createVNode("div",{class:"p-treetable-wrapper",style:{maxHeight:l.scrollHeight}},[o.createVNode("table",C,[o.createVNode("thead",x,[o.createVNode("tr",null,[(o.openBlock(!0),o.createBlock(o.Fragment,null,o.renderList(r.columns,((e,t)=>(o.openBlock(),o.createBlock(o.Fragment,{key:r.columnProp(e,"columnKey")||r.columnProp(e,"field")||t},[r.columnProp(e,"hidden")?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(a,{key:0,column:e,resizableColumns:l.resizableColumns,sortField:i.d_sortField,sortOrder:i.d_sortOrder,multiSortMeta:i.d_multiSortMeta,sortMode:l.sortMode,onColumnClick:r.onColumnHeaderClick,onColumnResizestart:r.onColumnResizeStart},null,8,["column","resizableColumns","sortField","sortOrder","multiSortMeta","sortMode","onColumnClick","onColumnResizestart"]))],64)))),128))]),r.hasColumnFilter()?(o.openBlock(),o.createBlock("tr",S,[(o.openBlock(!0),o.createBlock(o.Fragment,null,o.renderList(r.columns,((e,t)=>(o.openBlock(),o.createBlock(o.Fragment,{key:r.columnProp(e,"columnKey")||r.columnProp(e,"field")||t},[r.columnProp(e,"hidden")?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock("th",{key:0,class:r.getFilterColumnHeaderClass(e),style:[r.columnProp(e,"style"),r.columnProp(e,"filterHeaderStyle")]},[e.children&&e.children.filter?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(e.children.filter),{key:0,column:e},null,8,["column"])):o.createCommentVNode("",!0)],6))],64)))),128))])):o.createCommentVNode("",!0)]),o.createVNode("tbody",v,[r.empty?(o.openBlock(),o.createBlock("tr",z,[o.createVNode("td",{colspan:r.columns.length},[o.renderSlot(e.$slots,"empty")],8,["colspan"])])):(o.openBlock(!0),o.createBlock(o.Fragment,{key:0},o.renderList(r.dataToRender,(e=>(o.openBlock(),o.createBlock(c,{key:e.key,columns:r.columns,node:e,level:0,expandedKeys:i.d_expandedKeys,onNodeToggle:r.onNodeToggle,indentation:l.indentation,selectionMode:l.selectionMode,selectionKeys:l.selectionKeys,onNodeClick:r.onNodeClick,onCheckboxChange:r.onCheckboxChange},null,8,["columns","node","expandedKeys","onNodeToggle","indentation","selectionMode","selectionKeys","onNodeClick","onCheckboxChange"])))),128))]),r.hasFooter?(o.openBlock(),o.createBlock("tfoot",P,[o.createVNode("tr",null,[(o.openBlock(!0),o.createBlock(o.Fragment,null,o.renderList(r.columns,((e,t)=>(o.openBlock(),o.createBlock(o.Fragment,{key:r.columnProp(e,"columnKey")||r.columnProp(e,"field")||t},[r.columnProp(e,"hidden")?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(d,{key:0,column:e},null,8,["column"]))],64)))),128))])])):o.createCommentVNode("",!0)],512)],4),r.paginatorBottom?(o.openBlock(),o.createBlock(s,{key:3,rows:i.d_rows,first:i.d_first,totalRecords:r.totalRecordsLength,pageLinkSize:l.pageLinkSize,template:l.paginatorTemplate,rowsPerPageOptions:l.rowsPerPageOptions,currentPageReportTemplate:l.currentPageReportTemplate,class:"p-paginator-bottom",onPage:t[2]||(t[2]=e=>r.onPage(e)),alwaysShow:l.alwaysShowPaginator},o.createSlots({_:2},[e.$slots.paginatorLeft?{name:"left",fn:o.withCtx((()=>[o.renderSlot(e.$slots,"paginatorLeft")]))}:void 0,e.$slots.paginatorRight?{name:"right",fn:o.withCtx((()=>[o.renderSlot(e.$slots,"paginatorRight")]))}:void 0]),1032,["rows","first","totalRecords","pageLinkSize","template","rowsPerPageOptions","currentPageReportTemplate","alwaysShow"])):o.createCommentVNode("",!0),e.$slots.footer?(o.openBlock(),o.createBlock("div",w,[o.renderSlot(e.$slots,"footer")])):o.createCommentVNode("",!0),o.createVNode("div",M,null,512)],2)},b}(primevue.utils,primevue.api,primevue.ripple,Vue,primevue.paginator);