@progress/kendo-vue-treelist 8.1.0-develop.1 → 8.1.0-develop.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/TreeList.d.ts CHANGED
@@ -54,6 +54,8 @@ declare const TreeList: import('vue').DefineComponent<import('vue').ExtractPropT
54
54
  onSortchange: PropType<(event: import('./interfaces/events').TreeListSortChangeEvent) => void>;
55
55
  onFilterchange: PropType<(event: import('./interfaces/events').TreeListFilterChangeEvent) => void>;
56
56
  }>, {}, {
57
+ showLicenseWatermark: boolean;
58
+ licenseMessage: any;
57
59
  wrapperScrollLeft: number;
58
60
  wrapperScrollTop: number;
59
61
  updateOnScroll: boolean;
package/TreeList.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),l=require("@progress/kendo-vue-common"),c=require("@progress/kendo-vue-data-tools"),le=require("./TreeListNav.js"),$=require("./utils/main.js"),re=require("./utils/data-operations.js"),ae=require("./cells/TreeListCell.js"),ne=require("./rows/TreeListDraggableRow.js"),de=require("./rows/RowDragClue.js"),he=require("./rows/TreeListRow.js"),ce=require("./package-metadata.js"),y=require("./messages/main.js"),pe=require("@progress/kendo-vue-intl"),ge=require("./cells/TreeListSelectionCell.js");function O(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const ue=n.defineComponent({name:"KendoTreeList",props:{dataItems:Array,resizable:Boolean,reorderable:Boolean,sortable:[Object,Boolean],sort:Array,columns:Array,columnVirtualization:Boolean,filter:[Array,Object],filterable:Boolean,filterOperators:Object,filterRow:[String,Function,Object],cellRender:[String,Function,Object],toolbar:[String,Function,Object],noRecords:[String,Function,Object],expandField:String,subItemsField:String,selectedField:String,editField:String,scrollable:String,rowHeight:Number,tableProps:Object,rowClass:Function,pageable:[Boolean,Object],pager:[String,Function,Object],skip:Number,take:Number,wrapperStyle:Object,dataItemKey:String,navigatable:Boolean,size:{type:String,validator:function(e){return["none","small","medium"].includes(e)}},reordableRows:Boolean,onDatastatechange:Function,onPagechange:Function,onSortchange:Function,onFilterchange:Function},created(){this.prevData=[],this.prevColumns=void 0,this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.element=null,this._treeListId=l.guid(),l.validatePackage(ce.packageMetadata),this.dragLogic=new c.CommonDragLogic(this.columnReorder.bind(this),l.noop,l.noop),this.columnResize=new c.ColumnResize(this.onResize.bind(this))},inject:{kendoLocalizationService:{default:null}},computed:{wrapperClass(){const{size:e,scrollable:t}=this.$props;return{"k-grid":!0,[this.$props.className]:this.$props.className,"k-grid-md":!e,[`k-grid-${l.kendoThemeMaps.sizeMap[e]||e}`]:e,"k-treelist":!0,"k-treelist-scrollable":t!=="none"}},toolbarClass(){const{size:e}=this.$props;return{"k-toolbar":!0,"k-toolbar-solid":!0,"k-grid-toolbar":!0,[`k-toolbar-${l.kendoThemeMaps.sizeMap[e]||e}`]:e}},gridTableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-table":!0,"k-grid-md":!e,[`k-table-${l.kendoThemeMaps.sizeMap[e]||e}`]:e}}},data(){return{wrapperScrollLeft:0,wrapperScrollTop:0,updateOnScroll:!1,tbodyOffsetTop:0,isRtl:!1,navigation:void 0,rowClue:{}}},mounted(){this.calculateSizes(this.$el);const e=l.isRtl(this.$el);this.isRtl=e;let t="$el";const i=l.getRef(this,"gridNav"),o=l.getRef(this,"dropElementClue"),a=l.getRef(this,"dragElementClue");this.dragLogic.refDropElementClue(o),this.dragLogic.refDragElementClue(a),this.columnResize.colGroupMain=l.getRef(this,"colGroup"),i&&(this.element=i[t])},destroyed(){this.columnResize.columns=[],this.dragLogic.columns=[],this.extendedColumn=[],this.columnsMap=[],this.prevData=[],this.flattedData=[],this.updateOnScroll=!1},render(){l.getDefaultSlots(this);const{columns:e=[],filterRow:t,scrollable:i="scrollable",resizable:o=!1,reorderable:a=!1,skip:d,take:u,filterable:h,reordableRows:f}=this.$props,M=t||c.FilterRow,D=c.tableKeyboardNavigationTools.getIdPrefix(this.navigation);this.prevColumns!==e&&(this.extendedColumn=c.readColumns(e,{prevId:0,idPrefix:D}),this.columnsMap=c.mapColumns(this.extendedColumn)),this.prevColumns=this.$props.columns;const R=this.extendedColumn.filter(s=>s.children.length===0);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=o,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=a,this.dragLogic.groupable=!1;const V=this.$props.filter&&this.$props.filter.length===0?void 0:this.$props.filter&&this.$props.filter.length!==void 0?{logic:"and",filters:this.$props.filter}:this.$props.filter,E=n.createVNode(c.Header,{size:this.$props.size,headerRow:n.createVNode(c.HeaderRow,{grid:this,sort:this.$props.sort,filter:V,sortable:this.$props.sortable,selectedField:this.$props.selectedField,reorderable:a,filterable:h,filterOperators:this.$props.filterOperators||c.operators,onSortChange:this.sortChange,onSelectionchange:this.onHeaderSelectionChange,columns:this.extendedColumn,columnsMap:this.columnsMap,cellRender:this.$props.headerCellRender,columnResize:this.columnResize,columnMenu:this.$props.columnMenu,onFilterChange:this.columnMenuFilterChange,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,filterRow:h?n.createVNode(M,{size:this.$props.size,columns:R,filter:this.$props.filter||[],onFilterchange:this.filterChange,sort:this.$props.sort,ariaRowIndex:this.columnsMap.length+1,grid:this,filterOperators:this.$props.filterOperators||c.operators,cellRender:this.$props.filterCellRender,isRtl:this.isRtl},null):void 0},null),columnResize:this.columnResize},null),I=this.$props.wrapperStyle||{},{colSpans:T,hiddenColumns:H}=c.tableColumnsVirtualization({enabled:this.$props.columnVirtualization,columns:R,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((I.width||"").toString())}),P=(s,b,k,v,S,C)=>R.map(function(r,g){if(H[g])return null;const x=r.id?r.id:g,w=`${r.className?r.className+" ":""}${r.locked?"k-grid-content-sticky":""}`,p=l.templateRendering.call(this,this.$props.cellRender||r.cell,l.getListeners.call(this));if(b&&r.editCell){const L=l.templateRendering.call(this,r.editCell,l.getListeners.call(this));return l.getTemplate.call(this,{h:n.h,template:L,additionalProps:{id:c.tableKeyboardNavigationTools.generateNavigatableId(`${k}-${String(g)}`,D),colSpan:T[g],dataItem:s.dataItem,field:r.field,format:r.format,class:w||void 0,render:p,level:s.level,expandable:r.expandable,expanded:v,hasChildren:this.hasChildren(s.dataItem),colIndex:g,ariaColumnIndex:r.ariaColumnIndex,style:r.left!==void 0&&{left:r.left+"px",right:r.right+"px",borderRightWidth:r.rightBorder?"1px":""}||{},isSelected:Array.isArray(C)&&C.indexOf(g)>-1},additionalListeners:{change:this.itemChange,input:this.itemChange,expandchange:this.expandChange,selectionchange:oe=>this.selectionChange(oe,s,g,S)}})}const ie=this.selectedField&&r.field===this.selectedField?ge.TreeListSelectionCell:ae.TreeListCell;return n.createVNode(ie,{key:x,id:c.tableKeyboardNavigationTools.generateNavigatableId(`${k}-${String(g)}`,D),colSpan:T[g],dataItem:s.dataItem,field:r.field,format:r.format,class:w||void 0,render:p,onCellclick:this.cellClick,onCellkeydown:this.cellKeydown,onChange:this.itemChange,onSelectionchange:L=>this.selectionChange(L,s,g,S),level:s.level,expandable:r.expandable,expanded:v,hasChildren:this.hasChildren(s.dataItem),onExpandchange:this.expandChange,colIndex:g,ariaColumnIndex:r.ariaColumnIndex,style:r.left!==void 0&&{left:r.left+"px",right:r.right+"px",borderRightWidth:r.rightBorder?"1px":""}||{},isSelected:Array.isArray(C)&&C.indexOf(g)>-1},null)},this);let m=this.flatData();const z=m.length;d!==void 0&&u!==void 0&&(m=m.slice(d,d+u)),i==="virtual"&&(m=$.tableRowsVirtualization({rows:m,tableViewPortHeight:parseFloat((I.height||I.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const A=l.templateRendering.call(this,this.$props.noRecords,l.getListeners.call(this)),K=pe.provideLocalizationService(this).toLanguageString(y.noRecords,y.messages[y.noRecords]),j=l.getTemplate.call(this,{h:n.h,template:A}),F=m.length?m.map(function(s){return s.level}):[],B=this.columnsMap.length+(h?1:0)+1,q=m.length>0&&m.map(function(s,b){const k=$.getNestedValue(this.$props.editField,s.dataItem),v=this.$props.dataItemKey&&l.getter(this.$props.dataItemKey)(s.dataItem),S=String(v||s.level.join(".")),C=this.expanded(s.dataItem),r=this.$props.selectedField?$.getNestedValue(this.$props.selectedField,s.dataItem):void 0,g=this.$props.row||he.TreeListRow,x=P(s,k,S,C,b,r),w=n.createVNode(g,{key:S,level:s.level,levels:F,dataItem:s.dataItem,selectedField:this.$props.selectedField,rowHeight:i==="virtual"?s.height:this.$props.rowHeight,render:this.$props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:p=>this.emitRowEvent("rowclick",p,s),onDblclick:p=>this.emitRowEvent("rowdoubleclick",p,s),onContextmenu:p=>this.emitRowEvent("rowcontextmenu",p,s),onFocus:p=>this.emitRowEvent("rowfocus",p,s),onBlur:p=>this.emitRowEvent("rowblur",p,s),onMousedown:p=>this.emitRowEvent("rowmousedown",p,s),onMouseup:p=>this.emitRowEvent("rowmouseup",p,s),isAltRow:b%2!==0,expanded:C,rowIndex:b,ariaRowIndex:B+b,ariaSetSize:s.levelCount,ariaPosInSet:s.level[s.level.length-1]+1,isSelected:typeof r=="boolean"&&r,className:this.$props.rowClass?this.$props.rowClass(s):""},O(x)?x:{default:()=>[x]});return f?n.createVNode(ne.TreeListDraggableRow,{key:S,level:s.level,levels:F,dataItem:s.dataItem,onDrag:this.onRowDrag,onDrop:this.onRowDrop},O(w)?w:{default:()=>[w]}):w},this)||n.createVNode("tr",{class:"k-table-row k-grid-norecords"},[n.createVNode("td",{class:"k-table-td",colspan:R.length},[this.$props.noRecords?j:K])]),_=s=>this.$props.sort&&this.$props.sort.some(b=>b.field===s),W=n.createVNode("colgroup",{ref:l.setRef(this,"colGroup")},[R.map(function(s){return n.createVNode("col",{class:_(s.field)?"k-sorted":void 0,width:s.width!==void 0?s.width.toString().indexOf("%")!==-1?s.width:Math.floor(parseFloat(s.width.toString()))+"px":void 0},null)},this)]),U=this.$props.columnVirtualization||this.$props.scrollable==="virtual",G=this.$props.selectable&&this.$props.selectable.drag?"none":void 0,J=this.$props.tableProps||{},Q=l.templateRendering.call(this,this.$props.toolbar,l.getListeners.call(this)),X=l.getTemplate.call(this,{h:n.h,template:Q}),Y=l.templateRendering.call(this,this.$props.pager,l.getListeners.call(this)),Z=this.$props.pageable&&n.createVNode(c.Pager,{class:"k-grid-pager",size:this.$props.size,onPagesizechange:this.pageChangeHandler,onPagechange:this.pageChangeHandler,total:z,skip:this.$props.skip||0,pageSize:this.$props.take||10,messagesMap:y.pagerMessagesMap,settings:c.normalize(this.$props.pageable||{})},null),ee=l.getTemplate.call(this,{h:n.h,template:Y,defaultRendering:Z,additionalProps:{...this.$props,skip:this.skip||0,messagesMap:y.pagerMessagesMap},additionalListeners:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler}}),N=this.dragLogic.reorderable&&l.canUseDOM&&document&&document.body,te=this.reordableRows&&this.rowClue&&this.rowClue.visible&&l.canUseDOM&&document&&document.body,se=[N&&n.createVNode(c.DropClue,{ref:l.setRef(this,"dropElementClue")},null),N&&n.createVNode(c.DragClue,{ref:l.setRef(this,"dragElementClue")},null),te&&n.createVNode(de.RowDragClue,{visible:this.rowClue.visible,top:this.rowClue.top,left:this.rowClue.left,text:this.rowClue.text,allowDrop:this.rowClue.allowDrop},null)];return n.createVNode(c.TableKeyboardNavigationProvider,{ref:"navRef",id:this._treeListId,navigatable:this.$props.navigatable},{default:()=>[n.createVNode(le.TreeListNav,{style:this.$props.wrapperStyle,class:this.wrapperClass,currentData:m,onScroll:U?this.handleOnScroll:l.noop,onKeydown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":z,"aria-colcount":R.length,role:"treegrid",ref:s=>{this.treeListNavRef=s}},{default:()=>[this.$props.toolbar&&n.createVNode("div",{class:this.toolbarClass},[X]),n.createVNode("table",{class:this.gridTableClass,style:{...J.style||{},userSelect:G},role:"presentation"},[W,E,n.createVNode("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0,role:"presentation"},[q])]),ee,se]})]})},methods:{scrollIntoView(e){if(!this.element)return;const{rowIndex:t=0}=e,{scrollable:i,rowHeight:o=0}=this.$props;if(i==="virtual"||o)this.element.scroll(0,(t-1)*o);else{const a=this.element.querySelector(`tbody > tr:nth-child(${t})`);if(a){const d=a.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,d)}}},getColumns(){const e=this.extendedColumn.filter(i=>i.declarationIndex>=0&&i.parentIndex===-1);return(i=>(i.sort((o,a)=>o.declarationIndex-a.declarationIndex),i))(e)},flatData(){const{dataItems:e=[],rowHeight:t=0}=this.$props;let i=0;const o=d=>{const u={height:t,offsetTop:i};return i+=u.height,u},a=this.updateOnScroll&&this.prevData===e&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:re.flatData(e,this.expandedSubItems,o);return this.prevData=e,this.flattedData=a,a},onKeyDown(e){this.$emit("keydown",e)},onFocus(e){},onRowDrag(e){this.rowClue=e.clueProps,this.$emit("rowdrag",{...e,target:this})},onRowDrop(e){this.rowClue=e.clueProps,e.clueProps.allowDrop&&this.$emit("rowdrop",{...e,target:this})},columnReorder(e,t,i){const o=this.extendedColumn[e].depth,a=h=>{do h++;while(h<this.extendedColumn.length&&this.extendedColumn[h].depth>o);return h},d=this.extendedColumn.splice(e,a(e)-e);this.extendedColumn.splice(e<t?a(t-d.length):t,0,...d),this.extendedColumn.filter(h=>h.declarationIndex>=0).forEach((h,f)=>h.orderIndex=f);const u={component:this,columns:this.getColumns(),prev:e,next:t,event:i};this.$emit("columnreorder",u)},onResize(e,t,i,o,a){const d=this.extendedColumn.filter(h=>h.children.length===0).reduce((h,f)=>h+=parseFloat(String(f.width)),0);if(this.extendedColumn&&this.columns){const h=this.columns[e].width,f=h&&h.toString().indexOf("px")>0;this.extendedColumn[e].width=f?t+"px":t}const u={columns:this.getColumns(),totalWidth:d,index:e,event:o,newWidth:t,oldWidth:i,end:a,component:this};a&&(this.prevColumns=void 0),this.$emit("columnresize",u)},handleOnScroll(e){const t=e.currentTarget.scrollLeft,i=e.currentTarget.scrollTop,{columnVirtualization:o,scrollable:a,rowHeight:d=0}=this.$props,u=d,h=0;let f=!1;o&&Math.abs(this.wrapperScrollLeft-t)>h&&(this.wrapperScrollLeft=t,f=!0),a==="virtual"&&Math.abs(this.wrapperScrollTop-i)>u&&(this.wrapperScrollTop=i,f=!0),f&&(this.updateOnScroll=!0)},calculateSizes(e){if(!e||this.$props.scrollable==="none")return;const t=Array.from(e.childNodes),i=t.find(d=>d.nodeName==="TABLE"),o=this.$props.toolbar&&t.find(d=>d.nodeType===1&&d.classList.contains("k-grid-toolbar"));let a=0;if(o&&l.canUseDOM){const d=o.style.boxSizing;o.style.boxSizing="border-box",a=parseFloat(String(window.getComputedStyle(o).height))||o.offsetHeight,o.style.boxSizing=d,o.getAttribute("style")||o.removeAttribute("style")}this.tbodyOffsetTop=i.tBodies[0].offsetTop,$.setHeaderRowsTop(i,a)},cellClick(e){this.$emit("cellclick",e)},cellKeydown(e){this.$emit("cellkeydown",e)},itemChange(e){if(e.field===this.$props.expandField){if(this.$props.onExpandchange){const o={...this.getArguments(e.event),dataItem:e.dataItem,level:e.level,value:e.value};this.$emit("expandchange",o)}return}const t={...this.getArguments(e.event),dataItem:e.dataItem,level:e.level,field:e.field,value:e.value};e.dataItem&&this.$emit("itemchange",t)},selectionChange(e){const{event:t,item:i,columnIndex:o}=e;if(!i)return;const{mode:a,cell:d}=c.getSelectionOptions(this.$props.selectable),u={...this.getArguments(t),dataItem:i.dataItem,level:i.level,startColIndex:o,endColIndex:o,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:a,cell:d,isDrag:!1,componentId:this._treeListId,selectedField:this.$props.selectedField||""};this.$emit("selectionchange",u)},onHeaderSelectionChange(e){const t={field:e.field,event:e.event,component:this,dataItems:this.getLeafDataItems()};this.$emit("headerselectionchange",t)},selectionRelease(e){if(this.$props.onSelectionchange){const t={event:void 0,component:this,selectedField:this.$props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...e};this.$emit("selectionchange",t)}},sortChange(e,t){this.raiseDataEvent("sortchange",{sort:e,field:t.field},t)},filterChange(e,t){const i=e?e.filters:[];this.raiseDataEvent("filterchange",{filter:i},{filter:i,skip:0},t)},columnMenuFilterChange(e,t){const i=e?e.filters:[],o={...t,filter:i,component:this};this.$emit("columnmenufilterchange",o)},expandChange(e,t,i){const{expandField:o}=this.$props;if(o){const a={...this.getArguments(e),dataItem:t,level:i,value:this.expanded(t)};this.$emit("expandchange",a)}},emitRowEvent(e,t,i){if(t.target.nodeName==="TD"){const o={dataItem:i.dataItem,level:i.level,...this.getArguments(t)};this.$emit(e,o)}},pageChangeHandler(e,t){this.raiseDataEvent("pagechange",{page:e,event:t,skip:e.skip,take:e.take},{skip:e.skip,take:e.take},t)},raiseDataEvent(e,t,i,o){l.hasListener.call(this,e)?this.$emit(e,{...this.getArguments(o),...t}):l.hasListener.call(this,"datastatechange")&&this.$emit("datastatechange",{...this.getArguments(o),data:{...this.getDataState(),...t,...i}})},getDataState(){return{filter:this.$props.filter,sort:this.$props.sort}},getArguments(e){return{event:e,component:this}},expandedSubItems(e){const t=[];return this.expanded(e)&&this.hasChildren(e)&&t.push(...$.getNestedValue(this.$props.subItemsField,e)),t},getLeafDataItems(){return this.flatData().map(e=>e.dataItem)},expanded(e){return!!$.getNestedValue(this.$props.expandField,e)},hasChildren(e){return!!$.getNestedValue(this.$props.subItemsField,e)}}});exports.TreeList=ue;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),o=require("@progress/kendo-vue-common"),c=require("@progress/kendo-vue-data-tools"),re=require("./TreeListNav.js"),$=require("./utils/main.js"),ne=require("./utils/data-operations.js"),de=require("./cells/TreeListCell.js"),he=require("./rows/TreeListDraggableRow.js"),ce=require("./rows/RowDragClue.js"),pe=require("./rows/TreeListRow.js"),T=require("./package-metadata.js"),x=require("./messages/main.js"),ge=require("@progress/kendo-vue-intl"),ue=require("./cells/TreeListSelectionCell.js");function O(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const fe=n.defineComponent({name:"KendoTreeList",props:{dataItems:Array,resizable:Boolean,reorderable:Boolean,sortable:[Object,Boolean],sort:Array,columns:Array,columnVirtualization:Boolean,filter:[Array,Object],filterable:Boolean,filterOperators:Object,filterRow:[String,Function,Object],cellRender:[String,Function,Object],toolbar:[String,Function,Object],noRecords:[String,Function,Object],expandField:String,subItemsField:String,selectedField:String,editField:String,scrollable:String,rowHeight:Number,tableProps:Object,rowClass:Function,pageable:[Boolean,Object],pager:[String,Function,Object],skip:Number,take:Number,wrapperStyle:Object,dataItemKey:String,navigatable:Boolean,size:{type:String,validator:function(e){return["none","small","medium"].includes(e)}},reordableRows:Boolean,onDatastatechange:Function,onPagechange:Function,onSortchange:Function,onFilterchange:Function},created(){this.prevData=[],this.prevColumns=void 0,this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.element=null,this._treeListId=o.guid(),o.validatePackage(T.packageMetadata),this.showLicenseWatermark=o.shouldShowValidationUI(T.packageMetadata),this.licenseMessage=o.getLicenseMessage(T.packageMetadata),this.dragLogic=new c.CommonDragLogic(this.columnReorder.bind(this),o.noop,o.noop),this.columnResize=new c.ColumnResize(this.onResize.bind(this))},inject:{kendoLocalizationService:{default:null}},computed:{wrapperClass(){const{size:e,scrollable:t}=this.$props;return{"k-grid":!0,[this.$props.className]:this.$props.className,"k-grid-md":!e,[`k-grid-${o.kendoThemeMaps.sizeMap[e]||e}`]:e,"k-treelist":!0,"k-treelist-scrollable":t!=="none"}},toolbarClass(){const{size:e}=this.$props;return{"k-toolbar":!0,"k-toolbar-solid":!0,"k-grid-toolbar":!0,[`k-toolbar-${o.kendoThemeMaps.sizeMap[e]||e}`]:e}},gridTableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-table":!0,"k-grid-md":!e,[`k-table-${o.kendoThemeMaps.sizeMap[e]||e}`]:e}}},data(){return{showLicenseWatermark:!1,licenseMessage:void 0,wrapperScrollLeft:0,wrapperScrollTop:0,updateOnScroll:!1,tbodyOffsetTop:0,isRtl:!1,navigation:void 0,rowClue:{}}},mounted(){this.calculateSizes(this.$el);const e=o.isRtl(this.$el);this.isRtl=e;let t="$el";const i=o.getRef(this,"gridNav"),a=o.getRef(this,"dropElementClue"),r=o.getRef(this,"dragElementClue");this.dragLogic.refDropElementClue(a),this.dragLogic.refDragElementClue(r),this.columnResize.colGroupMain=o.getRef(this,"colGroup"),i&&(this.element=i[t])},destroyed(){this.columnResize.columns=[],this.dragLogic.columns=[],this.extendedColumn=[],this.columnsMap=[],this.prevData=[],this.flattedData=[],this.updateOnScroll=!1},render(){o.getDefaultSlots(this);const{columns:e=[],filterRow:t,scrollable:i="scrollable",resizable:a=!1,reorderable:r=!1,skip:d,take:u,filterable:h,reordableRows:f}=this.$props,V=t||c.FilterRow,D=c.tableKeyboardNavigationTools.getIdPrefix(this.navigation);this.prevColumns!==e&&(this.extendedColumn=c.readColumns(e,{prevId:0,idPrefix:D}),this.columnsMap=c.mapColumns(this.extendedColumn)),this.prevColumns=this.$props.columns;const R=this.extendedColumn.filter(s=>s.children.length===0);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=a,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=r,this.dragLogic.groupable=!1;const E=this.$props.filter&&this.$props.filter.length===0?void 0:this.$props.filter&&this.$props.filter.length!==void 0?{logic:"and",filters:this.$props.filter}:this.$props.filter,H=n.createVNode(c.Header,{size:this.$props.size,headerRow:n.createVNode(c.HeaderRow,{grid:this,sort:this.$props.sort,filter:E,sortable:this.$props.sortable,selectedField:this.$props.selectedField,reorderable:r,filterable:h,filterOperators:this.$props.filterOperators||c.operators,onSortChange:this.sortChange,onSelectionchange:this.onHeaderSelectionChange,columns:this.extendedColumn,columnsMap:this.columnsMap,cellRender:this.$props.headerCellRender,columnResize:this.columnResize,columnMenu:this.$props.columnMenu,onFilterChange:this.columnMenuFilterChange,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,filterRow:h?n.createVNode(V,{size:this.$props.size,columns:R,filter:this.$props.filter||[],onFilterchange:this.filterChange,sort:this.$props.sort,ariaRowIndex:this.columnsMap.length+1,grid:this,filterOperators:this.$props.filterOperators||c.operators,cellRender:this.$props.filterCellRender,isRtl:this.isRtl},null):void 0},null),columnResize:this.columnResize},null),L=this.$props.wrapperStyle||{},{colSpans:z,hiddenColumns:P}=c.tableColumnsVirtualization({enabled:this.$props.columnVirtualization,columns:R,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((L.width||"").toString())}),A=(s,b,y,v,S,C)=>R.map(function(l,g){if(P[g])return null;const k=l.id?l.id:g,w=`${l.className?l.className+" ":""}${l.locked?"k-grid-content-sticky":""}`,p=o.templateRendering.call(this,this.$props.cellRender||l.cell,o.getListeners.call(this));if(b&&l.editCell){const I=o.templateRendering.call(this,l.editCell,o.getListeners.call(this));return o.getTemplate.call(this,{h:n.h,template:I,additionalProps:{id:c.tableKeyboardNavigationTools.generateNavigatableId(`${y}-${String(g)}`,D),colSpan:z[g],dataItem:s.dataItem,field:l.field,format:l.format,class:w||void 0,render:p,level:s.level,expandable:l.expandable,expanded:v,hasChildren:this.hasChildren(s.dataItem),colIndex:g,ariaColumnIndex:l.ariaColumnIndex,style:l.left!==void 0&&{left:l.left+"px",right:l.right+"px",borderRightWidth:l.rightBorder?"1px":""}||{},isSelected:Array.isArray(C)&&C.indexOf(g)>-1},additionalListeners:{change:this.itemChange,input:this.itemChange,expandchange:this.expandChange,selectionchange:le=>this.selectionChange(le,s,g,S)}})}const ae=this.selectedField&&l.field===this.selectedField?ue.TreeListSelectionCell:de.TreeListCell;return n.createVNode(ae,{key:k,id:c.tableKeyboardNavigationTools.generateNavigatableId(`${y}-${String(g)}`,D),colSpan:z[g],dataItem:s.dataItem,field:l.field,format:l.format,class:w||void 0,render:p,onCellclick:this.cellClick,onCellkeydown:this.cellKeydown,onChange:this.itemChange,onSelectionchange:I=>this.selectionChange(I,s,g,S),level:s.level,expandable:l.expandable,expanded:v,hasChildren:this.hasChildren(s.dataItem),onExpandchange:this.expandChange,colIndex:g,ariaColumnIndex:l.ariaColumnIndex,style:l.left!==void 0&&{left:l.left+"px",right:l.right+"px",borderRightWidth:l.rightBorder?"1px":""}||{},isSelected:Array.isArray(C)&&C.indexOf(g)>-1},null)},this);let m=this.flatData();const F=m.length;d!==void 0&&u!==void 0&&(m=m.slice(d,d+u)),i==="virtual"&&(m=$.tableRowsVirtualization({rows:m,tableViewPortHeight:parseFloat((L.height||L.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const K=o.templateRendering.call(this,this.$props.noRecords,o.getListeners.call(this)),j=ge.provideLocalizationService(this).toLanguageString(x.noRecords,x.messages[x.noRecords]),B=o.getTemplate.call(this,{h:n.h,template:K}),N=m.length?m.map(function(s){return s.level}):[],q=this.columnsMap.length+(h?1:0)+1,W=m.length>0&&m.map(function(s,b){const y=$.getNestedValue(this.$props.editField,s.dataItem),v=this.$props.dataItemKey&&o.getter(this.$props.dataItemKey)(s.dataItem),S=String(v||s.level.join(".")),C=this.expanded(s.dataItem),l=this.$props.selectedField?$.getNestedValue(this.$props.selectedField,s.dataItem):void 0,g=this.$props.row||pe.TreeListRow,k=A(s,y,S,C,b,l),w=n.createVNode(g,{key:S,level:s.level,levels:N,dataItem:s.dataItem,selectedField:this.$props.selectedField,rowHeight:i==="virtual"?s.height:this.$props.rowHeight,render:this.$props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:p=>this.emitRowEvent("rowclick",p,s),onDblclick:p=>this.emitRowEvent("rowdoubleclick",p,s),onContextmenu:p=>this.emitRowEvent("rowcontextmenu",p,s),onFocus:p=>this.emitRowEvent("rowfocus",p,s),onBlur:p=>this.emitRowEvent("rowblur",p,s),onMousedown:p=>this.emitRowEvent("rowmousedown",p,s),onMouseup:p=>this.emitRowEvent("rowmouseup",p,s),isAltRow:b%2!==0,expanded:C,rowIndex:b,ariaRowIndex:q+b,ariaSetSize:s.levelCount,ariaPosInSet:s.level[s.level.length-1]+1,isSelected:typeof l=="boolean"&&l,className:this.$props.rowClass?this.$props.rowClass(s):""},O(k)?k:{default:()=>[k]});return f?n.createVNode(he.TreeListDraggableRow,{key:S,level:s.level,levels:N,dataItem:s.dataItem,onDrag:this.onRowDrag,onDrop:this.onRowDrop},O(w)?w:{default:()=>[w]}):w},this)||n.createVNode("tr",{class:"k-table-row k-grid-norecords"},[n.createVNode("td",{class:"k-table-td",colspan:R.length},[this.$props.noRecords?B:j])]),_=s=>this.$props.sort&&this.$props.sort.some(b=>b.field===s),U=n.createVNode("colgroup",{ref:o.setRef(this,"colGroup")},[R.map(function(s){return n.createVNode("col",{class:_(s.field)?"k-sorted":void 0,width:s.width!==void 0?s.width.toString().indexOf("%")!==-1?s.width:Math.floor(parseFloat(s.width.toString()))+"px":void 0},null)},this)]),G=this.$props.columnVirtualization||this.$props.scrollable==="virtual",J=this.$props.selectable&&this.$props.selectable.drag?"none":void 0,Q=this.$props.tableProps||{},X=o.templateRendering.call(this,this.$props.toolbar,o.getListeners.call(this)),Y=o.getTemplate.call(this,{h:n.h,template:X}),Z=o.templateRendering.call(this,this.$props.pager,o.getListeners.call(this)),ee=this.$props.pageable&&n.createVNode(c.Pager,{class:"k-grid-pager",size:this.$props.size,onPagesizechange:this.pageChangeHandler,onPagechange:this.pageChangeHandler,total:F,skip:this.$props.skip||0,pageSize:this.$props.take||10,messagesMap:x.pagerMessagesMap,settings:c.normalize(this.$props.pageable||{})},null),te=o.getTemplate.call(this,{h:n.h,template:Z,defaultRendering:ee,additionalProps:{...this.$props,skip:this.skip||0,messagesMap:x.pagerMessagesMap},additionalListeners:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler}}),M=this.dragLogic.reorderable&&o.canUseDOM&&document&&document.body,se=this.reordableRows&&this.rowClue&&this.rowClue.visible&&o.canUseDOM&&document&&document.body,ie=[M&&n.createVNode(c.DropClue,{ref:o.setRef(this,"dropElementClue")},null),M&&n.createVNode(c.DragClue,{ref:o.setRef(this,"dragElementClue")},null),se&&n.createVNode(ce.RowDragClue,{visible:this.rowClue.visible,top:this.rowClue.top,left:this.rowClue.left,text:this.rowClue.text,allowDrop:this.rowClue.allowDrop},null)],oe=this.showLicenseWatermark?n.createVNode(o.WatermarkOverlay,{message:this.licenseMessage},null):null;return n.createVNode(c.TableKeyboardNavigationProvider,{ref:"navRef",id:this._treeListId,navigatable:this.$props.navigatable},{default:()=>[n.createVNode(re.TreeListNav,{style:this.$props.wrapperStyle,class:this.wrapperClass,currentData:m,onScroll:G?this.handleOnScroll:o.noop,onKeydown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":F,"aria-colcount":R.length,role:"treegrid",ref:s=>{this.treeListNavRef=s}},{default:()=>[this.$props.toolbar&&n.createVNode("div",{class:this.toolbarClass},[Y]),n.createVNode("table",{class:this.gridTableClass,style:{...Q.style||{},userSelect:J},role:"presentation"},[U,H,n.createVNode("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0,role:"presentation"},[W])]),te,ie,oe]})]})},methods:{scrollIntoView(e){if(!this.element)return;const{rowIndex:t=0}=e,{scrollable:i,rowHeight:a=0}=this.$props;if(i==="virtual"||a)this.element.scroll(0,(t-1)*a);else{const r=this.element.querySelector(`tbody > tr:nth-child(${t})`);if(r){const d=r.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,d)}}},getColumns(){const e=this.extendedColumn.filter(i=>i.declarationIndex>=0&&i.parentIndex===-1);return(i=>(i.sort((a,r)=>a.declarationIndex-r.declarationIndex),i))(e)},flatData(){const{dataItems:e=[],rowHeight:t=0}=this.$props;let i=0;const a=d=>{const u={height:t,offsetTop:i};return i+=u.height,u},r=this.updateOnScroll&&this.prevData===e&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:ne.flatData(e,this.expandedSubItems,a);return this.prevData=e,this.flattedData=r,r},onKeyDown(e){this.$emit("keydown",e)},onFocus(e){},onRowDrag(e){this.rowClue=e.clueProps,this.$emit("rowdrag",{...e,target:this})},onRowDrop(e){this.rowClue=e.clueProps,e.clueProps.allowDrop&&this.$emit("rowdrop",{...e,target:this})},columnReorder(e,t,i){const a=this.extendedColumn[e].depth,r=h=>{do h++;while(h<this.extendedColumn.length&&this.extendedColumn[h].depth>a);return h},d=this.extendedColumn.splice(e,r(e)-e);this.extendedColumn.splice(e<t?r(t-d.length):t,0,...d),this.extendedColumn.filter(h=>h.declarationIndex>=0).forEach((h,f)=>h.orderIndex=f);const u={component:this,columns:this.getColumns(),prev:e,next:t,event:i};this.$emit("columnreorder",u)},onResize(e,t,i,a,r){const d=this.extendedColumn.filter(h=>h.children.length===0).reduce((h,f)=>h+=parseFloat(String(f.width)),0);if(this.extendedColumn&&this.columns){const h=this.columns[e].width,f=h&&h.toString().indexOf("px")>0;this.extendedColumn[e].width=f?t+"px":t}const u={columns:this.getColumns(),totalWidth:d,index:e,event:a,newWidth:t,oldWidth:i,end:r,component:this};r&&(this.prevColumns=void 0),this.$emit("columnresize",u)},handleOnScroll(e){const t=e.currentTarget.scrollLeft,i=e.currentTarget.scrollTop,{columnVirtualization:a,scrollable:r,rowHeight:d=0}=this.$props,u=d,h=0;let f=!1;a&&Math.abs(this.wrapperScrollLeft-t)>h&&(this.wrapperScrollLeft=t,f=!0),r==="virtual"&&Math.abs(this.wrapperScrollTop-i)>u&&(this.wrapperScrollTop=i,f=!0),f&&(this.updateOnScroll=!0)},calculateSizes(e){if(!e||this.$props.scrollable==="none")return;const t=Array.from(e.childNodes),i=t.find(d=>d.nodeName==="TABLE"),a=this.$props.toolbar&&t.find(d=>d.nodeType===1&&d.classList.contains("k-grid-toolbar"));let r=0;if(a&&o.canUseDOM){const d=a.style.boxSizing;a.style.boxSizing="border-box",r=parseFloat(String(window.getComputedStyle(a).height))||a.offsetHeight,a.style.boxSizing=d,a.getAttribute("style")||a.removeAttribute("style")}this.tbodyOffsetTop=i.tBodies[0].offsetTop,$.setHeaderRowsTop(i,r)},cellClick(e){this.$emit("cellclick",e)},cellKeydown(e){this.$emit("cellkeydown",e)},itemChange(e){if(e.field===this.$props.expandField){if(this.$props.onExpandchange){const a={...this.getArguments(e.event),dataItem:e.dataItem,level:e.level,value:e.value};this.$emit("expandchange",a)}return}const t={...this.getArguments(e.event),dataItem:e.dataItem,level:e.level,field:e.field,value:e.value};e.dataItem&&this.$emit("itemchange",t)},selectionChange(e){const{event:t,item:i,columnIndex:a}=e;if(!i)return;const{mode:r,cell:d}=c.getSelectionOptions(this.$props.selectable),u={...this.getArguments(t),dataItem:i.dataItem,level:i.level,startColIndex:a,endColIndex:a,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:r,cell:d,isDrag:!1,componentId:this._treeListId,selectedField:this.$props.selectedField||""};this.$emit("selectionchange",u)},onHeaderSelectionChange(e){const t={field:e.field,event:e.event,component:this,dataItems:this.getLeafDataItems()};this.$emit("headerselectionchange",t)},selectionRelease(e){if(this.$props.onSelectionchange){const t={event:void 0,component:this,selectedField:this.$props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...e};this.$emit("selectionchange",t)}},sortChange(e,t){this.raiseDataEvent("sortchange",{sort:e,field:t.field},t)},filterChange(e,t){const i=e?e.filters:[];this.raiseDataEvent("filterchange",{filter:i},{filter:i,skip:0},t)},columnMenuFilterChange(e,t){const i=e?e.filters:[],a={...t,filter:i,component:this};this.$emit("columnmenufilterchange",a)},expandChange(e,t,i){const{expandField:a}=this.$props;if(a){const r={...this.getArguments(e),dataItem:t,level:i,value:this.expanded(t)};this.$emit("expandchange",r)}},emitRowEvent(e,t,i){if(t.target.nodeName==="TD"){const a={dataItem:i.dataItem,level:i.level,...this.getArguments(t)};this.$emit(e,a)}},pageChangeHandler(e,t){this.raiseDataEvent("pagechange",{page:e,event:t,skip:e.skip,take:e.take},{skip:e.skip,take:e.take},t)},raiseDataEvent(e,t,i,a){o.hasListener.call(this,e)?this.$emit(e,{...this.getArguments(a),...t}):o.hasListener.call(this,"datastatechange")&&this.$emit("datastatechange",{...this.getArguments(a),data:{...this.getDataState(),...t,...i}})},getDataState(){return{filter:this.$props.filter,sort:this.$props.sort}},getArguments(e){return{event:e,component:this}},expandedSubItems(e){const t=[];return this.expanded(e)&&this.hasChildren(e)&&t.push(...$.getNestedValue(this.$props.subItemsField,e)),t},getLeafDataItems(){return this.flatData().map(e=>e.dataItem)},expanded(e){return!!$.getNestedValue(this.$props.expandField,e)},hasChildren(e){return!!$.getNestedValue(this.$props.subItemsField,e)}}});exports.TreeList=fe;
package/TreeList.mjs CHANGED
@@ -5,24 +5,24 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as me, createVNode as d, h as k, isVNode as be } from "vue";
9
- import { hasListener as j, canUseDOM as T, getDefaultSlots as Ce, templateRendering as R, getListeners as v, getTemplate as I, getter as we, setRef as O, noop as E, isRtl as $e, getRef as D, kendoThemeMaps as M, guid as Se, validatePackage as Re } from "@progress/kendo-vue-common";
10
- import { getSelectionOptions as ve, tableKeyboardNavigationTools as H, readColumns as xe, mapColumns as ye, Header as ke, HeaderRow as Ie, operators as B, FilterRow as De, tableColumnsVirtualization as ze, Pager as Fe, normalize as Le, DropClue as Te, DragClue as Oe, TableKeyboardNavigationProvider as Ee, CommonDragLogic as Me, ColumnResize as He } from "@progress/kendo-vue-data-tools";
11
- import { TreeListNav as Pe } from "./TreeListNav.mjs";
12
- import { getNestedValue as x, setHeaderRowsTop as Ne, tableRowsVirtualization as Ae } from "./utils/main.mjs";
13
- import { flatData as Ke } from "./utils/data-operations.mjs";
14
- import { TreeListCell as je } from "./cells/TreeListCell.mjs";
15
- import { TreeListDraggableRow as Be } from "./rows/TreeListDraggableRow.mjs";
16
- import { RowDragClue as Ve } from "./rows/RowDragClue.mjs";
17
- import { TreeListRow as _e } from "./rows/TreeListRow.mjs";
18
- import { packageMetadata as We } from "./package-metadata.mjs";
19
- import { noRecords as V, messages as Ge, pagerMessagesMap as _ } from "./messages/main.mjs";
20
- import { provideLocalizationService as Ue } from "@progress/kendo-vue-intl";
21
- import { TreeListSelectionCell as qe } from "./cells/TreeListSelectionCell.mjs";
22
- function W(e) {
23
- return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !be(e);
8
+ import { defineComponent as Ce, createVNode as d, h as k, isVNode as we } from "vue";
9
+ import { hasListener as B, canUseDOM as T, getDefaultSlots as $e, templateRendering as R, getListeners as v, getTemplate as I, getter as Se, setRef as O, WatermarkOverlay as Re, noop as E, isRtl as ve, getRef as D, kendoThemeMaps as M, guid as xe, validatePackage as ye, shouldShowValidationUI as ke, getLicenseMessage as Ie } from "@progress/kendo-vue-common";
10
+ import { getSelectionOptions as De, tableKeyboardNavigationTools as H, readColumns as ze, mapColumns as Fe, Header as Le, HeaderRow as Te, operators as V, FilterRow as Oe, tableColumnsVirtualization as Ee, Pager as Me, normalize as He, DropClue as Pe, DragClue as Ne, TableKeyboardNavigationProvider as Ae, CommonDragLogic as Ke, ColumnResize as je } from "@progress/kendo-vue-data-tools";
11
+ import { TreeListNav as Be } from "./TreeListNav.mjs";
12
+ import { getNestedValue as x, setHeaderRowsTop as Ve, tableRowsVirtualization as We } from "./utils/main.mjs";
13
+ import { flatData as _e } from "./utils/data-operations.mjs";
14
+ import { TreeListCell as Ge } from "./cells/TreeListCell.mjs";
15
+ import { TreeListDraggableRow as Ue } from "./rows/TreeListDraggableRow.mjs";
16
+ import { RowDragClue as qe } from "./rows/RowDragClue.mjs";
17
+ import { TreeListRow as Je } from "./rows/TreeListRow.mjs";
18
+ import { packageMetadata as P } from "./package-metadata.mjs";
19
+ import { noRecords as W, messages as Qe, pagerMessagesMap as _ } from "./messages/main.mjs";
20
+ import { provideLocalizationService as Xe } from "@progress/kendo-vue-intl";
21
+ import { TreeListSelectionCell as Ye } from "./cells/TreeListSelectionCell.mjs";
22
+ function G(e) {
23
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !we(e);
24
24
  }
25
- const ht = /* @__PURE__ */ me({
25
+ const ut = /* @__PURE__ */ Ce({
26
26
  name: "KendoTreeList",
27
27
  props: {
28
28
  dataItems: Array,
@@ -67,7 +67,7 @@ const ht = /* @__PURE__ */ me({
67
67
  onFilterchange: Function
68
68
  },
69
69
  created() {
70
- this.prevData = [], this.prevColumns = void 0, this.flattedData = [], this.extendedColumn = [], this.columnsMap = [], this.element = null, this._treeListId = Se(), Re(We), this.dragLogic = new Me(this.columnReorder.bind(this), E, E), this.columnResize = new He(this.onResize.bind(this));
70
+ this.prevData = [], this.prevColumns = void 0, this.flattedData = [], this.extendedColumn = [], this.columnsMap = [], this.element = null, this._treeListId = xe(), ye(P), this.showLicenseWatermark = ke(P), this.licenseMessage = Ie(P), this.dragLogic = new Ke(this.columnReorder.bind(this), E, E), this.columnResize = new je(this.onResize.bind(this));
71
71
  },
72
72
  inject: {
73
73
  kendoLocalizationService: {
@@ -114,6 +114,8 @@ const ht = /* @__PURE__ */ me({
114
114
  },
115
115
  data() {
116
116
  return {
117
+ showLicenseWatermark: !1,
118
+ licenseMessage: void 0,
117
119
  wrapperScrollLeft: 0,
118
120
  wrapperScrollTop: 0,
119
121
  updateOnScroll: !1,
@@ -128,7 +130,7 @@ const ht = /* @__PURE__ */ me({
128
130
  */
129
131
  mounted() {
130
132
  this.calculateSizes(this.$el);
131
- const e = $e(this.$el);
133
+ const e = ve(this.$el);
132
134
  this.isRtl = e;
133
135
  let t = "$el";
134
136
  const i = D(this, "gridNav"), o = D(this, "dropElementClue"), r = D(this, "dragElementClue");
@@ -141,7 +143,7 @@ const ht = /* @__PURE__ */ me({
141
143
  this.columnResize.columns = [], this.dragLogic.columns = [], this.extendedColumn = [], this.columnsMap = [], this.prevData = [], this.flattedData = [], this.updateOnScroll = !1;
142
144
  },
143
145
  render() {
144
- Ce(this);
146
+ $e(this);
145
147
  const {
146
148
  columns: e = [],
147
149
  filterRow: t,
@@ -152,27 +154,27 @@ const ht = /* @__PURE__ */ me({
152
154
  take: p,
153
155
  filterable: n,
154
156
  reordableRows: g
155
- } = this.$props, G = t || De, z = H.getIdPrefix(this.navigation);
156
- this.prevColumns !== e && (this.extendedColumn = xe(e, {
157
+ } = this.$props, U = t || Oe, z = H.getIdPrefix(this.navigation);
158
+ this.prevColumns !== e && (this.extendedColumn = ze(e, {
157
159
  prevId: 0,
158
160
  idPrefix: z
159
- }), this.columnsMap = ye(this.extendedColumn)), this.prevColumns = this.$props.columns;
161
+ }), this.columnsMap = Fe(this.extendedColumn)), this.prevColumns = this.$props.columns;
160
162
  const C = this.extendedColumn.filter((s) => s.children.length === 0);
161
163
  this.columnResize.columns = this.extendedColumn, this.columnResize.resizable = o, this.dragLogic.columns = this.extendedColumn, this.dragLogic.reorderable = r, this.dragLogic.groupable = !1;
162
- const U = this.$props.filter && this.$props.filter.length === 0 ? void 0 : this.$props.filter && this.$props.filter.length !== void 0 ? {
164
+ const q = this.$props.filter && this.$props.filter.length === 0 ? void 0 : this.$props.filter && this.$props.filter.length !== void 0 ? {
163
165
  logic: "and",
164
166
  filters: this.$props.filter
165
- } : this.$props.filter, q = d(ke, {
167
+ } : this.$props.filter, J = d(Le, {
166
168
  size: this.$props.size,
167
- headerRow: d(Ie, {
169
+ headerRow: d(Te, {
168
170
  grid: this,
169
171
  sort: this.$props.sort,
170
- filter: U,
172
+ filter: q,
171
173
  sortable: this.$props.sortable,
172
174
  selectedField: this.$props.selectedField,
173
175
  reorderable: r,
174
176
  filterable: n,
175
- filterOperators: this.$props.filterOperators || B,
177
+ filterOperators: this.$props.filterOperators || V,
176
178
  onSortChange: this.sortChange,
177
179
  onSelectionchange: this.onHeaderSelectionChange,
178
180
  columns: this.extendedColumn,
@@ -184,7 +186,7 @@ const ht = /* @__PURE__ */ me({
184
186
  onPressHandler: this.dragLogic.pressHandler,
185
187
  onDragHandler: this.dragLogic.dragHandler,
186
188
  onReleaseHandler: this.dragLogic.releaseHandler,
187
- filterRow: n ? d(G, {
189
+ filterRow: n ? d(U, {
188
190
  size: this.$props.size,
189
191
  columns: C,
190
192
  filter: this.$props.filter || [],
@@ -192,22 +194,22 @@ const ht = /* @__PURE__ */ me({
192
194
  sort: this.$props.sort,
193
195
  ariaRowIndex: this.columnsMap.length + 1,
194
196
  grid: this,
195
- filterOperators: this.$props.filterOperators || B,
197
+ filterOperators: this.$props.filterOperators || V,
196
198
  cellRender: this.$props.filterCellRender,
197
199
  isRtl: this.isRtl
198
200
  }, null) : void 0
199
201
  }, null),
200
202
  columnResize: this.columnResize
201
203
  }, null), F = this.$props.wrapperStyle || {}, {
202
- colSpans: P,
203
- hiddenColumns: J
204
- } = ze({
204
+ colSpans: N,
205
+ hiddenColumns: Q
206
+ } = Ee({
205
207
  enabled: this.$props.columnVirtualization,
206
208
  columns: C,
207
209
  scrollLeft: this.wrapperScrollLeft,
208
210
  tableViewPortWidth: parseFloat((F.width || "").toString())
209
- }), Q = (s, f, y, $, w, m) => C.map(function(l, c) {
210
- if (J[c])
211
+ }), X = (s, f, y, $, w, m) => C.map(function(l, c) {
212
+ if (Q[c])
211
213
  return null;
212
214
  const S = l.id ? l.id : c, b = `${l.className ? l.className + " " : ""}${l.locked ? "k-grid-content-sticky" : ""}`, h = R.call(this, this.$props.cellRender || l.cell, v.call(this));
213
215
  if (f && l.editCell) {
@@ -217,7 +219,7 @@ const ht = /* @__PURE__ */ me({
217
219
  template: L,
218
220
  additionalProps: {
219
221
  id: H.generateNavigatableId(`${y}-${String(c)}`, z),
220
- colSpan: P[c],
222
+ colSpan: N[c],
221
223
  dataItem: s.dataItem,
222
224
  field: l.field,
223
225
  format: l.format,
@@ -240,15 +242,15 @@ const ht = /* @__PURE__ */ me({
240
242
  change: this.itemChange,
241
243
  input: this.itemChange,
242
244
  expandchange: this.expandChange,
243
- selectionchange: (fe) => this.selectionChange(fe, s, c, w)
245
+ selectionchange: (be) => this.selectionChange(be, s, c, w)
244
246
  }
245
247
  });
246
248
  }
247
- const ue = this.selectedField && l.field === this.selectedField ? qe : je;
248
- return d(ue, {
249
+ const me = this.selectedField && l.field === this.selectedField ? Ye : Ge;
250
+ return d(me, {
249
251
  key: S,
250
252
  id: H.generateNavigatableId(`${y}-${String(c)}`, z),
251
- colSpan: P[c],
253
+ colSpan: N[c],
252
254
  dataItem: s.dataItem,
253
255
  field: l.field,
254
256
  format: l.format,
@@ -274,22 +276,22 @@ const ht = /* @__PURE__ */ me({
274
276
  }, null);
275
277
  }, this);
276
278
  let u = this.flatData();
277
- const N = u.length;
278
- a !== void 0 && p !== void 0 && (u = u.slice(a, a + p)), i === "virtual" && (u = Ae({
279
+ const A = u.length;
280
+ a !== void 0 && p !== void 0 && (u = u.slice(a, a + p)), i === "virtual" && (u = We({
279
281
  rows: u,
280
282
  tableViewPortHeight: parseFloat((F.height || F.maxHeight || "").toString()),
281
283
  scrollTop: this.wrapperScrollTop
282
284
  }), this.updateOnScroll = !1);
283
- const X = R.call(this, this.$props.noRecords, v.call(this)), Y = Ue(this).toLanguageString(V, Ge[V]), Z = I.call(this, {
285
+ const Y = R.call(this, this.$props.noRecords, v.call(this)), Z = Xe(this).toLanguageString(W, Qe[W]), ee = I.call(this, {
284
286
  h: k,
285
- template: X
286
- }), A = u.length ? u.map(function(s) {
287
+ template: Y
288
+ }), K = u.length ? u.map(function(s) {
287
289
  return s.level;
288
- }) : [], ee = this.columnsMap.length + (n ? 1 : 0) + 1, te = u.length > 0 && u.map(function(s, f) {
289
- const y = x(this.$props.editField, s.dataItem), $ = this.$props.dataItemKey && we(this.$props.dataItemKey)(s.dataItem), w = String($ || s.level.join(".")), m = this.expanded(s.dataItem), l = this.$props.selectedField ? x(this.$props.selectedField, s.dataItem) : void 0, c = this.$props.row || _e, S = Q(s, y, w, m, f, l), b = d(c, {
290
+ }) : [], te = this.columnsMap.length + (n ? 1 : 0) + 1, se = u.length > 0 && u.map(function(s, f) {
291
+ const y = x(this.$props.editField, s.dataItem), $ = this.$props.dataItemKey && Se(this.$props.dataItemKey)(s.dataItem), w = String($ || s.level.join(".")), m = this.expanded(s.dataItem), l = this.$props.selectedField ? x(this.$props.selectedField, s.dataItem) : void 0, c = this.$props.row || Je, S = X(s, y, w, m, f, l), b = d(c, {
290
292
  key: w,
291
293
  level: s.level,
292
- levels: A,
294
+ levels: K,
293
295
  dataItem: s.dataItem,
294
296
  selectedField: this.$props.selectedField,
295
297
  rowHeight: i === "virtual" ? s.height : this.$props.rowHeight,
@@ -306,22 +308,22 @@ const ht = /* @__PURE__ */ me({
306
308
  isAltRow: f % 2 !== 0,
307
309
  expanded: m,
308
310
  rowIndex: f,
309
- ariaRowIndex: ee + f,
311
+ ariaRowIndex: te + f,
310
312
  ariaSetSize: s.levelCount,
311
313
  ariaPosInSet: s.level[s.level.length - 1] + 1,
312
314
  isSelected: typeof l == "boolean" && l,
313
315
  className: this.$props.rowClass ? this.$props.rowClass(s) : ""
314
- }, W(S) ? S : {
316
+ }, G(S) ? S : {
315
317
  default: () => [S]
316
318
  });
317
- return g ? d(Be, {
319
+ return g ? d(Ue, {
318
320
  key: w,
319
321
  level: s.level,
320
- levels: A,
322
+ levels: K,
321
323
  dataItem: s.dataItem,
322
324
  onDrag: this.onRowDrag,
323
325
  onDrop: this.onRowDrop
324
- }, W(b) ? b : {
326
+ }, G(b) ? b : {
325
327
  default: () => [b]
326
328
  }) : b;
327
329
  }, this) || d("tr", {
@@ -329,30 +331,30 @@ const ht = /* @__PURE__ */ me({
329
331
  }, [d("td", {
330
332
  class: "k-table-td",
331
333
  colspan: C.length
332
- }, [this.$props.noRecords ? Z : Y])]), se = (s) => this.$props.sort && this.$props.sort.some((f) => f.field === s), ie = d("colgroup", {
334
+ }, [this.$props.noRecords ? ee : Z])]), ie = (s) => this.$props.sort && this.$props.sort.some((f) => f.field === s), oe = d("colgroup", {
333
335
  ref: O(this, "colGroup")
334
336
  }, [C.map(function(s) {
335
337
  return d("col", {
336
- class: se(s.field) ? "k-sorted" : void 0,
338
+ class: ie(s.field) ? "k-sorted" : void 0,
337
339
  width: s.width !== void 0 ? s.width.toString().indexOf("%") !== -1 ? s.width : Math.floor(parseFloat(s.width.toString())) + "px" : void 0
338
340
  }, null);
339
- }, this)]), oe = this.$props.columnVirtualization || this.$props.scrollable === "virtual", le = this.$props.selectable && this.$props.selectable.drag ? "none" : void 0, re = this.$props.tableProps || {}, ae = R.call(this, this.$props.toolbar, v.call(this)), ne = I.call(this, {
341
+ }, this)]), le = this.$props.columnVirtualization || this.$props.scrollable === "virtual", re = this.$props.selectable && this.$props.selectable.drag ? "none" : void 0, ae = this.$props.tableProps || {}, ne = R.call(this, this.$props.toolbar, v.call(this)), de = I.call(this, {
340
342
  h: k,
341
- template: ae
342
- }), de = R.call(this, this.$props.pager, v.call(this)), he = this.$props.pageable && d(Fe, {
343
+ template: ne
344
+ }), he = R.call(this, this.$props.pager, v.call(this)), ce = this.$props.pageable && d(Me, {
343
345
  class: "k-grid-pager",
344
346
  size: this.$props.size,
345
347
  onPagesizechange: this.pageChangeHandler,
346
348
  onPagechange: this.pageChangeHandler,
347
- total: N,
349
+ total: A,
348
350
  skip: this.$props.skip || 0,
349
351
  pageSize: this.$props.take || 10,
350
352
  messagesMap: _,
351
- settings: Le(this.$props.pageable || {})
352
- }, null), ce = I.call(this, {
353
+ settings: He(this.$props.pageable || {})
354
+ }, null), pe = I.call(this, {
353
355
  h: k,
354
- template: de,
355
- defaultRendering: he,
356
+ template: he,
357
+ defaultRendering: ce,
356
358
  additionalProps: {
357
359
  ...this.$props,
358
360
  skip: this.skip || 0,
@@ -362,30 +364,32 @@ const ht = /* @__PURE__ */ me({
362
364
  pagesizechange: this.pageChangeHandler,
363
365
  pagechange: this.pageChangeHandler
364
366
  }
365
- }), K = this.dragLogic.reorderable && T && document && document.body, pe = this.reordableRows && this.rowClue && this.rowClue.visible && T && document && document.body, ge = [K && d(Te, {
367
+ }), j = this.dragLogic.reorderable && T && document && document.body, ge = this.reordableRows && this.rowClue && this.rowClue.visible && T && document && document.body, ue = [j && d(Pe, {
366
368
  ref: O(this, "dropElementClue")
367
- }, null), K && d(Oe, {
369
+ }, null), j && d(Ne, {
368
370
  ref: O(this, "dragElementClue")
369
- }, null), pe && d(Ve, {
371
+ }, null), ge && d(qe, {
370
372
  visible: this.rowClue.visible,
371
373
  top: this.rowClue.top,
372
374
  left: this.rowClue.left,
373
375
  text: this.rowClue.text,
374
376
  allowDrop: this.rowClue.allowDrop
375
- }, null)];
376
- return d(Ee, {
377
+ }, null)], fe = this.showLicenseWatermark ? d(Re, {
378
+ message: this.licenseMessage
379
+ }, null) : null;
380
+ return d(Ae, {
377
381
  ref: "navRef",
378
382
  id: this._treeListId,
379
383
  navigatable: this.$props.navigatable
380
384
  }, {
381
- default: () => [d(Pe, {
385
+ default: () => [d(Be, {
382
386
  style: this.$props.wrapperStyle,
383
387
  class: this.wrapperClass,
384
388
  currentData: u,
385
- onScroll: oe ? this.handleOnScroll : E,
389
+ onScroll: le ? this.handleOnScroll : E,
386
390
  onKeydown: this.onKeyDown,
387
391
  onFocus: this.onFocus,
388
- "aria-rowcount": N,
392
+ "aria-rowcount": A,
389
393
  "aria-colcount": C.length,
390
394
  role: "treegrid",
391
395
  ref: (s) => {
@@ -395,7 +399,7 @@ const ht = /* @__PURE__ */ me({
395
399
  default: () => [
396
400
  this.$props.toolbar && d("div", {
397
401
  class: this.toolbarClass
398
- }, [ne]),
402
+ }, [de]),
399
403
  // // @ts-ignore
400
404
  // <TableSelection
401
405
  // selectable={this.$props.selectable}
@@ -404,17 +408,18 @@ const ht = /* @__PURE__ */ me({
404
408
  d("table", {
405
409
  class: this.gridTableClass,
406
410
  style: {
407
- ...re.style || {},
408
- userSelect: le
411
+ ...ae.style || {},
412
+ userSelect: re
409
413
  },
410
414
  role: "presentation"
411
- }, [ie, q, d("tbody", {
415
+ }, [oe, J, d("tbody", {
412
416
  class: "k-table-tbody",
413
417
  "data-keyboardnavbody": !0,
414
418
  role: "presentation"
415
- }, [te])]),
416
- ce,
417
- ge
419
+ }, [se])]),
420
+ pe,
421
+ ue,
422
+ fe
418
423
  ]
419
424
  })]
420
425
  });
@@ -460,7 +465,7 @@ const ht = /* @__PURE__ */ me({
460
465
  offsetTop: i
461
466
  };
462
467
  return i += p.height, p;
463
- }, r = this.updateOnScroll && this.prevData === e && this.tbodyOffsetTop > 0 && this.flattedData.length ? this.flattedData : Ke(e, this.expandedSubItems, o);
468
+ }, r = this.updateOnScroll && this.prevData === e && this.tbodyOffsetTop > 0 && this.flattedData.length ? this.flattedData : _e(e, this.expandedSubItems, o);
464
469
  return this.prevData = e, this.flattedData = r, r;
465
470
  },
466
471
  onKeyDown(e) {
@@ -533,7 +538,7 @@ const ht = /* @__PURE__ */ me({
533
538
  const a = o.style.boxSizing;
534
539
  o.style.boxSizing = "border-box", r = parseFloat(String(window.getComputedStyle(o).height)) || o.offsetHeight, o.style.boxSizing = a, o.getAttribute("style") || o.removeAttribute("style");
535
540
  }
536
- this.tbodyOffsetTop = i.tBodies[0].offsetTop, Ne(i, r);
541
+ this.tbodyOffsetTop = i.tBodies[0].offsetTop, Ve(i, r);
537
542
  },
538
543
  cellClick(e) {
539
544
  this.$emit("cellclick", e);
@@ -574,7 +579,7 @@ const ht = /* @__PURE__ */ me({
574
579
  const {
575
580
  mode: r,
576
581
  cell: a
577
- } = ve(this.$props.selectable), p = {
582
+ } = De(this.$props.selectable), p = {
578
583
  ...this.getArguments(t),
579
584
  dataItem: i.dataItem,
580
585
  level: i.level,
@@ -678,10 +683,10 @@ const ht = /* @__PURE__ */ me({
678
683
  }, t);
679
684
  },
680
685
  raiseDataEvent(e, t, i, o) {
681
- j.call(this, e) ? this.$emit(e, {
686
+ B.call(this, e) ? this.$emit(e, {
682
687
  ...this.getArguments(o),
683
688
  ...t
684
- }) : j.call(this, "datastatechange") && this.$emit("datastatechange", {
689
+ }) : B.call(this, "datastatechange") && this.$emit("datastatechange", {
685
690
  ...this.getArguments(o),
686
691
  data: {
687
692
  ...this.getDataState(),
@@ -718,5 +723,5 @@ const ht = /* @__PURE__ */ me({
718
723
  }
719
724
  });
720
725
  export {
721
- ht as TreeList
726
+ ut as TreeList
722
727
  };
@@ -12,4 +12,4 @@
12
12
  * Licensed under commercial license. See LICENSE.md in the package root for more information
13
13
  *-------------------------------------------------------------------------------------------
14
14
  */
15
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("@progress/kendo-vue-common"),require("@progress/kendo-vue-data-tools"),require("@progress/kendo-vue-intl"),require("@progress/kendo-svg-icons"),require("@progress/kendo-vue-inputs"),require("@progress/kendo-vue-dateinputs")):"function"==typeof define&&define.amd?define(["exports","vue","@progress/kendo-vue-common","@progress/kendo-vue-data-tools","@progress/kendo-vue-intl","@progress/kendo-svg-icons","@progress/kendo-vue-inputs","@progress/kendo-vue-dateinputs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoVueTreelist={},e.Vue,e.KendoVueCommon,e.KendoVueDatatools,e.KendoVueIntl,e.KendoSVGIcons,e.KendoVueInputs,e.KendoVueDateinputs)}(this,function(e,t,i,r,o,n,l,s){"use strict";const a=t.defineComponent({name:"KendoTreeListNav",emits:{scroll:null,keydown:null,navigationaction:null},props:{currentData:Array,onFocus:Function,role:String},inject:{onNavKeyDown:{default:i.noop},onNavFocus:{default:i.noop},onNavMount:{default:i.noop},handleDispatchFocus:{default:i.noop},kbContext:{default:null},navigation:{default:null}},mounted(){this.onNavMount({scope:this.$el||void 0})},updated(){this.onNavMount({scope:this.$el||void 0})},methods:{handleScroll(e){this.$emit("scroll",e)},onKeyDown(e){this.onNavKeyDown(e,{navigation:this.navigation,kbContext:this.kbContext,onNavigationAction:this.onNavigationAction}),this.$emit("keydown",{dataItems:this.getLeafDataItems(),componentId:this._gridId,selectedField:this.$props.selectedField,event:e})},onFocusIn(e){this.onNavFocus(e,{kbContext:this.kbContext})},onNavigationAction(e){this.$emit("navigationaction",{focusElement:e.focusElement,event:e.event})},getLeafDataItems(){return this.$props.currentData.filter(e=>"data"===e.rowType).map(e=>e.dataItem)}},render(){const{role:e}=this.$props,r=i.getDefaultSlots(this);return t.createVNode("div",{onScroll:this.handleScroll,onKeydown:this.onKeyDown,onFocusin:this.onFocusIn,"data-keyboardnavscope":!0,role:e},[r])}});function d(e,t){const i=(e||"").split(".");let r=t;return i.forEach(e=>{r=r?r[e]:void 0}),r}function c(e,t,i){const r=Array.from(e.tHead&&e.tHead.rows||[]),o=[t];let n;const l=i||(e=>window.getComputedStyle(e).height||void 0);r.forEach(e=>{let t=l(e);o.push(function(e){return void 0!==e&&("number"==typeof e||/px$/i.test(String(e)))}(t)?parseFloat(String(t)):e.offsetHeight)});for(let e=0;e<r.length;e++)n=o.slice(0,e+1).reduce((e,t)=>e+t),Array.from(r[e].cells).forEach(e=>e.style.top=n+"px")}const h=1e6;function p(e){const{rows:t,tableViewPortHeight:i,scrollTop:r}=e;if(0===t.length)return[];const o=t[0].height,n=Math.min(Math.round(r/o),t.length),l=Math.round(i/o),s=Math.max(0,n-l),a=Math.min(t.length,n+2*l),d=t.slice(s,a),c=d[d.length-1];return s>0&&d.unshift({dataItem:{},level:[h],offsetTop:0,height:d[0].offsetTop,levelCount:0}),a<t.length-1&&d.push({dataItem:{},level:[h,h],offsetTop:c.offsetTop+c.height,height:(t.length-a)*o,levelCount:0}),d}const u=(e,t,r)=>i.mapTree(e,t,r);function g(e,t,i){let r=[];const o=[];for(let i=e.length-1;i>=0;i--){const o=e[i];r.push({root:o,data:t(o),level:[i],levelCount:e.length})}for(;r.length>0;){let e=r.pop();if(o.push({dataItem:e.root,level:[...e.level],...i(e.root),levelCount:e.levelCount}),e.data.length)for(let i=e.data.length-1;i>=0;i--){const o=e.data[i];r.push({root:o,data:t(o),level:[...e.level,i],levelCount:e.data.length})}}return o}const m=(e,t,i)=>{const r=e[i]||[],o=r.findIndex(t);if(-1!==o){const t=[...r];return t.splice(o,1),{...e,[i]:t}}return e},f=(e,t,r)=>i.getItemPath(e,t,r),v=t.defineComponent({name:"TreeListCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null,expandchange:null,edit:null,add:null,cancel:null,save:null,remove:null},props:{id:String,class:String,field:String,dataItem:Object,format:String,colSpan:Number,colIndex:Number,level:Array,expanded:Boolean,expandable:Boolean,hasChildren:Boolean,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object]},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},methods:{onKeyDownHandler(e){const{expandable:t,dataItem:r,level:o}=this.$props;e.defaultPrevented||e.keyCode===i.Keys.enter&&t&&(e.preventDefault(),this.$emit("expandchange",e,r,o))},triggerClick(e){this.$emit("cellclick",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},triggerExpandChange(e){const{dataItem:t,level:i}=this.$props;this.$emit("expandchange",e,t,i)}},computed:{wrapperClass(){const{expandable:e,isSelected:t}=this.$props;return{"k-table-td":!0,"k-text-nowrap":e,"k-selected":t,[this.$props.class]:this.$props.class}}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const{hasChildren:e,level:l=[0],expanded:s,dataItem:a,format:d,colSpan:c,ariaColumnIndex:h,isSelected:p,expandable:u,field:g}=this.$props,m=g?i.getNestedValue(g,a):void 0,f=this.getKeyboardNavigationAttributes(this.$props.id),v=o.provideIntlService(this);let b="";null!=m&&(b=d?v.format(d,m):m.toString());const $=function(e){return t.createVNode("span",{key:e,class:"k-treelist-toggle k-icon k-svg-icon"},[t.createVNode("svg",{"aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},null)])},I=[];u&&(I.push(...l.slice(1).map((e,t)=>$.call(this,t))),e?I.push(t.createVNode(i.Icon,{class:"k-treelist-toggle",name:s?"caret-alt-down":"caret-alt-right",icon:s?n.caretAltDownIcon:n.caretAltRightIcon,key:"expand-collapse",onClick:this.triggerExpandChange,"data-prevent-selection":!0},null)):I.push($.call(this,I.length)));const x=t.createVNode("td",{style:this.$attrs.style,class:this.wrapperClass,colspan:c,"aria-colindex":h,"aria-expanded":e?s:void 0,"aria-selected":p,role:"gridcell",onClick:this.triggerClick,onKeydown:this.onKeyDownHandler,"data-grid-col-index":this.$props.colIndex,tabindex:f.tabIndex,"data-keyboardnavlevel":f[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":f[r.KEYBOARD_NAV_DATA_ID]},[I,b]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:x,additionalProps:{...this.$props,value:m},additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}}),b=t.defineComponent({name:"KendoTreeListRow",inheritAttrs:!1,emits:{click:null,dblclick:null,contextmenu:null,focus:null,blur:null,mousedown:null,mouseup:null},props:{level:Array,className:String,expanded:Boolean,rowIndex:Number,levels:Array,ariaSetSize:Number,ariaPosInSet:Number,isSelected:Boolean,dataItem:Object,isAltRow:Boolean,onClick:Function,selectedField:String,rowHeight:Number,ariaRowIndex:Number,render:[String,Function,Object]},computed:{wrapperClass(){const{isSelected:e,isAltRow:t,className:i}=this.$props;return{"k-table-row":!0,"k-table-alt-row":t,"k-master-row":!0,"k-selected":e,"k-group-footer":this.dataItem&&this.dataItem.footer,[i]:i}}},methods:{handleClick(e){this.$emit("click",e)},handleDoubleClick(e){this.$emit("dblclick",e)},handleContextMenu(e){this.$emit("contextmenu",e)},handleFocus(e){this.$emit("focus",e)},handleBlur(e){this.$emit("blur",e)},handleMousedown(e){this.$emit("mousedown",e)},handleMouseup(e){this.$emit("mouseup",e)}},render(){const e=i.getDefaultSlots(this),{rowHeight:r,expanded:o,ariaRowIndex:n,level:l,ariaSetSize:s,ariaPosInSet:a,rowIndex:d}=this.$props,c=t.createVNode("tr",{onClick:this.handleClick,onDblclick:this.handleDoubleClick,onContextmenu:this.handleContextMenu,onFocus:this.handleFocus,onBlur:this.handleBlur,onMousedown:this.handleMousedown,onMouseup:this.handleMouseup,class:this.wrapperClass,style:void 0!==r?{height:r+"px"}:this.$attrs.style,"aria-expanded":o,role:"row","aria-rowindex":n,"aria-level":l.length,"aria-posinset":a,"aria-setsize":s,"data-grid-row-index":d},[e]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:c,additionalProps:this.$props,additionalListeners:{click:this.handleClick},defaultSlots:e,swapDefaultSlots:!0})}});function $(e,t,i){const r=i?i.elementFromPoint(e.clientX,e.originalEvent.clientY):null;return t&&r?r.closest(t):null}const I=t.defineComponent({props:{...b.props,clueProps:{type:Object,default:function(){return{}}}},emits:{press:null,drag:null,drop:null},created(){this.allowDrop=!1,this.dragged=null,this.draggedOver=null},mounted(){this.$el&&(this.draggable=this.$refs.draggable)},methods:{onPress(e){const t=this.draggable&&this.draggable.element;t&&(this.dragged=this.$props.level,this.$emit("press",e,t))},onDrag(e){const t=this.draggable&&this.draggable.element;if(!i.canUseDOM)return;const r=t?t.ownerDocument:document;if(!r)return;const o=this.dragged;if(t&&o){e.isTouch||e.originalEvent.preventDefault();const i=this.$props.levels[function(e,t,i){if(!e.originalEvent)return-1;const r=$(e,"tr",i);if(r){const e=t?t.children:[];for(let t=0;t<e.length;t++)if(e[t]===r)return t}return-1}(e,t.parentNode,r)];this.draggedOver=i,this.allowDrop=i?!o.every((e,t)=>e===i[t]):!!$(e,"k-grid k-grid-md",r),this.$emit("drag",{nativeEvent:e.originalEvent,dragged:o,draggedOver:i,draggedItem:this.$props.dataItem,clueProps:{visible:!0,top:e.pageY+10,left:e.pageX,text:t.innerText,allowDrop:this.allowDrop}})}},onRelease(e){if(this.draggable&&this.draggable.element&&this.dragged){const t=[...this.dragged],i=this.draggedOver&&[...this.draggedOver];this.dragged=null,this.draggedOver=null;const r=this.$props.dataItem;this.$emit("drop",{nativeEvent:e.originalEvent,dragged:t,draggedOver:i,draggedItem:r,clueProps:{allowDrop:this.allowDrop}}),this.allowDrop=!1}}},render(){const e=i.getDefaultSlots(this);return t.createVNode(i.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:"draggable"},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e)?e:{default:()=>[e]})}}),x=t.defineComponent({name:"KendoRowClue",props:{visible:Boolean,top:Number,left:Number,text:String,allowDrop:Boolean},computed:{statusIconName(){return this.$props.allowDrop?"plus":"cancel"},statusSvg(){return this.$props.allowDrop?n.plusIcon:n.cancelIcon}},mounted(){const e=document.body;this.windowElement=this.$refs.wrapper,e.append(this.windowElement)},beforeUnmount(){this.windowElement.remove()},render(){return this.visible&&t.createVNode("div",{class:"k-header k-drag-clue",ref:"wrapper",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:this.$props.top+"px",left:this.$props.left+"px"}},[t.createVNode(i.Icon,{name:this.statusIconName,class:"k-drag-status",icon:this.statusSvg},null),this.$props.text])}}),C={name:"@progress/kendo-vue-treelist",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:0,version:"8.1.0-develop.1",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=vue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"},S="treelist.noRecords",k="treelist.pagerInfo",w="treelist.pagerFirstPage",y="treelist.pagerPreviousPage",N="treelist.pagerNextPage",D="treelist.pagerLastPage",A="treelist.pagerItemsPerPage",E="treelist.pagerPageSelection",T="treelist.pagerPage",R="treelist.pagerOf",L="treelist.pagerTotalPages",O="treelist.groupPanelEmpty",K="treelist.columnMenu",F="treelist.filterClearButton",V="treelist.filterSubmitButton",B="treelist.filterTitle",z="treelist.sortAscending",_="treelist.sortDescending",j="treelist.searchPlaceholder",M="treelist.filterCheckAll",P="treelist.filterChooseOperator",H="treelist.filterSelectedItems",q="treelist.sortAriaLabel",U="treelist.filterAriaLabel",Y="treelist.filterEqOperator",G="treelist.filterNotEqOperator",W="treelist.filterIsNullOperator",X="treelist.filterIsNotNullOperator",J="treelist.filterIsEmptyOperator",Q="treelist.filterIsNotEmptyOperator",Z="treelist.filterStartsWithOperator",ee="treelist.filterContainsOperator",te="treelist.filterNotContainsOperator",ie="treelist.filterEndsWithOperator",re="treelist.filterGteOperator",oe="treelist.filterGtOperator",ne="treelist.filterLteOperator",le="treelist.filterLtOperator",se="treelist.filterIsTrue",ae="treelist.filterIsFalse",de="treelist.filterBooleanAll",ce="treelist.filterAfterOrEqualOperator",he="treelist.filterAfterOperator",pe="treelist.filterBeforeOperator",ue="treelist.filterBeforeOrEqualOperator",ge={[S]:"No records available",[O]:"Drag a column header and drop it here to group by that column",[K]:"Column Menu",[F]:"Clear",[V]:"Filter",[B]:"Filter",[z]:"Sort Ascending",[_]:"Sort Descending",[A]:"items per page",[E]:"Select page",[k]:"{0} - {1} of {2} items",[w]:"Go to the first page",[y]:"Go to the previous page",[N]:"Go to the next page",[D]:"Go to the last page",[T]:"Page",[R]:"of",[L]:"{0}",[j]:"Search",[M]:"Check All",[P]:"Choose Operator",[H]:"selected items",[q]:"Sortable",[U]:"Filter",[Y]:"Is equal to",[G]:"Is not equal to",[W]:"Is null",[X]:"Is not null",[J]:"Is empty",[Q]:"Is not empty",[Z]:"Starts with",[ee]:"Contains",[te]:"Does not contain",[ie]:"Ends with",[re]:"Is greater than or equal to",[oe]:"Is greater than",[ne]:"Is less than or equal to",[le]:"Is less than",[se]:"Is true",[ae]:"Is false",[de]:"(All)",[ce]:"Is after or equal to",[he]:"Is after",[pe]:"Is before",[ue]:"Is before or equal to","treelist.filterAndLogic":"And","treelist.filterOrLogic":"Or"};function me(e){const t=e.replace(/^pager\.([a-z])/,(e,t)=>"treelist.pager"+t.toUpperCase());return{messageKey:t,defaultMessage:ge[t]}}const fe=t.defineComponent({name:"TreeListSelectionCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null,expandchange:null,selectionchange:null,edit:null,add:null,cancel:null,save:null,remove:null},props:{id:String,field:String,dataItem:Object,format:String,colSpan:Number,colIndex:Number,level:Array,expanded:Boolean,expandable:Boolean,hasChildren:Boolean,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],onChange:Function},created(){this.inputId=i.guid()},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},methods:{triggerClick(e){this.$emit("cellclick",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},handleOnChange(e){this.$emit("selectionchange",{event:e,item:{dataItem:this.dataItem,level:this.level},field:this.field,colIndex:this.colIndex})}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const{dataItem:e,colSpan:o,ariaColumnIndex:n,isSelected:l,field:s}=this.$props,a=i.getNestedValue(s,e),d=this.getKeyboardNavigationAttributes(this.$props.id),c=t.createVNode("td",{style:this.$attrs.style,role:"gridcell",class:"k-table-td",colspan:o,"aria-selected":l,"aria-colindex":n,"data-grid-col-index":this.$props.colIndex,tabindex:d.tabIndex,"data-keyboardnavlevel":d[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":d[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("input",{checked:"boolean"==typeof a&&a,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.handleOnChange},null),t.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:c,additionalProps:this.$props,additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}});function ve(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const be=t.defineComponent({name:"KendoTreeList",props:{dataItems:Array,resizable:Boolean,reorderable:Boolean,sortable:[Object,Boolean],sort:Array,columns:Array,columnVirtualization:Boolean,filter:[Array,Object],filterable:Boolean,filterOperators:Object,filterRow:[String,Function,Object],cellRender:[String,Function,Object],toolbar:[String,Function,Object],noRecords:[String,Function,Object],expandField:String,subItemsField:String,selectedField:String,editField:String,scrollable:String,rowHeight:Number,tableProps:Object,rowClass:Function,pageable:[Boolean,Object],pager:[String,Function,Object],skip:Number,take:Number,wrapperStyle:Object,dataItemKey:String,navigatable:Boolean,size:{type:String,validator:function(e){return["none","small","medium"].includes(e)}},reordableRows:Boolean,onDatastatechange:Function,onPagechange:Function,onSortchange:Function,onFilterchange:Function},created(){this.prevData=[],this.prevColumns=void 0,this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.element=null,this._treeListId=i.guid(),i.validatePackage(C),this.dragLogic=new r.CommonDragLogic(this.columnReorder.bind(this),i.noop,i.noop),this.columnResize=new r.ColumnResize(this.onResize.bind(this))},inject:{kendoLocalizationService:{default:null}},computed:{wrapperClass(){const{size:e,scrollable:t}=this.$props;return{"k-grid":!0,[this.$props.className]:this.$props.className,"k-grid-md":!e,[`k-grid-${i.kendoThemeMaps.sizeMap[e]||e}`]:e,"k-treelist":!0,"k-treelist-scrollable":"none"!==t}},toolbarClass(){const{size:e}=this.$props;return{"k-toolbar":!0,"k-toolbar-solid":!0,"k-grid-toolbar":!0,[`k-toolbar-${i.kendoThemeMaps.sizeMap[e]||e}`]:e}},gridTableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-table":!0,"k-grid-md":!e,[`k-table-${i.kendoThemeMaps.sizeMap[e]||e}`]:e}}},data:()=>({wrapperScrollLeft:0,wrapperScrollTop:0,updateOnScroll:!1,tbodyOffsetTop:0,isRtl:!1,navigation:void 0,rowClue:{}}),mounted(){this.calculateSizes(this.$el);const e=i.isRtl(this.$el);this.isRtl=e;const t=i.getRef(this,"gridNav"),r=i.getRef(this,"dropElementClue"),o=i.getRef(this,"dragElementClue");this.dragLogic.refDropElementClue(r),this.dragLogic.refDragElementClue(o),this.columnResize.colGroupMain=i.getRef(this,"colGroup"),t&&(this.element=t.$el)},destroyed(){this.columnResize.columns=[],this.dragLogic.columns=[],this.extendedColumn=[],this.columnsMap=[],this.prevData=[],this.flattedData=[],this.updateOnScroll=!1},render(){i.getDefaultSlots(this);const{columns:e=[],filterRow:n,scrollable:l="scrollable",resizable:s=!1,reorderable:c=!1,skip:h,take:u,filterable:g,reordableRows:m}=this.$props,f=n||r.FilterRow,$=r.tableKeyboardNavigationTools.getIdPrefix(this.navigation);this.prevColumns!==e&&(this.extendedColumn=r.readColumns(e,{prevId:0,idPrefix:$}),this.columnsMap=r.mapColumns(this.extendedColumn)),this.prevColumns=this.$props.columns;const C=this.extendedColumn.filter(e=>0===e.children.length);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=s,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=c,this.dragLogic.groupable=!1;const k=this.$props.filter&&0===this.$props.filter.length?void 0:this.$props.filter&&void 0!==this.$props.filter.length?{logic:"and",filters:this.$props.filter}:this.$props.filter,w=t.createVNode(r.Header,{size:this.$props.size,headerRow:t.createVNode(r.HeaderRow,{grid:this,sort:this.$props.sort,filter:k,sortable:this.$props.sortable,selectedField:this.$props.selectedField,reorderable:c,filterable:g,filterOperators:this.$props.filterOperators||r.operators,onSortChange:this.sortChange,onSelectionchange:this.onHeaderSelectionChange,columns:this.extendedColumn,columnsMap:this.columnsMap,cellRender:this.$props.headerCellRender,columnResize:this.columnResize,columnMenu:this.$props.columnMenu,onFilterChange:this.columnMenuFilterChange,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,filterRow:g?t.createVNode(f,{size:this.$props.size,columns:C,filter:this.$props.filter||[],onFilterchange:this.filterChange,sort:this.$props.sort,ariaRowIndex:this.columnsMap.length+1,grid:this,filterOperators:this.$props.filterOperators||r.operators,cellRender:this.$props.filterCellRender,isRtl:this.isRtl},null):void 0},null),columnResize:this.columnResize},null),y=this.$props.wrapperStyle||{},{colSpans:N,hiddenColumns:D}=r.tableColumnsVirtualization({enabled:this.$props.columnVirtualization,columns:C,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((y.width||"").toString())}),A=(e,o,n,l,s,a)=>C.map(function(d,c){if(D[c])return null;const h=d.id?d.id:c,p=`${d.className?d.className+" ":""}${d.locked?"k-grid-content-sticky":""}`,u=i.templateRendering.call(this,this.$props.cellRender||d.cell,i.getListeners.call(this));if(o&&d.editCell){const o=i.templateRendering.call(this,d.editCell,i.getListeners.call(this));return i.getTemplate.call(this,{h:t.h,template:o,additionalProps:{id:r.tableKeyboardNavigationTools.generateNavigatableId(`${n}-${String(c)}`,$),colSpan:N[c],dataItem:e.dataItem,field:d.field,format:d.format,class:p||void 0,render:u,level:e.level,expandable:d.expandable,expanded:l,hasChildren:this.hasChildren(e.dataItem),colIndex:c,ariaColumnIndex:d.ariaColumnIndex,style:void 0!==d.left&&{left:d.left+"px",right:d.right+"px",borderRightWidth:d.rightBorder?"1px":""}||{},isSelected:Array.isArray(a)&&a.indexOf(c)>-1},additionalListeners:{change:this.itemChange,input:this.itemChange,expandchange:this.expandChange,selectionchange:t=>this.selectionChange(t,e,c,s)}})}const g=this.selectedField&&d.field===this.selectedField?fe:v;return t.createVNode(g,{key:h,id:r.tableKeyboardNavigationTools.generateNavigatableId(`${n}-${String(c)}`,$),colSpan:N[c],dataItem:e.dataItem,field:d.field,format:d.format,class:p||void 0,render:u,onCellclick:this.cellClick,onCellkeydown:this.cellKeydown,onChange:this.itemChange,onSelectionchange:t=>this.selectionChange(t,e,c,s),level:e.level,expandable:d.expandable,expanded:l,hasChildren:this.hasChildren(e.dataItem),onExpandchange:this.expandChange,colIndex:c,ariaColumnIndex:d.ariaColumnIndex,style:void 0!==d.left&&{left:d.left+"px",right:d.right+"px",borderRightWidth:d.rightBorder?"1px":""}||{},isSelected:Array.isArray(a)&&a.indexOf(c)>-1},null)},this);let E=this.flatData();const T=E.length;void 0!==h&&void 0!==u&&(E=E.slice(h,h+u)),"virtual"===l&&(E=p({rows:E,tableViewPortHeight:parseFloat((y.height||y.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const R=i.templateRendering.call(this,this.$props.noRecords,i.getListeners.call(this)),L=o.provideLocalizationService(this).toLanguageString(S,ge[S]),O=i.getTemplate.call(this,{h:t.h,template:R}),K=E.length?E.map(function(e){return e.level}):[],F=this.columnsMap.length+(g?1:0)+1,V=E.length>0&&E.map(function(e,r){const o=d(this.$props.editField,e.dataItem),n=this.$props.dataItemKey&&i.getter(this.$props.dataItemKey)(e.dataItem),s=String(n||e.level.join(".")),a=this.expanded(e.dataItem),c=this.$props.selectedField?d(this.$props.selectedField,e.dataItem):void 0,h=this.$props.row||b,p=A(e,o,s,a,r,c),u=t.createVNode(h,{key:s,level:e.level,levels:K,dataItem:e.dataItem,selectedField:this.$props.selectedField,rowHeight:"virtual"===l?e.height:this.$props.rowHeight,render:this.$props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:t=>this.emitRowEvent("rowclick",t,e),onDblclick:t=>this.emitRowEvent("rowdoubleclick",t,e),onContextmenu:t=>this.emitRowEvent("rowcontextmenu",t,e),onFocus:t=>this.emitRowEvent("rowfocus",t,e),onBlur:t=>this.emitRowEvent("rowblur",t,e),onMousedown:t=>this.emitRowEvent("rowmousedown",t,e),onMouseup:t=>this.emitRowEvent("rowmouseup",t,e),isAltRow:r%2!=0,expanded:a,rowIndex:r,ariaRowIndex:F+r,ariaSetSize:e.levelCount,ariaPosInSet:e.level[e.level.length-1]+1,isSelected:"boolean"==typeof c&&c,className:this.$props.rowClass?this.$props.rowClass(e):""},ve(p)?p:{default:()=>[p]});return m?t.createVNode(I,{key:s,level:e.level,levels:K,dataItem:e.dataItem,onDrag:this.onRowDrag,onDrop:this.onRowDrop},ve(u)?u:{default:()=>[u]}):u},this)||t.createVNode("tr",{class:"k-table-row k-grid-norecords"},[t.createVNode("td",{class:"k-table-td",colspan:C.length},[this.$props.noRecords?O:L])]),B=e=>this.$props.sort&&this.$props.sort.some(t=>t.field===e),z=t.createVNode("colgroup",{ref:i.setRef(this,"colGroup")},[C.map(function(e){return t.createVNode("col",{class:B(e.field)?"k-sorted":void 0,width:void 0!==e.width?-1!==e.width.toString().indexOf("%")?e.width:Math.floor(parseFloat(e.width.toString()))+"px":void 0},null)},this)]),_=this.$props.columnVirtualization||"virtual"===this.$props.scrollable,j=this.$props.selectable&&this.$props.selectable.drag?"none":void 0,M=this.$props.tableProps||{},P=i.templateRendering.call(this,this.$props.toolbar,i.getListeners.call(this)),H=i.getTemplate.call(this,{h:t.h,template:P}),q=i.templateRendering.call(this,this.$props.pager,i.getListeners.call(this)),U=this.$props.pageable&&t.createVNode(r.Pager,{class:"k-grid-pager",size:this.$props.size,onPagesizechange:this.pageChangeHandler,onPagechange:this.pageChangeHandler,total:T,skip:this.$props.skip||0,pageSize:this.$props.take||10,messagesMap:me,settings:r.normalize(this.$props.pageable||{})},null),Y=i.getTemplate.call(this,{h:t.h,template:q,defaultRendering:U,additionalProps:{...this.$props,skip:this.skip||0,messagesMap:me},additionalListeners:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler}}),G=this.dragLogic.reorderable&&i.canUseDOM&&document&&document.body,W=this.reordableRows&&this.rowClue&&this.rowClue.visible&&i.canUseDOM&&document&&document.body,X=[G&&t.createVNode(r.DropClue,{ref:i.setRef(this,"dropElementClue")},null),G&&t.createVNode(r.DragClue,{ref:i.setRef(this,"dragElementClue")},null),W&&t.createVNode(x,{visible:this.rowClue.visible,top:this.rowClue.top,left:this.rowClue.left,text:this.rowClue.text,allowDrop:this.rowClue.allowDrop},null)];return t.createVNode(r.TableKeyboardNavigationProvider,{ref:"navRef",id:this._treeListId,navigatable:this.$props.navigatable},{default:()=>[t.createVNode(a,{style:this.$props.wrapperStyle,class:this.wrapperClass,currentData:E,onScroll:_?this.handleOnScroll:i.noop,onKeydown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":T,"aria-colcount":C.length,role:"treegrid",ref:e=>{this.treeListNavRef=e}},{default:()=>[this.$props.toolbar&&t.createVNode("div",{class:this.toolbarClass},[H]),t.createVNode("table",{class:this.gridTableClass,style:{...M.style||{},userSelect:j},role:"presentation"},[z,w,t.createVNode("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0,role:"presentation"},[V])]),Y,X]})]})},methods:{scrollIntoView(e){if(!this.element)return;const{rowIndex:t=0}=e,{scrollable:i,rowHeight:r=0}=this.$props;if("virtual"===i||r)this.element.scroll(0,(t-1)*r);else{const e=this.element.querySelector(`tbody > tr:nth-child(${t})`);if(e){const t=e.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,t)}}},getColumns(){const e=this.extendedColumn.filter(e=>e.declarationIndex>=0&&-1===e.parentIndex);return(e=>(e.sort((e,t)=>e.declarationIndex-t.declarationIndex),e))(e)},flatData(){const{dataItems:e=[],rowHeight:t=0}=this.$props;let i=0;const r=this.updateOnScroll&&this.prevData===e&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:g(e,this.expandedSubItems,e=>{const r={height:t,offsetTop:i};return i+=r.height,r});return this.prevData=e,this.flattedData=r,r},onKeyDown(e){this.$emit("keydown",e)},onFocus(e){},onRowDrag(e){this.rowClue=e.clueProps,this.$emit("rowdrag",{...e,target:this})},onRowDrop(e){this.rowClue=e.clueProps,e.clueProps.allowDrop&&this.$emit("rowdrop",{...e,target:this})},columnReorder(e,t,i){const r=this.extendedColumn[e].depth,o=e=>{do{e++}while(e<this.extendedColumn.length&&this.extendedColumn[e].depth>r);return e},n=this.extendedColumn.splice(e,o(e)-e);this.extendedColumn.splice(e<t?o(t-n.length):t,0,...n),this.extendedColumn.filter(e=>e.declarationIndex>=0).forEach((e,t)=>e.orderIndex=t);const l={component:this,columns:this.getColumns(),prev:e,next:t,event:i};this.$emit("columnreorder",l)},onResize(e,t,i,r,o){const n=this.extendedColumn.filter(e=>0===e.children.length).reduce((e,t)=>e+parseFloat(String(t.width)),0);if(this.extendedColumn&&this.columns){const i=this.columns[e].width,r=i&&i.toString().indexOf("px")>0;this.extendedColumn[e].width=r?t+"px":t}const l={columns:this.getColumns(),totalWidth:n,index:e,event:r,newWidth:t,oldWidth:i,end:o,component:this};o&&(this.prevColumns=void 0),this.$emit("columnresize",l)},handleOnScroll(e){const t=e.currentTarget.scrollLeft,i=e.currentTarget.scrollTop,{columnVirtualization:r,scrollable:o,rowHeight:n=0}=this.$props,l=n;let s=!1;r&&Math.abs(this.wrapperScrollLeft-t)>0&&(this.wrapperScrollLeft=t,s=!0),"virtual"===o&&Math.abs(this.wrapperScrollTop-i)>l&&(this.wrapperScrollTop=i,s=!0),s&&(this.updateOnScroll=!0)},calculateSizes(e){if(!e||"none"===this.$props.scrollable)return;const t=Array.from(e.childNodes),r=t.find(e=>"TABLE"===e.nodeName),o=this.$props.toolbar&&t.find(e=>1===e.nodeType&&e.classList.contains("k-grid-toolbar"));let n=0;if(o&&i.canUseDOM){const e=o.style.boxSizing;o.style.boxSizing="border-box",n=parseFloat(String(window.getComputedStyle(o).height))||o.offsetHeight,o.style.boxSizing=e,o.getAttribute("style")||o.removeAttribute("style")}this.tbodyOffsetTop=r.tBodies[0].offsetTop,c(r,n)},cellClick(e){this.$emit("cellclick",e)},cellKeydown(e){this.$emit("cellkeydown",e)},itemChange(e){if(e.field===this.$props.expandField){if(this.$props.onExpandchange){const t={...this.getArguments(e.event),dataItem:e.dataItem,level:e.level,value:e.value};this.$emit("expandchange",t)}return}const t={...this.getArguments(e.event),dataItem:e.dataItem,level:e.level,field:e.field,value:e.value};e.dataItem&&this.$emit("itemchange",t)},selectionChange(e){const{event:t,item:i,columnIndex:o}=e;if(!i)return;const{mode:n,cell:l}=r.getSelectionOptions(this.$props.selectable),s={...this.getArguments(t),dataItem:i.dataItem,level:i.level,startColIndex:o,endColIndex:o,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:n,cell:l,isDrag:!1,componentId:this._treeListId,selectedField:this.$props.selectedField||""};this.$emit("selectionchange",s)},onHeaderSelectionChange(e){const t={field:e.field,event:e.event,component:this,dataItems:this.getLeafDataItems()};this.$emit("headerselectionchange",t)},selectionRelease(e){if(this.$props.onSelectionchange){const t={event:void 0,component:this,selectedField:this.$props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...e};this.$emit("selectionchange",t)}},sortChange(e,t){this.raiseDataEvent("sortchange",{sort:e,field:t.field},t)},filterChange(e,t){const i=e?e.filters:[];this.raiseDataEvent("filterchange",{filter:i},{filter:i,skip:0},t)},columnMenuFilterChange(e,t){const i={...t,filter:e?e.filters:[],component:this};this.$emit("columnmenufilterchange",i)},expandChange(e,t,i){const{expandField:r}=this.$props;if(r){const r={...this.getArguments(e),dataItem:t,level:i,value:this.expanded(t)};this.$emit("expandchange",r)}},emitRowEvent(e,t,i){if("TD"===t.target.nodeName){const r={dataItem:i.dataItem,level:i.level,...this.getArguments(t)};this.$emit(e,r)}},pageChangeHandler(e,t){this.raiseDataEvent("pagechange",{page:e,event:t,skip:e.skip,take:e.take},{skip:e.skip,take:e.take},t)},raiseDataEvent(e,t,r,o){i.hasListener.call(this,e)?this.$emit(e,{...this.getArguments(o),...t}):i.hasListener.call(this,"datastatechange")&&this.$emit("datastatechange",{...this.getArguments(o),data:{...this.getDataState(),...t,...r}})},getDataState(){return{filter:this.$props.filter,sort:this.$props.sort}},getArguments(e){return{event:e,component:this}},expandedSubItems(e){const t=[];return this.expanded(e)&&this.hasChildren(e)&&t.push(...d(this.$props.subItemsField,e)),t},getLeafDataItems(){return this.flatData().map(e=>e.dataItem)},expanded(e){return!!d(this.$props.expandField,e)},hasChildren(e){return!!d(this.$props.subItemsField,e)}}}),$e=[{text:ee,operator:"contains"},{text:te,operator:"doesnotcontain"},{text:Y,operator:"eq"},{text:G,operator:"neq"},{text:Z,operator:"startswith"},{text:ie,operator:"endswith"},{text:W,operator:"isnull"},{text:X,operator:"isnotnull"},{text:J,operator:"isempty"},{text:Q,operator:"isnotempty"}],Ie=[{text:Y,operator:"eq"},{text:G,operator:"neq"},{text:re,operator:"gte"},{text:oe,operator:"gt"},{text:ne,operator:"lte"},{text:le,operator:"lt"},{text:W,operator:"isnull"},{text:X,operator:"isnotnull"}],xe=[{text:Y,operator:"eq"},{text:G,operator:"neq"},{text:ce,operator:"gte"},{text:he,operator:"gt"},{text:pe,operator:"lt"},{text:ue,operator:"lte"},{text:W,operator:"isnull"},{text:X,operator:"isnotnull"}],Ce=[{text:de,operator:""},{text:se,operator:!0},{text:ae,operator:!1}];function Se(e,t){return{clearButtonTitle:e.toLanguageString(F,ge[F]),operators:t.map(t=>({text:e.toLanguageString(t.text,ge[t.text]),operator:t.operator}))}}const ke=t.defineComponent({name:"KendoTreeListTextFilter",inject:{kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:null}},emits:{change:null},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const{operators:e,...i}=this.$props,n={...Se(o.provideLocalizationService(this),e||$e),...i,filterType:"numeric"};return{filterCell:t.h(r.FilterCell,{onChange:this.onChange,...n})}},methods:{onChange(e){this.$emit("change",e)}}}),we=t.defineComponent({name:"KendoTreeListNumericFilter",inject:{kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:null}},emits:{change:null},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const{operators:e,...i}=this.$props,n={...Se(o.provideLocalizationService(this),e||Ie),...i,filterType:"numeric"};return{filterCell:t.h(r.FilterCell,{onChange:this.onChange,...n})}},methods:{onChange(e){this.$emit("change",e)}}}),ye=t.defineComponent({name:"KendoTreeListDateFilter",inject:{kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:null}},emits:{change:null},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const{operators:e,...i}=this.$props,n={...Se(o.provideLocalizationService(this),e||xe),...i,filterType:"date"};return{filterCell:t.h(r.FilterCell,{onChange:this.onChange,...n})}},methods:{onChange(e){this.$emit("change",e)}}}),Ne=t.defineComponent({name:"KendoTreeListBooleanFilter",inject:{kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:null}},emits:{change:null},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const{operators:e,...i}=this.$props,n={...Se(o.provideLocalizationService(this),e||Ce),...i,filterType:"boolean"};return{filterCell:t.h(r.FilterCell,{onChange:this.onChange,...n})}},methods:{onChange(e){this.$emit("change",e)}}}),De=t.defineComponent({name:"KendoTreeListTextEditor",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,colSpan:Number,colIndex:Number,level:Array,expanded:Boolean,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],focusInputOnMount:Boolean},emits:{input:null,change:null,cellkeydown:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},data:()=>({inputId:i.guid()}),mounted(){const e=this.$el&&this.$el.querySelector("input");!e||e===document.activeElement||!this.focusInputOnMount||e.select()},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},changeHandler(e){this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,level:this.$props.level,value:e.target.value})},inputHandler(e){this.$emit("input",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,level:this.$props.level,value:e.target.value})}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=i.getNestedValue(this.$props.field,this.$props.dataItem),o=this.getKeyboardNavigationAttributes(this.$props.id),n=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.colIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[t.createVNode("input",{style:{width:"100%"},class:"k-input-inner",value:null!=e?e:"",onChange:this.changeHandler,onInput:this.inputHandler},null)])]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:n,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,input:this.inputHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}}),Ae=t.defineComponent({name:"KendoTreeListNumericEditor",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,colSpan:Number,colIndex:Number,level:Array,expanded:Boolean,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],focusInputOnMount:Boolean},emits:{change:null,cellkeydown:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},data:()=>({inputId:i.guid()}),computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},mounted(){const e=this.$el&&this.$el.querySelector("input");!e||e===document.activeElement||!this.focusInputOnMount||e.select()},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},changeHandler(e){this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,level:this.$props.level,value:e.target.value})}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=i.getNestedValue(this.$props.field,this.$props.dataItem),o=this.getKeyboardNavigationAttributes(this.$props.id),n=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.colIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode(l.NumericTextBox,{value:void 0===e?null:e,onChange:this.changeHandler},null)]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:n,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}}),Ee=t.defineComponent({name:"KendoTreeListBooleanEditor",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,colSpan:Number,colIndex:Number,level:Array,expanded:Boolean,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],focusInputOnMount:Boolean},emits:{change:null,cellkeydown:null,cellclick:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},data:()=>({inputId:i.guid()}),mounted(){const e=this.$el&&this.$el.querySelector("input");!e||e===document.activeElement||!this.focusInputOnMount||e.focus()},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerClick(e){this.$emit("cellclick",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},changeHandler(e){this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,level:this.$props.level,value:e.target.checked})}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=i.getNestedValue(this.$props.field,this.$props.dataItem),o=this.getKeyboardNavigationAttributes(this.$props.id),n=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,onClick:this.triggerClick,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.colIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("input",{checked:e||!1,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.changeHandler},null),t.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:n,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}}),Te=t.defineComponent({name:"KendoTreeListDateEditor",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,colSpan:Number,colIndex:Number,level:Array,expanded:Boolean,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],focusInputOnMount:Boolean},emits:{change:null,cellkeydown:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},data:()=>({inputId:i.guid()}),mounted(){const e=this.$el&&this.$el.querySelector("input");!e||e===document.activeElement||!this.focusInputOnMount||e.select()},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},changeHandler(e){this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,level:this.$props.level,value:e.target.value})}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=i.getNestedValue(this.$props.field,this.$props.dataItem),o=this.getKeyboardNavigationAttributes(this.$props.id),n=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.colIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode(s.DatePicker,{value:e,onChange:this.changeHandler},null)]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:n,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}}),Re=r.TABLE_ROW_INDEX_ATTRIBUTE,Le=r.TABLE_COL_INDEX_ATTRIBUTE,Oe=r.TABLE_PREVENT_SELECTION_ELEMENT;Object.defineProperty(e,"getSelectedState",{enumerable:!0,get:function(){return r.getSelectedState}}),Object.defineProperty(e,"getSelectedStateFromKeyDown",{enumerable:!0,get:function(){return r.getSelectedStateFromKeyDown}}),Object.defineProperty(e,"setSelectedState",{enumerable:!0,get:function(){return r.setSelectedState}}),e.TREELIST_COL_INDEX_ATTRIBUTE=Le,e.TREELIST_PREVENT_SELECTION_ELEMENT=Oe,e.TREELIST_ROW_INDEX_ATTRIBUTE=Re,e.TreeList=be,e.TreeListBooleanEditor=Ee,e.TreeListBooleanFilter=Ne,e.TreeListCell=v,e.TreeListDateEditor=Te,e.TreeListDateFilter=ye,e.TreeListNumericEditor=Ae,e.TreeListNumericFilter=we,e.TreeListRow=b,e.TreeListSelectionCell=fe,e.TreeListTextEditor=De,e.TreeListTextFilter=ke,e.createDataTree=(e,t,i,r)=>{let o,n={},l=[];return e.forEach(e=>n[t(e)]={...e}),e.forEach(e=>{o=n[i(e)],o?(o[r]=o[r]||[],o[r].push(n[t(e)])):l.push(n[t(e)])}),l},e.extendDataItem=(e,t,r)=>i.extendDataItem(e,t,r),e.filterBy=function(e,t,i){return r.filterBy(e,t,i)},e.flatData=g,e.getItemPath=f,e.getNestedValue=d,e.mapTree=u,e.mapTreeItem=(e,t,r,o)=>i.mapTreeItem(e,t,r,o),e.modifySubItems=(e,t,i,r)=>u(e,t,e=>i(e)?{...e,[t]:r(e[t]||[])}:e),e.moveTreeItem=(e,t,i,r)=>{const o=[...e],n=f(o,t,r),l=n.pop(),s=n.pop(),a=t[t.length-1];if(i){const e=f(o,i,r).pop();(s?s[r]:o).splice(a,1),e[r]=e[r]||[],e[r].push(l)}else(s?s[r]:o).splice(a,1),o.push(l);return o},e.orderBy=function(e,t,i){return r.orderBy(e,t,i)},e.removeItems=(e,t,i)=>[...u([{[t]:[...e]}],t,e=>m(e,i,t))[0][t]],e.setHeaderRowsTop=c,e.tableRowsVirtualization=p,e.treeToFlat=(e,t,i)=>{const r=e=>{const r=[];return(e=>!!d(t,e))(e)&&(e=>!!d(i,e))(e)&&r.push(...d(i,e)),r},o=(e,t,i)=>{t.push({...e,level:i}),r(e).forEach(e=>o(e,t,i+1))},n=[];return e.forEach(e=>o(e,n,0)),n}});
15
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("@progress/kendo-vue-common"),require("@progress/kendo-vue-data-tools"),require("@progress/kendo-vue-intl"),require("@progress/kendo-svg-icons"),require("@progress/kendo-vue-inputs"),require("@progress/kendo-vue-dateinputs")):"function"==typeof define&&define.amd?define(["exports","vue","@progress/kendo-vue-common","@progress/kendo-vue-data-tools","@progress/kendo-vue-intl","@progress/kendo-svg-icons","@progress/kendo-vue-inputs","@progress/kendo-vue-dateinputs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoVueTreelist={},e.Vue,e.KendoVueCommon,e.KendoVueDatatools,e.KendoVueIntl,e.KendoSVGIcons,e.KendoVueInputs,e.KendoVueDateinputs)}(this,function(e,t,i,r,o,n,l,s){"use strict";const a=t.defineComponent({name:"KendoTreeListNav",emits:{scroll:null,keydown:null,navigationaction:null},props:{currentData:Array,onFocus:Function,role:String},inject:{onNavKeyDown:{default:i.noop},onNavFocus:{default:i.noop},onNavMount:{default:i.noop},handleDispatchFocus:{default:i.noop},kbContext:{default:null},navigation:{default:null}},mounted(){this.onNavMount({scope:this.$el||void 0})},updated(){this.onNavMount({scope:this.$el||void 0})},methods:{handleScroll(e){this.$emit("scroll",e)},onKeyDown(e){this.onNavKeyDown(e,{navigation:this.navigation,kbContext:this.kbContext,onNavigationAction:this.onNavigationAction}),this.$emit("keydown",{dataItems:this.getLeafDataItems(),componentId:this._gridId,selectedField:this.$props.selectedField,event:e})},onFocusIn(e){this.onNavFocus(e,{kbContext:this.kbContext})},onNavigationAction(e){this.$emit("navigationaction",{focusElement:e.focusElement,event:e.event})},getLeafDataItems(){return this.$props.currentData.filter(e=>"data"===e.rowType).map(e=>e.dataItem)}},render(){const{role:e}=this.$props,r=i.getDefaultSlots(this);return t.createVNode("div",{onScroll:this.handleScroll,onKeydown:this.onKeyDown,onFocusin:this.onFocusIn,"data-keyboardnavscope":!0,role:e},[r])}});function d(e,t){const i=(e||"").split(".");let r=t;return i.forEach(e=>{r=r?r[e]:void 0}),r}function c(e,t,i){const r=Array.from(e.tHead&&e.tHead.rows||[]),o=[t];let n;const l=i||(e=>window.getComputedStyle(e).height||void 0);r.forEach(e=>{let t=l(e);o.push(function(e){return void 0!==e&&("number"==typeof e||/px$/i.test(String(e)))}(t)?parseFloat(String(t)):e.offsetHeight)});for(let e=0;e<r.length;e++)n=o.slice(0,e+1).reduce((e,t)=>e+t),Array.from(r[e].cells).forEach(e=>e.style.top=n+"px")}const h=1e6;function p(e){const{rows:t,tableViewPortHeight:i,scrollTop:r}=e;if(0===t.length)return[];const o=t[0].height,n=Math.min(Math.round(r/o),t.length),l=Math.round(i/o),s=Math.max(0,n-l),a=Math.min(t.length,n+2*l),d=t.slice(s,a),c=d[d.length-1];return s>0&&d.unshift({dataItem:{},level:[h],offsetTop:0,height:d[0].offsetTop,levelCount:0}),a<t.length-1&&d.push({dataItem:{},level:[h,h],offsetTop:c.offsetTop+c.height,height:(t.length-a)*o,levelCount:0}),d}const u=(e,t,r)=>i.mapTree(e,t,r);function g(e,t,i){let r=[];const o=[];for(let i=e.length-1;i>=0;i--){const o=e[i];r.push({root:o,data:t(o),level:[i],levelCount:e.length})}for(;r.length>0;){let e=r.pop();if(o.push({dataItem:e.root,level:[...e.level],...i(e.root),levelCount:e.levelCount}),e.data.length)for(let i=e.data.length-1;i>=0;i--){const o=e.data[i];r.push({root:o,data:t(o),level:[...e.level,i],levelCount:e.data.length})}}return o}const m=(e,t,i)=>{const r=e[i]||[],o=r.findIndex(t);if(-1!==o){const t=[...r];return t.splice(o,1),{...e,[i]:t}}return e},f=(e,t,r)=>i.getItemPath(e,t,r),v=t.defineComponent({name:"TreeListCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null,expandchange:null,edit:null,add:null,cancel:null,save:null,remove:null},props:{id:String,class:String,field:String,dataItem:Object,format:String,colSpan:Number,colIndex:Number,level:Array,expanded:Boolean,expandable:Boolean,hasChildren:Boolean,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object]},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},methods:{onKeyDownHandler(e){const{expandable:t,dataItem:r,level:o}=this.$props;e.defaultPrevented||e.keyCode===i.Keys.enter&&t&&(e.preventDefault(),this.$emit("expandchange",e,r,o))},triggerClick(e){this.$emit("cellclick",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},triggerExpandChange(e){const{dataItem:t,level:i}=this.$props;this.$emit("expandchange",e,t,i)}},computed:{wrapperClass(){const{expandable:e,isSelected:t}=this.$props;return{"k-table-td":!0,"k-text-nowrap":e,"k-selected":t,[this.$props.class]:this.$props.class}}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const{hasChildren:e,level:l=[0],expanded:s,dataItem:a,format:d,colSpan:c,ariaColumnIndex:h,isSelected:p,expandable:u,field:g}=this.$props,m=g?i.getNestedValue(g,a):void 0,f=this.getKeyboardNavigationAttributes(this.$props.id),v=o.provideIntlService(this);let b="";null!=m&&(b=d?v.format(d,m):m.toString());const $=function(e){return t.createVNode("span",{key:e,class:"k-treelist-toggle k-icon k-svg-icon"},[t.createVNode("svg",{"aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},null)])},I=[];u&&(I.push(...l.slice(1).map((e,t)=>$.call(this,t))),e?I.push(t.createVNode(i.Icon,{class:"k-treelist-toggle",name:s?"caret-alt-down":"caret-alt-right",icon:s?n.caretAltDownIcon:n.caretAltRightIcon,key:"expand-collapse",onClick:this.triggerExpandChange,"data-prevent-selection":!0},null)):I.push($.call(this,I.length)));const x=t.createVNode("td",{style:this.$attrs.style,class:this.wrapperClass,colspan:c,"aria-colindex":h,"aria-expanded":e?s:void 0,"aria-selected":p,role:"gridcell",onClick:this.triggerClick,onKeydown:this.onKeyDownHandler,"data-grid-col-index":this.$props.colIndex,tabindex:f.tabIndex,"data-keyboardnavlevel":f[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":f[r.KEYBOARD_NAV_DATA_ID]},[I,b]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:x,additionalProps:{...this.$props,value:m},additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}}),b=t.defineComponent({name:"KendoTreeListRow",inheritAttrs:!1,emits:{click:null,dblclick:null,contextmenu:null,focus:null,blur:null,mousedown:null,mouseup:null},props:{level:Array,className:String,expanded:Boolean,rowIndex:Number,levels:Array,ariaSetSize:Number,ariaPosInSet:Number,isSelected:Boolean,dataItem:Object,isAltRow:Boolean,onClick:Function,selectedField:String,rowHeight:Number,ariaRowIndex:Number,render:[String,Function,Object]},computed:{wrapperClass(){const{isSelected:e,isAltRow:t,className:i}=this.$props;return{"k-table-row":!0,"k-table-alt-row":t,"k-master-row":!0,"k-selected":e,"k-group-footer":this.dataItem&&this.dataItem.footer,[i]:i}}},methods:{handleClick(e){this.$emit("click",e)},handleDoubleClick(e){this.$emit("dblclick",e)},handleContextMenu(e){this.$emit("contextmenu",e)},handleFocus(e){this.$emit("focus",e)},handleBlur(e){this.$emit("blur",e)},handleMousedown(e){this.$emit("mousedown",e)},handleMouseup(e){this.$emit("mouseup",e)}},render(){const e=i.getDefaultSlots(this),{rowHeight:r,expanded:o,ariaRowIndex:n,level:l,ariaSetSize:s,ariaPosInSet:a,rowIndex:d}=this.$props,c=t.createVNode("tr",{onClick:this.handleClick,onDblclick:this.handleDoubleClick,onContextmenu:this.handleContextMenu,onFocus:this.handleFocus,onBlur:this.handleBlur,onMousedown:this.handleMousedown,onMouseup:this.handleMouseup,class:this.wrapperClass,style:void 0!==r?{height:r+"px"}:this.$attrs.style,"aria-expanded":o,role:"row","aria-rowindex":n,"aria-level":l.length,"aria-posinset":a,"aria-setsize":s,"data-grid-row-index":d},[e]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:c,additionalProps:this.$props,additionalListeners:{click:this.handleClick},defaultSlots:e,swapDefaultSlots:!0})}});function $(e,t,i){const r=i?i.elementFromPoint(e.clientX,e.originalEvent.clientY):null;return t&&r?r.closest(t):null}const I=t.defineComponent({props:{...b.props,clueProps:{type:Object,default:function(){return{}}}},emits:{press:null,drag:null,drop:null},created(){this.allowDrop=!1,this.dragged=null,this.draggedOver=null},mounted(){this.$el&&(this.draggable=this.$refs.draggable)},methods:{onPress(e){const t=this.draggable&&this.draggable.element;t&&(this.dragged=this.$props.level,this.$emit("press",e,t))},onDrag(e){const t=this.draggable&&this.draggable.element;if(!i.canUseDOM)return;const r=t?t.ownerDocument:document;if(!r)return;const o=this.dragged;if(t&&o){e.isTouch||e.originalEvent.preventDefault();const i=this.$props.levels[function(e,t,i){if(!e.originalEvent)return-1;const r=$(e,"tr",i);if(r){const e=t?t.children:[];for(let t=0;t<e.length;t++)if(e[t]===r)return t}return-1}(e,t.parentNode,r)];this.draggedOver=i,this.allowDrop=i?!o.every((e,t)=>e===i[t]):!!$(e,"k-grid k-grid-md",r),this.$emit("drag",{nativeEvent:e.originalEvent,dragged:o,draggedOver:i,draggedItem:this.$props.dataItem,clueProps:{visible:!0,top:e.pageY+10,left:e.pageX,text:t.innerText,allowDrop:this.allowDrop}})}},onRelease(e){if(this.draggable&&this.draggable.element&&this.dragged){const t=[...this.dragged],i=this.draggedOver&&[...this.draggedOver];this.dragged=null,this.draggedOver=null;const r=this.$props.dataItem;this.$emit("drop",{nativeEvent:e.originalEvent,dragged:t,draggedOver:i,draggedItem:r,clueProps:{allowDrop:this.allowDrop}}),this.allowDrop=!1}}},render(){const e=i.getDefaultSlots(this);return t.createVNode(i.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:"draggable"},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e)?e:{default:()=>[e]})}}),x=t.defineComponent({name:"KendoRowClue",props:{visible:Boolean,top:Number,left:Number,text:String,allowDrop:Boolean},computed:{statusIconName(){return this.$props.allowDrop?"plus":"cancel"},statusSvg(){return this.$props.allowDrop?n.plusIcon:n.cancelIcon}},mounted(){const e=document.body;this.windowElement=this.$refs.wrapper,e.append(this.windowElement)},beforeUnmount(){this.windowElement.remove()},render(){return this.visible&&t.createVNode("div",{class:"k-header k-drag-clue",ref:"wrapper",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:this.$props.top+"px",left:this.$props.left+"px"}},[t.createVNode(i.Icon,{name:this.statusIconName,class:"k-drag-status",icon:this.statusSvg},null),this.$props.text])}}),C={name:"@progress/kendo-vue-treelist",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:0,version:"8.1.0-develop.3",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=vue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"},S="treelist.noRecords",k="treelist.pagerInfo",w="treelist.pagerFirstPage",y="treelist.pagerPreviousPage",N="treelist.pagerNextPage",D="treelist.pagerLastPage",A="treelist.pagerItemsPerPage",E="treelist.pagerPageSelection",T="treelist.pagerPage",R="treelist.pagerOf",L="treelist.pagerTotalPages",O="treelist.groupPanelEmpty",K="treelist.columnMenu",V="treelist.filterClearButton",F="treelist.filterSubmitButton",B="treelist.filterTitle",z="treelist.sortAscending",M="treelist.sortDescending",_="treelist.searchPlaceholder",j="treelist.filterCheckAll",P="treelist.filterChooseOperator",H="treelist.filterSelectedItems",q="treelist.sortAriaLabel",U="treelist.filterAriaLabel",W="treelist.filterEqOperator",Y="treelist.filterNotEqOperator",G="treelist.filterIsNullOperator",X="treelist.filterIsNotNullOperator",J="treelist.filterIsEmptyOperator",Q="treelist.filterIsNotEmptyOperator",Z="treelist.filterStartsWithOperator",ee="treelist.filterContainsOperator",te="treelist.filterNotContainsOperator",ie="treelist.filterEndsWithOperator",re="treelist.filterGteOperator",oe="treelist.filterGtOperator",ne="treelist.filterLteOperator",le="treelist.filterLtOperator",se="treelist.filterIsTrue",ae="treelist.filterIsFalse",de="treelist.filterBooleanAll",ce="treelist.filterAfterOrEqualOperator",he="treelist.filterAfterOperator",pe="treelist.filterBeforeOperator",ue="treelist.filterBeforeOrEqualOperator",ge={[S]:"No records available",[O]:"Drag a column header and drop it here to group by that column",[K]:"Column Menu",[V]:"Clear",[F]:"Filter",[B]:"Filter",[z]:"Sort Ascending",[M]:"Sort Descending",[A]:"items per page",[E]:"Select page",[k]:"{0} - {1} of {2} items",[w]:"Go to the first page",[y]:"Go to the previous page",[N]:"Go to the next page",[D]:"Go to the last page",[T]:"Page",[R]:"of",[L]:"{0}",[_]:"Search",[j]:"Check All",[P]:"Choose Operator",[H]:"selected items",[q]:"Sortable",[U]:"Filter",[W]:"Is equal to",[Y]:"Is not equal to",[G]:"Is null",[X]:"Is not null",[J]:"Is empty",[Q]:"Is not empty",[Z]:"Starts with",[ee]:"Contains",[te]:"Does not contain",[ie]:"Ends with",[re]:"Is greater than or equal to",[oe]:"Is greater than",[ne]:"Is less than or equal to",[le]:"Is less than",[se]:"Is true",[ae]:"Is false",[de]:"(All)",[ce]:"Is after or equal to",[he]:"Is after",[pe]:"Is before",[ue]:"Is before or equal to","treelist.filterAndLogic":"And","treelist.filterOrLogic":"Or"};function me(e){const t=e.replace(/^pager\.([a-z])/,(e,t)=>"treelist.pager"+t.toUpperCase());return{messageKey:t,defaultMessage:ge[t]}}const fe=t.defineComponent({name:"TreeListSelectionCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null,expandchange:null,selectionchange:null,edit:null,add:null,cancel:null,save:null,remove:null},props:{id:String,field:String,dataItem:Object,format:String,colSpan:Number,colIndex:Number,level:Array,expanded:Boolean,expandable:Boolean,hasChildren:Boolean,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],onChange:Function},created(){this.inputId=i.guid()},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},methods:{triggerClick(e){this.$emit("cellclick",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},handleOnChange(e){this.$emit("selectionchange",{event:e,item:{dataItem:this.dataItem,level:this.level},field:this.field,colIndex:this.colIndex})}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const{dataItem:e,colSpan:o,ariaColumnIndex:n,isSelected:l,field:s}=this.$props,a=i.getNestedValue(s,e),d=this.getKeyboardNavigationAttributes(this.$props.id),c=t.createVNode("td",{style:this.$attrs.style,role:"gridcell",class:"k-table-td",colspan:o,"aria-selected":l,"aria-colindex":n,"data-grid-col-index":this.$props.colIndex,tabindex:d.tabIndex,"data-keyboardnavlevel":d[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":d[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("input",{checked:"boolean"==typeof a&&a,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.handleOnChange},null),t.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:c,additionalProps:this.$props,additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}});function ve(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const be=t.defineComponent({name:"KendoTreeList",props:{dataItems:Array,resizable:Boolean,reorderable:Boolean,sortable:[Object,Boolean],sort:Array,columns:Array,columnVirtualization:Boolean,filter:[Array,Object],filterable:Boolean,filterOperators:Object,filterRow:[String,Function,Object],cellRender:[String,Function,Object],toolbar:[String,Function,Object],noRecords:[String,Function,Object],expandField:String,subItemsField:String,selectedField:String,editField:String,scrollable:String,rowHeight:Number,tableProps:Object,rowClass:Function,pageable:[Boolean,Object],pager:[String,Function,Object],skip:Number,take:Number,wrapperStyle:Object,dataItemKey:String,navigatable:Boolean,size:{type:String,validator:function(e){return["none","small","medium"].includes(e)}},reordableRows:Boolean,onDatastatechange:Function,onPagechange:Function,onSortchange:Function,onFilterchange:Function},created(){this.prevData=[],this.prevColumns=void 0,this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.element=null,this._treeListId=i.guid(),i.validatePackage(C),this.showLicenseWatermark=i.shouldShowValidationUI(C),this.licenseMessage=i.getLicenseMessage(C),this.dragLogic=new r.CommonDragLogic(this.columnReorder.bind(this),i.noop,i.noop),this.columnResize=new r.ColumnResize(this.onResize.bind(this))},inject:{kendoLocalizationService:{default:null}},computed:{wrapperClass(){const{size:e,scrollable:t}=this.$props;return{"k-grid":!0,[this.$props.className]:this.$props.className,"k-grid-md":!e,[`k-grid-${i.kendoThemeMaps.sizeMap[e]||e}`]:e,"k-treelist":!0,"k-treelist-scrollable":"none"!==t}},toolbarClass(){const{size:e}=this.$props;return{"k-toolbar":!0,"k-toolbar-solid":!0,"k-grid-toolbar":!0,[`k-toolbar-${i.kendoThemeMaps.sizeMap[e]||e}`]:e}},gridTableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-table":!0,"k-grid-md":!e,[`k-table-${i.kendoThemeMaps.sizeMap[e]||e}`]:e}}},data:()=>({showLicenseWatermark:!1,licenseMessage:void 0,wrapperScrollLeft:0,wrapperScrollTop:0,updateOnScroll:!1,tbodyOffsetTop:0,isRtl:!1,navigation:void 0,rowClue:{}}),mounted(){this.calculateSizes(this.$el);const e=i.isRtl(this.$el);this.isRtl=e;const t=i.getRef(this,"gridNav"),r=i.getRef(this,"dropElementClue"),o=i.getRef(this,"dragElementClue");this.dragLogic.refDropElementClue(r),this.dragLogic.refDragElementClue(o),this.columnResize.colGroupMain=i.getRef(this,"colGroup"),t&&(this.element=t.$el)},destroyed(){this.columnResize.columns=[],this.dragLogic.columns=[],this.extendedColumn=[],this.columnsMap=[],this.prevData=[],this.flattedData=[],this.updateOnScroll=!1},render(){i.getDefaultSlots(this);const{columns:e=[],filterRow:n,scrollable:l="scrollable",resizable:s=!1,reorderable:c=!1,skip:h,take:u,filterable:g,reordableRows:m}=this.$props,f=n||r.FilterRow,$=r.tableKeyboardNavigationTools.getIdPrefix(this.navigation);this.prevColumns!==e&&(this.extendedColumn=r.readColumns(e,{prevId:0,idPrefix:$}),this.columnsMap=r.mapColumns(this.extendedColumn)),this.prevColumns=this.$props.columns;const C=this.extendedColumn.filter(e=>0===e.children.length);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=s,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=c,this.dragLogic.groupable=!1;const k=this.$props.filter&&0===this.$props.filter.length?void 0:this.$props.filter&&void 0!==this.$props.filter.length?{logic:"and",filters:this.$props.filter}:this.$props.filter,w=t.createVNode(r.Header,{size:this.$props.size,headerRow:t.createVNode(r.HeaderRow,{grid:this,sort:this.$props.sort,filter:k,sortable:this.$props.sortable,selectedField:this.$props.selectedField,reorderable:c,filterable:g,filterOperators:this.$props.filterOperators||r.operators,onSortChange:this.sortChange,onSelectionchange:this.onHeaderSelectionChange,columns:this.extendedColumn,columnsMap:this.columnsMap,cellRender:this.$props.headerCellRender,columnResize:this.columnResize,columnMenu:this.$props.columnMenu,onFilterChange:this.columnMenuFilterChange,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,filterRow:g?t.createVNode(f,{size:this.$props.size,columns:C,filter:this.$props.filter||[],onFilterchange:this.filterChange,sort:this.$props.sort,ariaRowIndex:this.columnsMap.length+1,grid:this,filterOperators:this.$props.filterOperators||r.operators,cellRender:this.$props.filterCellRender,isRtl:this.isRtl},null):void 0},null),columnResize:this.columnResize},null),y=this.$props.wrapperStyle||{},{colSpans:N,hiddenColumns:D}=r.tableColumnsVirtualization({enabled:this.$props.columnVirtualization,columns:C,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((y.width||"").toString())}),A=(e,o,n,l,s,a)=>C.map(function(d,c){if(D[c])return null;const h=d.id?d.id:c,p=`${d.className?d.className+" ":""}${d.locked?"k-grid-content-sticky":""}`,u=i.templateRendering.call(this,this.$props.cellRender||d.cell,i.getListeners.call(this));if(o&&d.editCell){const o=i.templateRendering.call(this,d.editCell,i.getListeners.call(this));return i.getTemplate.call(this,{h:t.h,template:o,additionalProps:{id:r.tableKeyboardNavigationTools.generateNavigatableId(`${n}-${String(c)}`,$),colSpan:N[c],dataItem:e.dataItem,field:d.field,format:d.format,class:p||void 0,render:u,level:e.level,expandable:d.expandable,expanded:l,hasChildren:this.hasChildren(e.dataItem),colIndex:c,ariaColumnIndex:d.ariaColumnIndex,style:void 0!==d.left&&{left:d.left+"px",right:d.right+"px",borderRightWidth:d.rightBorder?"1px":""}||{},isSelected:Array.isArray(a)&&a.indexOf(c)>-1},additionalListeners:{change:this.itemChange,input:this.itemChange,expandchange:this.expandChange,selectionchange:t=>this.selectionChange(t,e,c,s)}})}const g=this.selectedField&&d.field===this.selectedField?fe:v;return t.createVNode(g,{key:h,id:r.tableKeyboardNavigationTools.generateNavigatableId(`${n}-${String(c)}`,$),colSpan:N[c],dataItem:e.dataItem,field:d.field,format:d.format,class:p||void 0,render:u,onCellclick:this.cellClick,onCellkeydown:this.cellKeydown,onChange:this.itemChange,onSelectionchange:t=>this.selectionChange(t,e,c,s),level:e.level,expandable:d.expandable,expanded:l,hasChildren:this.hasChildren(e.dataItem),onExpandchange:this.expandChange,colIndex:c,ariaColumnIndex:d.ariaColumnIndex,style:void 0!==d.left&&{left:d.left+"px",right:d.right+"px",borderRightWidth:d.rightBorder?"1px":""}||{},isSelected:Array.isArray(a)&&a.indexOf(c)>-1},null)},this);let E=this.flatData();const T=E.length;void 0!==h&&void 0!==u&&(E=E.slice(h,h+u)),"virtual"===l&&(E=p({rows:E,tableViewPortHeight:parseFloat((y.height||y.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const R=i.templateRendering.call(this,this.$props.noRecords,i.getListeners.call(this)),L=o.provideLocalizationService(this).toLanguageString(S,ge[S]),O=i.getTemplate.call(this,{h:t.h,template:R}),K=E.length?E.map(function(e){return e.level}):[],V=this.columnsMap.length+(g?1:0)+1,F=E.length>0&&E.map(function(e,r){const o=d(this.$props.editField,e.dataItem),n=this.$props.dataItemKey&&i.getter(this.$props.dataItemKey)(e.dataItem),s=String(n||e.level.join(".")),a=this.expanded(e.dataItem),c=this.$props.selectedField?d(this.$props.selectedField,e.dataItem):void 0,h=this.$props.row||b,p=A(e,o,s,a,r,c),u=t.createVNode(h,{key:s,level:e.level,levels:K,dataItem:e.dataItem,selectedField:this.$props.selectedField,rowHeight:"virtual"===l?e.height:this.$props.rowHeight,render:this.$props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:t=>this.emitRowEvent("rowclick",t,e),onDblclick:t=>this.emitRowEvent("rowdoubleclick",t,e),onContextmenu:t=>this.emitRowEvent("rowcontextmenu",t,e),onFocus:t=>this.emitRowEvent("rowfocus",t,e),onBlur:t=>this.emitRowEvent("rowblur",t,e),onMousedown:t=>this.emitRowEvent("rowmousedown",t,e),onMouseup:t=>this.emitRowEvent("rowmouseup",t,e),isAltRow:r%2!=0,expanded:a,rowIndex:r,ariaRowIndex:V+r,ariaSetSize:e.levelCount,ariaPosInSet:e.level[e.level.length-1]+1,isSelected:"boolean"==typeof c&&c,className:this.$props.rowClass?this.$props.rowClass(e):""},ve(p)?p:{default:()=>[p]});return m?t.createVNode(I,{key:s,level:e.level,levels:K,dataItem:e.dataItem,onDrag:this.onRowDrag,onDrop:this.onRowDrop},ve(u)?u:{default:()=>[u]}):u},this)||t.createVNode("tr",{class:"k-table-row k-grid-norecords"},[t.createVNode("td",{class:"k-table-td",colspan:C.length},[this.$props.noRecords?O:L])]),B=e=>this.$props.sort&&this.$props.sort.some(t=>t.field===e),z=t.createVNode("colgroup",{ref:i.setRef(this,"colGroup")},[C.map(function(e){return t.createVNode("col",{class:B(e.field)?"k-sorted":void 0,width:void 0!==e.width?-1!==e.width.toString().indexOf("%")?e.width:Math.floor(parseFloat(e.width.toString()))+"px":void 0},null)},this)]),M=this.$props.columnVirtualization||"virtual"===this.$props.scrollable,_=this.$props.selectable&&this.$props.selectable.drag?"none":void 0,j=this.$props.tableProps||{},P=i.templateRendering.call(this,this.$props.toolbar,i.getListeners.call(this)),H=i.getTemplate.call(this,{h:t.h,template:P}),q=i.templateRendering.call(this,this.$props.pager,i.getListeners.call(this)),U=this.$props.pageable&&t.createVNode(r.Pager,{class:"k-grid-pager",size:this.$props.size,onPagesizechange:this.pageChangeHandler,onPagechange:this.pageChangeHandler,total:T,skip:this.$props.skip||0,pageSize:this.$props.take||10,messagesMap:me,settings:r.normalize(this.$props.pageable||{})},null),W=i.getTemplate.call(this,{h:t.h,template:q,defaultRendering:U,additionalProps:{...this.$props,skip:this.skip||0,messagesMap:me},additionalListeners:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler}}),Y=this.dragLogic.reorderable&&i.canUseDOM&&document&&document.body,G=this.reordableRows&&this.rowClue&&this.rowClue.visible&&i.canUseDOM&&document&&document.body,X=[Y&&t.createVNode(r.DropClue,{ref:i.setRef(this,"dropElementClue")},null),Y&&t.createVNode(r.DragClue,{ref:i.setRef(this,"dragElementClue")},null),G&&t.createVNode(x,{visible:this.rowClue.visible,top:this.rowClue.top,left:this.rowClue.left,text:this.rowClue.text,allowDrop:this.rowClue.allowDrop},null)],J=this.showLicenseWatermark?t.createVNode(i.WatermarkOverlay,{message:this.licenseMessage},null):null;return t.createVNode(r.TableKeyboardNavigationProvider,{ref:"navRef",id:this._treeListId,navigatable:this.$props.navigatable},{default:()=>[t.createVNode(a,{style:this.$props.wrapperStyle,class:this.wrapperClass,currentData:E,onScroll:M?this.handleOnScroll:i.noop,onKeydown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":T,"aria-colcount":C.length,role:"treegrid",ref:e=>{this.treeListNavRef=e}},{default:()=>[this.$props.toolbar&&t.createVNode("div",{class:this.toolbarClass},[H]),t.createVNode("table",{class:this.gridTableClass,style:{...j.style||{},userSelect:_},role:"presentation"},[z,w,t.createVNode("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0,role:"presentation"},[F])]),W,X,J]})]})},methods:{scrollIntoView(e){if(!this.element)return;const{rowIndex:t=0}=e,{scrollable:i,rowHeight:r=0}=this.$props;if("virtual"===i||r)this.element.scroll(0,(t-1)*r);else{const e=this.element.querySelector(`tbody > tr:nth-child(${t})`);if(e){const t=e.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,t)}}},getColumns(){const e=this.extendedColumn.filter(e=>e.declarationIndex>=0&&-1===e.parentIndex);return(e=>(e.sort((e,t)=>e.declarationIndex-t.declarationIndex),e))(e)},flatData(){const{dataItems:e=[],rowHeight:t=0}=this.$props;let i=0;const r=this.updateOnScroll&&this.prevData===e&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:g(e,this.expandedSubItems,e=>{const r={height:t,offsetTop:i};return i+=r.height,r});return this.prevData=e,this.flattedData=r,r},onKeyDown(e){this.$emit("keydown",e)},onFocus(e){},onRowDrag(e){this.rowClue=e.clueProps,this.$emit("rowdrag",{...e,target:this})},onRowDrop(e){this.rowClue=e.clueProps,e.clueProps.allowDrop&&this.$emit("rowdrop",{...e,target:this})},columnReorder(e,t,i){const r=this.extendedColumn[e].depth,o=e=>{do{e++}while(e<this.extendedColumn.length&&this.extendedColumn[e].depth>r);return e},n=this.extendedColumn.splice(e,o(e)-e);this.extendedColumn.splice(e<t?o(t-n.length):t,0,...n),this.extendedColumn.filter(e=>e.declarationIndex>=0).forEach((e,t)=>e.orderIndex=t);const l={component:this,columns:this.getColumns(),prev:e,next:t,event:i};this.$emit("columnreorder",l)},onResize(e,t,i,r,o){const n=this.extendedColumn.filter(e=>0===e.children.length).reduce((e,t)=>e+parseFloat(String(t.width)),0);if(this.extendedColumn&&this.columns){const i=this.columns[e].width,r=i&&i.toString().indexOf("px")>0;this.extendedColumn[e].width=r?t+"px":t}const l={columns:this.getColumns(),totalWidth:n,index:e,event:r,newWidth:t,oldWidth:i,end:o,component:this};o&&(this.prevColumns=void 0),this.$emit("columnresize",l)},handleOnScroll(e){const t=e.currentTarget.scrollLeft,i=e.currentTarget.scrollTop,{columnVirtualization:r,scrollable:o,rowHeight:n=0}=this.$props,l=n;let s=!1;r&&Math.abs(this.wrapperScrollLeft-t)>0&&(this.wrapperScrollLeft=t,s=!0),"virtual"===o&&Math.abs(this.wrapperScrollTop-i)>l&&(this.wrapperScrollTop=i,s=!0),s&&(this.updateOnScroll=!0)},calculateSizes(e){if(!e||"none"===this.$props.scrollable)return;const t=Array.from(e.childNodes),r=t.find(e=>"TABLE"===e.nodeName),o=this.$props.toolbar&&t.find(e=>1===e.nodeType&&e.classList.contains("k-grid-toolbar"));let n=0;if(o&&i.canUseDOM){const e=o.style.boxSizing;o.style.boxSizing="border-box",n=parseFloat(String(window.getComputedStyle(o).height))||o.offsetHeight,o.style.boxSizing=e,o.getAttribute("style")||o.removeAttribute("style")}this.tbodyOffsetTop=r.tBodies[0].offsetTop,c(r,n)},cellClick(e){this.$emit("cellclick",e)},cellKeydown(e){this.$emit("cellkeydown",e)},itemChange(e){if(e.field===this.$props.expandField){if(this.$props.onExpandchange){const t={...this.getArguments(e.event),dataItem:e.dataItem,level:e.level,value:e.value};this.$emit("expandchange",t)}return}const t={...this.getArguments(e.event),dataItem:e.dataItem,level:e.level,field:e.field,value:e.value};e.dataItem&&this.$emit("itemchange",t)},selectionChange(e){const{event:t,item:i,columnIndex:o}=e;if(!i)return;const{mode:n,cell:l}=r.getSelectionOptions(this.$props.selectable),s={...this.getArguments(t),dataItem:i.dataItem,level:i.level,startColIndex:o,endColIndex:o,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:n,cell:l,isDrag:!1,componentId:this._treeListId,selectedField:this.$props.selectedField||""};this.$emit("selectionchange",s)},onHeaderSelectionChange(e){const t={field:e.field,event:e.event,component:this,dataItems:this.getLeafDataItems()};this.$emit("headerselectionchange",t)},selectionRelease(e){if(this.$props.onSelectionchange){const t={event:void 0,component:this,selectedField:this.$props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...e};this.$emit("selectionchange",t)}},sortChange(e,t){this.raiseDataEvent("sortchange",{sort:e,field:t.field},t)},filterChange(e,t){const i=e?e.filters:[];this.raiseDataEvent("filterchange",{filter:i},{filter:i,skip:0},t)},columnMenuFilterChange(e,t){const i={...t,filter:e?e.filters:[],component:this};this.$emit("columnmenufilterchange",i)},expandChange(e,t,i){const{expandField:r}=this.$props;if(r){const r={...this.getArguments(e),dataItem:t,level:i,value:this.expanded(t)};this.$emit("expandchange",r)}},emitRowEvent(e,t,i){if("TD"===t.target.nodeName){const r={dataItem:i.dataItem,level:i.level,...this.getArguments(t)};this.$emit(e,r)}},pageChangeHandler(e,t){this.raiseDataEvent("pagechange",{page:e,event:t,skip:e.skip,take:e.take},{skip:e.skip,take:e.take},t)},raiseDataEvent(e,t,r,o){i.hasListener.call(this,e)?this.$emit(e,{...this.getArguments(o),...t}):i.hasListener.call(this,"datastatechange")&&this.$emit("datastatechange",{...this.getArguments(o),data:{...this.getDataState(),...t,...r}})},getDataState(){return{filter:this.$props.filter,sort:this.$props.sort}},getArguments(e){return{event:e,component:this}},expandedSubItems(e){const t=[];return this.expanded(e)&&this.hasChildren(e)&&t.push(...d(this.$props.subItemsField,e)),t},getLeafDataItems(){return this.flatData().map(e=>e.dataItem)},expanded(e){return!!d(this.$props.expandField,e)},hasChildren(e){return!!d(this.$props.subItemsField,e)}}}),$e=[{text:ee,operator:"contains"},{text:te,operator:"doesnotcontain"},{text:W,operator:"eq"},{text:Y,operator:"neq"},{text:Z,operator:"startswith"},{text:ie,operator:"endswith"},{text:G,operator:"isnull"},{text:X,operator:"isnotnull"},{text:J,operator:"isempty"},{text:Q,operator:"isnotempty"}],Ie=[{text:W,operator:"eq"},{text:Y,operator:"neq"},{text:re,operator:"gte"},{text:oe,operator:"gt"},{text:ne,operator:"lte"},{text:le,operator:"lt"},{text:G,operator:"isnull"},{text:X,operator:"isnotnull"}],xe=[{text:W,operator:"eq"},{text:Y,operator:"neq"},{text:ce,operator:"gte"},{text:he,operator:"gt"},{text:pe,operator:"lt"},{text:ue,operator:"lte"},{text:G,operator:"isnull"},{text:X,operator:"isnotnull"}],Ce=[{text:de,operator:""},{text:se,operator:!0},{text:ae,operator:!1}];function Se(e,t){return{clearButtonTitle:e.toLanguageString(V,ge[V]),operators:t.map(t=>({text:e.toLanguageString(t.text,ge[t.text]),operator:t.operator}))}}const ke=t.defineComponent({name:"KendoTreeListTextFilter",inject:{kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:null}},emits:{change:null},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const{operators:e,...i}=this.$props,n={...Se(o.provideLocalizationService(this),e||$e),...i,filterType:"numeric"};return{filterCell:t.h(r.FilterCell,{onChange:this.onChange,...n})}},methods:{onChange(e){this.$emit("change",e)}}}),we=t.defineComponent({name:"KendoTreeListNumericFilter",inject:{kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:null}},emits:{change:null},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const{operators:e,...i}=this.$props,n={...Se(o.provideLocalizationService(this),e||Ie),...i,filterType:"numeric"};return{filterCell:t.h(r.FilterCell,{onChange:this.onChange,...n})}},methods:{onChange(e){this.$emit("change",e)}}}),ye=t.defineComponent({name:"KendoTreeListDateFilter",inject:{kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:null}},emits:{change:null},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const{operators:e,...i}=this.$props,n={...Se(o.provideLocalizationService(this),e||xe),...i,filterType:"date"};return{filterCell:t.h(r.FilterCell,{onChange:this.onChange,...n})}},methods:{onChange(e){this.$emit("change",e)}}}),Ne=t.defineComponent({name:"KendoTreeListBooleanFilter",inject:{kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:null}},emits:{change:null},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const{operators:e,...i}=this.$props,n={...Se(o.provideLocalizationService(this),e||Ce),...i,filterType:"boolean"};return{filterCell:t.h(r.FilterCell,{onChange:this.onChange,...n})}},methods:{onChange(e){this.$emit("change",e)}}}),De=t.defineComponent({name:"KendoTreeListTextEditor",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,colSpan:Number,colIndex:Number,level:Array,expanded:Boolean,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],focusInputOnMount:Boolean},emits:{input:null,change:null,cellkeydown:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},data:()=>({inputId:i.guid()}),mounted(){const e=this.$el&&this.$el.querySelector("input");!e||e===document.activeElement||!this.focusInputOnMount||e.select()},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},changeHandler(e){this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,level:this.$props.level,value:e.target.value})},inputHandler(e){this.$emit("input",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,level:this.$props.level,value:e.target.value})}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=i.getNestedValue(this.$props.field,this.$props.dataItem),o=this.getKeyboardNavigationAttributes(this.$props.id),n=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.colIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[t.createVNode("input",{style:{width:"100%"},class:"k-input-inner",value:null!=e?e:"",onChange:this.changeHandler,onInput:this.inputHandler},null)])]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:n,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,input:this.inputHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}}),Ae=t.defineComponent({name:"KendoTreeListNumericEditor",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,colSpan:Number,colIndex:Number,level:Array,expanded:Boolean,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],focusInputOnMount:Boolean},emits:{change:null,cellkeydown:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},data:()=>({inputId:i.guid()}),computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},mounted(){const e=this.$el&&this.$el.querySelector("input");!e||e===document.activeElement||!this.focusInputOnMount||e.select()},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},changeHandler(e){this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,level:this.$props.level,value:e.target.value})}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=i.getNestedValue(this.$props.field,this.$props.dataItem),o=this.getKeyboardNavigationAttributes(this.$props.id),n=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.colIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode(l.NumericTextBox,{value:void 0===e?null:e,onChange:this.changeHandler},null)]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:n,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}}),Ee=t.defineComponent({name:"KendoTreeListBooleanEditor",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,colSpan:Number,colIndex:Number,level:Array,expanded:Boolean,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],focusInputOnMount:Boolean},emits:{change:null,cellkeydown:null,cellclick:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},data:()=>({inputId:i.guid()}),mounted(){const e=this.$el&&this.$el.querySelector("input");!e||e===document.activeElement||!this.focusInputOnMount||e.focus()},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerClick(e){this.$emit("cellclick",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},changeHandler(e){this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,level:this.$props.level,value:e.target.checked})}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=i.getNestedValue(this.$props.field,this.$props.dataItem),o=this.getKeyboardNavigationAttributes(this.$props.id),n=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,onClick:this.triggerClick,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.colIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode("input",{checked:e||!1,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.changeHandler},null),t.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:n,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}}),Te=t.defineComponent({name:"KendoTreeListDateEditor",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,colSpan:Number,colIndex:Number,level:Array,expanded:Boolean,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],focusInputOnMount:Boolean},emits:{change:null,cellkeydown:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},data:()=>({inputId:i.guid()}),mounted(){const e=this.$el&&this.$el.querySelector("input");!e||e===document.activeElement||!this.focusInputOnMount||e.select()},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},changeHandler(e){this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,level:this.$props.level,value:e.target.value})}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=i.getNestedValue(this.$props.field,this.$props.dataItem),o=this.getKeyboardNavigationAttributes(this.$props.id),n=t.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.colIndex,tabindex:o.tabIndex,"data-keyboardnavlevel":o[r.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[r.KEYBOARD_NAV_DATA_ID]},[t.createVNode(s.DatePicker,{value:e,onChange:this.changeHandler},null)]);return i.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:n,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}}),Re=r.TABLE_ROW_INDEX_ATTRIBUTE,Le=r.TABLE_COL_INDEX_ATTRIBUTE,Oe=r.TABLE_PREVENT_SELECTION_ELEMENT;Object.defineProperty(e,"getSelectedState",{enumerable:!0,get:function(){return r.getSelectedState}}),Object.defineProperty(e,"getSelectedStateFromKeyDown",{enumerable:!0,get:function(){return r.getSelectedStateFromKeyDown}}),Object.defineProperty(e,"setSelectedState",{enumerable:!0,get:function(){return r.setSelectedState}}),e.TREELIST_COL_INDEX_ATTRIBUTE=Le,e.TREELIST_PREVENT_SELECTION_ELEMENT=Oe,e.TREELIST_ROW_INDEX_ATTRIBUTE=Re,e.TreeList=be,e.TreeListBooleanEditor=Ee,e.TreeListBooleanFilter=Ne,e.TreeListCell=v,e.TreeListDateEditor=Te,e.TreeListDateFilter=ye,e.TreeListNumericEditor=Ae,e.TreeListNumericFilter=we,e.TreeListRow=b,e.TreeListSelectionCell=fe,e.TreeListTextEditor=De,e.TreeListTextFilter=ke,e.createDataTree=(e,t,i,r)=>{let o,n={},l=[];return e.forEach(e=>n[t(e)]={...e}),e.forEach(e=>{o=n[i(e)],o?(o[r]=o[r]||[],o[r].push(n[t(e)])):l.push(n[t(e)])}),l},e.extendDataItem=(e,t,r)=>i.extendDataItem(e,t,r),e.filterBy=function(e,t,i){return r.filterBy(e,t,i)},e.flatData=g,e.getItemPath=f,e.getNestedValue=d,e.mapTree=u,e.mapTreeItem=(e,t,r,o)=>i.mapTreeItem(e,t,r,o),e.modifySubItems=(e,t,i,r)=>u(e,t,e=>i(e)?{...e,[t]:r(e[t]||[])}:e),e.moveTreeItem=(e,t,i,r)=>{const o=[...e],n=f(o,t,r),l=n.pop(),s=n.pop(),a=t[t.length-1];if(i){const e=f(o,i,r).pop();(s?s[r]:o).splice(a,1),e[r]=e[r]||[],e[r].push(l)}else(s?s[r]:o).splice(a,1),o.push(l);return o},e.orderBy=function(e,t,i){return r.orderBy(e,t,i)},e.removeItems=(e,t,i)=>[...u([{[t]:[...e]}],t,e=>m(e,i,t))[0][t]],e.setHeaderRowsTop=c,e.tableRowsVirtualization=p,e.treeToFlat=(e,t,i)=>{const r=e=>{const r=[];return(e=>!!d(t,e))(e)&&(e=>!!d(i,e))(e)&&r.push(...d(i,e)),r},o=(e,t,i)=>{t.push({...e,level:i}),r(e).forEach(e=>o(e,t,i+1))},n=[];return e.forEach(e=>o(e,n,0)),n}});
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-vue-treelist",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1773767248,version:"8.1.0-develop.1",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=vue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"};exports.packageMetadata=e;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-vue-treelist",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1774517790,version:"8.1.0-develop.3",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=vue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"};exports.packageMetadata=e;
@@ -10,8 +10,8 @@ const e = {
10
10
  productName: "Kendo UI for Vue",
11
11
  productCode: "KENDOUIVUE",
12
12
  productCodes: ["KENDOUIVUE"],
13
- publishDate: 1773767248,
14
- version: "8.1.0-develop.1",
13
+ publishDate: 1774517790,
14
+ version: "8.1.0-develop.3",
15
15
  licensingDocsUrl: "https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=vue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"
16
16
  };
