UNPKG

primevue

Version:

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![npm version](https://badge.fury.io/js/primevue.svg)](https://badge.fury.io/js/primevue)

1 lines 91.7 kB
"use strict";var e=require("primevue/utils"),o=require("primevue/paginator"),t=require("vue"),l=require("primevue/ripple");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=n(o),i=n(l),a={props:{columns:{type:null,default:null},rows:{type:null,default:null}}};const s={class:"p-datatable-tbody"};a.render=function(e,o,l,n,r,i){return t.openBlock(),t.createBlock("tbody",s,[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(l.rows,(e=>(t.openBlock(),t.createBlock("tr",{key:e},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(l.columns,((e,o)=>(t.openBlock(),t.createBlock("td",{key:e.props.columnKey||e.props.field||o},[e.children&&e.children.loading?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.children.loading),{key:0,column:e,index:o},null,8,["column","index"])):t.createCommentVNode("",!0)])))),128))])))),128))])};var d={emits:["virtual-scroll"],props:{frozen:{type:Boolean,default:!1},frozenWidth:{type:String,default:null},columns:{type:null,default:null},headerColumnGroup:{type:null,default:null},footerColumnGroup:{type:null,default:null},scrollHeight:{type:String,default:null},virtualScroll:{type:Boolean,default:!1},virtualRowHeight:{type:Number,default:null},rows:{type:Number,default:null},totalRecords:{type:Number,default:0},rowGroupMode:{type:String,default:null},groupRowsBy:{type:[Array,String],default:null}},virtualScrollCallback:null,mounted(){this.frozen?this.$refs.scrollBody.style.paddingBottom=e.DomHandler.calculateScrollbarWidth()+"px":this.alignScrollBar(),this.virtualScroll&&(this.$refs.virtualScroller.style.height=this.totalRecords*this.virtualRowHeight+"px")},updated(){this.virtualScrollCallback&&(this.virtualScrollCallback(),this.virtualScrollCallback=null)},watch:{totalRecords(e){this.virtualScroll&&(this.$refs.virtualScroller.style.height=e*this.virtualRowHeight+"px")}},methods:{columnProp:(e,o)=>e.props?e.type.props[o].type===Boolean&&""===e.props[o]||e.props[o]:null,onHeaderScroll(){this.$refs.scrollHeader.scrollLeft=0},onBodyScroll(){let o,t=this.$el.previousElementSibling;if(t&&(o=e.DomHandler.findSingle(t,".p-datatable-scrollable-body")),o&&(o.scrollTop=this.$refs.scrollBody.scrollTop),this.$refs.scrollHeaderBox.style.marginLeft=-1*this.$refs.scrollBody.scrollLeft+"px",this.$refs.scrollFooterBox&&(this.$refs.scrollFooterBox.style.marginLeft=-1*this.$refs.scrollBody.scrollLeft+"px"),this.virtualScroll){let o=e.DomHandler.getClientHeight(this.$refs.scrollBody),t=e.DomHandler.getOuterHeight(this.$refs.scrollTable),l=this.virtualRowHeight*this.rows,n=e.DomHandler.getOuterHeight(this.$refs.virtualScroller)/l||1,r=this.$refs.scrollTable.style.top||"0";if(this.$refs.scrollBody.scrollTop+o>parseFloat(r)+t||this.$refs.scrollBody.scrollTop<parseFloat(r)){this.$refs.loadingTable&&(this.$refs.loadingTable.style.display="table",this.$refs.loadingTable.style.top=this.$refs.scrollBody.scrollTop+"px");let e=Math.floor(this.$refs.scrollBody.scrollTop*n/this.$refs.scrollBody.scrollHeight)+1;this.$emit("virtual-scroll",{page:e}),this.virtualScrollCallback=()=>{this.$refs.loadingTable&&(this.$refs.loadingTable.style.display="none"),this.$refs.scrollTable.style.top=(e-1)*l+"px"}}}},alignScrollBar(){let o=e.DomHandler.calculateScrollbarWidth();this.$refs.scrollHeaderBox.style.paddingRight=o+"px",this.$refs.scrollFooterBox&&(this.$refs.scrollFooterBox.style.paddingRight=o+"px")},shouldRenderCol(e){return!this.rowGroupMode||"subheader"!==this.rowGroupMode||this.groupRowsBy!==this.columnProp(e,"field")}},computed:{containerClass(){return["p-datatable-scrollable-view",{"p-datatable-frozen-view":this.frozen,"p-datatable-unfrozen-view":!this.frozen&&this.frozenWidth}]},containerStyle(){return this.frozenWidth?this.frozen?{width:this.frozenWidth}:{width:"calc(100% - "+this.frozenWidth+")",left:this.frozenWidth}:null},bodyTableClass(){return["p-datatable-scrollable-body-table",{"p-datatable-virtual-table":this.virtualScroll}]},bodyTableStyle(){return this.virtualScroll?{top:"0"}:null},bodyStyle(){return{maxHeight:"flex"!==this.scrollHeight?this.scrollHeight:null,overflowY:!this.frozen&&this.scrollHeight?"scroll":null}}},components:{DTTableLoadingBody:a}};const c={class:"p-datatable-scrollable-header-box",ref:"scrollHeaderBox"},u={class:"p-datatable-scrollable-header-table"},p={key:0,ref:"loadingTable",style:{top:"0",display:"none"},class:"p-datatable-scrollable-body-table p-datatable-loading-virtual-table p-datatable-virtual-table"},h={class:"p-datatable-virtual-scroller",ref:"virtualScroller"},m={class:"p-datatable-scrollable-footer",ref:"scrollFooter"},w={class:"p-datatable-scrollable-footer-box",ref:"scrollFooterBox"},g={class:"p-datatable-scrollable-footer-table"};d.render=function(e,o,l,n,r,i){const a=t.resolveComponent("DTTableLoadingBody");return t.openBlock(),t.createBlock("div",{class:i.containerClass,style:i.containerStyle},[t.createVNode("div",{class:"p-datatable-scrollable-header",ref:"scrollHeader",onScroll:o[1]||(o[1]=(...e)=>i.onHeaderScroll&&i.onHeaderScroll(...e))},[t.createVNode("div",c,[t.createVNode("table",u,[t.createVNode("colgroup",null,[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(l.columns,((e,o)=>(t.openBlock(),t.createBlock(t.Fragment,null,[i.shouldRenderCol(e)?(t.openBlock(),t.createBlock("col",{key:i.columnProp(e,"columnKey")||i.columnProp(e,"field")||o,style:i.columnProp(e,"headerStyle"),class:i.columnProp(e,"headerClass")},null,6)):t.createCommentVNode("",!0)],64)))),256))]),t.renderSlot(e.$slots,"header",{columns:l.columns,columnGroup:l.headerColumnGroup}),t.renderSlot(e.$slots,"frozenbody",{columns:l.columns})])],512)],544),t.createVNode("div",{class:"p-datatable-scrollable-body",ref:"scrollBody",onScroll:o[2]||(o[2]=(...e)=>i.onBodyScroll&&i.onBodyScroll(...e)),style:i.bodyStyle},[t.createVNode("table",{ref:"scrollTable",class:i.bodyTableClass,style:i.bodyTableStyle},[t.createVNode("colgroup",null,[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(l.columns,((e,o)=>(t.openBlock(),t.createBlock(t.Fragment,null,[i.shouldRenderCol(e)?(t.openBlock(),t.createBlock("col",{key:i.columnProp(e,"columnKey")||i.columnProp(e,"field")||o,style:i.columnProp(e,"bodyStyle"),class:i.columnProp(e,"bodyClass")},null,6)):t.createCommentVNode("",!0)],64)))),256))]),t.renderSlot(e.$slots,"body",{columns:l.columns})],6),l.virtualScroll?(t.openBlock(),t.createBlock("table",p,[t.createVNode("colgroup",null,[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(l.columns,((e,o)=>(t.openBlock(),t.createBlock("col",{key:i.columnProp(e,"columnKey")||i.columnProp(e,"field")||o,style:i.columnProp(e,"bodyStyle"),class:i.columnProp(e,"bodyClass")},null,6)))),128))]),t.createVNode(a,{columns:l.columns,rows:l.rows},null,8,["columns","rows"])],512)):t.createCommentVNode("",!0),t.createVNode("div",h,null,512)],36),t.createVNode("div",m,[t.createVNode("div",w,[t.createVNode("table",g,[t.createVNode("colgroup",null,[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(l.columns,((e,o)=>(t.openBlock(),t.createBlock(t.Fragment,null,[i.shouldRenderCol(e)?(t.openBlock(),t.createBlock("col",{key:i.columnProp(e,"columnKey")||i.columnProp(e,"field")||o,style:i.columnProp(e,"footerStyle"),class:i.columnProp(e,"footerClass")},null,6)):t.createCommentVNode("",!0)],64)))),256))]),t.renderSlot(e.$slots,"footer",{columns:l.columns,columnGroup:l.footerColumnGroup})])],512)],512)],6)};var f={inheritAttrs:!1,emits:["change"],props:{checked:null},data:()=>({focused:!1}),methods:{onClick(e){this.$attrs.disabled||(this.focused=!0,this.$emit("change",e))},onFocus(){this.focused=!0},onBlur(){this.focused=!1}}};f.render=function(e,o,l,n,r,i){return t.openBlock(),t.createBlock("div",{class:"p-checkbox p-component",onClick:o[3]||(o[3]=(...e)=>i.onClick&&i.onClick(...e)),onKeydown:o[4]||(o[4]=t.withKeys(t.withModifiers(((...e)=>i.onClick&&i.onClick(...e)),["prevent"]),["space"]))},[t.createVNode("div",{ref:"box",class:["p-checkbox-box p-component",{"p-highlight":l.checked,"p-disabled":e.$attrs.disabled,"p-focus":r.focused}],role:"checkbox","aria-checked":l.checked,tabindex:e.$attrs.disabled?null:"0",onFocus:o[1]||(o[1]=e=>i.onFocus(e)),onBlur:o[2]||(o[2]=e=>i.onBlur(e))},[t.createVNode("span",{class:["p-checkbox-icon",{"pi pi-check":l.checked}]},null,2)],42,["aria-checked","tabindex"])],32)};var y={emits:["column-click","column-mousedown","column-dragstart","column-dragover","column-dragleave","column-drop","column-resizestart","checkbox-change","column-click"],props:{columnGroup:{type:null,default:null},columns:{type:null,default:null},rowGroupMode:{type:String,default:null},groupRowsBy:{type:[Array,String],default:null},resizableColumns:{type:Boolean,default:!1},allRowsSelected:{type:Boolean,default:!1},empty:{type:Boolean,default:!1},sortMode:{type:String,default:"single"},sortField:{type:[String,Function],default:null},sortOrder:{type:Number,default:null},multiSortMeta:{type:Array,default:null}},methods:{columnProp:(e,o)=>e.props?e.type.props[o].type===Boolean&&""===e.props[o]||e.props[o]:null,isMultiSorted(e){return this.columnProp(e,"sortable")&&this.getMultiSortMetaIndex(e)>-1},isColumnSorted(e){return"single"===this.sortMode?this.sortField&&(this.sortField===this.columnProp(e,"field")||this.sortField===this.columnProp(e,"sortField")):this.isMultiSorted(e)},getColumnHeaderClass(e){return[this.columnProp(e,"headerClass"),{"p-sortable-column":this.columnProp(e,"sortable")},{"p-resizable-column":this.resizableColumns},{"p-highlight":this.isColumnSorted(e)}]},getFilterColumnHeaderClass(e){return["p-filter-column",this.columnProp(e,"filterHeaderClass")]},getSortableColumnIcon(e){let o=!1,t=null;if("single"===this.sortMode)o=this.sortField&&(this.sortField===this.columnProp(e,"field")||this.sortField===this.columnProp(e,"sortField")),t=o?this.sortOrder:0;else if("multiple"===this.sortMode){let l=this.getMultiSortMetaIndex(e);l>-1&&(o=!0,t=this.multiSortMeta[l].order)}return["p-sortable-column-icon pi pi-fw",{"pi-sort-alt":!o,"pi-sort-amount-up-alt":o&&t>0,"pi-sort-amount-down":o&&t<0}]},getMultiSortMetaIndex(e){let o=-1;for(let t=0;t<this.multiSortMeta.length;t++){let l=this.multiSortMeta[t];if(l.field===this.columnProp(e,"field")||l.field===this.columnProp(e,"sortField")){o=t;break}}return o},onColumnHeaderClick(e,o){this.$emit("column-click",{originalEvent:e,column:o})},onColumnHeaderMouseDown(e,o){this.$emit("column-mousedown",{originalEvent:e,column:o})},onColumnHeaderDragStart(e){this.$emit("column-dragstart",e)},onColumnHeaderDragOver(e){this.$emit("column-dragover",e)},onColumnHeaderDragLeave(e){this.$emit("column-dragleave",e)},onColumnHeaderDrop(e){this.$emit("column-drop",e)},onColumnResizeStart(e){this.$emit("column-resizestart",e)},onHeaderCheckboxChange(e){this.$emit("checkbox-change",e)},onColumnKeyDown(o,t){13===o.which&&"TH"===o.currentTarget.nodeName&&e.DomHandler.hasClass(o.currentTarget,"p-sortable-column")&&this.$emit("column-click",{originalEvent:o,column:t})},getAriaSort(e){if(this.columnProp(e,"sortable")){const o=this.getSortableColumnIcon(e);return o[1]["pi-sort-amount-down"]?"descending":o[1]["pi-sort-amount-up-alt"]?"ascending":"none"}return null},hasColumnFilter(){if(this.columns)for(let e of this.columns)if(e.children&&e.children.filter)return!0;return!1}},components:{DTHeaderCheckbox:f}};const b={class:"p-datatable-thead"},R={key:2,class:"p-column-title"},C={key:4,class:"p-sortable-column-badge"},x={key:0},k={key:1,class:"p-column-title"},v={key:3,class:"p-sortable-column-badge"};y.render=function(e,o,l,n,r,i){const a=t.resolveComponent("DTHeaderCheckbox");return t.openBlock(),t.createBlock("thead",b,[l.columnGroup?(t.openBlock(!0),t.createBlock(t.Fragment,{key:1},t.renderList(l.columnGroup.children.default(),((e,n)=>(t.openBlock(),t.createBlock("tr",{key:n},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(e.children.default(),((e,n)=>(t.openBlock(),t.createBlock("th",{key:i.columnProp(e,"columnKey")||i.columnProp(e,"field")||n,style:i.columnProp(e,"headerStyle"),class:i.getColumnHeaderClass(e),tabindex:i.columnProp(e,"sortable")?"0":null,onClick:o=>i.onColumnHeaderClick(o,e),onKeydown:o=>i.onColumnKeyDown(o,e),onDragstart:o[9]||(o[9]=e=>i.onColumnHeaderDragStart(e)),onDragover:o[10]||(o[10]=e=>i.onColumnHeaderDragOver(e)),onDragleave:o[11]||(o[11]=e=>i.onColumnHeaderDragLeave(e)),onDrop:o[12]||(o[12]=e=>i.onColumnHeaderDrop(e)),colspan:i.columnProp(e,"colspan"),rowspan:i.columnProp(e,"rowspan"),"aria-sort":i.getAriaSort(e)},[e.children&&e.children.header?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.children.header),{key:0,column:e},null,8,["column"])):t.createCommentVNode("",!0),i.columnProp(e,"header")?(t.openBlock(),t.createBlock("span",k,t.toDisplayString(i.columnProp(e,"header")),1)):t.createCommentVNode("",!0),i.columnProp(e,"sortable")?(t.openBlock(),t.createBlock("span",{key:2,class:i.getSortableColumnIcon(e)},null,2)):t.createCommentVNode("",!0),i.isMultiSorted(e)?(t.openBlock(),t.createBlock("span",v,t.toDisplayString(i.getMultiSortMetaIndex(e)+1),1)):t.createCommentVNode("",!0),e.children&&e.children.filter?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.children.filter),{key:4,column:e},null,8,["column"])):t.createCommentVNode("",!0),"multiple"===i.columnProp(e,"selectionMode")?(t.openBlock(),t.createBlock(a,{key:5,checked:l.allRowsSelected,onChange:o[8]||(o[8]=e=>i.onHeaderCheckboxChange(e)),disabled:l.empty},null,8,["checked","disabled"])):t.createCommentVNode("",!0)],46,["tabindex","onClick","onKeydown","colspan","rowspan","aria-sort"])))),128))])))),128)):(t.openBlock(),t.createBlock(t.Fragment,{key:0},[t.createVNode("tr",null,[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(l.columns,((e,n)=>(t.openBlock(),t.createBlock(t.Fragment,null,["subheader"!==l.rowGroupMode||l.groupRowsBy!==i.columnProp(e,"field")?(t.openBlock(),t.createBlock("th",{tabindex:i.columnProp(e,"sortable")?"0":null,onKeydown:o=>i.onColumnKeyDown(o,e),key:i.columnProp(e,"columnKey")||i.columnProp(e,"field")||n,style:i.columnProp(e,"headerStyle"),class:i.getColumnHeaderClass(e),onClick:o=>i.onColumnHeaderClick(o,e),onMousedown:o=>i.onColumnHeaderMouseDown(o,e),onDragstart:o[3]||(o[3]=e=>i.onColumnHeaderDragStart(e)),onDragover:o[4]||(o[4]=e=>i.onColumnHeaderDragOver(e)),onDragleave:o[5]||(o[5]=e=>i.onColumnHeaderDragLeave(e)),onDrop:o[6]||(o[6]=e=>i.onColumnHeaderDrop(e)),colspan:i.columnProp(e,"colspan"),rowspan:i.columnProp(e,"rowspan"),"aria-sort":i.getAriaSort(e)},[l.resizableColumns?(t.openBlock(),t.createBlock("span",{key:0,class:"p-column-resizer",onMousedown:o[1]||(o[1]=e=>i.onColumnResizeStart(e))},null,32)):t.createCommentVNode("",!0),e.children&&e.children.header?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.children.header),{key:1,column:e},null,8,["column"])):t.createCommentVNode("",!0),i.columnProp(e,"header")?(t.openBlock(),t.createBlock("span",R,t.toDisplayString(i.columnProp(e,"header")),1)):t.createCommentVNode("",!0),i.columnProp(e,"sortable")?(t.openBlock(),t.createBlock("span",{key:3,class:i.getSortableColumnIcon(e)},null,2)):t.createCommentVNode("",!0),i.isMultiSorted(e)?(t.openBlock(),t.createBlock("span",C,t.toDisplayString(i.getMultiSortMetaIndex(e)+1),1)):t.createCommentVNode("",!0),"multiple"!==i.columnProp(e,"selectionMode")||i.hasColumnFilter()?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(a,{key:5,checked:l.allRowsSelected,onChange:o[2]||(o[2]=e=>i.onHeaderCheckboxChange(e)),disabled:l.empty},null,8,["checked","disabled"]))],46,["tabindex","onKeydown","onClick","onMousedown","colspan","rowspan","aria-sort"])):t.createCommentVNode("",!0)],64)))),256))]),i.hasColumnFilter()?(t.openBlock(),t.createBlock("tr",x,[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(l.columns,((e,n)=>(t.openBlock(),t.createBlock(t.Fragment,null,["subheader"!==l.rowGroupMode||l.groupRowsBy!==i.columnProp(e,"field")?(t.openBlock(),t.createBlock("th",{key:i.columnProp(e,"columnKey")||i.columnProp(e,"field")||n,class:i.getFilterColumnHeaderClass(e),style:i.columnProp(e,"filterHeaderStyle")},[e.children&&e.children.filter?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.children.filter),{key:0,column:e},null,8,["column"])):t.createCommentVNode("",!0),"multiple"===i.columnProp(e,"selectionMode")?(t.openBlock(),t.createBlock(a,{key:1,checked:l.allRowsSelected,onChange:o[7]||(o[7]=e=>i.onHeaderCheckboxChange(e)),disabled:l.empty},null,8,["checked","disabled"])):t.createCommentVNode("",!0)],6)):t.createCommentVNode("",!0)],64)))),256))])):t.createCommentVNode("",!0)],64))])};var S={inheritAttrs:!1,emits:["change"],props:{value:null,checked:null},data:()=>({focused:!1}),methods:{onClick(e){this.disabled||this.checked||this.$emit("change",{originalEvent:e,data:this.value})},onFocus(){this.focused=!0},onBlur(){this.focused=!1}}};const B=t.createVNode("div",{class:"p-radiobutton-icon"},null,-1);S.render=function(e,o,l,n,r,i){return t.openBlock(),t.createBlock("div",{class:"p-radiobutton p-component",onClick:o[1]||(o[1]=(...e)=>i.onClick&&i.onClick(...e)),tabindex:"0",onFocus:o[2]||(o[2]=e=>i.onFocus(e)),onBlur:o[3]||(o[3]=e=>i.onBlur(e))},[t.createVNode("div",{ref:"box",class:["p-radiobutton-box p-component",{"p-highlight":l.checked,"p-disabled":e.$attrs.disabled,"p-focus":r.focused}],role:"radio","aria-checked":l.checked},[B],10,["aria-checked"])],32)};var D={inheritAttrs:!1,emits:["change"],props:{value:null,checked:null},data:()=>({focused:!1}),methods:{onClick(e){this.$attrs.disabled||(this.focused=!0,this.$emit("change",{originalEvent:e,data:this.value}))},onFocus(){this.focused=!0},onBlur(){this.focused=!1}}};D.render=function(e,o,l,n,r,i){return t.openBlock(),t.createBlock("div",{class:"p-checkbox p-component",onClick:o[3]||(o[3]=(...e)=>i.onClick&&i.onClick(...e)),onKeydown:o[4]||(o[4]=t.withKeys(t.withModifiers(((...e)=>i.onClick&&i.onClick(...e)),["prevent"]),["space"]))},[t.createVNode("div",{ref:"box",class:["p-checkbox-box p-component",{"p-highlight":l.checked,"p-disabled":e.$attrs.disabled,"p-focus":r.focused}],role:"checkbox","aria-checked":l.checked,tabindex:e.$attrs.disabled?null:"0",onFocus:o[1]||(o[1]=e=>i.onFocus(e)),onBlur:o[2]||(o[2]=e=>i.onBlur(e))},[t.createVNode("span",{class:["p-checkbox-icon",{"pi pi-check":l.checked}]},null,2)],42,["aria-checked","tabindex"])],32)};var M={emits:["cell-edit-init","cell-edit-complete","cell-edit-cancel","row-edit-init","row-edit-save","row-edit-cancel","row-toggle","radio-change","checkbox-change"],props:{rowData:{type:Object,default:null},column:{type:Object,default:null},index:{type:Number,default:null},rowTogglerIcon:{type:Array,default:null},selected:{type:Boolean,default:!1},editing:{type:Boolean,default:!1},editMode:{type:String,default:null}},documentEditListener:null,selfClick:!1,data(){return{d_editing:this.editing}},watch:{editing(e){this.d_editing=e}},mounted(){this.children=this.$children},updated(){let o="row"===this.editMode?"[autofocus]":"input",t=e.DomHandler.findSingle(this.$el,o);t&&document.activeElement!=t&&t.focus()},methods:{columnProp(e){return this.column.props?this.column.type.props[e].type===Boolean&&""===this.column.props[e]||this.column.props[e]:null},resolveFieldData(){return e.ObjectUtils.resolveFieldData(this.rowData,this.columnProp("field"))},toggleRow(e){this.$emit("row-toggle",{originalEvent:e,data:this.rowData})},toggleRowWithRadio(e){this.$emit("radio-change",e)},toggleRowWithCheckbox(e){this.$emit("checkbox-change",e)},isEditable(){return this.column.children&&null!=this.column.children.editor},bindDocumentEditListener(){this.documentEditListener||(this.documentEditListener=e=>{this.isOutsideClicked()&&this.completeEdit(e,"outside"),this.selfClick=!1},document.addEventListener("click",this.documentEditListener))},unbindDocumentEditListener(){this.documentEditListener&&(document.removeEventListener("click",this.documentEditListener),this.documentEditListener=null,this.selfClick=!1)},switchCellToViewMode(){this.d_editing=!1,this.unbindDocumentEditListener()},isOutsideClicked(){return!this.selfClick},onClick(e){"cell"===this.editMode&&this.isEditable()&&(this.selfClick=!0,this.d_editing||(this.d_editing=!0,this.bindDocumentEditListener(),this.$emit("cell-edit-init",{originalEvent:e,data:this.rowData,field:this.columnProp("field"),index:this.index})))},completeEdit(e,o){let t={originalEvent:e,data:this.rowData,field:this.columnProp("field"),index:this.index,type:o,defaultPrevented:!1,preventDefault:function(){this.defaultPrevented=!0}};this.$emit("cell-edit-complete",t),t.defaultPrevented||this.switchCellToViewMode()},onKeyDown(e){if("cell"===this.editMode)switch(e.which){case 13:this.completeEdit(e,"enter");break;case 27:this.switchCellToViewMode(),this.$emit("cell-edit-cancel",{originalEvent:e,data:this.rowData,field:this.columnProp("field"),index:this.index});break;case 9:this.completeEdit(e,"tab"),e.shiftKey?this.moveToPreviousCell(e):this.moveToNextCell(e)}},moveToPreviousCell(o){let t=this.findCell(o.target),l=this.findPreviousEditableColumn(t);l&&(e.DomHandler.invokeElementMethod(l,"click"),o.preventDefault())},moveToNextCell(o){let t=this.findCell(o.target),l=this.findNextEditableColumn(t);l&&(e.DomHandler.invokeElementMethod(l,"click"),o.preventDefault())},findCell(o){if(o){let t=o;for(;t&&!e.DomHandler.hasClass(t,"p-cell-editing");)t=t.parentElement;return t}return null},findPreviousEditableColumn(o){let t=o.previousElementSibling;if(!t){let e=o.parentElement.previousElementSibling;e&&(t=e.lastElementChild)}return t?e.DomHandler.hasClass(t,"p-editable-column")?t:this.findPreviousEditableColumn(t):null},findNextEditableColumn(o){let t=o.nextElementSibling;if(!t){let e=o.parentElement.nextElementSibling;e&&(t=e.firstElementChild)}return t?e.DomHandler.hasClass(t,"p-editable-column")?t:this.findNextEditableColumn(t):null},isEditingCellValid(){return 0===e.DomHandler.find(this.$el,".p-invalid").length},onRowEditInit(e){this.$emit("row-edit-init",{originalEvent:e,data:this.rowData,field:this.columnProp("field"),index:this.index})},onRowEditSave(e){this.$emit("row-edit-save",{originalEvent:e,data:this.rowData,field:this.columnProp("field"),index:this.index})},onRowEditCancel(e){this.$emit("row-edit-cancel",{originalEvent:e,data:this.rowData,field:this.columnProp("field"),index:this.index})}},computed:{containerClass(){return[this.columnProp("bodyClass"),{"p-selection-column":null!=this.columnProp("selectionMode"),"p-editable-column":this.isEditable(),"p-cell-editing":this.d_editing}]}},components:{DTRadioButton:S,DTCheckbox:D},directives:{ripple:i.default}};const E=t.createVNode("span",{class:"p-row-editor-init-icon pi pi-fw pi-pencil"},null,-1),$=t.createVNode("span",{class:"p-row-editor-save-icon pi pi-fw pi-check"},null,-1),P=t.createVNode("span",{class:"p-row-editor-cancel-icon pi pi-fw pi-times"},null,-1);M.render=function(e,o,l,n,r,i){const a=t.resolveComponent("DTRadioButton"),s=t.resolveComponent("DTCheckbox"),d=t.resolveDirective("ripple");return t.openBlock(),t.createBlock("td",{style:i.columnProp("bodyStyle"),class:i.containerClass,onClick:o[5]||(o[5]=(...e)=>i.onClick&&i.onClick(...e)),onKeydown:o[6]||(o[6]=(...e)=>i.onKeyDown&&i.onKeyDown(...e))},[l.column.children&&l.column.children.body&&!r.d_editing?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l.column.children.body),{key:0,data:l.rowData,column:l.column,index:l.index},null,8,["data","column","index"])):l.column.children&&l.column.children.editor&&r.d_editing?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l.column.children.editor),{key:1,data:l.rowData,column:l.column,index:l.index},null,8,["data","column","index"])):i.columnProp("selectionMode")?(t.openBlock(),t.createBlock(t.Fragment,{key:2},["single"===l.column.props.selectionMode?(t.openBlock(),t.createBlock(a,{key:0,value:l.rowData,checked:l.selected,onChange:i.toggleRowWithRadio},null,8,["value","checked","onChange"])):"multiple"===l.column.props.selectionMode?(t.openBlock(),t.createBlock(s,{key:1,value:l.rowData,checked:l.selected,onChange:i.toggleRowWithCheckbox},null,8,["value","checked","onChange"])):t.createCommentVNode("",!0)],64)):i.columnProp("rowReorder")?(t.openBlock(),t.createBlock("i",{key:3,class:["p-datatable-reorderablerow-handle",i.columnProp("rowReorderIcon")||"pi pi-bars"]},null,2)):i.columnProp("expander")?t.withDirectives((t.openBlock(),t.createBlock("button",{key:4,class:"p-row-toggler p-link",onClick:o[1]||(o[1]=(...e)=>i.toggleRow&&i.toggleRow(...e)),type:"button"},[t.createVNode("span",{class:l.rowTogglerIcon},null,2)],512)),[[d]]):"row"===l.editMode&&i.columnProp("rowEditor")?(t.openBlock(),t.createBlock(t.Fragment,{key:5},[r.d_editing?t.createCommentVNode("",!0):t.withDirectives((t.openBlock(),t.createBlock("button",{key:0,class:"p-row-editor-init p-link",onClick:o[2]||(o[2]=(...e)=>i.onRowEditInit&&i.onRowEditInit(...e)),type:"button"},[E],512)),[[d]]),r.d_editing?t.withDirectives((t.openBlock(),t.createBlock("button",{key:1,class:"p-row-editor-save p-link",onClick:o[3]||(o[3]=(...e)=>i.onRowEditSave&&i.onRowEditSave(...e)),type:"button"},[$],512)),[[d]]):t.createCommentVNode("",!0),r.d_editing?t.withDirectives((t.openBlock(),t.createBlock("button",{key:2,class:"p-row-editor-cancel p-link",onClick:o[4]||(o[4]=(...e)=>i.onRowEditCancel&&i.onRowEditCancel(...e)),type:"button"},[P],512)),[[d]]):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createBlock(t.Fragment,{key:6},[t.createTextVNode(t.toDisplayString(i.resolveFieldData()),1)],64))],38)};var K={emits:["rowgroup-toggle","row-click","row-rightclick","row-touchend","row-keydown","row-mousedown","row-dragstart","row-dragover","row-dragleave","row-dragend","row-drop","row-toggle","radio-change","checkbox-change","cell-edit-init","cell-edit-complete","cell-edit-cancel","row-edit-init","row-edit-save","row-edit-cancel"],props:{value:{type:Array,default:null},columns:{type:null,default:null},empty:{type:Boolean,default:!1},rowGroupMode:{type:String,default:null},groupRowsBy:{type:[Array,String],default:null},expandableRowGroups:{type:Boolean,default:!1},expandedRowGroups:{type:Array,default:null},dataKey:{type:String,default:null},expandedRowIcon:{type:String,default:null},collapsedRowIcon:{type:String,default:null},expandedRows:{type:Array,default:null},expandedRowKeys:{type:null,default:null},selection:{type:[Array,Object],default:null},selectionKeys:{type:null,default:null},selectionMode:{type:String,default:null},contextMenu:{type:Boolean,default:!1},contextMenuSelection:{type:Object,default:null},rowClass:{type:null,default:null},editMode:{type:String,default:null},compareSelectionBy:{type:String,default:"deepEquals"},editingRows:{type:Array,default:null},editingRowKeys:{type:null,default:null},loading:{type:Boolean,default:!1},templates:{type:null,default:null}},methods:{columnProp:(e,o)=>e.props?e.type.props[o].type===Boolean&&""===e.props[o]||e.props[o]:null,shouldRenderRowGroupHeader(o,t,l){let n=e.ObjectUtils.resolveFieldData(t,this.groupRowsBy),r=o[l-1];if(r){return n!==e.ObjectUtils.resolveFieldData(r,this.groupRowsBy)}return!0},getRowKey(o,t){return this.dataKey?e.ObjectUtils.resolveFieldData(o,this.dataKey):t},getRowClass(e){let o=[];if(this.selectionMode&&o.push("p-selectable-row"),this.selection&&o.push({"p-highlight":this.isSelected(e)}),this.contextMenuSelection&&o.push({"p-highlight-contextmenu":this.isSelectedWithContextMenu(e)}),this.rowClass){let t=this.rowClass(e);t&&o.push(t)}return o},shouldRenderRowGroupFooter(o,t,l){if(this.expandableRowGroups&&!this.isRowGroupExpanded(t))return!1;{let n=e.ObjectUtils.resolveFieldData(t,this.groupRowsBy),r=o[l+1];if(r){return n!==e.ObjectUtils.resolveFieldData(r,this.groupRowsBy)}return!0}},shouldRenderBodyCell(o,t,l){if(!this.rowGroupMode)return!0;if("subheader"===this.rowGroupMode)return this.groupRowsBy!==this.columnProp(t,"field");if("rowspan"===this.rowGroupMode){if(this.isGrouped(t)){let n=o[l-1];if(n){return e.ObjectUtils.resolveFieldData(o[l],this.columnProp(t,"field"))!==e.ObjectUtils.resolveFieldData(n,this.columnProp(t,"field"))}return!0}return!0}},calculateRowGroupSize(o,t,l){if(this.isGrouped(t)){let n=e.ObjectUtils.resolveFieldData(o[l],this.columnProp(t,"field")),r=n,i=0;for(;n===r;){i++;let n=o[++l];if(!n)break;r=e.ObjectUtils.resolveFieldData(n,this.columnProp(t,"field"))}return 1===i?null:i}return null},rowTogglerIcon(e){return["p-row-toggler-icon pi",this.isRowExpanded(e)?this.expandedRowIcon:this.collapsedRowIcon]},rowGroupTogglerIcon(e){return["p-row-toggler-icon pi",this.isRowGroupExpanded(e)?this.expandedRowIcon:this.collapsedRowIcon]},isGrouped(e){return!(!this.groupRowsBy||!this.columnProp(e,"field"))&&(Array.isArray(this.groupRowsBy)?this.groupRowsBy.indexOf(e.props.field)>-1:this.groupRowsBy===e.props.field)},isRowEditing(o){return!(!o||!this.editingRows)&&(this.dataKey?!!this.editingRowKeys&&void 0!==this.editingRowKeys[e.ObjectUtils.resolveFieldData(o,this.dataKey)]:this.findIndex(o,this.editingRows)>-1)},isRowExpanded(o){return!(!o||!this.expandedRows)&&(this.dataKey?!!this.expandedRowKeys&&void 0!==this.expandedRowKeys[e.ObjectUtils.resolveFieldData(o,this.dataKey)]:this.findIndex(o,this.expandedRows)>-1)},isRowGroupExpanded(o){if(this.expandableRowGroups&&this.expandedRowGroups){let t=e.ObjectUtils.resolveFieldData(o,this.groupRowsBy);return this.expandedRowGroups.indexOf(t)>-1}return!1},isSelected(o){return!(!o||!this.selection)&&(this.dataKey?!!this.selectionKeys&&void 0!==this.selectionKeys[e.ObjectUtils.resolveFieldData(o,this.dataKey)]:this.selection instanceof Array?this.findIndexInSelection(o)>-1:this.equals(o,this.selection))},isSelectedWithContextMenu(e){return!(!e||!this.contextMenuSelection)&&this.equals(e,this.contextMenuSelection,this.dataKey)},findIndexInSelection(e){return this.findIndex(e,this.selection)},findIndex(e,o){let t=-1;if(o&&o.length)for(let l=0;l<o.length;l++)if(this.equals(e,o[l])){t=l;break}return t},equals(o,t){return"equals"===this.compareSelectionBy?o===t:e.ObjectUtils.equals(o,t,this.dataKey)},onRowGroupToggle(e,o){this.$emit("rowgroup-toggle",{originalEvent:e,data:o})},onRowClick(e,o,t){this.$emit("row-click",{originalEvent:e,data:o,index:t})},onRowRightClick(e,o,t){this.$emit("row-rightclick",{originalEvent:e,data:o,index:t})},onRowTouchEnd(e){this.$emit("row-touchend",e)},onRowKeyDown(e,o,t){this.$emit("row-keydown",{originalEvent:e,data:o,index:t})},onRowMouseDown(e){this.$emit("row-mousedown",e)},onRowDragStart(e,o){this.$emit("row-dragstart",{originalEvent:e,index:o})},onRowDragOver(e,o){this.$emit("row-dragover",{originalEvent:e,index:o})},onRowDragLeave(e){this.$emit("row-dragleave",e)},onRowDragEnd(e){this.$emit("row-dragend",e)},onRowDrop(e){this.$emit("row-drop",e)},onRowToggle(e){this.$emit("row-toggle",e)},onRadioChange(e){this.$emit("radio-change",e)},onCheckboxChange(e){this.$emit("checkbox-change",e)},onCellEditInit(e){this.$emit("cell-edit-init",e)},onCellEditComplete(e){this.$emit("cell-edit-complete",e)},onCellEditCancel(e){this.$emit("cell-edit-cancel",e)},onRowEditInit(e){this.$emit("row-edit-init",e)},onRowEditSave(e){this.$emit("row-edit-save",e)},onRowEditCancel(e){this.$emit("row-edit-cancel",e)}},computed:{columnsLength(){return this.columns?this.columns.length:0}},components:{DTBodyCell:M}};const H={class:"p-datatable-tbody"},z={key:1,class:"p-datatable-emptymessage"};K.render=function(e,o,l,n,r,i){const a=t.resolveComponent("DTBodyCell");return t.openBlock(),t.createBlock("tbody",H,[l.empty?(t.openBlock(),t.createBlock("tr",z,[t.createVNode("td",{colspan:i.columnsLength},[l.templates.empty&&!l.loading?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l.templates.empty),{key:0})):t.createCommentVNode("",!0),l.templates.loading&&l.loading?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l.templates.loading),{key:1})):t.createCommentVNode("",!0)],8,["colspan"])])):(t.openBlock(!0),t.createBlock(t.Fragment,{key:0},t.renderList(l.value,((e,n)=>(t.openBlock(),t.createBlock(t.Fragment,null,[l.templates.groupheader&&"subheader"===l.rowGroupMode&&i.shouldRenderRowGroupHeader(l.value,e,n)?(t.openBlock(),t.createBlock("tr",{class:"p-rowgroup-header",key:i.getRowKey(e,n)+"_subheader"},[t.createVNode("td",{colspan:i.columnsLength-1},[l.expandableRowGroups?(t.openBlock(),t.createBlock("button",{key:0,class:"p-row-toggler p-link",onClick:o=>i.onRowGroupToggle(o,e),type:"button"},[t.createVNode("span",{class:i.rowGroupTogglerIcon(e)},null,2)],8,["onClick"])):t.createCommentVNode("",!0),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l.templates.groupheader),{data:e,index:n},null,8,["data","index"]))],8,["colspan"])])):t.createCommentVNode("",!0),!l.expandableRowGroups||i.isRowGroupExpanded(e)?(t.openBlock(),t.createBlock("tr",{class:i.getRowClass(e),key:i.getRowKey(e,n),onClick:o=>i.onRowClick(o,e,n),onContextmenu:o=>i.onRowRightClick(o,e,n),onTouchend:o[10]||(o[10]=e=>i.onRowTouchEnd(e)),onKeydown:o=>i.onRowKeyDown(o,e,n),tabindex:l.selectionMode||l.contextMenu?"0":null,onMousedown:o[11]||(o[11]=e=>i.onRowMouseDown(e)),onDragstart:e=>i.onRowDragStart(e,n),onDragover:e=>i.onRowDragOver(e,n),onDragleave:o[12]||(o[12]=e=>i.onRowDragLeave(e)),onDragend:o[13]||(o[13]=e=>i.onRowDragEnd(e)),onDrop:o[14]||(o[14]=e=>i.onRowDrop(e))},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(l.columns,((r,s)=>(t.openBlock(),t.createBlock(t.Fragment,null,[i.shouldRenderBodyCell(l.value,r,n)?(t.openBlock(),t.createBlock(a,{key:i.columnProp(r,"columnKey")||i.columnProp(r,"field")||s,rowData:e,column:r,index:n,selected:i.isSelected(e),rowTogglerIcon:i.columnProp(r,"expander")?i.rowTogglerIcon(e):null,rowspan:"rowspan"===l.rowGroupMode?i.calculateRowGroupSize(l.value,r,n):null,editMode:l.editMode,editing:"row"===l.editMode&&i.isRowEditing(e),onRadioChange:o[1]||(o[1]=e=>i.onRadioChange(e)),onCheckboxChange:o[2]||(o[2]=e=>i.onCheckboxChange(e)),onRowToggle:o[3]||(o[3]=e=>i.onRowToggle(e)),onCellEditInit:o[4]||(o[4]=e=>i.onCellEditInit(e)),onCellEditComplete:o[5]||(o[5]=e=>i.onCellEditComplete(e)),onCellEditCancel:o[6]||(o[6]=e=>i.onCellEditCancel(e)),onRowEditInit:o[7]||(o[7]=e=>i.onRowEditInit(e)),onRowEditSave:o[8]||(o[8]=e=>i.onRowEditSave(e)),onRowEditCancel:o[9]||(o[9]=e=>i.onRowEditCancel(e))},null,8,["rowData","column","index","selected","rowTogglerIcon","rowspan","editMode","editing"])):t.createCommentVNode("",!0)],64)))),256))],42,["onClick","onContextmenu","onKeydown","tabindex","onDragstart","onDragover"])):t.createCommentVNode("",!0),l.templates.expansion&&l.expandedRows&&i.isRowExpanded(e)?(t.openBlock(),t.createBlock("tr",{class:"p-datatable-row-expansion",key:i.getRowKey(e,n)+"_expansion"},[t.createVNode("td",{colspan:i.columnsLength},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l.templates.expansion),{data:e,index:n},null,8,["data","index"]))],8,["colspan"])])):t.createCommentVNode("",!0),l.templates.groupfooter&&"subheader"===l.rowGroupMode&&i.shouldRenderRowGroupFooter(l.value,e,n)?(t.openBlock(),t.createBlock("tr",{class:"p-rowgroup-footer",key:i.getRowKey(e,n)+"_subfooter"},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l.templates.groupfooter),{data:e,index:n},null,8,["data","index"]))])):t.createCommentVNode("",!0)],64)))),256))])};var G={props:{columnGroup:{type:null,default:null},columns:{type:null,default:null}},methods:{columnProp:(e,o)=>e.props?e.type.props[o].type===Boolean&&""===e.props[o]||e.props[o]:null},computed:{hasFooter(){let e=!1;if(this.columnGroup)e=!0;else if(this.columns)for(let o of this.columns)if(this.columnProp(o,"footer")||o.children&&o.children.footer){e=!0;break}return e}}};const I={key:0,class:"p-datatable-tfoot"},F={key:0};G.render=function(e,o,l,n,r,i){return i.hasFooter?(t.openBlock(),t.createBlock("tfoot",I,[l.columnGroup?(t.openBlock(!0),t.createBlock(t.Fragment,{key:1},t.renderList(l.columnGroup.children.default(),((e,o)=>(t.openBlock(),t.createBlock("tr",{key:o},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(e.children.default(),((e,o)=>(t.openBlock(),t.createBlock("td",{key:i.columnProp(e,"columnKey")||i.columnProp(e,"field")||o,style:i.columnProp(e,"footerStyle"),class:i.columnProp(e,"footerClass"),colspan:i.columnProp(e,"colspan"),rowspan:i.columnProp(e,"rowspan")},[e.children&&e.children.footer?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.children.footer),{key:0,column:e},null,8,["column"])):t.createCommentVNode("",!0),t.createTextVNode(" "+t.toDisplayString(i.columnProp(e,"footer")),1)],14,["colspan","rowspan"])))),128))])))),128)):(t.openBlock(),t.createBlock("tr",F,[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(l.columns,((e,o)=>(t.openBlock(),t.createBlock("td",{key:i.columnProp(e,"columnKey")||i.columnProp(e,"field")||o,style:i.columnProp(e,"footerStyle"),class:i.columnProp(e,"footerClass"),colspan:i.columnProp(e,"colspan"),rowspan:i.columnProp(e,"rowspan")},[e.children&&e.children.footer?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.children.footer),{key:0,column:e},null,8,["column"])):t.createCommentVNode("",!0),t.createTextVNode(" "+t.toDisplayString(i.columnProp(e,"footer")),1)],14,["colspan","rowspan"])))),128))]))])):t.createCommentVNode("",!0)};var T={emits:["update:first","update:rows","page","update:sortField","update:sortOrder","update:multiSortMeta","sort","filter","row-click","update:selection","row-select","row-unselect","update:contextMenuSelection","row-contextmenu","row-unselect-all","row-select-all","column-resize-end","column-reorder","row-reorder","update:expandedRows","row-collapse","row-expand","update:expandedRowGroups","rowgroup-collapse","rowgroup-expand","update:filters","virtual-scroll","state-restore","state-save","cell-edit-init","cell-edit-complete","cell-edit-cancel","update:editingRows","row-edit-init","row-edit-save","row-edit-cancel"],props:{value:{type:Array,default:null},dataKey:{type:String,default:null},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"},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},filterLocale:{type:String,default:void 0},selection:{type:[Array,Object],default:null},selectionMode:{type:String,default:null},compareSelectionBy:{type:String,default:"deepEquals"},metaKeySelection:{type:Boolean,default:!0},contextMenu:{type:Boolean,default:!1},contextMenuSelection:{type:Object,default:null},rowHover:{type:Boolean,default:!1},csvSeparator:{type:String,default:","},exportFilename:{type:String,default:"download"},autoLayout:{type:Boolean,default:!1},resizableColumns:{type:Boolean,default:!1},columnResizeMode:{type:String,default:"fit"},reorderableColumns:{type:Boolean,default:!1},expandedRows:{type:Array,default:null},expandedRowIcon:{type:String,default:"pi-chevron-down"},collapsedRowIcon:{type:String,default:"pi-chevron-right"},rowGroupMode:{type:String,default:null},groupRowsBy:{type:[Array,String],default:null},expandableRowGroups:{type:Boolean,default:!1},expandedRowGroups:{type:Array,default:null},stateStorage:{type:String,default:"session"},stateKey:{type:String,default:null},editMode:{type:String,default:null},editingRows:{type:Array,default:null},rowClass:{type:null,default:null},scrollable:{type:Boolean,default:!1},scrollHeight:{type:String,default:null},frozenValue:{type:Array,default:null},frozenWidth:{type:String,default:null},virtualScroll:{type:Boolean,default:!1},virtualRowHeight:{type:Number,default:28},virtualScrollDelay:{type:Number,default:150}},data(){return{d_first:this.first,d_rows:this.rows,d_sortField:this.sortField,d_sortOrder:this.sortOrder,d_multiSortMeta:this.multiSortMeta?[...this.multiSortMeta]:[],d_selectionKeys:null,d_expandedRowKeys:null,d_columnOrder:null,d_editingRowKeys:null}},rowTouched:!1,anchorRowIndex:null,rangeRowIndex:null,documentColumnResizeListener:null,documentColumnResizeEndListener:null,lastResizeHelperX:null,resizeColumnElement:null,columnResizing:!1,colReorderIconWidth:null,colReorderIconHeight:null,draggedColumn:null,draggedRowIndex:null,droppedRowIndex:null,rowDragging:null,columnWidthsState:null,tableWidthState:null,columnWidthsRestored:!1,virtualScrollTimer:null,watch:{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},selection(e){this.dataKey&&this.updateSelectionKeys(e)},expandedRows(e){this.dataKey&&this.updateExpandedRowKeys(e)},editingRows(e){this.dataKey&&this.updateEditingRowKeys(e)}},beforeMount(){this.isStateful()&&this.restoreState()},mounted(){if(this.reorderableColumns){let e=[];this.columns.forEach((o=>e.push(this.columnProp(o,"columnKey")||this.columnProp(o,"field")))),this.d_columnOrder=e}},beforeUnmount(){this.unbindColumnResizeEvents()},updated(){this.isStateful()&&(this.saveState(),this.resizableColumns&&!this.columnWidthsRestored&&(this.restoreColumnWidths(),this.columnWidthsRestored=!0))},methods:{columnProp:(e,o)=>e.props?e.type.props[o].type===Boolean&&""===e.props[o]||e.props[o]:null,onPage(e){this.d_first=e.first,this.d_rows=e.rows;let o=this.createLazyLoadEvent(e);o.pageCount=e.pageCount,o.page=e.page,this.$emit("update:first",this.d_first),this.$emit("update:rows",this.d_rows),this.$emit("page",o)},onColumnHeaderClick(o){const t=o.originalEvent,l=o.column;if(this.columnProp(l,"sortable")){const o=t.target,n=this.columnProp(l,"sortField")||this.columnProp(l,"field");if(e.DomHandler.hasClass(o,"p-sortable-column")||e.DomHandler.hasClass(o,"p-column-title")||e.DomHandler.hasClass(o,"p-sortable-column-icon")||e.DomHandler.hasClass(o.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){t.metaKey||t.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(t))}}},sortSingle(o){let t=[...o];return t.sort(((o,t)=>{let l=e.ObjectUtils.resolveFieldData(o,this.d_sortField),n=e.ObjectUtils.resolveFieldData(t,this.d_sortField),r=null;return r=null==l&&null!=n?-1:null!=l&&null==n?1:null==l&&null==n?0:"string"==typeof l&&"string"==typeof n?l.localeCompare(n,void 0,{numeric:!0}):l<n?-1:l>n?1:0,this.d_sortOrder*r})),t},sortMultiple(e){let o=[...e];return o.sort(((e,o)=>this.multisortField(e,o,0))),o},multisortField(o,t,l){const n=e.ObjectUtils.resolveFieldData(o,this.d_multiSortMeta[l].field),r=e.ObjectUtils.resolveFieldData(t,this.d_multiSortMeta[l].field);let i=null;if("string"==typeof n||n instanceof String){if(n.localeCompare&&n!==r)return this.d_multiSortMeta[l].order*n.localeCompare(r,void 0,{numeric:!0})}else i=n<r?-1:1;return n===r?this.d_multiSortMeta.length-1>l?this.multisortField(o,t,l+1):0:this.d_multiSortMeta[l].order*i},addMultiSortField(e){let o=this.d_multiSortMeta.findIndex((o=>o.field===e));o>=0?this.removableSort&&-1*this.d_multiSortMeta[o].order===this.defaultSortOrder?this.d_multiSortMeta.splice(o,1):this.d_multiSortMeta[o]={field:e,order:-1*this.d_multiSortMeta[o].order}:this.d_multiSortMeta.push({field:e,order:this.defaultSortOrder}),this.d_multiSortMeta=[...this.d_multiSortMeta]},filter(o){this.d_first=0,this.$emit("update:first",this.d_first);let t=[];for(let l=0;l<o.length;l++){let n=!0,r=!1;for(let t=0;t<this.columns.length;t++){let i=this.columns[t],a=this.columnProp(i,"filterField")||this.columnProp(i,"field");if(Object.prototype.hasOwnProperty.call(this.filters,a)){let t=this.filters[a],r=e.ObjectUtils.resolveFieldData(o[l],a);if(("custom"===this.columnProp(i,"filterMatchMode")?i.props&&i.props.filterFunction:e.FilterUtils[this.columnProp(i,"filterMatchMode")||"startsWith"])(r,t,this.filterLocale)||(n=!1),!n)break}this.columnProp(i,"excludeGlobalFilter")||!this.hasGlobalFilter()||r||(r=e.FilterUtils.contains(e.ObjectUtils.resolveFieldData(o[l],a),this.filters.global,this.filterLocale))}let i=n;this.hasGlobalFilter()&&(i=n&&r),i&&t.push(o[l])}t.length===o.length&&(t=o);let l=this.createLazyLoadEvent();return l.filteredValue=t,this.$emit("filter",l),t},onRowClick(o){const t=o.originalEvent;if(!e.DomHandler.isClickable(t.target)){if(this.$emit("row-click",o),this.selectionMode){const l=o.data,n=o.index;if(this.isMultipleSelectionMode()&&t.shiftKey&&null!=this.anchorRowIndex)e.DomHandler.clearSelection(),this.rangeRowIndex=n,this.selectRange(t);else{const e=this.isSelected(l),o=!this.rowTouched&&this.metaKeySelection;if(this.anchorRowIndex=n,this.rangeRowIndex=n,o){let o=t.metaKey||t.ctrlKey;if(e&&o){if(this.isSingleSelectionMode())this.$emit("update:selection",null);else{const e=this.findIndexInSelection(l),o=this.selection.filter(((o,t)=>t!=e));this.$emit("update:selection",o)}this.$emit("row-unselect",{originalEvent:t,data:l,index:t.index,type:"row"})}else{if(this.isSingleSelectionMode())this.$emit("update:selection",l);else if(this.isMultipleSelectionMode()){let e=o&&this.selection||[];e=[...e,l],this.$emit("update:selection",e)}this.$emit("row-select",{originalEvent:t,data:l,index:t.index,type:"row"})}}else if("single"===this.selectionMode)e?(this.$emit("update:selection",null),this.$emit("row-unselect",{originalEvent:t,data:l,index:t.index,type:"row"})):(this.$emit("update:selection",l),this.$emit("row-select",{originalEvent:t,data:l,index:t.index,type:"row"}));else if("multiple"===this.selectionMode)if(e){const e=this.findIndexInSelection(l),o=this.selection.filter(((o,t)=>t!=e));this.$emit("update:selection",o),this.$emit("row-unselect",{originalEvent:t,data:l,index:t.index,type:"row"})}else{const e=this.selection?[...this.selection,l]:[l];this.$emit("update:selection",e),this.$emit("row-select",{originalEvent:t,data:l,index:t.index,type:"row"})}}}this.rowTouched=!1}},onRowRightClick(o){e.DomHandler.clearSelection(),o.originalEvent.target.focus(),this.$emit("update:contextMenuSelection",o.data),this.$emit("row-contextmenu",o)},onRowTouchEnd(){this.rowTouched=!0},onRowKeyDown(e){const o=e.originalEvent,t=e.data,l=e.index;if(this.selectionMode){const e=o.target;switch(o.which){case 40:var n=this.findNextSelectableRow(e);n&&n.focus(),o.preventDefault();break;case 38:var r=this.findPrevSelectableRow(e);r&&r.focus(),o.preventDefault();break;case 13:this.onRowClick({originalEvent:o,data:t,index:l})}}},findNextSelectableRow(o){let t=o.nextElementSibling;return t?e.DomHandler.hasClass(t,"p-selectable-row")?t:this.findNextSelectableRow(t):null},findPrevSelectableRow(o){let t=o.previousElementSibling;return t?e.DomHandler.hasClass(t,"p-selectable-row")?t:this.findPrevSelectableRow(t):null},toggleRowWithRadio(e){const o=e.data;this.isSelected(o)?(this.$emit("update:selection",null),this.$emit("row-unselect",{originalEvent:e,data:o,type:"radiobutton"})):(this.$emit("update:selection",o),this.$emit("row-select",{originalEvent:e,data:o,type:"radiobutton"}))},toggleRowWithCheckbox(e){const o=e.data;if(this.isSelected(o)){const t=this.findIndexInSelection(o),l=this.selection.filter(((e,o)=>o!=t));this.$emit("update:selection",l),this.$emit("row-unselect",{originalEvent:e,data:o,type:"checkbox"})}else{let t=this.selection?[...this.selection]:[];t=[...t,o],this.$emit("update:selection",t),this.$emit("row-select",{originalEvent:e,data:o,type:"checkbox"})}},toggleRowsWithCheckbox(e){const o=this.processedData,t=this.allRowsSelected,l=t?[]:o?[...o]:[...this.value];this.$emit("update:selection",l),t?this.$emit("row-unselect-all",{originalEvent:e}):this.$emit("row-select-all",{originalEvent:e,data:l})},isSingleSelectionMode(){return"single"===this.selectionMode},isMultipleSelectionMode(){return"multiple"===this.selectionMode},isSelected(o){return!(!o||!this.selection)&&(this.dataKey?!!this.d_selectionKeys&&void 0!==this.d_selectionKeys[e.ObjectUtils.resolveFieldData(o,this.dataKey)]:this.selection instanceof Array?this.findIndexInSelection(o)>-1:this.equals(o,this.selection))},findIndexInSelection(e){return this.findIndex(e,this.selection)},findIndex(e,o){let t=-1;if(o&&o.length)for(let l=0;l<o.length;l++)if(this.equals(e,o[l])){t=l;break}return t},updateSelectionKeys(o){if(this.d_selectionKeys={},Array.isArray(o))for(let t of o)this.d_selectionKeys[String(e.ObjectUtils.resolveFieldData(t,this.dataKey))]=1;else this.d_selectionKeys[String(e.ObjectUtils.resolveFieldData(o,this.dataKey))]=1},updateExpandedRowKeys(o){if(o&&o.length){this.d_expandedRowKeys={};for(let t of o)this.d_expandedRowKeys[String(e.ObjectUtils.resolveFieldData(t,this.dataKey))]=1}else this.d_expandedRowKeys=null},updateEditingRowKeys(o){if(o&&o.length){this.d_editingRowKeys={};for(let t of o)this.d_editingRowKeys[String(e.ObjectUtils.resolveFieldData(t,this.dataKey))]=1}else this.d_editingRowKeys=null},equals(o,t){return"equals"===this.compareSelectionBy?o===t:e.ObjectUtils.equals(o,t,this.dataKey)},selectRange(e){let o,t;this.rangeRowIndex>this.anchorRowIndex?(o=this.anchorRowIndex,t=this.rangeRowIndex):this.rangeRowIndex<this.anchorRowIndex?(o=this.rangeRowIndex,t=this.anchorRowIndex):(o=this.rangeRowIndex,t=this.rangeRowIndex),this.lazy&&this.pa