@progress/kendo-vue-grid 7.1.0-develop.4 → 7.1.0-develop.6
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/Grid.js +1 -1
- package/Grid.mjs +647 -588
- package/GridNav.js +1 -1
- package/GridNav.mjs +3 -1
- package/GridState.js +1 -1
- package/GridState.mjs +80 -60
- package/VirtualScroll.js +1 -1
- package/VirtualScroll.mjs +65 -109
- package/cells/GridCell.js +1 -1
- package/cells/GridCell.mjs +24 -19
- package/cells/GridFilterCell.js +1 -1
- package/cells/GridFilterCell.mjs +23 -23
- package/cells/GridHierarchyCell.js +1 -1
- package/cells/GridHierarchyCell.mjs +13 -14
- package/common.js +1 -1
- package/common.mjs +3 -0
- package/{GridNoRecords.js → components/noRecords/GridNoRecords.js} +1 -1
- package/{GridNoRecords.mjs → components/noRecords/GridNoRecords.mjs} +1 -1
- package/components/noRecords/GridNoRecordsContainer.js +8 -0
- package/components/noRecords/GridNoRecordsContainer.mjs +30 -0
- package/dist/cdn/js/kendo-vue-grid.js +1 -1
- package/footer/Footer.js +1 -1
- package/footer/Footer.mjs +9 -16
- package/header/Header.js +1 -1
- package/header/Header.mjs +20 -26
- package/index.d.mts +102 -23
- package/index.d.ts +102 -23
- package/index.js +1 -1
- package/index.mjs +30 -29
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +12 -12
- package/rows/GridRow.js +1 -1
- package/rows/GridRow.mjs +18 -17
- package/utils/main.js +1 -1
- package/utils/main.mjs +30 -22
- package/VirtualScrollFixed.js +0 -8
- package/VirtualScrollFixed.mjs +0 -86
- package/utils/browser-support.service.js +0 -8
- package/utils/browser-support.service.mjs +0 -21
package/Grid.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 o=require("vue"),n=require("@progress/kendo-vue-common"),g=require("@progress/kendo-vue-data-tools"),Pe=require("@progress/kendo-vue-indicators"),we=require("./GridNav.js"),Ie=require("./cells/GridSelectionCell.js"),O=require("./cells/GridHierarchyCell.js"),Ae=require("./cells/GridDetailHierarchyCell.js"),qe=require("./cells/GridDetailCell.js"),Oe=require("./cells/GridEditCell.js"),Ke=require("./header/Header.js"),We=require("./header/HeaderRow.js"),Ue=require("./header/FilterRow.js"),Be=require("./header/GroupPanel.js"),je=require("./footer/Footer.js"),Je=require("./footer/FooterRow.js"),ke=require("./filterCommon.js"),K=require("./VirtualScroll.js"),ye=require("./VirtualScrollFixed.js"),Qe=require("./drag/ColumnResize.js"),Xe=require("./drag/CommonDragLogic.js"),Ye=require("./drag/DragClue.js"),Ze=require("./drag/DropClue.js"),f=require("./utils/main.js"),et=require("./cells/GridCell.js"),W=require("./cells/GridGroupCell.js"),tt=require("./rows/GridRow.js"),st=require("./common.js"),Se=require("./header/GridHeaderSelectionCell.js"),it=require("./GridNoRecords.js"),U=require("./package-metadata.js"),He=require("./messages/messagesMap.js"),rt=require("@progress/kendo-data-query"),at=require("./key.js"),lt=require("./utils/virtualColumns.js"),ot=o.defineComponent({name:"KendoGrid",inheritAttrs:!1,props:{...st.gridProps,toolbar:{type:Object},noRecords:{type:Object}},data(){return{isRtl:!1,context:void 0,navigation:void 0,showLicenseWatermark:!1,licenseMessage:void 0,notHiddenColumns:[]}},watch:{skip:function(e,t){this.onSkipChanged(e,t)},total:function(e,t){this.onTotalChanged(e,t)},rowHeight:function(e,t){this.onRowHeightChanged(e,t)}},created(){n.validatePackage(U.packageMetadata),this.showLicenseWatermark=n.shouldShowValidationUI(U.packageMetadata),this.licenseMessage=n.getLicenseMessage(U.packageMetadata),this.initialHeight=null,this._columns=[];const e=this.currentGroupable,t=this.getVirtualScroll();this.vs=new t(e||this.$props.rowHeight===void 0||this.$props.rowHeight===0,this.$props.topCacheCount),this.dragLogic=new Xe.CommonDragLogic(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnResize=new Qe.ColumnResize(this.onResize.bind(this)),this._columnsMap=[[]],this._header=null,this._footer=null,this.forceUpdateTimeout=void 0,this._gridId=n.guid(),this._gridRoleElementId=n.guid(),this.slicedCurrentData=void 0,this._prevTotal=void 0},mounted(){var t,s;this.setRefs();const e=n.isRtl(this._element);this._prevTotal=this.$props.total,this.isRtl=e,this.initialHeight=((s=(t=this._element)==null?void 0:t.style)==null?void 0:s.height)||null,this.resizeObserver=n.canUseDOM&&(window==null?void 0:window.ResizeObserver)&&new ResizeObserver(this.calculateMedia),document!=null&&document.body&&this.resizeObserver&&this.resizeObserver.observe(document.body)},updated(){this.setRefs();const e=n.isRtl(this._element);this.isRtl=e,this._prevTotal=this.$props.total,this.vs.tableTransform&&this.vs.table&&(this.vs.table.style.transform=this.vs.tableTransform,this.vs.tableTransform="")},unmounted(){this.gridUnmounted()},computed:{gridId(){return this.$props.id+"-role-element-id"},idPrefix(){return this.$props.navigatable?this.gridId:""},groupExpandable(){return g.getGroupExpandableOptions(typeof this.$props.groupable=="object"&&this.$props.groupable.enabled!==!1?this.$props.groupable.expandable:this.$props.groupable)},hierarchClass(){return n.uGrid.hierarchyCell({})},rowSpannable(){return f.getRowSpanOptions(this.$props.rowSpannable)},detailExpandable(){return g.getDetailExpandableOptions(!!this.$props.detail)},nonscrollableWrapperClass(){const{size:e}=this.$props,t=this.$attrs.class;return{"k-grid":!0,"k-grid-md":!e,[`k-grid-${n.kendoThemeMaps.sizeMap[e]||e}`]:e,[t]:!!t}},scrollableWrapperClass(){const{scrollable:e}=this.$props;return{...this.nonscrollableWrapperClass,"k-grid-virtual":e==="virtual"}},gridTableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-table":!0,"k-grid-md":!e,[`k-table-${n.kendoThemeMaps.sizeMap[e]||e}`]:e}},getCorrectHeight(){return this.$props.scrollable==="virtual"?this.initialHeight||"450px":null},currentGroupable(){var t;const e=(t=this.gridContext.group)==null?void 0:t.value;return this.$props.groupable===!0&&(e==null?void 0:e.length)||n.isObject(this.$props.groupable)&&this.$props.groupable.enabled!==!1},computedCollapsed(){let e=[];if(this.$props.group)for(let t=0;t<this.$props.group.length;t++)this.$props.collapsedGroups[t]?e.push(this.$props.collapsedGroups[t]):e.push([]);return e},getAriaRowCount(){const e=this.$props.dataItems,t=this.$props.total||(e==null?void 0:e.total)||(e==null?void 0:e.length)||0;return this.$props.detail?this._columnsMap.length+(this.$props.filterable?1:0)+t*2+(this._columns.some(s=>!!s.footerCell)?1:0):!this.$props.pageable&&this.$props.scrollable==="scrollable"?void 0:this.$props.groupable?-1:this._columnsMap.length+(this.$props.filterable?1:0)+t+(this._columns.some(s=>!!s.footerCell)?1:0)},getAriaColCount(){const e=this.$props.columns,t=this.$props.columnVirtualization,s=(e==null?void 0:e.filter(i=>i.hidden!==void 0).length)!==0;if(t||s)return(e==null?void 0:e.length)!==0?e==null?void 0:e.length:-1}},methods:{readColumnElements(){return f.readColumns(this.$props.columns,this.currentColumnsState,{prevId:0,idPrefix:this.idPrefix})},getResolvedFlatColumnsState(){const e=[],t=(s,i)=>s==null?void 0:s.forEach(a=>{const l=a.hidden||i;e.push({...a,hidden:l}),t(a.children,l)});return t(this.currentColumnsState,!1),e},filterColumns(e){const t=this.getResolvedFlatColumnsState();return[e.filter(s=>{var i;return!s.hidden&&!((i=t.find(a=>a.id===s.id))!=null&&i.hidden)}),e.filter(s=>{var i;return s.hidden||((i=t.find(a=>a.id===s.id))==null?void 0:i.hidden)})]},getFlatData(e,t,s,i,a,l,h){const p=[],m=f.flatData(p,e,t,{index:s},i!==void 0,a,l,this.groupExpandable.defaultExpand,h,this.$props.expandField);return{flattedData:p,resolvedGroupsCount:m}},getColumnsEssentialProps(e){return e&&JSON.stringify(e.map(t=>({id:t.id,field:t.field,title:t.title,children:t.children})))},calculateMedia(){const e=this.filterHiddenColumns(this.$props.columns||[]);this.getColumnsEssentialProps(this.notHiddenColumns)!==this.getColumnsEssentialProps(e)&&this.$forceUpdate()},filterHiddenColumns(e){if(!e||e.length===0)return e;const t=s=>({...s,children:s.children&&s.children.length>0?this.filterHiddenColumns(s.children):s.children});return[...e].filter(s=>!s.hidden).filter(s=>n.canUseDOM&&s&&s.media?window.matchMedia(s.media).matches:s).map(s=>t(s))},getColumns(){const e=this._columns.filter(s=>s.declarationIndex>=0&&s.parentIndex===-1),t=s=>(s.sort((i,a)=>i.declarationIndex-a.declarationIndex),s.map(i=>{const{declarationIndex:a,parentIndex:l,depth:h,colSpan:p,rowSpan:m,index:C,kFirst:u,children:x,...b}=i;return x.length?{children:t(x),...b}:b}));return t(e)},setRefs(){let e="$el";const t=n.getRef(this,"gridNav");t&&(this._element=t[e]);const s=n.getRef(this,"groupPanelDiv");if(s){let l=s[e]||null;this.dragLogic.refGroupPanelDiv(l)}const i=n.getRef(this,"dropElementClue"),a=n.getRef(this,"dragElementClue");this.dragLogic.refDropElementClue(i),this.dragLogic.refDragElementClue(a),this.columnResize.colGroupMain=n.getRef(this,"colGroup"),this._header=n.getRef(this,"header"),this._footer=n.getRef(this,"footer"),this.vs.containerRef=n.getRef(this,"scrollContainer"),this.vs.table=n.getRef(this,"scrollTable"),this.resetTableWidth(),this.vs.tableBodyRef=n.getRef(this,"scrollTableBody")},gridUnmounted(){clearTimeout(this.forceUpdateTimeout),this.columnResize.columns=[],this.dragLogic.columns=[],this.dragLogic&&this.dragLogic.dragElementClue&&(this.dragLogic.dragElementClue.$el.remove(),this.dragLogic.dropElementClue.$el.remove()),this.currentData=[],this._columns=[],document!=null&&document.body&&this.resizeObserver&&this.resizeObserver.disconnect()},resetVirtual(){this.vs.PageChange=this.pageChangeHandler,this.vs.realSkip=this.$props.skip||0,this.vs.pageSize=(this.$props.take!==void 0?this.$props.take:this.$props.pageSize)||0,this.vs.scrollableVirtual=this.$props.scrollable==="virtual",this.vs.propsSkip=(this.$props.skip||0)+(this.$props.scrollable==="virtual"?this.vs.topCacheCount+(this.vs.attendedSkip-(this.$props.skip||0)):0)},getVirtualScroll(){return K.VirtualScroll},isAllData(){const{dataItems:e,total:t}=this.$props;return Array.isArray(e)?e.length===t:e?t===e.total:!1},initializeVirtualization(e){if((this.$props.total!==this._prevTotal||this.$props.scrollable==="virtual"!==this.vs.scrollableVirtual)&&this.vs.reset(),this.resetVirtual(),this.vs.total=e,this.$props.rowHeight!==void 0&&this.$props.rowHeight>0&&!this.currentGroupable)this.vs.containerHeight=Math.min(1533915,this.$props.rowHeight*(e||0));else if(this.$props.totalGroupedHeight)this.vs.containerHeight=Math.min(1533915,this.$props.totalGroupedHeight);else if(this.$props.allGroupedItems&&this.$props.allGroupedItems.data){const t=this.totalGroupedRows(f.applyExpandedState(this.$props.allGroupedItems,this.computedCollapsed,this.$props.uniqueField).data);this.vs.containerHeight=Math.min(1533915,this.$props.rowHeight*t)}else this.vs.containerHeight=1533915;if(this.slicedCurrentData=void 0,this.vs instanceof ye.VirtualScrollFixed){const{rowHeight:t=0,detail:s,expandField:i}=this.$props;let{detailRowHeight:a=0}=this.$props;a=s&&i?a:t,this.isAllData()?(this.vs.total=this.currentData.length,this.slicedCurrentData=this.currentData.slice(this.vs.realSkip,this.vs.realSkip+this.vs.pageSize),this.vs.rowHeightService=this.rowHeightService(this.vs,this.currentData.length,t,a,this.currentData)):this.vs.rowHeightService=new ye.RowHeightService(e,t,a);const l=this.vs.rowHeightService.totalHeight();this.vs.containerHeight=f.firefox?Math.min(f.firefoxMaxHeight,l):l}},onSkipChanged(e,t){Math.max(0,this.vs.attendedSkip)!==e&&e!==void 0&&(this.vs.attendedSkip=e,this.vs.propsSkip=(e||0)+(this.$props.scrollable==="virtual"?this.vs.topCacheCount+(this.vs.attendedSkip-(e||0)):0))},onTotalChanged(e,t){const s=this.currentGroupable;this.vs.reset(),this.vs=new K.VirtualScroll(s||this.$props.rowHeight===void 0||this.$props.rowHeight===0,this.$props.topCacheCount),this.resetVirtual(),this.setRefs()},onRowHeightChanged(e,t){const s=this.currentGroupable;this.vs.reset(),this.vs=new K.VirtualScroll(s||this.$props.rowHeight===void 0||this.$props.rowHeight===0,this.$props.topCacheCount),this.resetVirtual(),this.setRefs()},scrollHandler(e){clearTimeout(this.forceUpdateTimeout),this.$props.columnVirtualization&&!this.vs.scrollableVirtual&&(this.forceUpdateTimeout=setTimeout(()=>{this.$forceUpdate()},0)),this._header&&this._header.setScrollLeft(e.currentTarget.scrollLeft),this._footer&&this._footer.setScrollLeft(e.currentTarget.scrollLeft),this.vs&&this.vs.scrollHandler(e),this.$emit("scroll",e)},rowClick(e,t){e.target.type!=="checkbox"&&this.$emit("rowclick",{dataItem:t.dataItem,...this.getArguments(e)})},rowDoubleClick(e,t){e.target.type!=="checkbox"&&this.$emit("rowdblclick",{dataItem:t.dataItem,...this.getArguments(e)})},loopGroupedItems(e,t,s=0,i=null){return e.forEach(a=>{!i&&t(a,s)&&(i=a),a.items&&a.items.length&&!i&&(i=this.loopGroupedItems(a.items,t,s+1,i))}),i},updateGroupCollapsed(e){let t=this.computedCollapsed,s=t[e.level];const i=this.$props.uniqueField,a=function(p,m){return p.value===e.dataItem.value&&m===e.level},l=this.allGroupedItems?this.loopGroupedItems(this.allGroupedItems.data,a,0,null):e.dataItem,h=f.groupedFirstItemValue(l||e.dataItem,i);if(e.value){if(s&&s.length){const p=s.indexOf(h);p>-1&&s.splice(p,1)}}else s?s.includes(h)||s.push(h):s=[h];return t},itemChange(e){var i;const t=n.hasListener.call(this,"itemchange"),s=(i=this.gridContext.group)==null?void 0:i.value;if(e.field===this.$props.expandField||(s||this.$props.detail)&&e.field===void 0){n.hasListener.call(this,"expandchange")&&e.dataItem&&this.$emit("expandchange",{...this.getArguments(e.event),collapsedGroups:this.updateGroupCollapsed(e),dataItem:e.dataItem,value:e.value});return}t&&this.$emit("itemchange",{...this.getArguments(e.event),dataItem:e.dataItem,field:e.field,value:e.value})},cellClickHandler(e){this.$emit("cellclick",{dataItem:e.dataItem,field:e.field})},cellKeydownHandler(e){this.$emit("cellkeydown",e)},editHandler(e){this.$emit("edit",{dataItem:e})},removeHandler(e){this.$emit("remove",{dataItem:e})},saveHandler(e){this.$emit("save",{dataItem:e})},cancelHandler(e){this.$emit("cancel",{dataItem:e})},selectionChangeHandler(e){const{event:t,dataItem:s,dataIndex:i,columnIndex:a}=e;this.$emit("selectionchange",{...this.getArguments(t.event),dataItem:s,startColIndex:a,endColIndex:a,startRowIndex:i,endRowIndex:i,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,isDrag:!1,componentId:this._gridId,selectedField:this.$props.selectedField||""})},onHeaderSelectionChangeHandler(e){this.$emit("headerselectionchange",{field:e.field,event:e.event,target:this})},pageChangeHandler(e,t){this.raiseDataEvent("pagechange",{page:e,event:t},{skip:e.skip,take:e.take},t)},sortChangeHandler(e,t){this.raiseDataEvent("sortchange",{sort:e},{sort:e},t)},filterChangeHandler(e,t){this.raiseDataEvent("filterchange",{filter:e},{filter:e,skip:0},t)},groupChangeHandler(e,t){this.raiseDataEvent("groupchange",{group:e},{group:e,skip:0},t)},handleDetailExpandAction(e,t){var s;if(this.detailExpandable.enabled){const i=(s=this.gridContext.detailExpand)==null?void 0:s.value,a=g.detailExpandReducer(i!=null?i:{},e);this.raiseDataEvent("detailexpandchange",{...this.getArguments(t),detailExpand:a})}},handleGroupExpandAction(e,t){var s;if(this.groupExpandable.enabled){const i=(s=this.gridContext.groupExpand)==null?void 0:s.value,a=g.groupExpandReducer(i!=null?i:[],e,this.groupExpandable);this.$props.expandField||this.raiseDataEvent("groupexpandchange",{...this.getArguments(t),groupExpand:a})}},raiseDataEvent(e,t,s,i){this.$props.autoProcessData?this.gridContext[e]({...this.getArguments(i),...t}):n.hasListener.call(this,e)?this.$emit(e,{...this.getArguments(i),...t}):n.hasListener.call(this,"datastatechange")&&this.$emit("datastatechange",{...this.getArguments(i),data:{...this.getDataState(),...s}})},columnReorder(e,t,s){const i=this._columns[e],a=f.getFlatColumnsState(this.currentColumnsState),l=i.depth,h=u=>{do u++;while(u<this._columns.length&&this._columns[u].depth>l);return u},p=this._columns.splice(e,h(e)-e);this._columns.splice(e<t?h(t-p.length):t,0,...p),this._columns.filter(u=>u.declarationIndex>=0).forEach((u,x)=>{u.orderIndex=x;const b=a.find(H=>H.id===u.id);b&&(b.orderIndex=x)});const m=this._columns[e].locked&&this._columns[t].locked;g.updateLeft(this._columnsMap,this._columns,m||this.shouldUpdateLeftRightRef),g.updateRight(this._columnsMap,this._columns,m||this.shouldUpdateLeftRightRef),this.resizedRef&&(this.shouldUpdateLeftRightRef=!1,this.resizedRef=!1);const C=this.getColumns();this.$emit("columnreorder",{target:this,columns:C,event:s,prev:e,next:t}),this.gridContext.columnsstatechange({columnsState:this.currentColumnsState})},groupReorder(e,t,s){var a;const i=(a=this.gridContext.group)==null?void 0:a.value;i!==void 0&&(i.splice(t,0,...i.splice(e,1)),this.groupChangeHandler(i,s))},columnToGroup(e,t,s){var l;const i=this._columns[e].field;if(!i)return;const a=(((l=this.gridContext.group)==null?void 0:l.value)||[]).slice();a.splice(t,0,{field:i}),this.groupChangeHandler(a,s)},resetTableWidth(){let e=0;if(!this.columnResize.colGroupMain)return;const t=this.columnResize.colGroupMain.children;for(let s=0;s<t.length;s++){const i=t[s].width;if(!i)return;e+=parseFloat(i.toString())}e=Math.round(e),this._header&&this._header.setWidth(e),this._footer&&this._footer.setWidth(e),this.vs.table&&(this.vs.table.style.width=e+"px")},onResize(e,t,s,i,a,l,h){this.resetTableWidth(),this.shouldUpdateLeftRightRef=!0,this.resizedRef=!0,this.$emit("columnresize",{columns:this.getColumns(),index:e,targetColumnId:h,event:i,newWidth:t,oldWidth:s,end:a,target:this}),a&&this.gridContext.columnsstatechange({columnsState:l})},initColumnsState(e,t){const s=i=>{var l;const a=t.find(h=>h.id===i.id);if(a){const h={...a};return h.children=(l=i.children)==null?void 0:l.map(s),h}return i};this.currentColumnsState=e.filter(i=>i.parentIndex===-1).map(s)},configureColumns(e,t){e.filter(l=>l.columnType==="checkbox").forEach(l=>{l.width=l.width||"50px",l.defaultCell=o.markRaw(Ie.GridSelectionCell),l.defaultHeaderCell=o.markRaw(Se.GridHeaderSelectionCell),l._type="edit"}),this.$props.selectedField&&this._columns.filter(l=>l.field===this.$props.selectedField).forEach(l=>{l.width=l.width||"50px",l.internalCell=o.markRaw(Ie.GridSelectionCell),l.internalHeaderCell=o.markRaw(Se.GridHeaderSelectionCell)});const s=f.getFlatColumnsState(this.currentColumnsState);this.initColumnsState(e,s);const i={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let a=0;if(console.log(this.detailExpandable.enabled,this.$props.detail),this.detailExpandable.enabled&&this.$props.detail&&!this.$props.expandField){const l={...i,_type:"expand",id:g.tableKeyboardNavigationTools.generateNavigatableId(`${a++}`,"expand","column"),defaultCell:o.markRaw(O.GridHierarchyCell),internalCell:o.markRaw(O.GridHierarchyCell),field:this.detailExpandable.column,headerClassName:this.hierarchClass};e.unshift(l),this.currentColumnsState.unshift(s.find(h=>h.id===l.id)||l)}this.$props.expandField&&n.hasListener.call(this,"expandchange")&&this.$props.detail&&(e.unshift({...i,internalCell:o.markRaw(O.GridHierarchyCell),field:this.$props.expandField,headerClassName:"k-hierarchy-cell k-header",id:g.tableKeyboardNavigationTools.generateNavigatableId(`${e.length}`,this.idPrefix,"column"),...this.expandColumn}),a++);for(let l=0;l<t;l++){const h={...i,isAccessible:!1,defaultCell:o.markRaw(W.GridGroupCell),internalCell:o.markRaw(W.GridGroupCell),id:g.tableKeyboardNavigationTools.generateNavigatableId(`${a++}`,"group","column"),field:"value",locked:this.$props.lockGroups};e.unshift(h),this.currentColumnsState.unshift(s.find(p=>p.id===h.id)||h)}e.slice(a).forEach(l=>{l.parentIndex>=0&&(l.parentIndex+=a),l.rowSpannable=l.rowSpannable!==void 0?f.getRowSpanOptions(l.rowSpannable):this.rowSpannable})},initColumns(e,t){var l;this._columns=this.readColumnElements();const s=(l=this.gridContext.group)==null?void 0:l.value;this._columns.filter(h=>!h.hidden).length===0&&(this._columns=f.autoGenerateColumns(e,s,{column:this.$props.expandField?this.$props.expandField:this.groupExpandable.column},{prevId:0,idPrefix:this.idPrefix})),this.configureColumns(this._columns,t);const[i,a]=this.filterColumns(this._columns);this._columns=i,this.hiddenColumnsRef=a,this._columnsMap=f.mapColumns(this._columns,!0)},resolveTitle(e){const t=this.findColumnByField(e),s=t&&(t.title||t.field);return s===void 0?e:s},findColumnByField(e){let t;return this.$props.columns.forEach(s=>{const i=this.searchColumn(s,e);i&&(t=i)}),t},searchColumn(e,t){if(e.field===t)return e;if(e.children){let s,i=null;for(s=0;i==null&&s<e.children.length;s++)i=this.searchColumn(e.children[s],t);return i}return null},getDataState(){return{filter:this.$props.filter,sort:this.$props.sort,skip:this.$props.skip,take:this.$props.take!==void 0?this.$props.take:this.$props.pageSize,group:this.$props.group}},getArguments(e){return{event:e,target:this}},getLeafDataItems(){return this.currentData.filter(e=>e.rowType==="data").map(e=>e.dataItem)},totalGroupedRows(e){let t=0;return e&&(t=this.addSubItems(e,t)),t},addSubItems(e,t){return e.forEach(s=>{t++,s.expanded!==!1&&s.items&&(t=this.addSubItems(s.items,t)),this.group&&this.group.length&&(this.$props.groupable.footer==="always"||s.expanded!==!1&&s.items&&this.$props.groupable.footer==="visible")&&t++}),t},searchChange(e){const t=this.$props.searchFields||this._columns.map(a=>a.field)||[],s=e.event.target.value,i={logic:"or",filters:t.filter(a=>a!==void 0).map(a=>{var l;return typeof a=="string"?{field:a,value:s,operator:"contains"}:{value:s,operator:(l=a.operator)!=null?l:"contains",field:a.field,ignoreCase:a.ignoreCase}})};this.raiseDataEvent("searchchange",{search:i},{skip:0},e)},getCellsToRender(e,t){var l;const s=[];let i=null,a=0;if(t.forEach((h,p)=>{const m=parseFloat((h.width||"").toString())||10;if(a){a--,i&&(i.width+=m);return}const C=Math.min(f.getColSpan(h,e),t.length-p);a=C-1,i={width:m,colSpan:C,columnIndex:p},s.push(i)}),this.$props.columnVirtualization){const h=this.scrollLeft||0,p=this.tableWidth||parseFloat((((l=this.$attrs.style)==null?void 0:l.width)||"").toString());return lt.getVirtualCellsToRender({cellModels:s,columns:t,tableViewPortWidth:p,scrollLeft:h})}return s}},provide(){return{kendo:{dataItemKey:this.$props.dataItemKey,searchChange:this.searchChange,dispatchGroupExpand:this.handleGroupExpandAction,dispatchDetailExpand:this.handleDetailExpandAction}}},setup(e){const t=o.ref(null),s=o.ref(null),i=o.ref(null),a=o.ref(null),l=o.ref(null),h=o.ref(null),p=o.ref(null),m=o.ref(null),C=o.ref(null),u=o.ref(null),x=o.ref(!0),b=o.ref(!1),H=o.inject(at.KendoKey,{});return{groupPanelDivRef:t,dropElementClueRef:s,dragElementClueRef:i,headerRef:a,footerRef:l,gridNavRef:h,colGroupRef:p,scrollContainerRef:m,scrollTableRef:C,scrollTableBodyRef:u,gridContext:H,shouldUpdateLeftRightRef:x,resizedRef:b,currentColumnsState:e.columnsState}},render(){var ne,de,he,pe,ce,ue,ge,fe,me,Ce,be,$e,ve;const e=(ne=this.gridContext.sort)==null?void 0:ne.value,t=(de=this.gridContext.filter)==null?void 0:de.value,s=(he=this.gridContext.search)==null?void 0:he.value,i=(pe=this.gridContext.skip)==null?void 0:pe.value,a=(ce=this.gridContext.take)==null?void 0:ce.value,l=(ue=this.gridContext.group)==null?void 0:ue.value,h=(ge=this.gridContext.groupExpand)==null?void 0:ge.value,p=(fe=this.gridContext.detailExpand)==null?void 0:fe.value;this.currentColumnsState=(me=this.gridContext.columnsState)==null?void 0:me.value,console.log("detailExpand",p);const m=this.$props.scrollable==="virtual"||this.$props.scrollable===void 0&&this.$props.isClient||!1,C=this.$props.autoProcessData===!0?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:this.$props.autoProcessData;let u=this.$props.total||0;const x=g.tableKeyboardNavigationTools.getIdPrefix(this.navigation);let b=[];Array.isArray(this.$props.dataItems)?b=this.$props.dataItems:this.$props.dataItems&&(b=f.applyExpandedState(this.$props.dataItems,this.$props.collapsedGroups.length?this.computedCollapsed:[],this.$props.uniqueField).data,u=u||this.$props.dataItems.total);const H=this.$props.groupable===!0||n.isObject(this.$props.groupable)&&this.$props.groupable.enabled!==!1;this.dragLogic.reorderable=this.$props.reorderable||!1,this.dragLogic.groupable=H,this.initializeVirtualization(u);const Ee=b.length===u,Ge=n.isObject(this.$props.groupable)&&this.$props.groupable.footer||"none";if(this.currentData=[],C){const r=C.page&&!(m&&!this.$props.pageable),{data:c,total:w}=rt.process(b,{group:C.group?l:void 0,sort:C.sort?e:void 0,filter:g.combineFilters(C.filter?t:void 0,C.search?s:void 0),...r?{take:this.$props.pageable?a||10:a,skip:i||0}:{}});b=c,u=(Ce=this.$props.total)!=null?Ce:w}const{resolvedGroupsCount:De,flattedData:Ve}=this.getFlatData(b,Ge,Ee?0:this.$props.skip||0,l,p,h,this.$props.dataItemKey);this.currentData=Ve,this.initColumns(this.$props.dataItems,De),this.columnResize.resizable=this.$props.resizable||!1,this.columnResize.columns=this._columns,this.columnResize.columnsState=n.cloneArray(this.currentColumnsState||[]),this.dragLogic.columns=this._columns;const B=this.$props.toolbar,j=this.$props.noRecords,y=this._columns.filter(r=>r.children.length===0),J=H&&o.createVNode(Be.GroupPanel,{ref:r=>{this.groupPanelDivRef=r},group:l||[],ariaControls:this._gridRoleElementId,onGroupChange:this.groupChangeHandler,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,resolveTitle:this.resolveTitle},null),Q=(this.dragLogic.reorderable||this.dragLogic.groupable)&&n.canUseDOM&&document&&document.body,X=[Q&&o.createVNode(Ze.DropClue,{ref:r=>{this.dropElementClueRef=r}},null),Q&&o.createVNode(Ye.DragClue,{ref:r=>{this.dragElementClueRef=r}},null)],Y=o.createVNode(Ke.Header,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:this.$props.scrollable!=="none",ref:r=>{this.headerRef=r},headerRow:o.createVNode(We.HeaderRow,{grid:this,sort:e,groupable:this.$props.groupable,reorderable:this.$props.reorderable,sortable:this.$props.sortable,onSortChange:this.sortChangeHandler,filter:t,filterable:this.$props.filterable,filterOperators:this.$props.filterOperators||ke.operators,onFilterChange:this.filterChangeHandler,columnMenu:this.$props.columnMenu,columnMenuIcon:this.$props.columnMenuIcon,columnMenuAnimate:this.$props.columnMenuAnimate,onSelectionchange:this.onHeaderSelectionChangeHandler,columns:this._columns,columnsInitial:this.$props.columns,columnResize:this.columnResize,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,columnsMap:this._columnsMap,cellRender:this.$props.headerCellRender,isRtl:this.isRtl,isColCountDefined:this.getAriaColCount!==void 0,filterRow:this.$props.filterable&&o.createVNode(Ue.FilterRow,{grid:this,size:this.$props.size,columns:this._columns,filter:t,filterOperators:this.$props.filterOperators||ke.operators,onFilterchange:this.filterChangeHandler,sort:this.$props.sort,cellRender:this.$props.filterCellRender,isRtl:this.isRtl,ariaRowIndex:this._columnsMap.length+1},null)||void 0},null),cols:y.map(function(r,c){return o.createVNode("col",{key:c.toString(),width:r.width!==void 0?Math.floor(parseFloat(r.width.toString()))+"px":void 0},null)},this)},null),Z=this._columns.some(r=>!!r.footerCell)?o.createVNode(je.Footer,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:this.$props.scrollable!=="none",ref:r=>{this.footerRef=r},row:o.createVNode(Je.FooterRow,{isRtl:this.isRtl,rowIndex:this.getAriaRowCount+1,columns:this._columns},null),cols:y.map(function(r,c){return o.createVNode("col",{key:c.toString(),width:r.width!==void 0?Math.floor(parseFloat(r.width.toString()))+"px":void 0},null)},this)},null):o.createVNode("span",null,null),_e=this.showLicenseWatermark?o.createVNode(n.WatermarkOverlay,{message:this.licenseMessage},null):null,T=this.$attrs.style,Ne=T&&n.isObject(T)&&T["width"]||"";this.tableWidth=parseFloat(Ne.toString()),this.scrollLeft=(($e=(be=this.vs)==null?void 0:be.container)==null?void 0:$e.scrollLeft)||0;const ee=y.findIndex(r=>typeof r.colSpan=="function")>-1;let F;ee||(F=this.getCellsToRender(null,y));const Te=function(r,c,w){let G=!1;const E=this.$props.selectedField,I=E?n.getNestedValue(E,r.dataItem):void 0,R=this.$props.highlight&&this.$props.dataItemKey&&n.getter(this.$props.dataItemKey)(r.dataItem)!==void 0?this.$props.highlight[n.getter(this.$props.dataItemKey)(r.dataItem)]:void 0;return ee&&(F=this.getCellsToRender(r.dataItem,y)),{row:F.map(function({columnIndex:v,colSpan:D}){const d=y[v],S=`${d.className?d.className+" ":""}${d.locked?"k-grid-content-sticky":""}`,k=d.left!==void 0?this.isRtl?{left:d.right+"px",right:d.left+"px"}:{left:d.left+"px",right:d.right+"px"}:{};let Re=!1;if(d.editable&&this.$props.editField){const $=n.getNestedValue(this.$props.editField,r.dataItem);($===!0||$===d.field)&&(G=!0,Re=!0)}let N;d.cell&&(N=d.cell);const xe=this.computedCollapsed&&this.computedCollapsed[r.level]&&this.computedCollapsed[r.level].some($=>$===f.groupedFirstItemValue(r.dataItem,this.$props.uniqueField)),P=d.id?d.id:v,A=xe?!xe:r.expanded,Le=d._type==="expand",q=g.tableKeyboardNavigationTools.generateNavigatableId(`${c}-${String(v)}`,x,Le||r.rowType==="groupHeader"||r.rowType==="groupFooter"||d.field==="value"?"nodata":"cell");return d.internalCell?o.createVNode(d.internalCell,{key:P,id:q,colSpan:D,dataItem:r.dataItem,field:d.field||"",editor:d.editor,format:d.format,readFormat:d.readFormat,type:d.type,className:S,render:N||this.$props.cellRender,onChange:this.itemChange,onSelectionchange:$=>this.selectionChangeHandler({event:$,dataItem:r.dataItem,dataIndex:w,columnIndex:v}),columnIndex:v,columnsCount:this._columns.filter($=>!$.children.length).length,rowType:r.rowType,level:r.level,expanded:A,dataIndex:r.dataIndex,style:k,ariaColumnIndex:d.ariaColumnIndex,isRtl:this.isRtl,isSelected:Array.isArray(I)&&I.indexOf(v)>-1,isHighlighted:!!(typeof R!="boolean"&&R&&d.field&&R[d.field]===!0),group:r.group},null):Re?o.createVNode(Oe.GridEditCell,{id:q,key:P,colSpan:D,dataItem:r.dataItem,field:d.field||"",editor:d.editor,format:d.format,readFormat:d.readFormat,type:d.type,className:S,render:N||this.$props.cellRender,onEdit:this.editHandler,onRemove:this.removeHandler,onSave:this.saveHandler,onCancel:this.cancelHandler,onChange:this.itemChange,columnIndex:v,columnsCount:this._columns.filter($=>!$.children.length).length,rowType:r.rowType,level:r.level,expanded:A,dataIndex:r.dataIndex,style:k},null):o.createVNode(et.GridCell,{key:P,id:q,colSpan:D,dataItem:r.dataItem,field:d.field||"",editor:d.editor,format:d.format,readFormat:d.readFormat,type:d.type,className:S,render:N||this.$props.cellRender,onCellclick:this.cellClickHandler,onCellkeydown:this.cellKeydownHandler,onEdit:this.editHandler,onRemove:this.removeHandler,onSave:this.saveHandler,onCancel:this.cancelHandler,onChange:this.itemChange,onSelectionchange:$=>this.selectionChangeHandler({event:$,dataItem:r.dataItem,dataIndex:w,columnIndex:v}),columnIndex:v,columnsCount:this._columns.filter($=>!$.children.length).length,rowType:r.rowType,level:r.level,expanded:A,dataIndex:r.dataIndex,style:k,isSelected:Array.isArray(I)&&I.indexOf(v)>-1,isHighlighted:!!(typeof R!="boolean"&&R&&d.field&&R[d.field]===!0)},null)},this),isInEdit:G,isSelected:typeof I=="boolean"&&I,isHighlighted:typeof R=="boolean"&&R}};let te=0;if(this.$props.scrollable==="virtual"&&this.totalGroupedRows(this.currentData)/2>this.$props.take){const r=this.vs.topCacheCount+this.vs.attendedSkip-(this.$props.skip||0);for(let c=0;c<r;){const w=this.currentData.shift();if(w)this.currentData.push(w),te++,w.rowType==="groupHeader"&&c--;else break;c++}}const se=r=>r>=this.currentData.length-te;let z=this.vs.propsSkip||0;const V=this._columnsMap.length+(this.$props.filterable?1:0)+1;let _,M=-1,L=0;const ie=this.currentData.length&&this.currentData.map(function(r,c){r.rowType==="data"&&(z++,M++),this.$props.alternatePerGroup&&r.rowType==="groupHeader"&&(z=0);const w=z%2===0,G=this.$props.dataItemKey&&n.getter(this.$props.dataItemKey)(r.dataItem),E=c+(this.vs.propsSkip||0),I=G||"ai"+E,R=I+"_1";_=E+V+L;let v;this.$props.detail&&r.rowType==="data"&&(r.expanded||r.dataItem.expanded)&&(v=y.length-(this.detailExpandable.enabled||this.$props.expandField?1:0)-(l?l.length:0)||1,L++,_=E+V+L);const D=c*2+V,d=c*2+V+1,S=Te.call(this,r,I,M);return[o.createVNode(tt.GridRow,{key:I,dataItem:r.dataItem,isAltRow:w,isInEdit:S.isInEdit,isSelected:S.isSelected,isHighlighted:S.isHighlighted,rowType:r.rowType,isHidden:se(c),onRowclick:k=>this.rowClick(k,r),onRowdblclick:k=>this.rowDoubleClick(k,r),selectedField:this.$props.selectedField,rowHeight:this.$props.rowHeight,render:this.$props.rowRender,ariaRowIndex:this.$props.detail?D:_,dataIndex:M,class:this.$props.rowClass?this.$props.rowClass(r):""},{default:()=>[S.row]}),this.$props.detail&&r.rowType==="data"&&(r.expanded||r.dataItem.expanded)&&o.createVNode("tr",{key:R,class:w?"k-table-row k-table-alt-row k-detail-row":"k-table-row k-detail-row",style:{visibility:se(c)?"hidden":"",height:this.$props.detailRowHeight+"px"},role:"row","aria-rowindex":this.$props.detail?d:_},[l==null?void 0:l.map(function(k){return o.createVNode(W.GridGroupCell,{id:"",dataIndex:r.dataIndex,field:k.field,dataItem:r.dataItem,key:`group-${k.field}-${r.dataIndex}`,group:r.group},null)},this),(this.$props.expandField||this.detailExpandable.enabled)&&o.createVNode(Ae.GridDetailHierarchyCell,{id:g.tableKeyboardNavigationTools.generateNavigatableId(`${R}-dhcell`,x)},null),o.createVNode(qe.GridDetailCell,{dataItem:r.dataItem,dataIndex:r.dataIndex,colSpan:v,ariaColIndex:2+(l?l.length:0),detail:this.$props.detail?this.$props.detail:void 0,id:g.tableKeyboardNavigationTools.generateNavigatableId(`${R}-dcell`,x)},null)])]},this)||o.createVNode("tr",{class:"k-table-row k-grid-norecords"},[o.createVNode("td",{class:"k-table-td",colspan:this._columns.filter(r=>!r.children.length).length},[j.length?j:o.createVNode(it.GridNoRecords,null,null)])]),Fe=this.$props.pageable&&o.createVNode(g.Pager,{class:"k-grid-pager",onPagesizechange:this.pageChangeHandler,onPagechange:this.pageChangeHandler,size:this.$props.size,total:u,skip:this.vs.propsSkip||0,pageSize:(this.$props.take!==void 0?this.$props.take:this.$props.pageSize)||10,messagesMap:He.pagerMessagesMap,settings:g.normalize(this.$props.pageable||{})},null),re=n.getTemplate.call(this,{h:o.h,template:this.$props.pager,defaultRendering:Fe,additionalProps:{...this.$props,skip:this.vs.propsSkip||0,messagesMap:He.pagerMessagesMap},additionalListeners:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler}}),ze=r=>e&&e.filter(c=>c.field===r).length>0,ae=o.createVNode("colgroup",{ref:n.setRef(this,"colGroup")},[y.map(function(r,c){return o.createVNode("col",{key:c.toString(),class:ze(r.field)?"k-sorted":void 0,width:r.width!==void 0?r.width.toString().indexOf("%")!==-1?r.width:Math.floor(parseFloat(r.width.toString()))+"px":void 0},null)},this)]),le={height:this.getCorrectHeight,...this.$attrs.style},Me=this.$props.loader&&o.createVNode("div",{class:"k-loader-container k-loader-container-md k-loader-top"},[o.createVNode("div",{class:"k-loader-container-overlay k-overlay-light"},null),o.createVNode("div",{class:"k-loader-container-inner"},[o.createVNode(Pe.Loader,{size:"large",type:"infinite-spinner"},null)])]),oe=((ve=this.$props.showLoader)!=null?ve:!!this.$props.loader)&&n.getTemplate.call(this,{h:o.h,template:this.$props.loader,defaultRendering:Me});return this.$props.scrollable==="none"?o.createVNode(g.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable},{default:()=>[o.createVNode(we.GridNav,{ref:r=>{this.gridNavRef=r},currentData:this.currentData,style:le,class:this.nonscrollableWrapperClass},{default:()=>[B,J,o.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[o.createVNode("table",{class:"k-table",style:{tableLayout:"fixed"},role:"none"},[ae,Y,o.createVNode("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0},[ie,oe]),Z])]),re,X]})]}):o.createVNode(g.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable},{default:()=>[o.createVNode(we.GridNav,{ref:r=>{this.gridNavRef=r},currentData:this.currentData,style:le,class:this.scrollableWrapperClass},{default:()=>[B,J,o.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[Y,o.createVNode("div",{class:"k-grid-container",role:"presentation"},[o.createVNode("div",{role:"presentation",ref:n.setRef(this,"scrollContainer"),class:"k-grid-content k-virtual-content",onScroll:this.scrollHandler},[o.createVNode("div",{class:"k-grid-table-wrap",role:"presentation"},[o.createVNode("table",{role:"none",class:this.gridTableClass,ref:n.setRef(this,"scrollTable")},[ae,o.createVNode("tbody",{class:"k-table-tbody",role:"rowgroup","data-keyboardnavbody":!0,ref:n.setRef(this,"scrollTableBody")},[ie])])]),o.createVNode("div",{class:"k-height-container",role:"presentation"},[o.createVNode("div",{style:this.$props.scrollable==="virtual"?{height:this.vs.containerHeight+"px"}:{}},null)])]),oe]),Z,_e]),re,X]})]})}});exports.Grid=ot;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),d=require("@progress/kendo-vue-common"),u=require("@progress/kendo-vue-data-tools"),Ke=require("@progress/kendo-vue-indicators"),ye=require("./GridNav.js"),ke=require("./cells/GridSelectionCell.js"),U=require("./cells/GridHierarchyCell.js"),We=require("./cells/GridDetailHierarchyCell.js"),Ue=require("./cells/GridDetailCell.js"),Be=require("./cells/GridEditCell.js"),je=require("./header/Header.js"),Je=require("./header/HeaderRow.js"),Qe=require("./header/FilterRow.js"),Xe=require("./header/GroupPanel.js"),Ye=require("./footer/Footer.js"),Ze=require("./footer/FooterRow.js"),He=require("./filterCommon.js"),et=require("./VirtualScroll.js"),tt=require("./drag/ColumnResize.js"),it=require("./drag/CommonDragLogic.js"),st=require("./drag/DragClue.js"),rt=require("./drag/DropClue.js"),w=require("./utils/main.js"),at=require("./cells/GridCell.js"),B=require("./cells/GridGroupCell.js"),lt=require("./rows/GridRow.js"),ot=require("./common.js"),_e=require("./header/GridHeaderSelectionCell.js"),Ne=require("./components/noRecords/GridNoRecords.js"),Ve=require("./components/noRecords/GridNoRecordsContainer.js"),j=require("./package-metadata.js"),Ee=require("./messages/messagesMap.js"),nt=require("@progress/kendo-data-query"),dt=require("./key.js"),ht=require("./utils/virtualColumns.js"),ct=o.defineComponent({name:"KendoGrid",inheritAttrs:!1,props:{...ot.gridProps,toolbar:{type:Object},noRecords:{type:Object}},data(){return{isRtl:!1,context:void 0,navigation:void 0,showLicenseWatermark:!1,licenseMessage:void 0,notHiddenColumns:[]}},watch:{rowHeight:function(e,t){var i;this.onRowHeightChanged(e,t),(i=this.vsRef)==null||i.reset()},scrollable:function(){var e;(e=this.vsRef)==null||e.reset()},filter:function(){var e;(e=this.vsRef)==null||e.reset()},group:function(){var e;(e=this.vsRef)==null||e.reset()},currentGroupable:function(){var e;(e=this.vsRef)==null||e.reset()},sort:function(){var e;(e=this.vsRef)==null||e.reset()}},created(){d.validatePackage(j.packageMetadata),this.showLicenseWatermark=d.shouldShowValidationUI(j.packageMetadata),this.licenseMessage=d.getLicenseMessage(j.packageMetadata),this.initialHeight=null,this._columns=[],this.vsRef=new et.VirtualScroll,this.dragLogic=new it.CommonDragLogic(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnResize=new tt.ColumnResize(this.onResize.bind(this)),this._columnsMap=[[]],this._header=null,this._footer=null,this.tableBodyRef=null,this.tableRef=null,this.scrollHeightContainerRef=null,this.forceUpdateTimeout=void 0,this._gridId=d.guid(),this._gridRoleElementId=d.guid(),this.slicedCurrentData=void 0,this._prevTotal=void 0,this._containerHeightRef=0,this._minRowHeightRef=0,this._virtualSkipRef=0,this.wrapperScrollTopRef=0,this.scrollLeftRef=0},mounted(){var t,i;this.setRefs();const e=d.isRtl(this._element);this._prevTotal=this.$props.total,this.isRtl=e,this.initialHeight=((i=(t=this._element)==null?void 0:t.style)==null?void 0:i.height)||null,this.resizeObserver=d.canUseDOM&&(window==null?void 0:window.ResizeObserver)&&new ResizeObserver(this.calculateMedia),document!=null&&document.body&&this.resizeObserver&&this.resizeObserver.observe(document.body)},updated(){var t;this.setRefs();const e=d.isRtl(this._element);this.isRtl=e,this._prevTotal=this.$props.total,this.vsRef.tableTransform&&this.vsRef.table&&(this.vsRef.table.style.transform=this.vsRef.tableTransform,this.vsRef.tableTransform=""),this.isVirtualScroll&&(this.setContainerHeight(),this.setMinRowHeight(),(t=this.vsRef)==null||t.update())},unmounted(){this.gridUnmounted()},computed:{gridId(){return this.$props.id+"-role-element-id"},idPrefix(){return this.$props.navigatable?this.gridId:""},groupExpandable(){return u.getGroupExpandableOptions(typeof this.$props.groupable=="object"&&this.$props.groupable.enabled!==!1?this.$props.groupable.expandable:this.$props.groupable)},hierarchClass(){return d.uGrid.hierarchyCell({})},computedRowSpannable(){return w.getRowSpanOptions(this.$props.rowSpannable)},detailExpandable(){return u.getDetailExpandableOptions(!!this.$props.detail)},nonscrollableWrapperClass(){const{size:e}=this.$props,t=this.$attrs.class;return{"k-grid":!0,"k-grid-md":!e,[`k-grid-${d.kendoThemeMaps.sizeMap[e]||e}`]:e,[t]:!!t}},scrollableWrapperClass(){const{scrollable:e}=this.$props;return{...this.nonscrollableWrapperClass,"k-grid-virtual":e==="virtual"}},gridTableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-table":!0,"k-grid-md":!e,[`k-table-${d.kendoThemeMaps.sizeMap[e]||e}`]:e}},getCorrectHeight(){return this.$props.scrollable==="virtual"?this.initialHeight||"450px":null},currentGroupable(){var t;const e=(t=this.gridContext.group)==null?void 0:t.value;return this.$props.groupable===!0&&(e==null?void 0:e.length)||d.isObject(this.$props.groupable)&&this.$props.groupable.enabled!==!1},computedCollapsed(){let e=[];if(this.$props.group)for(let t=0;t<this.$props.group.length;t++)this.$props.collapsedGroups[t]?e.push(this.$props.collapsedGroups[t]):e.push([]);return e},getAriaRowCount(){const e=this.$props.dataItems,t=this.$props.total||(e==null?void 0:e.total)||(e==null?void 0:e.length)||0;return this.$props.detail?this._columnsMap.length+(this.$props.filterable?1:0)+t*2+(this._columns.some(i=>!!i.footerCell)?1:0):!this.$props.pageable&&this.$props.scrollable==="scrollable"?void 0:this.$props.groupable?-1:this._columnsMap.length+(this.$props.filterable?1:0)+t+(this._columns.some(i=>!!i.footerCell)?1:0)},getAriaColCount(){const e=this.$props.columns,t=this.$props.columnVirtualization,i=(e==null?void 0:e.filter(s=>s.hidden!==void 0).length)!==0;if(t||i)return(e==null?void 0:e.length)!==0?e==null?void 0:e.length:-1},isVirtualScroll(){return this.$props.scrollable==="virtual"||this.$props.scrollable===void 0||!1}},methods:{readColumnElements(){return w.readColumns(this.$props.columns,this.currentColumnsState,{prevId:0,idPrefix:this.idPrefix})},getResolvedFlatColumnsState(){const e=[],t=(i,s)=>i==null?void 0:i.forEach(r=>{const a=r.hidden||s;e.push({...r,hidden:a}),t(r.children,a)});return t(this.currentColumnsState,!1),e},filterColumns(e){const t=this.getResolvedFlatColumnsState();return[e.filter(i=>{var s;return!i.hidden&&!((s=t.find(r=>r.id===i.id))!=null&&s.hidden)}),e.filter(i=>{var s;return i.hidden||((s=t.find(r=>r.id===i.id))==null?void 0:s.hidden)})]},getFlatData(e,t,i,s,r,a,h){const c=[],f=w.flatData(c,e,t,{index:i},s!==void 0,r,a,this.groupExpandable.defaultExpand,h,this.$props.expandField);return{flattedData:c,resolvedGroupsCount:f}},getColumnsEssentialProps(e){return e&&JSON.stringify(e.map(t=>({id:t.id,field:t.field,title:t.title,children:t.children})))},calculateMedia(){const e=this.filterHiddenColumns(this.$props.columns||[]);this.getColumnsEssentialProps(this.notHiddenColumns)!==this.getColumnsEssentialProps(e)&&this.$forceUpdate()},filterHiddenColumns(e){if(!e||e.length===0)return e;const t=i=>({...i,children:i.children&&i.children.length>0?this.filterHiddenColumns(i.children):i.children});return[...e].filter(i=>!i.hidden).filter(i=>d.canUseDOM&&i&&i.media?window.matchMedia(i.media).matches:i).map(i=>t(i))},getColumns(){const e=this._columns.filter(i=>i.declarationIndex>=0&&i.parentIndex===-1),t=i=>(i.sort((s,r)=>s.declarationIndex-r.declarationIndex),i.map(s=>{const{declarationIndex:r,parentIndex:a,depth:h,colSpan:c,rowSpan:f,index:b,kFirst:g,children:R,...v}=s;return R.length?{children:t(R),...v}:v}));return t(e)},setRefs(){let e="$el";const t=d.getRef(this,"gridNav");t&&(this._element=t[e]);const i=d.getRef(this,"groupPanelDiv");if(i){let a=i[e]||null;this.dragLogic.refGroupPanelDiv(a)}const s=d.getRef(this,"dropElementClue"),r=d.getRef(this,"dragElementClue");this.dragLogic.refDropElementClue(s),this.dragLogic.refDragElementClue(r),this.columnResize.colGroupMain=d.getRef(this,"colGroup"),this._header=d.getRef(this,"header"),this._footer=d.getRef(this,"footer"),this.resetTableWidth(),d.setScrollbarWidth()},gridUnmounted(){clearTimeout(this.forceUpdateTimeout),this.columnResize.columns=[],this.dragLogic.columns=[],this.dragLogic&&this.dragLogic.dragElementClue&&(this.dragLogic.dragElementClue.$el.remove(),this.dragLogic.dropElementClue.$el.remove()),this.currentData=[],this._columns=[],document!=null&&document.body&&this.resizeObserver&&this.resizeObserver.disconnect()},isAllData(){const{dataItems:e,total:t}=this.$props;return Array.isArray(e)?e.length===t:e?t===e.total:!1},resetVirtualSkip(){this.isVirtualScroll&&this._virtualSkipRef&&(this._virtualSkipRef=0)},virtualPageChange(e,t){var i;this.$props.pageable||(i=this.$props.group)!=null&&i.length?(this._virtualSkipRef=e.skip,this.$forceUpdate()):this.pageChangeHandler(e,t)},initializeVirtualization(){const e=this.vsRef,t=this.$props.rowHeight||this._minRowHeightRef||0;e&&(e.fixedScroll=this.$props.fixedScroll||!1,e.PageChange=this.virtualPageChange,e.pageSize=this._virtualPageSize,e.scrollableVirtual=this.isVirtualScroll,e.container=d.getRef(this,"scrollContainer"),e.tableBody=d.getRef(this,"tableBody"),e.scrollHeightContainer=d.getRef(this,"scrollHeightContainer"),e.table=d.getRef(this,"table"),(!e.rowHeightService||e.total!==this._virtualTotal)&&t&&(e.total=this._virtualTotal,e.rowHeightService=new d.RowHeightService(this._virtualTotal,t)))},setContainerHeight(){const e=d.getRef(this,"scrollContainer");this._containerHeightRef=(e==null?void 0:e.offsetHeight)||0},setMinRowHeight(){if(!this._minRowHeightRef&&!this.$props.rowHeight){const t=w.calcRowHeight(d.getRef(this,"tableBody"));t&&(this._minRowHeightRef=t,this.$forceUpdate())}},onRowHeightChanged(e,t){this.setRefs()},scrollHandler(e){clearTimeout(this.forceUpdateTimeout);const t=e.currentTarget.scrollLeft,i=e.currentTarget.scrollTop;this.$props.columnVirtualization&&(!this.isVirtualScroll||i===this.wrapperScrollTopRef)&&(this.forceUpdateTimeout=setTimeout(()=>{this.$forceUpdate()},0)),this.scrollLeftRef=t,this._header&&this._header.setScrollLeft(e.currentTarget.scrollLeft),this._footer&&this._footer.setScrollLeft(e.currentTarget.scrollLeft),this.vsRef&&i!==this.wrapperScrollTopRef&&this.vsRef.scrollHandler(e),this.$emit("scroll",e),this.wrapperScrollTopRef=i},rowClick(e,t){e.target.type!=="checkbox"&&this.$emit("rowclick",{dataItem:t.dataItem,...this.getArguments(e)})},rowDoubleClick(e,t){e.target.type!=="checkbox"&&this.$emit("rowdblclick",{dataItem:t.dataItem,...this.getArguments(e)})},loopGroupedItems(e,t,i=0,s=null){return e.forEach(r=>{!s&&t(r,i)&&(s=r),r.items&&r.items.length&&!s&&(s=this.loopGroupedItems(r.items,t,i+1,s))}),s},updateGroupCollapsed(e){let t=this.computedCollapsed,i=t[e.level];const s=this.$props.uniqueField,r=function(c,f){return c.value===e.dataItem.value&&f===e.level},a=this.allGroupedItems?this.loopGroupedItems(this.allGroupedItems.data,r,0,null):e.dataItem,h=w.groupedFirstItemValue(a||e.dataItem,s);if(e.value){if(i&&i.length){const c=i.indexOf(h);c>-1&&i.splice(c,1)}}else i?i.includes(h)||i.push(h):i=[h];return t},itemChange(e){var s;const t=d.hasListener.call(this,"itemchange"),i=(s=this.gridContext.group)==null?void 0:s.value;if(e.field===this.$props.expandField||(i||this.$props.detail)&&e.field===void 0){d.hasListener.call(this,"expandchange")&&e.dataItem&&this.$emit("expandchange",{...this.getArguments(e.event),collapsedGroups:this.updateGroupCollapsed(e),dataItem:e.dataItem,value:e.value});return}t&&this.$emit("itemchange",{...this.getArguments(e.event),dataItem:e.dataItem,field:e.field,value:e.value})},cellClickHandler(e){this.$emit("cellclick",{dataItem:e.dataItem,field:e.field})},cellKeydownHandler(e){this.$emit("cellkeydown",e)},editHandler(e){this.$emit("edit",{dataItem:e})},removeHandler(e){this.$emit("remove",{dataItem:e})},saveHandler(e){this.$emit("save",{dataItem:e})},cancelHandler(e){this.$emit("cancel",{dataItem:e})},selectionChangeHandler(e){const{event:t,dataItem:i,dataIndex:s,columnIndex:r}=e;this.$emit("selectionchange",{...this.getArguments(t.event),dataItem:i,startColIndex:r,endColIndex:r,startRowIndex:s,endRowIndex:s,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,isDrag:!1,componentId:this._gridId,selectedField:this.$props.selectedField||""})},onHeaderSelectionChangeHandler(e){this.$emit("headerselectionchange",{field:e.field,event:e.event,target:this})},pageChangeHandler(e,t){this.raiseDataEvent("pagechange",{page:e,event:t},{skip:e.skip,take:e.take},t)},sortChangeHandler(e,t){this.raiseDataEvent("sortchange",{sort:e},{sort:e},t)},filterChangeHandler(e,t){this.raiseDataEvent("filterchange",{filter:e},{filter:e,skip:0},t)},groupChangeHandler(e,t){this.raiseDataEvent("groupchange",{group:e},{group:e,skip:0},t)},handleDetailExpandAction(e,t){var i;if(this.detailExpandable.enabled){const s=(i=this.gridContext.detailExpand)==null?void 0:i.value,r=u.detailExpandReducer(s!=null?s:{},e);this.$emit("detailexpandchange",{...this.getArguments(t),detailExpand:r})}},handleGroupExpandAction(e,t){var i;if(this.groupExpandable.enabled){const s=(i=this.gridContext.groupExpand)==null?void 0:i.value,r=u.groupExpandReducer(s!=null?s:[],e,this.groupExpandable);this.$props.expandField||this.$emit("groupexpandchange",{...this.getArguments(t),groupExpand:r})}},raiseDataEvent(e,t,i,s){if(this.resetVirtualSkip(),this.$props.autoProcessData)this.gridContext[e]({...this.getArguments(s),...t});else if(d.hasListener.call(this,e))this.$emit(e,{...this.getArguments(s),...t});else if(d.hasListener.call(this,"datastatechange")){const r={...this.getDataState(),...i};this.gridContext.datastatechange({...this.getArguments(s),data:r,dataState:r})}},columnReorder(e,t,i){const s=this._columns[e],r=w.getFlatColumnsState(this.currentColumnsState),a=s.depth,h=g=>{do g++;while(g<this._columns.length&&this._columns[g].depth>a);return g},c=this._columns.splice(e,h(e)-e);this._columns.splice(e<t?h(t-c.length):t,0,...c),this._columns.filter(g=>g.declarationIndex>=0).forEach((g,R)=>{g.orderIndex=R;const v=r.find(S=>S.id===g.id);v&&(v.orderIndex=R)});const f=this._columns[e].locked&&this._columns[t].locked;u.updateLeft(this._columnsMap,this._columns,f||this.shouldUpdateLeftRightRef),u.updateRight(this._columnsMap,this._columns,f||this.shouldUpdateLeftRightRef),this.resizedRef&&(this.shouldUpdateLeftRightRef=!1,this.resizedRef=!1);const b=this.getColumns();this.$emit("columnreorder",{target:this,columns:b,event:i,prev:e,next:t}),this.gridContext.columnsstatechange({columnsState:this.currentColumnsState})},groupReorder(e,t,i){var r;const s=(r=this.gridContext.group)==null?void 0:r.value;s!==void 0&&(s.splice(t,0,...s.splice(e,1)),this.groupChangeHandler(s,i))},columnToGroup(e,t,i){var a;const s=this._columns[e].field;if(!s)return;const r=(((a=this.gridContext.group)==null?void 0:a.value)||[]).slice();r.splice(t,0,{field:s}),this.groupChangeHandler(r,i)},resetTableWidth(){var s;let e=0;if(!this.columnResize.colGroupMain)return;const t=(s=this.columnResize.colGroupMain)==null?void 0:s.children;for(let r=0;r<t.length;r++){const a=t[r].width;if(!a)return;e+=parseFloat(a.toString())}e=Math.round(e),this._header&&this._header.setWidth(e),this._footer&&this._footer.setWidth(e);const i=d.getRef(this,"table");i&&e&&(i.style.width=e+"px")},onResize(e,t,i,s,r,a,h){this.resetTableWidth(),this.shouldUpdateLeftRightRef=!0,this.resizedRef=!0,this.$emit("columnresize",{columns:this.getColumns(),index:e,targetColumnId:h,event:s,newWidth:t,oldWidth:i,end:r,target:this}),r&&this.gridContext.columnsstatechange({columnsState:a})},initColumnsState(e,t){const i=s=>{var a;const r=t.find(h=>h.id===s.id);if(r){const h={...r};return h.children=(a=s.children)==null?void 0:a.map(i),h}return s};this.currentColumnsState=e.filter(s=>s.parentIndex===-1).map(i)},configureColumns(e,t){e.filter(a=>a.columnType==="checkbox").forEach(a=>{a.width=a.width||"50px",a.defaultCell=o.markRaw(ke.GridSelectionCell),a.defaultHeaderCell=o.markRaw(_e.GridHeaderSelectionCell),a._type="edit"}),this.$props.selectedField&&this._columns.filter(a=>a.field===this.$props.selectedField).forEach(a=>{a.width=a.width||"50px",a.internalCell=o.markRaw(ke.GridSelectionCell),a.internalHeaderCell=o.markRaw(_e.GridHeaderSelectionCell)});const i=w.getFlatColumnsState(this.currentColumnsState);this.initColumnsState(e,i);const s={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let r=0;if(this.detailExpandable.enabled&&this.$props.detail&&!this.$props.expandField){const a={...s,_type:"expand",id:u.tableKeyboardNavigationTools.generateNavigatableId(`${r++}`,"expand","column"),defaultCell:o.markRaw(U.GridHierarchyCell),internalCell:o.markRaw(U.GridHierarchyCell),field:this.detailExpandable.column,headerClassName:this.hierarchClass};e.unshift(a),this.currentColumnsState.unshift(i.find(h=>h.id===a.id)||a)}this.$props.expandField&&d.hasListener.call(this,"expandchange")&&this.$props.detail&&(e.unshift({...s,internalCell:o.markRaw(U.GridHierarchyCell),field:this.$props.expandField,headerClassName:"k-hierarchy-cell k-header",id:u.tableKeyboardNavigationTools.generateNavigatableId(`${e.length}`,this.idPrefix,"column"),...this.expandColumn}),r++);for(let a=0;a<t;a++){const h={...s,isAccessible:!1,defaultCell:o.markRaw(B.GridGroupCell),internalCell:o.markRaw(B.GridGroupCell),id:u.tableKeyboardNavigationTools.generateNavigatableId(`${r++}`,"group","column"),field:"value",locked:this.$props.lockGroups};e.unshift(h),this.currentColumnsState.unshift(i.find(c=>c.id===h.id)||h)}e.slice(r).forEach(a=>{a.parentIndex>=0&&(a.parentIndex+=r),a.rowSpannable=a.rowSpannable!==void 0?w.getRowSpanOptions(a.rowSpannable):this.computedRowSpannable})},initColumns(e,t){var a;this._columns=this.readColumnElements();const i=(a=this.gridContext.group)==null?void 0:a.value;this._columns.filter(h=>!h.hidden).length===0&&(this._columns=w.autoGenerateColumns(e,i,{column:this.$props.expandField?this.$props.expandField:this.groupExpandable.column},{prevId:0,idPrefix:this.idPrefix})),this.configureColumns(this._columns,t);const[s,r]=this.filterColumns(this._columns);this._columns=s,this.hiddenColumnsRef=r,this._columnsMap=w.mapColumns(this._columns,!0)},resolveTitle(e){const t=this.findColumnByField(e),i=t&&(t.title||t.field);return i===void 0?e:i},findColumnByField(e){let t;return this.$props.columns.forEach(i=>{const s=this.searchColumn(i,e);s&&(t=s)}),t},searchColumn(e,t){if(e.field===t)return e;if(e.children){let i,s=null;for(i=0;s==null&&i<e.children.length;i++)s=this.searchColumn(e.children[i],t);return s}return null},getDataState(){var a,h,c,f,b;const e=(a=this.gridContext.sort)==null?void 0:a.value,t=(h=this.gridContext.filter)==null?void 0:h.value,i=(c=this.gridContext.skip)==null?void 0:c.value,s=(f=this.gridContext.take)==null?void 0:f.value,r=(b=this.gridContext.group)==null?void 0:b.value;return{filter:t,sort:e,skip:i,take:s!==void 0?s:this.$props.pageSize,group:r}},getArguments(e){return{event:e,target:this}},getLeafDataItems(){return this.currentData.filter(e=>e.rowType==="data").map(e=>e.dataItem)},totalGroupedRows(e){let t=0;return e&&(t=this.addSubItems(e,t)),t},addSubItems(e,t){return e.forEach(i=>{t++,i.expanded!==!1&&i.items&&(t=this.addSubItems(i.items,t)),this.group&&this.group.length&&(this.$props.groupable.footer==="always"||i.expanded!==!1&&i.items&&this.$props.groupable.footer==="visible")&&t++}),t},searchChange(e){const t=this.$props.searchFields||this._columns.map(r=>r.field)||[],i=e.event.target.value,s={logic:"or",filters:t.filter(r=>r!==void 0).map(r=>{var a;return typeof r=="string"?{field:r,value:i,operator:"contains"}:{value:i,operator:(a=r.operator)!=null?a:"contains",field:r.field,ignoreCase:r.ignoreCase}})};this.raiseDataEvent("searchchange",{search:s},{skip:0},e)},getCellsToRender(e,t){var a;const i=[];let s=null,r=0;if(t.forEach((h,c)=>{const f=parseFloat((h.width||"").toString())||10;if(r){r--,s&&(s.width+=f);return}const b=Math.min(w.getColSpan(h,e),t.length-c);r=b-1,s={width:f,colSpan:b,columnIndex:c},i.push(s)}),this.$props.columnVirtualization){const h=this.scrollLeftRef||0,c=this.tableWidth||parseFloat((((a=this.$attrs.style)==null?void 0:a.width)||"").toString());return ht.getVirtualCellsToRender({cellModels:i,columns:t,tableViewPortWidth:c,scrollLeft:h})}return i},calcVirtualPageSize(){const{pageable:e,take:t,pageSize:i}=this.$props;if(!this.isVirtualScroll)return 0;if(!e){if(t)return t;if(i)return i}const s=this.$props.rowHeight||this._minRowHeightRef,r=this._containerHeightRef;return r&&s?Math.ceil(r/s*1.5):0}},provide(){return{kendo:{dataItemKey:this.$props.dataItemKey,searchChange:this.searchChange,dispatchGroupExpand:this.handleGroupExpandAction,dispatchDetailExpand:this.handleDetailExpandAction}}},setup(e){const t=o.ref(null),i=o.ref(null),s=o.ref(null),r=o.ref(null),a=o.ref(null),h=o.ref(null),c=o.ref(null),f=o.ref(null),b=o.ref(null),g=o.ref(null),R=o.ref(!0),v=o.ref(!1),S=o.inject(dt.KendoKey,{});return{groupPanelDivRef:t,dropElementClueRef:i,dragElementClueRef:s,headerRef:r,footerRef:a,gridNavRef:h,colGroupRef:c,scrollContainerRef:f,scrollTableRef:b,scrollTableBodyRef:g,gridContext:S,shouldUpdateLeftRightRef:R,resizedRef:v,currentColumnsState:e.columnsState}},render(){var ne,de,he,ce,pe,ue,ge,fe,me,Ce,be;const e=(ne=this.gridContext.sort)==null?void 0:ne.value,t=(de=this.gridContext.filter)==null?void 0:de.value,i=(he=this.gridContext.search)==null?void 0:he.value,s=(ce=this.gridContext.skip)==null?void 0:ce.value,r=(pe=this.gridContext.take)==null?void 0:pe.value,a=(ue=this.gridContext.group)==null?void 0:ue.value,h=(ge=this.gridContext.groupExpand)==null?void 0:ge.value,c=(fe=this.gridContext.detailExpand)==null?void 0:fe.value,f=!!(a!=null&&a.length);let b;this.currentColumnsState=(me=this.gridContext.columnsState)==null?void 0:me.value;const g=this.$props.autoProcessData===!0?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:this.$props.autoProcessData;let R=this.$props.total||0;const v=u.tableKeyboardNavigationTools.getIdPrefix(this.navigation);let S=[];Array.isArray(this.$props.dataItems)?S=this.$props.dataItems:this.$props.dataItems&&(S=w.applyExpandedState(this.$props.dataItems,this.$props.collapsedGroups.length?this.computedCollapsed:[],this.$props.uniqueField).data,R=R||this.$props.dataItems.total);const J=this.$props.groupable===!0||d.isObject(this.$props.groupable)&&this.$props.groupable.enabled!==!1;this.dragLogic.reorderable=this.$props.reorderable||!1,this.dragLogic.groupable=J,this._virtualPageSize=this.calcVirtualPageSize();const z=S.length===R,Ge=d.isObject(this.$props.groupable)&&this.$props.groupable.footer||"none";if(this.currentData=[],g){const l=g.page&&!(this.isVirtualScroll&&!this.$props.pageable),{data:C,total:y}=nt.process(S,{group:g.group?a:void 0,sort:g.sort?e:void 0,filter:u.combineFilters(g.filter?t:void 0,g.search?i:void 0),...l?{take:this.$props.pageable?r||10:r,skip:s||0}:{}});S=C,R=(Ce=this.$props.total)!=null?Ce:y}const{resolvedGroupsCount:Te,flattedData:De}=this.getFlatData(S,Ge,z?0:this.$props.skip||0,a,c,h,this.$props.dataItemKey);this.currentData=De;const F=this._virtualSkipRef||0;if(this._virtualTotal=R,this.isVirtualScroll){let l=s||0;if((f||this.$props.pageable)&&(l=F,this._virtualTotal=this.currentData.length),z||f||this.$props.pageable)if(this._virtualPageSize===0){const C=Math.min(r||this.$props.pageSize||20,this.currentData.length);b=this.currentData.slice(l,l+C)}else b=this.currentData.slice(l,l+this._virtualPageSize)}this.initializeVirtualization(),this.initColumns(this.$props.dataItems,Te),this.columnResize.resizable=this.$props.resizable||!1,this.columnResize.columns=this._columns,this.columnResize.columnsState=d.cloneArray(this.currentColumnsState||[]),this.dragLogic.columns=this._columns;const Q=this.$props.toolbar,T=this.$props.noRecords,N=this._columns.filter(l=>l.children.length===0),X=J&&o.createVNode(Xe.GroupPanel,{ref:l=>{this.groupPanelDivRef=l},group:a||[],ariaControls:this._gridRoleElementId,onGroupChange:this.groupChangeHandler,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,resolveTitle:this.resolveTitle},null),Y=(this.dragLogic.reorderable||this.dragLogic.groupable)&&d.canUseDOM&&document&&document.body,Z=[Y&&o.createVNode(rt.DropClue,{ref:l=>{this.dropElementClueRef=l}},null),Y&&o.createVNode(st.DragClue,{ref:l=>{this.dragElementClueRef=l}},null)],ee=o.createVNode(je.Header,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:this.$props.scrollable!=="none",ref:l=>{this.headerRef=l},headerRow:o.createVNode(Je.HeaderRow,{grid:this,sort:e,groupable:this.$props.groupable,reorderable:this.$props.reorderable,sortable:this.$props.sortable,onSortChange:this.sortChangeHandler,filter:t,filterable:this.$props.filterable,filterOperators:this.$props.filterOperators||He.operators,onFilterChange:this.filterChangeHandler,columnMenu:this.$props.columnMenu,columnMenuIcon:this.$props.columnMenuIcon,columnMenuAnimate:this.$props.columnMenuAnimate,onSelectionchange:this.onHeaderSelectionChangeHandler,columns:this._columns,columnsInitial:this.$props.columns,columnResize:this.columnResize,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,columnsMap:this._columnsMap,cellRender:this.$props.headerCellRender,isRtl:this.isRtl,isColCountDefined:this.getAriaColCount!==void 0,filterRow:this.$props.filterable&&o.createVNode(Qe.FilterRow,{grid:this,size:this.$props.size,columns:this._columns,filter:t,filterOperators:this.$props.filterOperators||He.operators,onFilterchange:this.filterChangeHandler,sort:this.$props.sort,cellRender:this.$props.filterCellRender,isRtl:this.isRtl,ariaRowIndex:this._columnsMap.length+1},null)||void 0},null),cols:N.map(function(l,C){return o.createVNode("col",{key:C.toString(),width:l.width!==void 0?Math.floor(parseFloat(l.width.toString())):void 0},null)},this)},null),te=this._columns.some(l=>!!l.footerCell)?o.createVNode(Ye.Footer,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:this.$props.scrollable!=="none",ref:l=>{this.footerRef=l},row:o.createVNode(Ze.FooterRow,{isRtl:this.isRtl,rowIndex:this.getAriaRowCount+1,columns:this._columns},null),cols:N.map(function(l,C){return o.createVNode("col",{key:C.toString(),width:l.width!==void 0?Math.floor(parseFloat(l.width.toString())):void 0},null)},this)},null):o.createVNode("span",null,null),ze=this.showLicenseWatermark?o.createVNode(d.WatermarkOverlay,{message:this.licenseMessage},null):null,L=this.$attrs.style,Fe=L&&d.isObject(L)&&L["width"]||"";this.tableWidth=parseFloat(Fe.toString());const ie=N.findIndex(l=>typeof l.colSpan=="function")>-1;let M;ie||(M=this.getCellsToRender(null,N));const Le=function(l,C,y,Re,_){let p=!1;const V=this.$props.selectedField,k=V?d.getNestedValue(V,l.dataItem):void 0,x=this.$props.highlight&&this.$props.dataItemKey&&d.getter(this.$props.dataItemKey)(l.dataItem)!==void 0?this.$props.highlight[d.getter(this.$props.dataItemKey)(l.dataItem)]:void 0;return ie&&(M=this.getCellsToRender(l.dataItem,N)),{row:M.map(function({columnIndex:$,colSpan:E}){var we,xe,Ie,Se;const n=N[$];let I;if((we=n.rowSpannable)!=null&&we.enabled&&l.rowType==="data"&&n.field&&_){const m=n.field?(Ie=(xe=n.rowSpannable).valueGetter)==null?void 0:Ie.call(xe,l.dataItem,n.field):null;I={value:m,count:1},_[n.field]&&((Se=_[n.field])==null?void 0:Se.value)===m&&_[n.field]!==null?(_[n.field].count++,I.count=null):_[n.field]=I}const G=`${n.className?n.className+" ":""}${n.locked?"k-grid-content-sticky":""}`,H=n.left!==void 0?this.isRtl?{left:n.right+"px",right:n.left+"px"}:{left:n.left+"px",right:n.right+"px"}:{};let $e=!1;if(n.editable&&this.$props.editField){const m=d.getNestedValue(this.$props.editField,l.dataItem);(m===!0||m===n.field)&&(p=!0,$e=!0)}let D;n.cell&&(D=n.cell);const ve=this.computedCollapsed&&this.computedCollapsed[l.level]&&this.computedCollapsed[l.level].some(m=>m===w.groupedFirstItemValue(l.dataItem,this.$props.uniqueField)),O=n.id?n.id:$,K=ve?!ve:l.expanded||l.dataItem.expanded,Oe=n._type==="expand",W=u.tableKeyboardNavigationTools.generateNavigatableId(`${C}-${String($)}`,v,Oe||l.rowType==="groupHeader"||l.rowType==="groupFooter"||n.field==="value"?"nodata":"cell");return n.internalCell?o.createVNode(n.internalCell,{key:O,id:W,colSpan:E,dataItem:l.dataItem,field:n.field||"",editor:n.editor,format:n.format,readFormat:n.readFormat,type:n.type,className:G,render:D||this.$props.cellRender,onChange:this.itemChange,onSelectionchange:m=>this.selectionChangeHandler({event:m,dataItem:l.dataItem,dataIndex:y,columnIndex:$}),columnIndex:$,columnsCount:this._columns.filter(m=>!m.children.length).length,rowType:l.rowType,level:l.level,expanded:K,dataIndex:l.dataIndex,style:H,ariaColumnIndex:n.ariaColumnIndex,isRtl:this.isRtl,isSelected:Array.isArray(k)&&k.indexOf($)>-1,isHighlighted:!!(typeof x!="boolean"&&x&&n.field&&x[n.field]===!0),group:l.group,rowSpan:I},null):$e?o.createVNode(Be.GridEditCell,{id:W,key:O,colSpan:E,dataItem:l.dataItem,field:n.field||"",editor:n.editor,format:n.format,readFormat:n.readFormat,type:n.type,className:G,render:D||this.$props.cellRender,onEdit:this.editHandler,onRemove:this.removeHandler,onSave:this.saveHandler,onCancel:this.cancelHandler,onChange:this.itemChange,columnIndex:$,columnsCount:this._columns.filter(m=>!m.children.length).length,rowType:l.rowType,level:l.level,expanded:K,dataIndex:l.dataIndex,style:H},null):o.createVNode(at.GridCell,{key:O,id:W,colSpan:E,dataItem:l.dataItem,field:n.field||"",editor:n.editor,format:n.format,readFormat:n.readFormat,type:n.type,className:G,render:D||this.$props.cellRender,onCellclick:this.cellClickHandler,onCellkeydown:this.cellKeydownHandler,onEdit:this.editHandler,onRemove:this.removeHandler,onSave:this.saveHandler,onCancel:this.cancelHandler,onChange:this.itemChange,onSelectionchange:m=>this.selectionChangeHandler({event:m,dataItem:l.dataItem,dataIndex:y,columnIndex:$}),columnIndex:$,columnsCount:this._columns.filter(m=>!m.children.length).length,rowType:l.rowType,level:l.level,expanded:K,dataIndex:l.dataIndex,style:H,rowSpan:I,isSelected:Array.isArray(k)&&k.indexOf($)>-1,isHighlighted:!!(typeof x!="boolean"&&x&&n.field&&x[n.field]===!0)},null)},this),isInEdit:p,isSelected:typeof k=="boolean"&&k,isHighlighted:typeof x=="boolean"&&x}};let Me=0,P=[];const A=!this.currentData.length,se=l=>l>=this.currentData.length-Me;let q=0;if(this.currentData.length){const l=this._columnsMap.length+(this.$props.filterable?1:0)+1;let C=this.$props.skip||0,y=-1,Re=0;const _=this.computedRowSpannable.enabled?{}:void 0;if(this.isVirtualScroll){if(F>0){const p=this.currentData.slice(0,F).filter(V=>V.rowType==="data").length;y+=p,C+=p}!this.$props.pageable&&z&&(y+=this.$props.skip||0)}P=(b||this.currentData).map(function(p,V){p.rowType==="data"&&y++;const k=p.dataIndex%2!==0,x=this.$props.dataItemKey&&d.getter(this.$props.dataItemKey)(p.dataItem),$=V+C,E=x||"ai"+$,n=E+"_1",I=Le.call(this,p,E,y,k,_),G=N.length-(this.detailExpandable.enabled?1:0)-((a==null?void 0:a.length)||0)||1;return q=$+l+Re,[o.createVNode(lt.GridRow,{key:E,item:p,dataIndex:y,ariaRowIndex:q,absoluteRowIndex:$,isAltRow:k,isHidden:se(V),rowHeight:this.$props.rowHeight,isSelected:I.isSelected,isHighlighted:I.isHighlighted,isInEdit:I.isInEdit,rowType:p.rowType,onRowclick:H=>this.rowClick(H,p),onRowdblclick:H=>this.rowDoubleClick(H,p),render:this.$props.rowRender,class:this.$props.rowClass?this.$props.rowClass(p):""},{default:()=>[I.row]}),this.$props.detail&&p.rowType==="data"&&(p.expanded||p.dataItem.expanded)&&o.createVNode("tr",{key:n,class:k?"k-table-row k-table-alt-row k-detail-row":"k-table-row k-detail-row",style:{visibility:se(V)?"hidden":"",height:this.$props.detailRowHeight+"px"},role:"row","aria-rowindex":q},[a==null?void 0:a.map(function(H){return o.createVNode(B.GridGroupCell,{id:"",dataIndex:p.dataIndex,field:H.field,dataItem:p.dataItem,key:`group-${H.field}-${p.dataIndex}`,group:p.group},null)},this),(this.$props.expandField||this.detailExpandable.enabled)&&o.createVNode(We.GridDetailHierarchyCell,{id:u.tableKeyboardNavigationTools.generateNavigatableId(`${n}-dhcell`,v)},null),o.createVNode(Ue.GridDetailCell,{dataItem:p.dataItem,dataIndex:p.dataIndex,colSpan:G,ariaColIndex:2+(a?a.length:0),detail:this.$props.detail?this.$props.detail:void 0,id:u.tableKeyboardNavigationTools.generateNavigatableId(`${n}-dcell`,v)},null)])]},this)}const Pe=this.$props.pageable&&o.createVNode(u.Pager,{class:"k-grid-pager",onPagesizechange:this.pageChangeHandler,onPagechange:this.pageChangeHandler,size:this.$props.size,total:R,skip:s||0,pageSize:(r!==void 0?r:this.$props.pageSize)||10,messagesMap:Ee.pagerMessagesMap,settings:u.normalize(this.$props.pageable||{})},null),re=d.getTemplate.call(this,{h:o.h,template:this.$props.pager,defaultRendering:Pe,additionalProps:{...this.$props,skip:this.$props.skip||0,messagesMap:Ee.pagerMessagesMap},additionalListeners:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler}}),Ae=l=>e&&e.filter(C=>C.field===l).length>0,ae=o.createVNode("colgroup",{ref:d.setRef(this,"colGroup")},[N.map(function(l,C){return o.createVNode("col",{key:C.toString(),class:Ae(l.field)?"k-sorted":void 0,width:l.width!==void 0?l.width.toString().indexOf("%")!==-1?l.width:Math.floor(parseFloat(l.width.toString()))+"px":void 0},null)},this)]),le={height:this.getCorrectHeight,...this.$attrs.style},qe=this.$props.loader&&o.createVNode("div",{class:"k-loader-container k-loader-container-md k-loader-top"},[o.createVNode("div",{class:"k-loader-container-overlay k-overlay-light"},null),o.createVNode("div",{class:"k-loader-container-inner"},[o.createVNode(Ke.Loader,{size:"large",type:"infinite-spinner"},null)])]),oe=((be=this.$props.showLoader)!=null?be:!!this.$props.loader)&&d.getTemplate.call(this,{h:o.h,template:this.$props.loader,defaultRendering:qe});return this.$props.scrollable==="none"?o.createVNode(u.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable},{default:()=>[o.createVNode(ye.GridNav,{ref:l=>{this.gridNavRef=l},currentData:this.currentData,id:this.$props.id,style:le,class:this.nonscrollableWrapperClass},{default:()=>[Q,X,o.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[o.createVNode("table",{class:"k-table",style:{tableLayout:"fixed"},ref:d.setRef(this,"table"),role:"none"},[o.createTextVNode(" "),ae,ee,o.createVNode("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0},[P,oe]),te]),A&&o.createVNode(Ve.GridNoRecordsContainer,{id:u.tableKeyboardNavigationTools.generateNavigatableId("no-records",v)},{default:()=>[T.length?T:o.createVNode(Ne.GridNoRecords,null,null)]})]),re,Z]})]}):o.createVNode(u.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable},{default:()=>[o.createVNode(ye.GridNav,{ref:l=>{this.gridNavRef=l},currentData:this.currentData,id:this.$props.id,style:le,class:this.scrollableWrapperClass},{default:()=>[Q,X,o.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[ee,o.createVNode("div",{class:"k-grid-container",role:"presentation"},[o.createVNode("div",{role:"presentation",ref:d.setRef(this,"scrollContainer"),class:"k-grid-content k-virtual-content",onScroll:this.scrollHandler},[o.createVNode("div",{class:"k-grid-table-wrap",role:"presentation"},[o.createVNode("table",{role:"none",class:this.gridTableClass,ref:d.setRef(this,"table")},[ae,o.createVNode("tbody",{class:"k-table-tbody",role:"rowgroup","data-keyboardnavbody":!0,ref:d.setRef(this,"tableBody")},[P])]),A&&o.createVNode(Ve.GridNoRecordsContainer,{id:u.tableKeyboardNavigationTools.generateNavigatableId("no-records",v)},{default:()=>[T.length?T:o.createVNode(Ne.GridNoRecords,null,null)]})]),!A&&o.createVNode("div",{class:"k-height-container",role:"presentation"},[o.createVNode("div",{ref:d.setRef(this,"scrollHeightContainer"),style:this.$props.scrollable==="virtual"?{height:this._containerHeightRef+"px"}:{}},null)])]),oe]),te,ze]),re,Z]})]})}});exports.Grid=ct;
|