17
17
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-vue-treelist",
3
- "version": "8.1.0-develop.1",
3
+ "version": "8.1.0-develop.3",
4
4
  "description": "TODO",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -26,11 +26,11 @@
26
26
  "peerDependencies": {
27
27
  "@progress/kendo-data-query": "^1.7.0",
28
28
  "@progress/kendo-licensing": "^1.7.2",
29
- "@progress/kendo-vue-common": "8.1.0-develop.1",
30
- "@progress/kendo-vue-data-tools": "8.1.0-develop.1",
31
- "@progress/kendo-vue-dateinputs": "8.1.0-develop.1",
32
- "@progress/kendo-vue-inputs": "8.1.0-develop.1",
33
- "@progress/kendo-vue-intl": "8.1.0-develop.1",
29
+ "@progress/kendo-vue-common": "8.1.0-develop.3",
30
+ "@progress/kendo-vue-data-tools": "8.1.0-develop.3",
31
+ "@progress/kendo-vue-dateinputs": "8.1.0-develop.3",
32
+ "@progress/kendo-vue-inputs": "8.1.0-develop.3",
33
+ "@progress/kendo-vue-intl": "8.1.0-develop.3",
34
34
  "@progress/kendo-svg-icons": "^4.4.0",
35
35
  "vue": "^3.0.2"
36
36
  },
@@ -51,7 +51,7 @@
51
51
  "package": {
52
52
  "productName": "Kendo UI for Vue",
53
53
  "productCode": "KENDOUIVUE",
54
- "publishDate": 1773767248,
54
+ "publishDate": 1774517790,
55
55
  "licensingDocsUrl": "https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=vue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"
56
56
  }
57
57
  },