@progress/kendo-vue-grid 8.1.0-develop.6 → 8.1.0-develop.8

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.d.ts CHANGED
@@ -52,6 +52,7 @@ declare const Grid: import('vue').DefineComponent<import('vue').ExtractPropTypes
52
52
  default: () => any;
53
53
  };
54
54
  cells: import('vue').PropType<import('.').GridCellsSettings>;
55
+ rows: import('vue').PropType<import('./interfaces/GridRowsSettings').GridRowsSettings>;
55
56
  defaultColumnsState: {
56
57
  type: import('vue').PropType<GridColumnState[]>;
57
58
  default: () => any;
@@ -437,6 +438,7 @@ declare const Grid: import('vue').DefineComponent<import('vue').ExtractPropTypes
437
438
  default: () => any;
438
439
  };
439
440
  cells: import('vue').PropType<import('.').GridCellsSettings>;
441
+ rows: import('vue').PropType<import('./interfaces/GridRowsSettings').GridRowsSettings>;
440
442
  defaultColumnsState: {
441
443
  type: import('vue').PropType<GridColumnState[]>;
442
444
  default: () => any;
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 l=require("vue"),n=require("@progress/kendo-vue-common"),p=require("@progress/kendo-vue-data-tools"),Qe=require("@progress/kendo-vue-indicators"),Ge=require("./GridNav.js"),ze=require("./cells/GridSelectionCell.js"),Pe=require("./cells/GridHierarchyCell.js"),Xe=require("./cells/GridDetailHierarchyCell.js"),Ye=require("./cells/GridDetailCell.js"),Ze=require("./header/Header.js"),et=require("./header/HeaderRow.js"),tt=require("./header/FilterRow.js"),st=require("./header/GroupPanel.js"),it=require("./footer/Footer.js"),ot=require("./footer/FooterRow.js"),rt=require("./components/table/GridTable.js"),lt=require("./components/table/GridTableScrollable.js"),Ee=require("./filterCommon.js"),at=require("./VirtualScroll.js"),nt=require("./drag/ColumnResize.js"),dt=require("./drag/CommonDragLogic.js"),ht=require("./drag/DragClue.js"),ct=require("./drag/DropClue.js"),C=require("./utils/main.js"),Ve=require("./cells/GridGroupCell.js"),pt=require("./rows/GridRow.js"),ut=require("./common.js"),Ne=require("./header/GridHeaderSelectionCell.js"),De=require("./components/noRecords/GridNoRecords.js"),Fe=require("./components/noRecords/GridNoRecordsContainer.js"),ie=require("./package-metadata.js"),Le=require("./messages/messagesMap.js"),oe=require("@progress/kendo-data-query"),ft=require("./key.js"),gt=require("./utils/virtualColumns.js"),Me=require("./components/StickyGroupTable.js"),mt=require("./getRowContents.js"),Rt=require("./hooks/useStickyGroups.js"),_e=require("./components/PinnedRowsTable.js"),bt=require("./cells/pincell/GridPinCell.js"),Ct=l.defineComponent({name:"KendoGrid",inheritAttrs:!1,props:{...ut.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 s;this.onRowHeightChanged(e,t),(s=this.vsRef)==null||s.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(){n.validatePackage(ie.packageMetadata),this.showLicenseWatermark=n.shouldShowValidationUI(ie.packageMetadata),this.licenseMessage=n.getLicenseMessage(ie.packageMetadata),this.initialHeight=null,this.columnsRef=[],this.dragLogic=new dt.CommonDragLogic(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnResize=new nt.ColumnResize(this.onResize.bind(this)),this._columnsMap=[[]],this._header=null,this._footer=null,this.tableRef=null,this.scrollHeightContainerRef=null,this.forceUpdateTimeout=void 0,this._gridId=n.guid(),this._gridRoleElementId=n.guid(),this.slicedCurrentData=void 0,this._prevTotal=void 0,this._containerHeightRef=0,this._minRowHeightRef=0,this.wrapperScrollTopRef=0,this.scrollLeftRef=0},mounted(){var t,s;this.setRefs();const e=n.isRtl(this._element);if(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),n.canUseDOM){const i={rootMargin:"0px",threshold:.9};this.observerRef=window.IntersectionObserver&&new window.IntersectionObserver(this.handleIntersection,i)||null}},updated(){var s;this.setRefs();const e=n.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="");const t=this.updateStickyGroups();this.sticky.headerItems=t==null?void 0:t.stickyHeaderItems,this.sticky.footerItems=t==null?void 0:t.stickyFooterItems,this.isVirtualScroll&&(this.setContainerHeight(),this.setMinRowHeight(),(s=this.vsRef)==null||s.update())},unmounted(){this.gridUnmounted()},computed:{gridId(){return this.$props.id+"-role-element-id"},idPrefix(){return this.$props.navigatable?this.gridId:""},groupExpandable(){return p.getGroupExpandableOptions(typeof this.$props.groupable=="object"&&this.$props.groupable.enabled!==!1?this.$props.groupable.expandable:this.$props.groupable)},hierarchClass(){return n.uGrid.hierarchyCell({})},computedRowSpannable(){return C.getRowSpanOptions(this.$props.rowSpannable)},computedSelectable(){return p.getSelectionOptions(this.$props.selectable)},detailExpandable(){return p.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(){var s,i;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.columnsRef.some(r=>{var o;return!!(r.footerCell||(o=r.cells)!=null&&o.footerCell)})||(s=this.$props.cells)!=null&&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.columnsRef.some(r=>{var o;return!!(r.footerCell||(o=r.cells)!=null&&o.footerCell)})||(i=this.$props.cells)!=null&&i.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},isVirtualScroll(){return this.$props.scrollable==="virtual"||this.$props.scrollable===void 0||!1},pinnedSourceSet(){var t,s;const e=new Set;return(t=this.gridContext.pinnedTopRows)!=null&&t.value&&this.gridContext.pinnedTopRows.value.forEach(i=>e.add(i)),(s=this.gridContext.pinnedBottomRows)!=null&&s.value&&this.gridContext.pinnedBottomRows.value.forEach(i=>e.add(i)),e},sortedPinnedTopRows(){var s,i;const e=((s=this.gridContext.pinnedTopRows)==null?void 0:s.value)||[],t=(i=this.gridContext.sort)==null?void 0:i.value;return this.autoProcessData&&(t!=null&&t.length)?oe.orderBy([...e],t):e},sortedPinnedBottomRows(){var s,i;const e=((s=this.gridContext.pinnedBottomRows)==null?void 0:s.value)||[],t=(i=this.gridContext.sort)==null?void 0:i.value;return this.autoProcessData&&(t!=null&&t.length)?oe.orderBy([...e],t):e},hasPinnedTopRows(){return this.$props.pinnable&&this.sortedPinnedTopRows.length>0},hasPinnedBottomRows(){return this.$props.pinnable&&this.sortedPinnedBottomRows.length>0}},methods:{getCellPositionStyle(e,t){return e.left!==void 0?t?{left:e.right+"px",right:e.left+"px"}:{left:e.left+"px",right:e.right+"px"}:{}},handleIntersection(e){const t={rowIndex:this.rowIndexRef.value};e.forEach(s=>{s.boundingClientRect.height!==s.intersectionRect.height&&this.setCurrentOnTop(t)})},scrollIntoView(e){var i;if(!((i=this.vsRef)!=null&&i.container)||this.$props.scrollable==="none")return;const{rowIndex:t}=e;this.rowIndexRef.value=t;const s=this._element;if(this.observerRef&&s){this.observerRef.disconnect();const r=s.querySelector(`[absolute-row-index="${this.rowIndexRef.value}"]`);r?this.observerRef.observe(r):this.setCurrentOnTop(e)}},setCurrentOnTop(e){var i,r;if(!((i=this.vsRef)!=null&&i.container)||this.$props.scrollable==="none")return;this.observerRef&&this.observerRef.disconnect();const{rowIndex:t}=e,s=this._element;if(this.isVirtualScroll){const o=((r=this.vsRef.rowHeightService)==null?void 0:r.offset(t))||0;this.vsRef.container.scroll(0,o)}else if(s){const o=t<1?s.querySelector("tbody > tr:nth-child(1)"):s.querySelector(`tbody > tr:nth-child(${t+1})`);o&&this.containerElementRef&&(this.containerElementRef.scrollTop=o.offsetTop)}},getTotal(){let e=this.$props.total||0;return Array.isArray(this.$props.dataItems)?e=e||this.$props.dataItems.length:this.$props.dataItems&&(e=e||this.$props.dataItems.total),e},readColumnElements(){return C.readColumns(this.$props.columns,this.currentColumnsState,{prevId:0,idPrefix:this.idPrefix})},getResolvedFlatColumnsState(){const e=[],t=(s,i)=>s==null?void 0:s.forEach(r=>{const o=r.hidden||i;e.push({...r,hidden:o}),t(r.children,o)});return t(this.currentColumnsState,!1),e},filterColumns(e){const t=this.getResolvedFlatColumnsState();return[e.filter(s=>{var i;return!s.hidden&&!((i=t.find(r=>r.id===s.id))!=null&&i.hidden)}),e.filter(s=>{var i;return s.hidden||((i=t.find(r=>r.id===s.id))==null?void 0:i.hidden)})]},getFlatData(e,t,s,i,r,o,a){const h=[],c=C.flatData(h,e,t,{index:s},i!==void 0,r,o,this.groupExpandable.defaultExpand,a,this.$props.expandField);return{flattedData:h,resolvedGroupsCount:c}},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.columnsRef.filter(s=>s.declarationIndex>=0&&s.parentIndex===-1),t=s=>(s.sort((i,r)=>i.declarationIndex-r.declarationIndex),s.map(i=>{const{declarationIndex:r,parentIndex:o,depth:a,colSpan:h,rowSpan:c,index:f,kFirst:g,children:m,...b}=i;return m.length?{children:t(m),...b}:b}));return t(e)},setRefs(){var o,a,h,c;let e="$el";const t=n.getRef(this,"gridNav");t&&(this._element=t[e]);const s=n.getRef(this,"groupPanelDiv");if(s){let f=s[e]||null;this.dragLogic.refGroupPanelDiv(f)}this.stickyHeaderRef=n.getRef(this,"stickyHeader"),this.stickyFooterRef=n.getRef(this,"stickyFooter"),this.pinnedTopRef=n.getRef(this,"pinnedTop"),this.pinnedBottomRef=n.getRef(this,"pinnedBottom");const i=n.getRef(this,"dropElementClue"),r=n.getRef(this,"dragElementClue");this.dragLogic.refDropElementClue(i),this.dragLogic.refDragElementClue(r),this.columnResize.colGroupMain=n.getRef(this,"colGroup"),this.columnResize.colGroupStickyHeader=(o=this.stickyHeaderRef)==null?void 0:o.colGroupRef,this.columnResize.colGroupStickyFooter=(a=this.stickyFooterRef)==null?void 0:a.colGroupRef,this.columnResize.colGroupPinnedTop=(h=this.pinnedTopRef)==null?void 0:h.colGroupRef,this.columnResize.colGroupPinnedBottom=(c=this.pinnedBottomRef)==null?void 0:c.colGroupRef,this._header=n.getRef(this,"header"),this._footer=n.getRef(this,"footer"),this.resetTableWidth(),n.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.dataRef=[],this.columnsRef=[],document!=null&&document.body&&this.resizeObserver&&this.resizeObserver.disconnect(),this.observerRef&&(this.observerRef.disconnect(),this.observerRef=null)},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;const s=(i=this.gridContext.group)==null?void 0:i.value;this.$props.pageable||s!=null&&s.length?(this.virtualSkipRef=e.skip,this.$forceUpdate()):this.pageChangeHandler(e,t)},initializeVirtualization(){const e=this.vsRef,t=this.$props.rowHeight||this._minRowHeightRef||0;this.tableBodyRef=n.getRef(this,"tableBody"),this.scrollTableRef=n.getComponentElementRef(this,"table"),e&&(e.fixedScroll=this.$props.fixedScroll||!1,e.PageChange=this.virtualPageChange,e.pageSize=this._virtualPageSize,e.scrollableVirtual=this.isVirtualScroll,this.scrollContainerRef=e.container=n.getRef(this,"scrollContainer"),e.tableBody=this.tableBodyRef,e.scrollHeightContainer=n.getRef(this,"scrollHeightContainer"),e.table=this.scrollTableRef,(!e.rowHeightService||e.total!==this._virtualTotal)&&t&&(e.total=this._virtualTotal,e.rowHeightService=new n.RowHeightService(this._virtualTotal,t)))},setContainerHeight(){const e=n.getRef(this,"scrollContainer");this._containerHeightRef=(e==null?void 0:e.offsetHeight)||0},setMinRowHeight(){if(!this._minRowHeightRef&&!this.$props.rowHeight){const t=C.calcRowHeight(n.getRef(this,"tableBody"));t&&(this._minRowHeightRef=t,this.$forceUpdate())}},onRowHeightChanged(e,t){this.setRefs()},onHeaderScroll(e){const s=e.target.scrollLeft,i=n.getRef(this,"scrollContainer");i&&(i.scrollLeft=s),this.scrollLeftRef=s},scrollHandler(e){clearTimeout(this.forceUpdateTimeout);const t=e.currentTarget.scrollLeft,s=e.currentTarget.scrollTop;this.$props.columnVirtualization&&(!this.isVirtualScroll||s===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.stickyHeaderRef&&this.stickyHeaderRef.setScrollLeft(e.currentTarget.scrollLeft),this.stickyFooterRef&&this.stickyFooterRef.setScrollLeft(e.currentTarget.scrollLeft),this.pinnedTopRef&&this.pinnedTopRef.setScrollLeft(t),this.pinnedBottomRef&&this.pinnedBottomRef.setScrollLeft(t),this.vsRef&&s!==this.wrapperScrollTopRef&&this.vsRef.scrollHandler(e);const i=this.virtualSkipRef;this.vsRef&&s!==this.wrapperScrollTopRef&&this.vsRef.scrollHandler(e);const r=this.isVirtualScroll&&this.virtualSkipRef!==i;if(this.$emit("scroll",e),this.wrapperScrollTopRef=s,!r){const o=this.updateStickyGroups();this.sticky.headerItems=o==null?void 0:o.stickyHeaderItems,this.sticky.footerItems=o==null?void 0:o.stickyFooterItems}},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(r=>{!i&&t(r,s)&&(i=r),r.items&&r.items.length&&!i&&(i=this.loopGroupedItems(r.items,t,s+1,i))}),i},updateGroupCollapsed(e){let t=this.computedCollapsed,s=t[e.level];const i=this.$props.uniqueField,r=function(h,c){return h.value===e.dataItem.value&&c===e.level},o=this.allGroupedItems?this.loopGroupedItems(this.allGroupedItems.data,r,0,null):e.dataItem,a=C.groupedFirstItemValue(o||e.dataItem,i);if(e.value){if(s&&s.length){const h=s.indexOf(a);h>-1&&s.splice(h,1)}}else s?s.includes(a)||s.push(a):s=[a];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){var t;if(this.computedSelectable.enabled){const{event:s,dataItem:i,dataIndex:r,columnIndex:o}=e,a={...this.getArguments(s),dataItem:i,startColIndex:o,endColIndex:o,startRowIndex:r,endRowIndex:r,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:this.computedSelectable.mode,cell:this.computedSelectable.cell,isDrag:!1,componentId:this.$props.id||this._gridId,selectedField:this.$props.selectedField||""};this.gridContext.selectionchange({...a,select:this.$props.dataItemKey?p.getSelectedState({event:a,selectedState:(t=this.$props.select)!=null?t:{},dataItemKey:this.$props.dataItemKey}):{}})}},onKeyboardSelectionChangeHandler(e){var f,g;if(!this.computedSelectable.enabled||!this.$props.dataItemKey)return;const t=(f=this.gridContext.select)==null?void 0:f.value,s={dataItems:this.getLeafDataItems(),mode:this.computedSelectable.mode,cell:this.computedSelectable.cell,componentId:this.$props.id,selectedField:"",...this.getArguments(e)},i=p.getSelectedStateFromKeyDown({event:s,selectedState:t!=null?t:{},dataItemKey:this.$props.dataItemKey});if(i===t)return;const r=e.target,o=p.closestTagName(r,"TD"),a=p.closestTagName(r,"TR"),h=p.getColumnIndex(o),c=p.getRowIndex(a);if(h!==void 0&&c!==void 0){const m=(g=C.getDataAsArray(this.$props.dataItems))==null?void 0:g[c];this.gridContext.selectionchange({...s,select:i,dataItem:m,startRowIndex:c,startColIndex:h,startDataItem:m,endDataItem:m,endRowIndex:c,endColIndex:h,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},onHeaderSelectionChangeHandler(e){if(this.computedSelectable.enabled){const t=this.getLeafDataItems();this.gridContext.headerselectionchange({select:e.event.target.checked?t.reduce((s,i)=>(this.$props.dataItemKey&&n.getter(this.$props.dataItemKey)(i)!==void 0&&(s[n.getter(this.$props.dataItemKey)(i)]=!0),s),{}):{},field:e.field,event:e.event,target:this,dataItems:t})}},selectionRelease(e){var t;if(this.computedSelectable.enabled){const s=this.getLeafDataItems(),i=s[e.startRowIndex],r=s[e.endRowIndex],o={event:void 0,target:this,selectedField:"",componentId:this.$props.id||this._gridId,dataItems:s,dataItem:null,startDataItem:i,endDataItem:r,...e},a=p.getSelectedState({event:o,selectedState:(t=this.$props.select)!=null?t:{},dataItemKey:this.$props.dataItemKey});this.raiseSelectionEvent(o,a)}},clearSelection(e){this.computedSelectable.enabled&&this.raiseSelectionEvent(e,{})},raiseSelectionEvent(e,t){this.computedSelectable.enabled&&this.gridContext.selectionchange({...e,select:t})},moveToNextPage(e){var r,o,a,h;const t=(a=(o=(r=this.gridContext.take)==null?void 0:r.value)!=null?o:this.$props.pageSize)!=null?a:0,s=(((h=this.gridContext.skip)==null?void 0:h.value)||0)+t,i=this.getTotal();s<i&&this.pageChangeHandler({skip:s,take:t},e)},moveToPrevPage(e){var i,r,o,a;const t=(o=(r=(i=this.gridContext.take)==null?void 0:i.value)!=null?r:this.$props.pageSize)!=null?o:0,s=(((a=this.gridContext.skip)==null?void 0:a.value)||0)-t;s>=0&&this.pageChangeHandler({skip:s,take:t},e)},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,r=p.detailExpandReducer(i!=null?i:{},e);this.gridContext.detailexpandchange({...this.getArguments(t),detailExpand:r})}},handleGroupExpandAction(e,t){var s;if(this.groupExpandable.enabled){const i=(s=this.gridContext.groupExpand)==null?void 0:s.value,r=p.groupExpandReducer(i!=null?i:[],e,this.groupExpandable);this.$props.expandField||this.gridContext.groupexpandchange({...this.getArguments(t),groupExpand:r})}this.scrollToStickyGroup(e.group)},raiseDataEvent(e,t,s,i){if(this.resetVirtualSkip(),this.$props.autoProcessData)this.gridContext[e]({...this.getArguments(i),...t});else if(n.hasListener.call(this,e))this.$emit(e,{...this.getArguments(i),...t});else if(n.hasListener.call(this,"datastatechange")){const r={...this.getDataState(),...s};this.gridContext.datastatechange({...this.getArguments(i),data:r,dataState:r})}},columnReorder(e,t,s){const i=this.columnsRef[e],r=C.getFlatColumnsState(this.currentColumnsState),o=i.depth,a=g=>{do g++;while(g<this.columnsRef.length&&this.columnsRef[g].depth>o);return g},h=this.columnsRef.splice(e,a(e)-e);this.columnsRef.splice(e<t?a(t-h.length):t,0,...h),this.columnsRef.filter(g=>g.declarationIndex>=0).forEach((g,m)=>{g.orderIndex=m;const b=r.find(w=>w.id===g.id);b&&(b.orderIndex=m)});const c=this.columnsRef[e].locked&&this.columnsRef[t].locked;p.updateLeft(this._columnsMap,this.columnsRef,c||this.shouldUpdateLeftRightRef),p.updateRight(this._columnsMap,this.columnsRef,c||this.shouldUpdateLeftRightRef),this.resizedRef&&(this.shouldUpdateLeftRightRef=!1,this.resizedRef=!1);const f=this.getColumns();this.$emit("columnreorder",{target:this,columns:f,event:s,prev:e,next:t}),this.gridContext.columnsstatechange({columnsState:this.currentColumnsState})},groupReorder(e,t,s){var r;const i=(r=this.gridContext.group)==null?void 0:r.value;i!==void 0&&(i.splice(t,0,...i.splice(e,1)),this.groupChangeHandler(i,s))},columnToGroup(e,t,s){var o;const i=this.columnsRef[e].field;if(!i)return;const r=(((o=this.gridContext.group)==null?void 0:o.value)||[]).slice();r.splice(t,0,{field:i}),this.groupChangeHandler(r,s)},resetTableWidth(){var i;let e=0;if(!this.columnResize.colGroupMain)return;const t=(i=this.columnResize.colGroupMain)==null?void 0:i.children;for(let r=0;r<t.length;r++){const o=t[r].width;if(!o)return;e+=parseFloat(o.toString())}e=Math.round(e),this._header&&this._header.setWidth(e),this._footer&&this._footer.setWidth(e),this.stickyHeaderRef&&this.stickyHeaderRef.setWidth(e),this.stickyFooterRef&&this.stickyFooterRef.setWidth(e),this.pinnedTopRef&&this.pinnedTopRef.setWidth(e),this.pinnedBottomRef&&this.pinnedBottomRef.setWidth(e);const s=n.getComponentElementRef(this,"table");s&&e&&(s.style.width=e+"px"),this.stickyFooterRef&&this.setStickyFooterOffset()},setStickyFooterOffset(){const e=this.containerElementRef,t=e?e.scrollWidth>e.clientWidth:!1;this.stickyFooterRef&&(this.stickyFooterRef.$el.style.marginBlockEnd=t?"var(--kendo-scrollbar-width, 0px)":"")},onResize(e,t,s,i,r,o,a){this.resetTableWidth(),this.shouldUpdateLeftRightRef=!0,this.resizedRef=!0,this.$emit("columnresize",{columns:this.getColumns(),index:e,targetColumnId:a,event:i,newWidth:t,oldWidth:s,end:r,target:this}),r&&this.gridContext.columnsstatechange({columnsState:o})},initColumnsState(e,t){const s=i=>{var o;const r=t.find(a=>a.id===i.id);if(r){const a={...r};return a.children=(o=i.children)==null?void 0:o.map(s),a}return i};this.currentColumnsState=e.filter(i=>i.parentIndex===-1).map(s)},configureColumns(e,t){e.filter(o=>o.columnType==="checkbox").forEach(o=>{o.width=o.width||"50px",o.defaultCell=l.markRaw(ze.GridSelectionCell),o.defaultHeaderCell=l.markRaw(Ne.GridHeaderSelectionCell),o._type="edit",o.columnMenu=!1}),this.$props.selectedField&&this.columnsRef.filter(o=>o.field===this.$props.selectedField).forEach(o=>{o.width=o.width||"50px",o.defaultCell=l.markRaw(ze.GridSelectionCell),o.defaultHeaderCell=l.markRaw(Ne.GridHeaderSelectionCell),o.columnMenu=!1}),this.$props.pinnable&&e.filter(o=>o.columnType==="pin").forEach(o=>{o.width=o.width||"48px",o.defaultCell=l.markRaw(bt.GridPinCell),o.defaultHeaderCell=l.markRaw(p.HeaderCell),o.sortable=!1,o.filterable=!1,o.editable=!1});const s=C.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 r=0;if(this.detailExpandable.enabled&&this.$props.detail&&!this.$props.expandField){const o={...i,_type:"expand",id:p.tableKeyboardNavigationTools.generateNavigatableId(`${r++}`,"expand","column"),defaultCell:l.markRaw(Pe.GridHierarchyCell),field:this.detailExpandable.column,headerClassName:this.hierarchClass};e.unshift(o),this.currentColumnsState.unshift(s.find(a=>a.id===o.id)||o)}this.$props.expandField&&n.hasListener.call(this,"expandchange")&&this.$props.detail&&(e.unshift({...i,defaultCell:l.markRaw(Pe.GridHierarchyCell),field:this.$props.expandField,headerClassName:"k-hierarchy-cell k-header",id:p.tableKeyboardNavigationTools.generateNavigatableId(`${e.length}`,this.idPrefix,"column"),...this.expandColumn}),r++);for(let o=0;o<t;o++){const a={...i,isAccessible:!1,defaultCell:l.markRaw(Ve.GridGroupCell),id:p.tableKeyboardNavigationTools.generateNavigatableId(`${r++}`,"group","column"),field:"value",locked:this.$props.lockGroups,columnMenu:!1};e.unshift(a),this.currentColumnsState.unshift(s.find(h=>h.id===a.id)||a)}e.slice(r).forEach(o=>{o.parentIndex>=0&&(o.parentIndex+=r),o.rowSpannable=o.rowSpannable!==void 0?C.getRowSpanOptions(o.rowSpannable):this.computedRowSpannable})},initColumns(e,t){var o;this.columnsRef=this.readColumnElements();const s=(o=this.gridContext.group)==null?void 0:o.value;this.columnsRef.filter(a=>!a.hidden).length===0&&(this.columnsRef=C.autoGenerateColumns(e,s,{column:this.$props.expandField?this.$props.expandField:this.groupExpandable.column},{prevId:0,idPrefix:this.idPrefix})),this.configureColumns(this.columnsRef,t);const[i,r]=this.filterColumns(this.columnsRef);this.columnsRef=i,this.hiddenColumnsRef=r,this._columnsMap=C.mapColumns(this.columnsRef,!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(){var o,a,h,c,f;const e=(o=this.gridContext.sort)==null?void 0:o.value,t=(a=this.gridContext.filter)==null?void 0:a.value,s=(h=this.gridContext.skip)==null?void 0:h.value,i=(c=this.gridContext.take)==null?void 0:c.value,r=(f=this.gridContext.group)==null?void 0:f.value;return{filter:t,sort:e,skip:s,take:i!==void 0?i:this.$props.pageSize,group:r}},getArguments(e){return{event:e,target:this}},getLeafDataItems(){return this.dataRef.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.columnsRef.map(r=>r.field)||[],s=e.event.target.value,i={logic:"or",filters:t.filter(r=>r!==void 0).map(r=>{var o;return typeof r=="string"?{field:r,value:s,operator:"contains"}:{value:s,operator:(o=r.operator)!=null?o:"contains",field:r.field,ignoreCase:r.ignoreCase}})};this.raiseDataEvent("searchchange",{search:i},{skip:0},e)},getCellsToRender(e,t){var o;const s=[];let i=null,r=0;if(t.forEach((a,h)=>{const c=parseFloat((a.width||"").toString())||10;if(r){r--,i&&(i.width+=c);return}const f=Math.min(C.getColSpan(a,e),t.length-h);r=f-1,i={width:c,colSpan:f,columnIndex:h},s.push(i)}),this.$props.columnVirtualization){const a=this.scrollLeftRef||0,h=this.tableWidth||parseFloat((((o=this.$attrs.style)==null?void 0:o.width)||"").toString());return gt.getVirtualCellsToRender({cellModels:s,columns:t,tableViewPortWidth:h,scrollLeft:a})}return s},calcVirtualPageSize(){const{pageable:e,take:t,pageSize:s}=this.$props;if(!this.isVirtualScroll)return 0;if(!e){if(t)return t;if(s)return s}const i=this.$props.rowHeight||this._minRowHeightRef,r=this._containerHeightRef;return r&&i?Math.ceil(r/i*1.5):0},getRowPinPosition(e){var o,a;const{dataItemKey:t=""}=this.$props,s=((o=this.gridContext.pinnedTopRows)==null?void 0:o.value)||[],i=((a=this.gridContext.pinnedBottomRows)==null?void 0:a.value)||[];if(!t||!e)return"none";const r=e[t];return s!=null&&s.some(h=>h[t]===r)?"top":i!=null&&i.some(h=>h[t]===r)?"bottom":"none"},handleRowPin(e,t){var f,g,m,b;if(!this.$props.pinnable)return;const{dataItemKey:s=""}=this.$props,i=((f=this.gridContext.pinnedTopRows)==null?void 0:f.value)||[],r=((g=this.gridContext.pinnedBottomRows)==null?void 0:g.value)||[],o=t[s],a=i.filter(w=>w[s]!==o),h=r.filter(w=>w[s]!==o);let c;switch(e){case"pinTop":c={pinnedTopRows:[...a,t],pinnedBottomRows:h,dataItem:t};break;case"pinBottom":c={pinnedTopRows:a,pinnedBottomRows:[...h,t],dataItem:t};break;case"unpin":c={pinnedTopRows:a,pinnedBottomRows:h,dataItem:t};break;default:return}(b=(m=this.gridContext).rowpinchange)==null||b.call(m,c)},pinnedSelectionRelease(e,t){const s=this.$props.dataItemKey;if(!s||!t)return;const i=n.getter(s),r=this.getLeafDataItems().findIndex(o=>i(o)===i(t));r!==-1&&this.selectionRelease({...e,startRowIndex:r,endRowIndex:r})}},provide(){return{kendo:{dataItemKey:this.$props.dataItemKey,searchChange:this.searchChange,selectionRelease:this.selectionRelease,pinnedSelectionRelease:this.pinnedSelectionRelease,dispatchGroupExpand:this.handleGroupExpandAction,dispatchDetailExpand:this.handleDetailExpandAction,scrollToStickyGroup:this.scrollToStickyGroup,getCellPositionStyle:this.getCellPositionStyle,onRowPin:this.handleRowPin,getRowPinPosition:this.getRowPinPosition},sticky:this.sticky}},setup(e){const t=l.ref(null),s=l.ref(null),i=l.ref(null),r=l.ref(null),o=l.ref(null),a=l.ref(null),h=l.ref(null),c=l.ref([]),f=l.ref([]),g=l.ref(null),m=l.ref(null),b=l.ref(null),w=l.ref(null),S=l.ref(null),v=l.ref(null),I=l.ref(!0),$=l.ref(!1),k=new at.VirtualScroll,T=l.ref(0),D=l.inject(ft.KendoKey,{}),B=typeof e.groupable=="object"&&!!e.groupable.stickyHeaders,A=typeof e.groupable=="object"&&!!e.groupable.stickyFooters,H=l.ref([]),O=l.computed(()=>{var E,_;return!!((_=(E=D.group)==null?void 0:E.value)!=null&&_.length)}),F=null,G=l.ref(void 0),x=l.ref({headerItems:[],footerItems:[]}),{scrollToStickyGroup:L,update:M}=Rt.useStickyGroups({enabled:B,enabledFooters:A,flatData:H,containerRef:g,stickyHeaderRef:m,stickyFooterRef:b,tableBodyRef:v,rowHeight:e.rowHeight,isGrouped:O,virtualSkipRef:T,rowHeightServiceRef:l.computed(()=>k==null?void 0:k.rowHeightService)});return{rowIndexRef:G,observerRef:F,dataRef:H,groupPanelDivRef:t,dropElementClueRef:s,dragElementClueRef:i,headerRef:r,footerRef:o,gridNavRef:a,colGroupRef:h,scrollContainerRef:g,tableBodyRef:v,gridContext:D,shouldUpdateLeftRightRef:I,resizedRef:$,currentColumnsState:e.columnsState,vsRef:k,virtualSkipRef:T,stickyHeaderItems:c,stickyHeaderRef:m,stickyFooterItems:f,stickyFooterRef:b,pinnedTopRef:w,pinnedBottomRef:S,sticky:x,scrollToStickyGroup:L,updateStickyGroups:M}},render(){var ce,pe,ue,fe,ge,me,Re,be,Ce,we,$e,ve,ye,Se,xe,Ie,ke,He;const e=(ce=this.gridContext.sort)==null?void 0:ce.value,t=(pe=this.gridContext.filter)==null?void 0:pe.value,s=(ue=this.gridContext.search)==null?void 0:ue.value,i=(fe=this.gridContext.select)==null?void 0:fe.value,r=(ge=this.gridContext.skip)==null?void 0:ge.value,o=(me=this.gridContext.take)==null?void 0:me.value,a=(Re=this.gridContext.group)==null?void 0:Re.value,h=(be=this.gridContext.groupExpand)==null?void 0:be.value,c=(Ce=this.gridContext.detailExpand)==null?void 0:Ce.value,f=(a==null?void 0:a.length)||0,g=typeof this.$props.groupable=="object"&&!!this.$props.groupable.stickyHeaders,m=typeof this.$props.groupable=="object"&&!!this.$props.groupable.stickyFooters,b=!!(a!=null&&a.length);let w;this.currentColumnsState=(we=this.gridContext.columnsState)==null?void 0:we.value;const S=this.$props.autoProcessData===!0?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:this.$props.autoProcessData;let v;const I=p.tableKeyboardNavigationTools.getIdPrefix(this.navigation);let $=[];Array.isArray(this.$props.dataItems)?($=this.$props.dataItems,v=($e=this.$props.total)!=null?$e:$.length):($=((ve=C.applyExpandedState(this.$props.dataItems,this.$props.collapsedGroups.length?this.computedCollapsed:[],this.$props.uniqueField))==null?void 0:ve.data)||[],v=(xe=(Se=this.$props.total)!=null?Se:(ye=this.$props.dataItems)==null?void 0:ye.total)!=null?xe:$.length);const k=this.$props.groupable===!0||n.isObject(this.$props.groupable)&&this.$props.groupable.enabled!==!1;this.dragLogic.reorderable=this.$props.reorderable||!1,this.dragLogic.groupable=k,this._virtualPageSize=this.calcVirtualPageSize();const T=$.length===v,D=n.isObject(this.$props.groupable)&&this.$props.groupable.footer||"none";if(S){const d=S.page&&!(this.isVirtualScroll&&!this.$props.pageable),{data:R,total:y}=oe.process($,{group:S.group?a:void 0,sort:S.sort?e:void 0,filter:p.combineFilters(S.filter?t:void 0,S.search?s:void 0),...d?{take:this.$props.pageable?o||10:o,skip:r||0}:{}});$=R,v=(Ie=this.$props.total)!=null?Ie:y}const{resolvedGroupsCount:B,flattedData:A}=this.getFlatData($,D,T?0:this.$props.skip||0,a,c,h,this.$props.dataItemKey);this.dataRef=A;const H=this.virtualSkipRef||0;if(this._virtualTotal=v,this.isVirtualScroll){let d=r||0;if((b||this.$props.pageable)&&(d=H,this._virtualTotal=this.dataRef.length),T||b||this.$props.pageable)if(this._virtualPageSize===0){const R=Math.min(o||this.$props.pageSize||20,this.dataRef.length);w=this.dataRef.slice(d,d+R)}else w=this.dataRef.slice(d,d+this._virtualPageSize)}this.initializeVirtualization();const O=(ke=this.selectable)!=null&&ke.drag?"none":void 0;this.initColumns(this.$props.dataItems,B),this.columnResize.resizable=this.$props.resizable||!1,this.columnResize.columns=this.columnsRef,this.columnResize.columnsState=n.cloneArray(this.currentColumnsState||[]),this.dragLogic.columns=this.columnsRef;const F=this.$props.toolbar,G=this.$props.noRecords,x=this.columnsRef.filter(d=>d.children.length===0),L=k&&l.createVNode(st.GroupPanel,{ref:d=>{this.groupPanelDivRef=d},group:a||[],ariaControls:this._gridRoleElementId,onGroupChange:this.groupChangeHandler,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,resolveTitle:this.resolveTitle},null),M=(this.dragLogic.reorderable||this.dragLogic.groupable)&&n.canUseDOM&&document&&document.body,E=[M&&l.createVNode(ct.DropClue,{ref:d=>{this.dropElementClueRef=d}},null),M&&l.createVNode(ht.DragClue,{ref:d=>{this.dragElementClueRef=d}},null)],_=this.showLicenseWatermark?l.createVNode(n.WatermarkOverlay,{message:this.licenseMessage},null):null,W=this.$attrs.style,Ke=W&&n.isObject(W)&&W["width"]||"";this.tableWidth=parseFloat(Ke.toString());const qe=x.findIndex(d=>typeof d.colSpan=="function")>-1;let K;K=this.getCellsToRender({},x);const z=x.map(function(d,R){return l.createVNode("col",{key:d.id||`col-${R}`,width:d.width!==void 0?Math.floor(parseFloat(d.width.toString())):void 0},null)},this),re=l.createVNode(Ze.Header,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:this.$props.scrollable!=="none",ref:d=>{this.headerRef=d},onHeaderscroll:this.onHeaderScroll,headerRow:l.createVNode(et.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||Ee.operators,onFilterChange:this.filterChangeHandler,columnMenu:this.$props.columnMenu,columnMenuIcon:this.$props.columnMenuIcon,columnMenuAnimate:this.$props.columnMenuAnimate,onSelectionchange:this.onHeaderSelectionChangeHandler,columns:this.columnsRef,cellsToRender:K,columnVirtualization:this.$props.columnVirtualization,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,cells:this.$props.cells,isRtl:this.isRtl,isColCountDefined:this.getAriaColCount!==void 0,headerSelectionValue:!!(i&&this.dataRef.filter(d=>d.rowType==="data").every(d=>i&&this.$props.dataItemKey&&n.getter(this.$props.dataItemKey)(d.dataItem)!==void 0?i[n.getter(this.$props.dataItemKey)(d.dataItem)]:void 0)),filterRow:this.$props.filterable&&l.createVNode(tt.FilterRow,{grid:this,size:this.$props.size,columns:this.columnsRef,columnsMap:this._columnsMap,cellsToRender:K,columnVirtualization:this.$props.columnVirtualization,filter:t,filterOperators:this.$props.filterOperators||Ee.operators,onFilterchange:this.filterChangeHandler,sort:this.$props.sort,cellRender:this.$props.filterCellRender,cells:this.$props.cells,isRtl:this.isRtl,ariaRowIndex:this._columnsMap.length+1},null)||void 0},null),cols:z},null),le=this.columnsRef.some(d=>{var R;return!!(d.footerCell||(R=d.cells)!=null&&R.footerCell)})||(He=this.$props.cells)!=null&&He.footerCell?l.createVNode(it.Footer,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:this.$props.scrollable!=="none",ref:d=>{this.footerRef=d},row:l.createVNode(ot.FooterRow,{isRtl:this.isRtl,rowIndex:this.getAriaRowCount+1,columns:this.columnsRef,cells:this.$props.cells},null),cols:z},null):l.createVNode("span",null,null),V={leafColumns:x,cellsToRender:K,selectedField:this.$props.selectedField,dataItemKey:this.$props.dataItemKey,select:i,highlight:this.$props.highlight,editField:this.$props.editField,cellRender:this.$props.cellRender,cells:this.$props.cells,getCellsToRender:this.getCellsToRender,hasDynamicColSpan:qe,itemChange:this.itemChange,selectionChangeHandler:this.selectionChangeHandler,editHandler:this.editHandler,removeHandler:this.removeHandler,saveHandler:this.saveHandler,cancelHandler:this.cancelHandler,cellClickHandler:this.cellClickHandler,cellKeydownHandler:this.cellKeydownHandler,computedCollapsed:this.computedCollapsed,uniqueField:this.$props.uniqueField,columnsRef:this.columnsRef,isRtl:this.isRtl,idPrefix:I},Be=function(d,R,y,X,Y){return mt.getRowContents(V,d,R,y,X,Y)};let Ae=0,U=[];const j=!this.dataRef.length,ae=d=>d>=this.dataRef.length-Ae;let J=0;if(this.dataRef.length){const d=this._columnsMap.length+(this.$props.filterable?1:0)+1;let R=this.$props.skip||0,y=-1,X=0;const Y=this.computedRowSpannable.enabled?{}:void 0;if(this.isVirtualScroll){if(H>0){const u=this.dataRef.slice(0,H).filter(N=>N.rowType==="data").length;y+=u,R+=H}!this.$props.pageable&&T&&(y+=this.$props.skip||0)}U=(w||this.dataRef).map(function(u,N){u.rowType==="data"&&y++;const Z=u.dataIndex%2!==0,Te=this.$props.dataItemKey&&n.getter(this.$props.dataItemKey)(u.dataItem),ee=N+R,te=Te||"ai"+ee,se=te+"_1",q=Be.call(this,u,te,y,Z,Y),je=u.rowType==="data"?this.pinnedSourceSet.has(u.dataItem):!1,Je=x.length-(this.detailExpandable.enabled?1:0)-((a==null?void 0:a.length)||0)||1;return J=ee+d+X,[l.createVNode(pt.GridRow,{key:te,item:u,dataIndex:y,ariaRowIndex:J,absoluteRowIndex:ee,isAltRow:Z,isHidden:ae(N),rowHeight:this.$props.rowHeight,isSelected:q.isSelected,isHighlighted:q.isHighlighted,isInEdit:q.isInEdit,rowType:u.rowType,onRowclick:P=>this.rowClick(P,u),onRowdblclick:P=>this.rowDoubleClick(P,u),render:this.$props.rowRender,class:this.$props.rowClass?this.$props.rowClass(u):"",isPinned:je},{default:()=>[q.row]}),this.$props.detail&&u.rowType==="data"&&(u.expanded||u.dataItem.expanded)&&l.createVNode("tr",{key:se,class:Z?"k-table-row k-table-alt-row k-detail-row":"k-table-row k-detail-row",style:{visibility:ae(N)?"hidden":"",height:this.$props.detailRowHeight+"px"},role:"row","aria-rowindex":J},[a==null?void 0:a.map(function(P){return l.createVNode(Ve.GridGroupCell,{id:"",dataIndex:u.dataIndex,field:P.field,dataItem:u.dataItem,key:`group-${P.field}-${u.dataIndex}`,locked:this.$props.lockGroups,group:u.group},null)},this),(this.$props.expandField||this.detailExpandable.enabled)&&l.createVNode(Xe.GridDetailHierarchyCell,{id:p.tableKeyboardNavigationTools.generateNavigatableId(`${se}-dhcell`,I)},null),l.createVNode(Ye.GridDetailCell,{dataItem:u.dataItem,dataIndex:u.dataIndex,colSpan:Je,ariaColIndex:2+(a?a.length:0),detail:this.$props.detail?this.$props.detail:void 0,id:p.tableKeyboardNavigationTools.generateNavigatableId(`${se}-dcell`,I)},null)])]},this)}const Oe=this.$props.pageable&&l.createVNode(p.Pager,{class:"k-grid-pager",onPagesizechange:this.pageChangeHandler,onPagechange:this.pageChangeHandler,size:this.$props.size,total:v,skip:r||0,pageSize:(o!==void 0?o:this.$props.pageSize)||10,messagesMap:Le.pagerMessagesMap,settings:p.normalize(this.$props.pageable||{})},null),ne=n.getTemplate.call(this,{h:l.h,template:this.$props.pager,defaultRendering:Oe,additionalProps:{...this.$props,skip:this.$props.skip||0,messagesMap:Le.pagerMessagesMap},additionalListeners:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler}}),We=d=>e&&e.filter(R=>R.field===d).length>0,de=l.createVNode("colgroup",{ref:n.setRef(this,"colGroup")},[x.map(function(d,R){return l.createVNode("col",{key:d.id||`col-${R}`,class:We(d.field)?"k-sorted":void 0,width:d.width!==void 0?d.width.toString().indexOf("%")!==-1?d.width:Math.floor(parseFloat(d.width.toString()))+"px":void 0},null)},this)]),he={height:this.getCorrectHeight,...this.$attrs.style},Ue=l.createVNode("div",{class:"k-loading-mask"},[l.createVNode("div",{class:"k-loading-color"},null),l.createVNode("div",{style:{height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},[l.createVNode(Qe.Loader,{size:"large",type:"converging-spinner"},null)])]),Q=this.$props.showLoader&&n.getTemplate.call(this,{h:l.h,template:this.$props.loader,defaultRendering:Ue});return this.$props.scrollable==="none"?l.createVNode(p.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable,scrollable:this.$props.scrollable,columnVirtualization:this.$props.columnVirtualization},{default:()=>[l.createVNode(Ge.GridNav,{ref:d=>{this.gridNavRef=d},columnsRef:this.columnsRef,dataRef:this.dataRef,id:this.$props.id,style:he,class:this.nonscrollableWrapperClass,onMovetonextpage:this.moveToNextPage,onMovetoprevpage:this.moveToPrevPage,onColumnreorder:this.columnReorder,onKeyboardselectionchange:this.onKeyboardSelectionChangeHandler},{default:()=>[F,L,l.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[l.createVNode(rt.GridTable,{selectable:this.computedSelectable,class:"k-table",ref:n.setRef(this,"table")},{default:()=>[de,re,l.createVNode("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0,ref:n.setRef(this,"tableBody")},[U,l.createTextVNode(" "),Q]),le]}),j&&l.createVNode(Fe.GridNoRecordsContainer,{id:p.tableKeyboardNavigationTools.generateNavigatableId("no-records",I)},{default:()=>[G.length?G:l.createVNode(De.GridNoRecords,null,null)]})]),ne,Q,E]})]}):l.createVNode(p.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable,scrollable:this.$props.scrollable,columnVirtualization:this.$props.columnVirtualization},{default:()=>[l.createVNode(Ge.GridNav,{ref:d=>{this.gridNavRef=d},dataRef:this.dataRef,id:this.$props.id,style:he,class:this.scrollableWrapperClass,onMovetonextpage:this.moveToNextPage,onMovetoprevpage:this.moveToPrevPage,onColumnreorder:this.columnReorder,onKeyboardselectionchange:this.onKeyboardSelectionChangeHandler,onSetcurrentontop:this.setCurrentOnTop},{default:()=>[F,L,l.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[re,this.hasPinnedTopRows&&l.createVNode(_e.PinnedRowsTable,{ref:n.setRef(this,"pinnedTop"),size:this.$props.size,cols:z,dataRowContext:V,position:"top",pinnedItems:this.sortedPinnedTopRows,rowHeight:this.$props.rowHeight,rows:this.$props.rows,selectable:this.computedSelectable},null),l.createVNode("div",{class:"k-grid-container",role:"presentation"},[b&&g&&l.createVNode(Me.StickyGroupTable,{ref:n.setRef(this,"stickyHeader"),size:this.$props.size,cols:z,dataRowContext:V,position:"top",groupLevelCount:f,rowHeight:this.$props.rowHeight},null),l.createVNode("div",{role:"presentation",ref:n.setRef(this,"scrollContainer"),class:"k-grid-content k-virtual-content",onScroll:this.scrollHandler},[l.createVNode("div",{class:"k-grid-table-wrap",role:"presentation"},[l.createVNode(lt.GridTableScrollable,{selectable:this.computedSelectable,tableClassName:this.gridTableClass,tableStyle:{userSelect:O},ref:n.setRef(this,"table")},{default:()=>[de,l.createVNode("tbody",{class:"k-table-tbody",role:"rowgroup","data-keyboardnavbody":!0,ref:n.setRef(this,"tableBody")},[U])]}),j&&l.createVNode(Fe.GridNoRecordsContainer,{id:p.tableKeyboardNavigationTools.generateNavigatableId("no-records",I)},{default:()=>[G.length?G:l.createVNode(De.GridNoRecords,null,null)]})]),!j&&l.createVNode("div",{class:"k-height-container",role:"presentation"},[l.createVNode("div",{ref:n.setRef(this,"scrollHeightContainer"),style:this.$props.scrollable==="virtual"?{height:this._containerHeightRef+"px"}:{}},null)])]),b&&m&&l.createVNode(Me.StickyGroupTable,{ref:n.setRef(this,"stickyFooter"),size:this.$props.size,cols:z,dataRowContext:V,position:"bottom",groupLevelCount:f,rowHeight:this.$props.rowHeight},null)]),this.hasPinnedBottomRows&&l.createVNode(_e.PinnedRowsTable,{ref:n.setRef(this,"pinnedBottom"),size:this.$props.size,cols:z,dataRowContext:V,position:"bottom",pinnedItems:this.sortedPinnedBottomRows,rowHeight:this.$props.rowHeight,rows:this.$props.rows,selectable:this.computedSelectable},null),le,_]),ne,Q,E]})]})}});exports.Grid=Ct;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),n=require("@progress/kendo-vue-common"),p=require("@progress/kendo-vue-data-tools"),Qe=require("@progress/kendo-vue-indicators"),Ge=require("./GridNav.js"),ze=require("./cells/GridSelectionCell.js"),Pe=require("./cells/GridHierarchyCell.js"),Xe=require("./cells/GridDetailHierarchyCell.js"),Ye=require("./cells/GridDetailCell.js"),Ze=require("./header/Header.js"),et=require("./header/HeaderRow.js"),tt=require("./header/FilterRow.js"),st=require("./header/GroupPanel.js"),it=require("./footer/Footer.js"),ot=require("./footer/FooterRow.js"),rt=require("./components/table/GridTable.js"),lt=require("./components/table/GridTableScrollable.js"),Ee=require("./filterCommon.js"),at=require("./VirtualScroll.js"),nt=require("./drag/ColumnResize.js"),dt=require("./drag/CommonDragLogic.js"),ht=require("./drag/DragClue.js"),ct=require("./drag/DropClue.js"),C=require("./utils/main.js"),Ve=require("./cells/GridGroupCell.js"),pt=require("./rows/GridRow.js"),ut=require("./common.js"),Ne=require("./header/GridHeaderSelectionCell.js"),De=require("./components/noRecords/GridNoRecords.js"),Fe=require("./components/noRecords/GridNoRecordsContainer.js"),ie=require("./package-metadata.js"),Le=require("./messages/messagesMap.js"),oe=require("@progress/kendo-data-query"),ft=require("./key.js"),gt=require("./utils/virtualColumns.js"),Me=require("./components/StickyGroupTable.js"),mt=require("./getRowContents.js"),Rt=require("./hooks/useStickyGroups.js"),_e=require("./components/PinnedRowsTable.js"),bt=require("./cells/pincell/GridPinCell.js"),Ct=l.defineComponent({name:"KendoGrid",inheritAttrs:!1,props:{...ut.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 s;this.onRowHeightChanged(e,t),(s=this.vsRef)==null||s.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(){n.validatePackage(ie.packageMetadata),this.showLicenseWatermark=n.shouldShowValidationUI(ie.packageMetadata),this.licenseMessage=n.getLicenseMessage(ie.packageMetadata),this.initialHeight=null,this.columnsRef=[],this.dragLogic=new dt.CommonDragLogic(this.columnReorder.bind(this),this.groupReorder.bind(this),this.columnToGroup.bind(this)),this.columnResize=new nt.ColumnResize(this.onResize.bind(this)),this._columnsMap=[[]],this._header=null,this._footer=null,this.tableRef=null,this.scrollHeightContainerRef=null,this.forceUpdateTimeout=void 0,this._gridId=n.guid(),this._gridRoleElementId=n.guid(),this.slicedCurrentData=void 0,this._prevTotal=void 0,this._containerHeightRef=0,this._minRowHeightRef=0,this.wrapperScrollTopRef=0,this.scrollLeftRef=0},mounted(){var t,s;this.setRefs();const e=n.isRtl(this._element);if(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),n.canUseDOM){const i={rootMargin:"0px",threshold:.9};this.observerRef=window.IntersectionObserver&&new window.IntersectionObserver(this.handleIntersection,i)||null}},updated(){var s;this.setRefs();const e=n.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="");const t=this.updateStickyGroups();this.sticky.headerItems=t==null?void 0:t.stickyHeaderItems,this.sticky.footerItems=t==null?void 0:t.stickyFooterItems,this.isVirtualScroll&&(this.setContainerHeight(),this.setMinRowHeight(),(s=this.vsRef)==null||s.update())},unmounted(){this.gridUnmounted()},computed:{gridId(){return this.$props.id+"-role-element-id"},idPrefix(){return this.$props.navigatable?this.gridId:""},groupExpandable(){return p.getGroupExpandableOptions(typeof this.$props.groupable=="object"&&this.$props.groupable.enabled!==!1?this.$props.groupable.expandable:this.$props.groupable)},hierarchClass(){return n.uGrid.hierarchyCell({})},computedRowSpannable(){return C.getRowSpanOptions(this.$props.rowSpannable)},computedSelectable(){return p.getSelectionOptions(this.$props.selectable)},detailExpandable(){return p.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(){var s,i;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.columnsRef.some(r=>{var o;return!!(r.footerCell||(o=r.cells)!=null&&o.footerCell)})||(s=this.$props.cells)!=null&&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.columnsRef.some(r=>{var o;return!!(r.footerCell||(o=r.cells)!=null&&o.footerCell)})||(i=this.$props.cells)!=null&&i.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},isVirtualScroll(){return this.$props.scrollable==="virtual"||this.$props.scrollable===void 0||!1},pinnedSourceSet(){var t,s;const e=new Set;return(t=this.gridContext.pinnedTopRows)!=null&&t.value&&this.gridContext.pinnedTopRows.value.forEach(i=>e.add(i)),(s=this.gridContext.pinnedBottomRows)!=null&&s.value&&this.gridContext.pinnedBottomRows.value.forEach(i=>e.add(i)),e},sortedPinnedTopRows(){var s,i;const e=((s=this.gridContext.pinnedTopRows)==null?void 0:s.value)||[],t=(i=this.gridContext.sort)==null?void 0:i.value;return this.autoProcessData&&(t!=null&&t.length)?oe.orderBy([...e],t):e},sortedPinnedBottomRows(){var s,i;const e=((s=this.gridContext.pinnedBottomRows)==null?void 0:s.value)||[],t=(i=this.gridContext.sort)==null?void 0:i.value;return this.autoProcessData&&(t!=null&&t.length)?oe.orderBy([...e],t):e},hasPinnedTopRows(){return this.$props.pinnable&&this.sortedPinnedTopRows.length>0},hasPinnedBottomRows(){return this.$props.pinnable&&this.sortedPinnedBottomRows.length>0}},methods:{getCellPositionStyle(e,t){return e.left!==void 0?t?{left:e.right+"px",right:e.left+"px"}:{left:e.left+"px",right:e.right+"px"}:{}},handleIntersection(e){const t={rowIndex:this.rowIndexRef.value};e.forEach(s=>{s.boundingClientRect.height!==s.intersectionRect.height&&this.setCurrentOnTop(t)})},scrollIntoView(e){var i;if(!((i=this.vsRef)!=null&&i.container)||this.$props.scrollable==="none")return;const{rowIndex:t}=e;this.rowIndexRef.value=t;const s=this._element;if(this.observerRef&&s){this.observerRef.disconnect();const r=s.querySelector(`[absolute-row-index="${this.rowIndexRef.value}"]`);r?this.observerRef.observe(r):this.setCurrentOnTop(e)}},setCurrentOnTop(e){var i,r;if(!((i=this.vsRef)!=null&&i.container)||this.$props.scrollable==="none")return;this.observerRef&&this.observerRef.disconnect();const{rowIndex:t}=e,s=this._element;if(this.isVirtualScroll){const o=((r=this.vsRef.rowHeightService)==null?void 0:r.offset(t))||0;this.vsRef.container.scroll(0,o)}else if(s){const o=t<1?s.querySelector("tbody > tr:nth-child(1)"):s.querySelector(`tbody > tr:nth-child(${t+1})`);o&&this.containerElementRef&&(this.containerElementRef.scrollTop=o.offsetTop)}},getTotal(){let e=this.$props.total||0;return Array.isArray(this.$props.dataItems)?e=e||this.$props.dataItems.length:this.$props.dataItems&&(e=e||this.$props.dataItems.total),e},readColumnElements(){return C.readColumns(this.$props.columns,this.currentColumnsState,{prevId:0,idPrefix:this.idPrefix})},getResolvedFlatColumnsState(){const e=[],t=(s,i)=>s==null?void 0:s.forEach(r=>{const o=r.hidden||i;e.push({...r,hidden:o}),t(r.children,o)});return t(this.currentColumnsState,!1),e},filterColumns(e){const t=this.getResolvedFlatColumnsState();return[e.filter(s=>{var i;return!s.hidden&&!((i=t.find(r=>r.id===s.id))!=null&&i.hidden)}),e.filter(s=>{var i;return s.hidden||((i=t.find(r=>r.id===s.id))==null?void 0:i.hidden)})]},getFlatData(e,t,s,i,r,o,a){const h=[],c=C.flatData(h,e,t,{index:s},i!==void 0,r,o,this.groupExpandable.defaultExpand,a,this.$props.expandField);return{flattedData:h,resolvedGroupsCount:c}},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.columnsRef.filter(s=>s.declarationIndex>=0&&s.parentIndex===-1),t=s=>(s.sort((i,r)=>i.declarationIndex-r.declarationIndex),s.map(i=>{const{declarationIndex:r,parentIndex:o,depth:a,colSpan:h,rowSpan:c,index:f,kFirst:g,children:m,...b}=i;return m.length?{children:t(m),...b}:b}));return t(e)},setRefs(){var o,a,h,c;let e="$el";const t=n.getRef(this,"gridNav");t&&(this._element=t[e]);const s=n.getRef(this,"groupPanelDiv");if(s){let f=s[e]||null;this.dragLogic.refGroupPanelDiv(f)}this.stickyHeaderRef=n.getRef(this,"stickyHeader"),this.stickyFooterRef=n.getRef(this,"stickyFooter"),this.pinnedTopRef=n.getRef(this,"pinnedTop"),this.pinnedBottomRef=n.getRef(this,"pinnedBottom");const i=n.getRef(this,"dropElementClue"),r=n.getRef(this,"dragElementClue");this.dragLogic.refDropElementClue(i),this.dragLogic.refDragElementClue(r),this.columnResize.colGroupMain=n.getRef(this,"colGroup"),this.columnResize.colGroupStickyHeader=(o=this.stickyHeaderRef)==null?void 0:o.colGroupRef,this.columnResize.colGroupStickyFooter=(a=this.stickyFooterRef)==null?void 0:a.colGroupRef,this.columnResize.colGroupPinnedTop=(h=this.pinnedTopRef)==null?void 0:h.colGroupRef,this.columnResize.colGroupPinnedBottom=(c=this.pinnedBottomRef)==null?void 0:c.colGroupRef,this._header=n.getRef(this,"header"),this._footer=n.getRef(this,"footer"),this.resetTableWidth(),n.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.dataRef=[],this.columnsRef=[],document!=null&&document.body&&this.resizeObserver&&this.resizeObserver.disconnect(),this.observerRef&&(this.observerRef.disconnect(),this.observerRef=null)},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;const s=(i=this.gridContext.group)==null?void 0:i.value;this.$props.pageable||s!=null&&s.length?(this.virtualSkipRef=e.skip,this.$forceUpdate()):this.pageChangeHandler(e,t)},initializeVirtualization(){const e=this.vsRef,t=this.$props.rowHeight||this._minRowHeightRef||0;this.tableBodyRef=n.getRef(this,"tableBody"),this.scrollTableRef=n.getComponentElementRef(this,"table"),e&&(e.fixedScroll=this.$props.fixedScroll||!1,e.PageChange=this.virtualPageChange,e.pageSize=this._virtualPageSize,e.scrollableVirtual=this.isVirtualScroll,this.scrollContainerRef=e.container=n.getRef(this,"scrollContainer"),e.tableBody=this.tableBodyRef,e.scrollHeightContainer=n.getRef(this,"scrollHeightContainer"),e.table=this.scrollTableRef,(!e.rowHeightService||e.total!==this._virtualTotal)&&t&&(e.total=this._virtualTotal,e.rowHeightService=new n.RowHeightService(this._virtualTotal,t)))},setContainerHeight(){const e=n.getRef(this,"scrollContainer");this._containerHeightRef=(e==null?void 0:e.offsetHeight)||0},setMinRowHeight(){if(!this._minRowHeightRef&&!this.$props.rowHeight){const t=C.calcRowHeight(n.getRef(this,"tableBody"));t&&(this._minRowHeightRef=t,this.$forceUpdate())}},onRowHeightChanged(e,t){this.setRefs()},onHeaderScroll(e){const s=e.target.scrollLeft,i=n.getRef(this,"scrollContainer");i&&(i.scrollLeft=s),this.scrollLeftRef=s},scrollHandler(e){clearTimeout(this.forceUpdateTimeout);const t=e.currentTarget.scrollLeft,s=e.currentTarget.scrollTop;this.$props.columnVirtualization&&(!this.isVirtualScroll||s===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.stickyHeaderRef&&this.stickyHeaderRef.setScrollLeft(e.currentTarget.scrollLeft),this.stickyFooterRef&&this.stickyFooterRef.setScrollLeft(e.currentTarget.scrollLeft),this.pinnedTopRef&&this.pinnedTopRef.setScrollLeft(t),this.pinnedBottomRef&&this.pinnedBottomRef.setScrollLeft(t),this.vsRef&&s!==this.wrapperScrollTopRef&&this.vsRef.scrollHandler(e);const i=this.virtualSkipRef;this.vsRef&&s!==this.wrapperScrollTopRef&&this.vsRef.scrollHandler(e);const r=this.isVirtualScroll&&this.virtualSkipRef!==i;if(this.$emit("scroll",e),this.wrapperScrollTopRef=s,!r){const o=this.updateStickyGroups();this.sticky.headerItems=o==null?void 0:o.stickyHeaderItems,this.sticky.footerItems=o==null?void 0:o.stickyFooterItems}},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(r=>{!i&&t(r,s)&&(i=r),r.items&&r.items.length&&!i&&(i=this.loopGroupedItems(r.items,t,s+1,i))}),i},updateGroupCollapsed(e){let t=this.computedCollapsed,s=t[e.level];const i=this.$props.uniqueField,r=function(h,c){return h.value===e.dataItem.value&&c===e.level},o=this.allGroupedItems?this.loopGroupedItems(this.allGroupedItems.data,r,0,null):e.dataItem,a=C.groupedFirstItemValue(o||e.dataItem,i);if(e.value){if(s&&s.length){const h=s.indexOf(a);h>-1&&s.splice(h,1)}}else s?s.includes(a)||s.push(a):s=[a];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){var t;if(this.computedSelectable.enabled){const{event:s,dataItem:i,dataIndex:r,columnIndex:o}=e,a={...this.getArguments(s),dataItem:i,startColIndex:o,endColIndex:o,startRowIndex:r,endRowIndex:r,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:this.computedSelectable.mode,cell:this.computedSelectable.cell,isDrag:!1,componentId:this.$props.id||this._gridId,selectedField:this.$props.selectedField||""};this.gridContext.selectionchange({...a,select:this.$props.dataItemKey?p.getSelectedState({event:a,selectedState:(t=this.$props.select)!=null?t:{},dataItemKey:this.$props.dataItemKey}):{}})}},onKeyboardSelectionChangeHandler(e){var f,g;if(!this.computedSelectable.enabled||!this.$props.dataItemKey)return;const t=(f=this.gridContext.select)==null?void 0:f.value,s={dataItems:this.getLeafDataItems(),mode:this.computedSelectable.mode,cell:this.computedSelectable.cell,componentId:this.$props.id,selectedField:"",...this.getArguments(e)},i=p.getSelectedStateFromKeyDown({event:s,selectedState:t!=null?t:{},dataItemKey:this.$props.dataItemKey});if(i===t)return;const r=e.target,o=p.closestTagName(r,"TD"),a=p.closestTagName(r,"TR"),h=p.getColumnIndex(o),c=p.getRowIndex(a);if(h!==void 0&&c!==void 0){const m=(g=C.getDataAsArray(this.$props.dataItems))==null?void 0:g[c];this.gridContext.selectionchange({...s,select:i,dataItem:m,startRowIndex:c,startColIndex:h,startDataItem:m,endDataItem:m,endRowIndex:c,endColIndex:h,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},onHeaderSelectionChangeHandler(e){if(this.computedSelectable.enabled){const t=this.getLeafDataItems();this.gridContext.headerselectionchange({select:e.event.target.checked?t.reduce((s,i)=>(this.$props.dataItemKey&&n.getter(this.$props.dataItemKey)(i)!==void 0&&(s[n.getter(this.$props.dataItemKey)(i)]=!0),s),{}):{},field:e.field,event:e.event,target:this,dataItems:t})}},selectionRelease(e){var t;if(this.computedSelectable.enabled){const s=this.getLeafDataItems(),i=s[e.startRowIndex],r=s[e.endRowIndex],o={event:void 0,target:this,selectedField:"",componentId:this.$props.id||this._gridId,dataItems:s,dataItem:null,startDataItem:i,endDataItem:r,...e},a=p.getSelectedState({event:o,selectedState:(t=this.$props.select)!=null?t:{},dataItemKey:this.$props.dataItemKey});this.raiseSelectionEvent(o,a)}},clearSelection(e){this.computedSelectable.enabled&&this.raiseSelectionEvent(e,{})},raiseSelectionEvent(e,t){this.computedSelectable.enabled&&this.gridContext.selectionchange({...e,select:t})},moveToNextPage(e){var r,o,a,h;const t=(a=(o=(r=this.gridContext.take)==null?void 0:r.value)!=null?o:this.$props.pageSize)!=null?a:0,s=(((h=this.gridContext.skip)==null?void 0:h.value)||0)+t,i=this.getTotal();s<i&&this.pageChangeHandler({skip:s,take:t},e)},moveToPrevPage(e){var i,r,o,a;const t=(o=(r=(i=this.gridContext.take)==null?void 0:i.value)!=null?r:this.$props.pageSize)!=null?o:0,s=(((a=this.gridContext.skip)==null?void 0:a.value)||0)-t;s>=0&&this.pageChangeHandler({skip:s,take:t},e)},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,r=p.detailExpandReducer(i!=null?i:{},e);this.gridContext.detailexpandchange({...this.getArguments(t),detailExpand:r})}},handleGroupExpandAction(e,t){var s;if(this.groupExpandable.enabled){const i=(s=this.gridContext.groupExpand)==null?void 0:s.value,r=p.groupExpandReducer(i!=null?i:[],e,this.groupExpandable);this.$props.expandField||this.gridContext.groupexpandchange({...this.getArguments(t),groupExpand:r})}this.scrollToStickyGroup(e.group)},raiseDataEvent(e,t,s,i){if(this.resetVirtualSkip(),this.$props.autoProcessData)this.gridContext[e]({...this.getArguments(i),...t});else if(n.hasListener.call(this,e))this.$emit(e,{...this.getArguments(i),...t});else if(n.hasListener.call(this,"datastatechange")){const r={...this.getDataState(),...s};this.gridContext.datastatechange({...this.getArguments(i),data:r,dataState:r})}},columnReorder(e,t,s){const i=this.columnsRef[e],r=C.getFlatColumnsState(this.currentColumnsState),o=i.depth,a=g=>{do g++;while(g<this.columnsRef.length&&this.columnsRef[g].depth>o);return g},h=this.columnsRef.splice(e,a(e)-e);this.columnsRef.splice(e<t?a(t-h.length):t,0,...h),this.columnsRef.filter(g=>g.declarationIndex>=0).forEach((g,m)=>{g.orderIndex=m;const b=r.find(w=>w.id===g.id);b&&(b.orderIndex=m)});const c=this.columnsRef[e].locked&&this.columnsRef[t].locked;p.updateLeft(this._columnsMap,this.columnsRef,c||this.shouldUpdateLeftRightRef),p.updateRight(this._columnsMap,this.columnsRef,c||this.shouldUpdateLeftRightRef),this.resizedRef&&(this.shouldUpdateLeftRightRef=!1,this.resizedRef=!1);const f=this.getColumns();this.$emit("columnreorder",{target:this,columns:f,event:s,prev:e,next:t}),this.gridContext.columnsstatechange({columnsState:this.currentColumnsState})},groupReorder(e,t,s){var r;const i=(r=this.gridContext.group)==null?void 0:r.value;i!==void 0&&(i.splice(t,0,...i.splice(e,1)),this.groupChangeHandler(i,s))},columnToGroup(e,t,s){var o;const i=this.columnsRef[e].field;if(!i)return;const r=(((o=this.gridContext.group)==null?void 0:o.value)||[]).slice();r.splice(t,0,{field:i}),this.groupChangeHandler(r,s)},resetTableWidth(){var i;let e=0;if(!this.columnResize.colGroupMain)return;const t=(i=this.columnResize.colGroupMain)==null?void 0:i.children;for(let r=0;r<t.length;r++){const o=t[r].width;if(!o)return;e+=parseFloat(o.toString())}e=Math.round(e),this._header&&this._header.setWidth(e),this._footer&&this._footer.setWidth(e),this.stickyHeaderRef&&this.stickyHeaderRef.setWidth(e),this.stickyFooterRef&&this.stickyFooterRef.setWidth(e),this.pinnedTopRef&&this.pinnedTopRef.setWidth(e),this.pinnedBottomRef&&this.pinnedBottomRef.setWidth(e);const s=n.getComponentElementRef(this,"table");s&&e&&(s.style.width=e+"px"),this.stickyFooterRef&&this.setStickyFooterOffset()},setStickyFooterOffset(){const e=this.containerElementRef,t=e?e.scrollWidth>e.clientWidth:!1;this.stickyFooterRef&&(this.stickyFooterRef.$el.style.marginBlockEnd=t?"var(--kendo-scrollbar-width, 0px)":"")},onResize(e,t,s,i,r,o,a){this.resetTableWidth(),this.shouldUpdateLeftRightRef=!0,this.resizedRef=!0,this.$emit("columnresize",{columns:this.getColumns(),index:e,targetColumnId:a,event:i,newWidth:t,oldWidth:s,end:r,target:this}),r&&this.gridContext.columnsstatechange({columnsState:o})},initColumnsState(e,t){const s=i=>{var o;const r=t.find(a=>a.id===i.id);if(r){const a={...r};return a.children=(o=i.children)==null?void 0:o.map(s),a}return i};this.currentColumnsState=e.filter(i=>i.parentIndex===-1).map(s)},configureColumns(e,t){e.filter(o=>o.columnType==="checkbox").forEach(o=>{o.width=o.width||"50px",o.defaultCell=l.markRaw(ze.GridSelectionCell),o.defaultHeaderCell=l.markRaw(Ne.GridHeaderSelectionCell),o._type="edit",o.columnMenu=!1}),this.$props.selectedField&&this.columnsRef.filter(o=>o.field===this.$props.selectedField).forEach(o=>{o.width=o.width||"50px",o.defaultCell=l.markRaw(ze.GridSelectionCell),o.defaultHeaderCell=l.markRaw(Ne.GridHeaderSelectionCell),o.columnMenu=!1}),this.$props.pinnable&&e.filter(o=>o.columnType==="pin").forEach(o=>{o.width=o.width||"48px",o.defaultCell=l.markRaw(bt.GridPinCell),o.defaultHeaderCell=l.markRaw(p.HeaderCell),o.sortable=!1,o.filterable=!1,o.editable=!1});const s=C.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 r=0;if(this.detailExpandable.enabled&&this.$props.detail&&!this.$props.expandField){const o={...i,_type:"expand",id:p.tableKeyboardNavigationTools.generateNavigatableId(`${r++}`,"expand","column"),defaultCell:l.markRaw(Pe.GridHierarchyCell),field:this.detailExpandable.column,headerClassName:this.hierarchClass};e.unshift(o),this.currentColumnsState.unshift(s.find(a=>a.id===o.id)||o)}this.$props.expandField&&n.hasListener.call(this,"expandchange")&&this.$props.detail&&(e.unshift({...i,defaultCell:l.markRaw(Pe.GridHierarchyCell),field:this.$props.expandField,headerClassName:"k-hierarchy-cell k-header",id:p.tableKeyboardNavigationTools.generateNavigatableId(`${e.length}`,this.idPrefix,"column"),...this.expandColumn}),r++);for(let o=0;o<t;o++){const a={...i,isAccessible:!1,defaultCell:l.markRaw(Ve.GridGroupCell),id:p.tableKeyboardNavigationTools.generateNavigatableId(`${r++}`,"group","column"),field:"value",locked:this.$props.lockGroups,columnMenu:!1};e.unshift(a),this.currentColumnsState.unshift(s.find(h=>h.id===a.id)||a)}e.slice(r).forEach(o=>{o.parentIndex>=0&&(o.parentIndex+=r),o.rowSpannable=o.rowSpannable!==void 0?C.getRowSpanOptions(o.rowSpannable):this.computedRowSpannable})},initColumns(e,t){var o;this.columnsRef=this.readColumnElements();const s=(o=this.gridContext.group)==null?void 0:o.value;this.columnsRef.filter(a=>!a.hidden).length===0&&(this.columnsRef=C.autoGenerateColumns(e,s,{column:this.$props.expandField?this.$props.expandField:this.groupExpandable.column},{prevId:0,idPrefix:this.idPrefix})),this.configureColumns(this.columnsRef,t);const[i,r]=this.filterColumns(this.columnsRef);this.columnsRef=i,this.hiddenColumnsRef=r,this._columnsMap=C.mapColumns(this.columnsRef,!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(){var o,a,h,c,f;const e=(o=this.gridContext.sort)==null?void 0:o.value,t=(a=this.gridContext.filter)==null?void 0:a.value,s=(h=this.gridContext.skip)==null?void 0:h.value,i=(c=this.gridContext.take)==null?void 0:c.value,r=(f=this.gridContext.group)==null?void 0:f.value;return{filter:t,sort:e,skip:s,take:i!==void 0?i:this.$props.pageSize,group:r}},getArguments(e){return{event:e,target:this}},getLeafDataItems(){return this.dataRef.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.columnsRef.map(r=>r.field)||[],s=e.event.target.value,i={logic:"or",filters:t.filter(r=>r!==void 0).map(r=>{var o;return typeof r=="string"?{field:r,value:s,operator:"contains"}:{value:s,operator:(o=r.operator)!=null?o:"contains",field:r.field,ignoreCase:r.ignoreCase}})};this.raiseDataEvent("searchchange",{search:i},{skip:0},e)},getCellsToRender(e,t){var o;const s=[];let i=null,r=0;if(t.forEach((a,h)=>{const c=parseFloat((a.width||"").toString())||10;if(r){r--,i&&(i.width+=c);return}const f=Math.min(C.getColSpan(a,e),t.length-h);r=f-1,i={width:c,colSpan:f,columnIndex:h},s.push(i)}),this.$props.columnVirtualization){const a=this.scrollLeftRef||0,h=this.tableWidth||parseFloat((((o=this.$attrs.style)==null?void 0:o.width)||"").toString());return gt.getVirtualCellsToRender({cellModels:s,columns:t,tableViewPortWidth:h,scrollLeft:a})}return s},calcVirtualPageSize(){const{pageable:e,take:t,pageSize:s}=this.$props;if(!this.isVirtualScroll)return 0;if(!e){if(t)return t;if(s)return s}const i=this.$props.rowHeight||this._minRowHeightRef,r=this._containerHeightRef;return r&&i?Math.ceil(r/i*1.5):0},getRowPinPosition(e){var o,a;const{dataItemKey:t=""}=this.$props,s=((o=this.gridContext.pinnedTopRows)==null?void 0:o.value)||[],i=((a=this.gridContext.pinnedBottomRows)==null?void 0:a.value)||[];if(!t||!e)return"none";const r=e[t];return s!=null&&s.some(h=>h[t]===r)?"top":i!=null&&i.some(h=>h[t]===r)?"bottom":"none"},handleRowPin(e,t){var f,g,m,b;if(!this.$props.pinnable)return;const{dataItemKey:s=""}=this.$props,i=((f=this.gridContext.pinnedTopRows)==null?void 0:f.value)||[],r=((g=this.gridContext.pinnedBottomRows)==null?void 0:g.value)||[],o=t[s],a=i.filter(w=>w[s]!==o),h=r.filter(w=>w[s]!==o);let c;switch(e){case"pinTop":c={pinnedTopRows:[...a,t],pinnedBottomRows:h,dataItem:t};break;case"pinBottom":c={pinnedTopRows:a,pinnedBottomRows:[...h,t],dataItem:t};break;case"unpin":c={pinnedTopRows:a,pinnedBottomRows:h,dataItem:t};break;default:return}(b=(m=this.gridContext).rowpinchange)==null||b.call(m,c)},pinnedSelectionRelease(e,t){const s=this.$props.dataItemKey;if(!s||!t)return;const i=n.getter(s),r=this.getLeafDataItems().findIndex(o=>i(o)===i(t));r!==-1&&this.selectionRelease({...e,startRowIndex:r,endRowIndex:r})}},provide(){return{kendo:{dataItemKey:this.$props.dataItemKey,searchChange:this.searchChange,selectionRelease:this.selectionRelease,pinnedSelectionRelease:this.pinnedSelectionRelease,dispatchGroupExpand:this.handleGroupExpandAction,dispatchDetailExpand:this.handleDetailExpandAction,scrollToStickyGroup:this.scrollToStickyGroup,getCellPositionStyle:this.getCellPositionStyle,onRowPin:this.handleRowPin,getRowPinPosition:this.getRowPinPosition},sticky:this.sticky}},setup(e){const t=l.ref(null),s=l.ref(null),i=l.ref(null),r=l.ref(null),o=l.ref(null),a=l.ref(null),h=l.ref(null),c=l.ref([]),f=l.ref([]),g=l.ref(null),m=l.ref(null),b=l.ref(null),w=l.ref(null),S=l.ref(null),v=l.ref(null),I=l.ref(!0),$=l.ref(!1),k=new at.VirtualScroll,T=l.ref(0),D=l.inject(ft.KendoKey,{}),B=typeof e.groupable=="object"&&!!e.groupable.stickyHeaders,A=typeof e.groupable=="object"&&!!e.groupable.stickyFooters,H=l.ref([]),O=l.computed(()=>{var E,_;return!!((_=(E=D.group)==null?void 0:E.value)!=null&&_.length)}),F=null,G=l.ref(void 0),x=l.ref({headerItems:[],footerItems:[]}),{scrollToStickyGroup:L,update:M}=Rt.useStickyGroups({enabled:B,enabledFooters:A,flatData:H,containerRef:g,stickyHeaderRef:m,stickyFooterRef:b,tableBodyRef:v,rowHeight:e.rowHeight,isGrouped:O,virtualSkipRef:T,rowHeightServiceRef:l.computed(()=>k==null?void 0:k.rowHeightService)});return{rowIndexRef:G,observerRef:F,dataRef:H,groupPanelDivRef:t,dropElementClueRef:s,dragElementClueRef:i,headerRef:r,footerRef:o,gridNavRef:a,colGroupRef:h,scrollContainerRef:g,tableBodyRef:v,gridContext:D,shouldUpdateLeftRightRef:I,resizedRef:$,currentColumnsState:e.columnsState,vsRef:k,virtualSkipRef:T,stickyHeaderItems:c,stickyHeaderRef:m,stickyFooterItems:f,stickyFooterRef:b,pinnedTopRef:w,pinnedBottomRef:S,sticky:x,scrollToStickyGroup:L,updateStickyGroups:M}},render(){var ce,pe,ue,fe,ge,me,Re,be,Ce,we,$e,ve,ye,Se,xe,Ie,ke,He;const e=(ce=this.gridContext.sort)==null?void 0:ce.value,t=(pe=this.gridContext.filter)==null?void 0:pe.value,s=(ue=this.gridContext.search)==null?void 0:ue.value,i=(fe=this.gridContext.select)==null?void 0:fe.value,r=(ge=this.gridContext.skip)==null?void 0:ge.value,o=(me=this.gridContext.take)==null?void 0:me.value,a=(Re=this.gridContext.group)==null?void 0:Re.value,h=(be=this.gridContext.groupExpand)==null?void 0:be.value,c=(Ce=this.gridContext.detailExpand)==null?void 0:Ce.value,f=(a==null?void 0:a.length)||0,g=typeof this.$props.groupable=="object"&&!!this.$props.groupable.stickyHeaders,m=typeof this.$props.groupable=="object"&&!!this.$props.groupable.stickyFooters,b=!!(a!=null&&a.length);let w;this.currentColumnsState=(we=this.gridContext.columnsState)==null?void 0:we.value;const S=this.$props.autoProcessData===!0?{group:!0,sort:!0,filter:!0,search:!0,page:!0}:this.$props.autoProcessData;let v;const I=p.tableKeyboardNavigationTools.getIdPrefix(this.navigation);let $=[];Array.isArray(this.$props.dataItems)?($=this.$props.dataItems,v=($e=this.$props.total)!=null?$e:$.length):($=((ve=C.applyExpandedState(this.$props.dataItems,this.$props.collapsedGroups.length?this.computedCollapsed:[],this.$props.uniqueField))==null?void 0:ve.data)||[],v=(xe=(Se=this.$props.total)!=null?Se:(ye=this.$props.dataItems)==null?void 0:ye.total)!=null?xe:$.length);const k=this.$props.groupable===!0||n.isObject(this.$props.groupable)&&this.$props.groupable.enabled!==!1;this.dragLogic.reorderable=this.$props.reorderable||!1,this.dragLogic.groupable=k,this._virtualPageSize=this.calcVirtualPageSize();const T=$.length===v,D=n.isObject(this.$props.groupable)&&this.$props.groupable.footer||"none";if(S){const d=S.page&&!(this.isVirtualScroll&&!this.$props.pageable),{data:R,total:y}=oe.process($,{group:S.group?a:void 0,sort:S.sort?e:void 0,filter:p.combineFilters(S.filter?t:void 0,S.search?s:void 0),...d?{take:this.$props.pageable?o||10:o,skip:r||0}:{}});$=R,v=(Ie=this.$props.total)!=null?Ie:y}const{resolvedGroupsCount:B,flattedData:A}=this.getFlatData($,D,T?0:this.$props.skip||0,a,c,h,this.$props.dataItemKey);this.dataRef=A;const H=this.virtualSkipRef||0;if(this._virtualTotal=v,this.isVirtualScroll){let d=r||0;if((b||this.$props.pageable)&&(d=H,this._virtualTotal=this.dataRef.length),T||b||this.$props.pageable)if(this._virtualPageSize===0){const R=Math.min(o||this.$props.pageSize||20,this.dataRef.length);w=this.dataRef.slice(d,d+R)}else w=this.dataRef.slice(d,d+this._virtualPageSize)}this.initializeVirtualization();const O=(ke=this.selectable)!=null&&ke.drag?"none":void 0;this.initColumns(this.$props.dataItems,B),this.columnResize.resizable=this.$props.resizable||!1,this.columnResize.columns=this.columnsRef,this.columnResize.columnsState=n.cloneArray(this.currentColumnsState||[]),this.dragLogic.columns=this.columnsRef;const F=this.$props.toolbar,G=this.$props.noRecords,x=this.columnsRef.filter(d=>d.children.length===0),L=k&&l.createVNode(st.GroupPanel,{ref:d=>{this.groupPanelDivRef=d},group:a||[],ariaControls:this._gridRoleElementId,onGroupChange:this.groupChangeHandler,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,resolveTitle:this.resolveTitle},null),M=(this.dragLogic.reorderable||this.dragLogic.groupable)&&n.canUseDOM&&document&&document.body,E=[M&&l.createVNode(ct.DropClue,{ref:d=>{this.dropElementClueRef=d}},null),M&&l.createVNode(ht.DragClue,{ref:d=>{this.dragElementClueRef=d}},null)],_=this.showLicenseWatermark?l.createVNode(n.WatermarkOverlay,{message:this.licenseMessage},null):null,W=this.$attrs.style,Ke=W&&n.isObject(W)&&W["width"]||"";this.tableWidth=parseFloat(Ke.toString());const qe=x.findIndex(d=>typeof d.colSpan=="function")>-1;let K;K=this.getCellsToRender({},x);const z=x.map(function(d,R){return l.createVNode("col",{key:d.id||`col-${R}`,width:d.width!==void 0?Math.floor(parseFloat(d.width.toString())):void 0},null)},this),re=l.createVNode(Ze.Header,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:this.$props.scrollable!=="none",ref:d=>{this.headerRef=d},onHeaderscroll:this.onHeaderScroll,headerRow:l.createVNode(et.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||Ee.operators,onFilterChange:this.filterChangeHandler,columnMenu:this.$props.columnMenu,columnMenuIcon:this.$props.columnMenuIcon,columnMenuAnimate:this.$props.columnMenuAnimate,onSelectionchange:this.onHeaderSelectionChangeHandler,columns:this.columnsRef,cellsToRender:K,columnVirtualization:this.$props.columnVirtualization,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,cells:this.$props.cells,isRtl:this.isRtl,isColCountDefined:this.getAriaColCount!==void 0,headerSelectionValue:!!(i&&this.dataRef.filter(d=>d.rowType==="data").every(d=>i&&this.$props.dataItemKey&&n.getter(this.$props.dataItemKey)(d.dataItem)!==void 0?i[n.getter(this.$props.dataItemKey)(d.dataItem)]:void 0)),filterRow:this.$props.filterable&&l.createVNode(tt.FilterRow,{grid:this,size:this.$props.size,columns:this.columnsRef,columnsMap:this._columnsMap,cellsToRender:K,columnVirtualization:this.$props.columnVirtualization,filter:t,filterOperators:this.$props.filterOperators||Ee.operators,onFilterchange:this.filterChangeHandler,sort:this.$props.sort,cellRender:this.$props.filterCellRender,cells:this.$props.cells,isRtl:this.isRtl,ariaRowIndex:this._columnsMap.length+1},null)||void 0},null),cols:z},null),le=this.columnsRef.some(d=>{var R;return!!(d.footerCell||(R=d.cells)!=null&&R.footerCell)})||(He=this.$props.cells)!=null&&He.footerCell?l.createVNode(it.Footer,{size:this.$props.size,columnResize:this.columnResize,staticHeaders:this.$props.scrollable!=="none",ref:d=>{this.footerRef=d},row:l.createVNode(ot.FooterRow,{isRtl:this.isRtl,rowIndex:this.getAriaRowCount+1,columns:this.columnsRef,cells:this.$props.cells},null),cols:z},null):l.createVNode("span",null,null),V={leafColumns:x,cellsToRender:K,selectedField:this.$props.selectedField,dataItemKey:this.$props.dataItemKey,select:i,highlight:this.$props.highlight,editField:this.$props.editField,cellRender:this.$props.cellRender,cells:this.$props.cells,getCellsToRender:this.getCellsToRender,hasDynamicColSpan:qe,itemChange:this.itemChange,selectionChangeHandler:this.selectionChangeHandler,editHandler:this.editHandler,removeHandler:this.removeHandler,saveHandler:this.saveHandler,cancelHandler:this.cancelHandler,cellClickHandler:this.cellClickHandler,cellKeydownHandler:this.cellKeydownHandler,computedCollapsed:this.computedCollapsed,uniqueField:this.$props.uniqueField,columnsRef:this.columnsRef,isRtl:this.isRtl,idPrefix:I},Be=function(d,R,y,X,Y){return mt.getRowContents(V,d,R,y,X,Y)};let Ae=0,U=[];const j=!this.dataRef.length,ae=d=>d>=this.dataRef.length-Ae;let J=0;if(this.dataRef.length){const d=this._columnsMap.length+(this.$props.filterable?1:0)+1;let R=this.$props.skip||0,y=-1,X=0;const Y=this.computedRowSpannable.enabled?{}:void 0;if(this.isVirtualScroll){if(H>0){const u=this.dataRef.slice(0,H).filter(N=>N.rowType==="data").length;y+=u,R+=H}!this.$props.pageable&&T&&(y+=this.$props.skip||0)}U=(w||this.dataRef).map(function(u,N){u.rowType==="data"&&y++;const Z=u.dataIndex%2!==0,Te=this.$props.dataItemKey&&n.getter(this.$props.dataItemKey)(u.dataItem),ee=N+R,te=Te||"ai"+ee,se=te+"_1",q=Be.call(this,u,te,y,Z,Y),je=u.rowType==="data"?this.pinnedSourceSet.has(u.dataItem):!1,Je=x.length-(this.detailExpandable.enabled?1:0)-((a==null?void 0:a.length)||0)||1;return J=ee+d+X,[l.createVNode(pt.GridRow,{key:te,item:u,dataIndex:y,ariaRowIndex:J,absoluteRowIndex:ee,isAltRow:Z,isHidden:ae(N),rowHeight:this.$props.rowHeight,isSelected:q.isSelected,isHighlighted:q.isHighlighted,isInEdit:q.isInEdit,rowType:u.rowType,onRowclick:P=>this.rowClick(P,u),onRowdblclick:P=>this.rowDoubleClick(P,u),render:this.$props.rowRender,class:this.$props.rowClass?this.$props.rowClass(u):"",isPinned:je,rows:this.$props.rows},{default:()=>[q.row]}),this.$props.detail&&u.rowType==="data"&&(u.expanded||u.dataItem.expanded)&&l.createVNode("tr",{key:se,class:Z?"k-table-row k-table-alt-row k-detail-row":"k-table-row k-detail-row",style:{visibility:ae(N)?"hidden":"",height:this.$props.detailRowHeight+"px"},role:"row","aria-rowindex":J},[a==null?void 0:a.map(function(P){return l.createVNode(Ve.GridGroupCell,{id:"",dataIndex:u.dataIndex,field:P.field,dataItem:u.dataItem,key:`group-${P.field}-${u.dataIndex}`,locked:this.$props.lockGroups,group:u.group},null)},this),(this.$props.expandField||this.detailExpandable.enabled)&&l.createVNode(Xe.GridDetailHierarchyCell,{id:p.tableKeyboardNavigationTools.generateNavigatableId(`${se}-dhcell`,I)},null),l.createVNode(Ye.GridDetailCell,{dataItem:u.dataItem,dataIndex:u.dataIndex,colSpan:Je,ariaColIndex:2+(a?a.length:0),detail:this.$props.detail?this.$props.detail:void 0,id:p.tableKeyboardNavigationTools.generateNavigatableId(`${se}-dcell`,I)},null)])]},this)}const Oe=this.$props.pageable&&l.createVNode(p.Pager,{class:"k-grid-pager",onPagesizechange:this.pageChangeHandler,onPagechange:this.pageChangeHandler,size:this.$props.size,total:v,skip:r||0,pageSize:(o!==void 0?o:this.$props.pageSize)||10,messagesMap:Le.pagerMessagesMap,settings:p.normalize(this.$props.pageable||{})},null),ne=n.getTemplate.call(this,{h:l.h,template:this.$props.pager,defaultRendering:Oe,additionalProps:{...this.$props,skip:this.$props.skip||0,messagesMap:Le.pagerMessagesMap},additionalListeners:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler}}),We=d=>e&&e.filter(R=>R.field===d).length>0,de=l.createVNode("colgroup",{ref:n.setRef(this,"colGroup")},[x.map(function(d,R){return l.createVNode("col",{key:d.id||`col-${R}`,class:We(d.field)?"k-sorted":void 0,width:d.width!==void 0?d.width.toString().indexOf("%")!==-1?d.width:Math.floor(parseFloat(d.width.toString()))+"px":void 0},null)},this)]),he={height:this.getCorrectHeight,...this.$attrs.style},Ue=l.createVNode("div",{class:"k-loading-mask"},[l.createVNode("div",{class:"k-loading-color"},null),l.createVNode("div",{style:{height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},[l.createVNode(Qe.Loader,{size:"large",type:"converging-spinner"},null)])]),Q=this.$props.showLoader&&n.getTemplate.call(this,{h:l.h,template:this.$props.loader,defaultRendering:Ue});return this.$props.scrollable==="none"?l.createVNode(p.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable,scrollable:this.$props.scrollable,columnVirtualization:this.$props.columnVirtualization},{default:()=>[l.createVNode(Ge.GridNav,{ref:d=>{this.gridNavRef=d},columnsRef:this.columnsRef,dataRef:this.dataRef,id:this.$props.id,style:he,class:this.nonscrollableWrapperClass,onMovetonextpage:this.moveToNextPage,onMovetoprevpage:this.moveToPrevPage,onColumnreorder:this.columnReorder,onKeyboardselectionchange:this.onKeyboardSelectionChangeHandler},{default:()=>[F,L,l.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[l.createVNode(rt.GridTable,{selectable:this.computedSelectable,class:"k-table",ref:n.setRef(this,"table")},{default:()=>[de,re,l.createVNode("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0,ref:n.setRef(this,"tableBody")},[U,l.createTextVNode(" "),Q]),le]}),j&&l.createVNode(Fe.GridNoRecordsContainer,{id:p.tableKeyboardNavigationTools.generateNavigatableId("no-records",I)},{default:()=>[G.length?G:l.createVNode(De.GridNoRecords,null,null)]})]),ne,Q,E]})]}):l.createVNode(p.TableKeyboardNavigationProvider,{ref:"navRef",id:this._gridId,navigatable:this.$props.navigatable,scrollable:this.$props.scrollable,columnVirtualization:this.$props.columnVirtualization},{default:()=>[l.createVNode(Ge.GridNav,{ref:d=>{this.gridNavRef=d},dataRef:this.dataRef,id:this.$props.id,style:he,class:this.scrollableWrapperClass,onMovetonextpage:this.moveToNextPage,onMovetoprevpage:this.moveToPrevPage,onColumnreorder:this.columnReorder,onKeyboardselectionchange:this.onKeyboardSelectionChangeHandler,onSetcurrentontop:this.setCurrentOnTop},{default:()=>[F,L,l.createVNode("div",{role:"grid",class:"k-grid-aria-root",id:this._gridRoleElementId,"aria-colcount":this.getAriaColCount,"aria-rowcount":this.getAriaRowCount},[re,this.hasPinnedTopRows&&l.createVNode(_e.PinnedRowsTable,{ref:n.setRef(this,"pinnedTop"),size:this.$props.size,cols:z,dataRowContext:V,position:"top",pinnedItems:this.sortedPinnedTopRows,rowHeight:this.$props.rowHeight,rows:this.$props.rows,selectable:this.computedSelectable},null),l.createVNode("div",{class:"k-grid-container",role:"presentation"},[b&&g&&l.createVNode(Me.StickyGroupTable,{ref:n.setRef(this,"stickyHeader"),size:this.$props.size,cols:z,dataRowContext:V,position:"top",groupLevelCount:f,rowHeight:this.$props.rowHeight},null),l.createVNode("div",{role:"presentation",ref:n.setRef(this,"scrollContainer"),class:"k-grid-content k-virtual-content",onScroll:this.scrollHandler},[l.createVNode("div",{class:"k-grid-table-wrap",role:"presentation"},[l.createVNode(lt.GridTableScrollable,{selectable:this.computedSelectable,tableClassName:this.gridTableClass,tableStyle:{userSelect:O},ref:n.setRef(this,"table")},{default:()=>[de,l.createVNode("tbody",{class:"k-table-tbody",role:"rowgroup","data-keyboardnavbody":!0,ref:n.setRef(this,"tableBody")},[U])]}),j&&l.createVNode(Fe.GridNoRecordsContainer,{id:p.tableKeyboardNavigationTools.generateNavigatableId("no-records",I)},{default:()=>[G.length?G:l.createVNode(De.GridNoRecords,null,null)]})]),!j&&l.createVNode("div",{class:"k-height-container",role:"presentation"},[l.createVNode("div",{ref:n.setRef(this,"scrollHeightContainer"),style:this.$props.scrollable==="virtual"?{height:this._containerHeightRef+"px"}:{}},null)])]),b&&m&&l.createVNode(Me.StickyGroupTable,{ref:n.setRef(this,"stickyFooter"),size:this.$props.size,cols:z,dataRowContext:V,position:"bottom",groupLevelCount:f,rowHeight:this.$props.rowHeight},null)]),this.hasPinnedBottomRows&&l.createVNode(_e.PinnedRowsTable,{ref:n.setRef(this,"pinnedBottom"),size:this.$props.size,cols:z,dataRowContext:V,position:"bottom",pinnedItems:this.sortedPinnedBottomRows,rowHeight:this.$props.rowHeight,rows:this.$props.rows,selectable:this.computedSelectable},null),le,_]),ne,Q,E]})]})}});exports.Grid=Ct;
package/Grid.mjs CHANGED
@@ -1353,7 +1353,8 @@ const ri = /* @__PURE__ */ ft({
1353
1353
  onRowdblclick: (F) => this.rowDoubleClick(F, p),
1354
1354
  render: this.$props.rowRender,
1355
1355
  class: this.$props.rowClass ? this.$props.rowClass(p) : "",
1356
- isPinned: ct
1356
+ isPinned: ct,
1357
+ rows: this.$props.rows
1357
1358
  }, {
1358
1359
  default: () => [U.row]
1359
1360
  }), this.$props.detail && p.rowType === "data" && (p.expanded || p.dataItem.expanded) && a("tr", {
package/GridState.d.ts CHANGED
@@ -37,6 +37,7 @@ declare const GridStateProvider: import('vue').DefineComponent<{
37
37
  columns?: import('.').GridColumnProps[];
38
38
  dataItems?: any[] | import('@progress/kendo-data-query').DataResult;
39
39
  cells?: import('.').GridCellsSettings;
40
+ rows?: import('./interfaces/GridRowsSettings').GridRowsSettings;
40
41
  sortable?: import('.').GridSortSettings;
41
42
  onSortchange?: (event: GridSortChangeEvent) => void;
42
43
  defaultSort?: import('@progress/kendo-data-query').SortDescriptor[];
@@ -148,6 +149,7 @@ declare const GridStateProvider: import('vue').DefineComponent<{
148
149
  columns?: import('.').GridColumnProps[];
149
150
  dataItems?: any[] | import('@progress/kendo-data-query').DataResult;
150
151
  cells?: import('.').GridCellsSettings;
152
+ rows?: import('./interfaces/GridRowsSettings').GridRowsSettings;
151
153
  sortable?: import('.').GridSortSettings;
152
154
  onSortchange?: (event: GridSortChangeEvent) => void;
153
155
  defaultSort?: import('@progress/kendo-data-query').SortDescriptor[];
package/RootGrid.d.ts CHANGED
@@ -83,11 +83,17 @@ export declare const RootGrid: import('vue').DefineComponent<import('vue').Extra
83
83
  default: () => any;
84
84
  };
85
85
  cells: import('vue').PropType<import('.').GridCellsSettings>;
86
+ rows: import('vue').PropType<import('./interfaces/GridRowsSettings').GridRowsSettings>;
86
87
  defaultColumnsState: {
87
88
  type: import('vue').PropType<import('.').GridColumnState[]>;
88
89
  default: () => any;
89
90
  };
90
91
  columnVirtualization: import('vue').PropType<boolean>;
92
+ /**
93
+ * Method to fit columns according to their content.
94
+ *
95
+ * @param columnIds - Array of column ids to be fitted.
96
+ */
91
97
  dataItems: import('vue').PropType<any[] | import('@progress/kendo-data-query').DataResult>;
92
98
  sortable: import('vue').PropType<import('.').GridSortSettings>;
93
99
  defaultSort: import('vue').PropType<import('@progress/kendo-data-query').SortDescriptor[]>;
@@ -243,6 +249,7 @@ export declare const RootGrid: import('vue').DefineComponent<import('vue').Extra
243
249
  }>, void, {}, {
244
250
  columnsWithTemplates(): any[];
245
251
  cellsWithTemplates(): any;
252
+ rowsWithTemplates(): any;
246
253
  }, {
247
254
  transformTemplate(template: any, listeners: any): any;
248
255
  transformGroupTemplates(group: any, listeners: any): {
@@ -267,6 +274,12 @@ export declare const RootGrid: import('vue').DefineComponent<import('vue').Extra
267
274
  date: any;
268
275
  };
269
276
  };
277
+ transformRowTemplates(rows: any, listeners: any): {
278
+ groupHeader: any;
279
+ data: any;
280
+ groupFooter: any;
281
+ pinnedData: any;
282
+ };
270
283
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
271
284
  id: import('vue').PropType<string>;
272
285
  autoProcessData: import('vue').PropType<boolean | {
@@ -296,11 +309,17 @@ export declare const RootGrid: import('vue').DefineComponent<import('vue').Extra
296
309
  default: () => any;
297
310
  };
298
311
  cells: import('vue').PropType<import('.').GridCellsSettings>;
312
+ rows: import('vue').PropType<import('./interfaces/GridRowsSettings').GridRowsSettings>;
299
313
  defaultColumnsState: {
300
314
  type: import('vue').PropType<import('.').GridColumnState[]>;
301
315
  default: () => any;
302
316
  };
303
317
  columnVirtualization: import('vue').PropType<boolean>;
318
+ /**
319
+ * Method to fit columns according to their content.
320
+ *
321
+ * @param columnIds - Array of column ids to be fitted.
322
+ */
304
323
  dataItems: import('vue').PropType<any[] | import('@progress/kendo-data-query').DataResult>;
305
324
  sortable: import('vue').PropType<import('.').GridSortSettings>;
306
325
  defaultSort: import('vue').PropType<import('@progress/kendo-data-query').SortDescriptor[]>;
package/RootGrid.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 i=require("vue"),g=require("./Grid.js"),C=require("./GridState.js"),G=require("./common.js"),n=require("@progress/kendo-vue-common"),O=i.defineComponent({name:"KendoVueGrid",props:G.gridProps,setup(e,{expose:t}){const r=i.ref(null);t({get element(){var a;return((a=r.value)==null?void 0:a.element)||null},get props(){return e},get columns(){var a;return((a=r.value)==null?void 0:a.columns)||[]},scrollIntoView:a=>{var s;(s=r.value)==null||s.scrollIntoView(a)},fitColumns:a=>{var s;(s=r.value)==null||s.fitColumns(a)},exportAsPdf:()=>{var a;(a=r.value)==null||a.exportAsPdf()}})},methods:{transformTemplate(e,t){return e?n.templateRendering.call(this,e,t):void 0},transformGroupTemplates(e,t){if(e)return{groupHeader:this.transformTemplate(e.groupHeader,t),data:this.transformTemplate(e.data,t),groupFooter:this.transformTemplate(e.groupFooter,t)}},transformCellTemplates(e,t){if(e)return{headerCell:this.transformTemplate(e.headerCell,t),filterCell:this.transformTemplate(e.filterCell,t),footerCell:this.transformTemplate(e.footerCell,t),groupHeader:this.transformTemplate(e.groupHeader,t),data:this.transformTemplate(e.data,t),groupFooter:this.transformTemplate(e.groupFooter,t),select:this.transformGroupTemplates(e.select,t),hierarchy:this.transformGroupTemplates(e.hierarchy,t),group:this.transformGroupTemplates(e.group,t),edit:e.edit?{text:this.transformTemplate(e.edit.text,t),numeric:this.transformTemplate(e.edit.numeric,t),boolean:this.transformTemplate(e.edit.boolean,t),date:this.transformTemplate(e.edit.date,t)}:void 0}}},computed:{columnsWithTemplates(){const e=n.getListeners.call(this);return n.mapTree(this.$props.columns||[],"children",t=>{const r={...t};return{...r,cell:this.transformTemplate(r.cell,e),headerCell:this.transformTemplate(r.headerCell,e),filterCell:this.transformTemplate(r.filterCell,e),footerCell:this.transformTemplate(r.footerCell,e),columnMenu:r.columnMenu===!1?!1:this.transformTemplate(r.columnMenu,e),cells:this.transformCellTemplates(r.cells,e)}})},cellsWithTemplates(){const e=n.getListeners.call(this);return this.transformCellTemplates(this.$props.cells,e)}},render(){const e=n.getDefaultSlots(this)||[],t=n.getListeners.call(this),r=e.filter(o=>{var l,m;return o.tag&&o.tag.toLowerCase().indexOf("toolbar")!==-1||o.componentOptions&&((l=o.componentOptions.tag)==null?void 0:l.toLowerCase().indexOf("toolbar"))!==-1||((m=o==null?void 0:o.type)==null?void 0:m.name.toLowerCase().indexOf("toolbar"))!==-1}),a=e.filter(o=>{var l,m;return o.tag&&o.tag.toLowerCase().indexOf("records")!==-1||o.componentOptions&&((l=o.componentOptions.tag)==null?void 0:l.toLowerCase().indexOf("records"))!==-1||((m=o==null?void 0:o.type)==null?void 0:m.name.toLowerCase().indexOf("records"))!==-1}),{cellRender:s,detail:u,columns:w,rowRender:f,pager:d,loader:h,...p}=this.$props,c=this.columnsWithTemplates,T=this.cellsWithTemplates;return i.createVNode(C.GridStateProvider,p,{default:()=>[i.createVNode(g.Grid,i.mergeProps(p,t,{class:this.$attrs.class,style:this.$attrs.style,columns:c,cells:T,cellRender:this.transformTemplate(s,t),rowRender:this.transformTemplate(f,t),pager:this.transformTemplate(d,t),loader:this.transformTemplate(h,t),detail:this.transformTemplate(u,t),toolbar:r,noRecords:a}),null)]})}});exports.RootGrid=O;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("vue"),C=require("./Grid.js"),w=require("./GridState.js"),R=require("./common.js"),n=require("@progress/kendo-vue-common"),G=p.defineComponent({name:"KendoVueGrid",props:R.gridProps,setup(e,{expose:t}){const r=p.ref(null);t({get element(){var a;return((a=r.value)==null?void 0:a.element)||null},get props(){return e},get columns(){var a;return((a=r.value)==null?void 0:a.columns)||[]},scrollIntoView:a=>{var s;(s=r.value)==null||s.scrollIntoView(a)},fitColumns:a=>{var s;(s=r.value)==null||s.fitColumns(a)},exportAsPdf:()=>{var a;(a=r.value)==null||a.exportAsPdf()}})},methods:{transformTemplate(e,t){return e?n.templateRendering.call(this,e,t):void 0},transformGroupTemplates(e,t){if(e)return{groupHeader:this.transformTemplate(e.groupHeader,t),data:this.transformTemplate(e.data,t),groupFooter:this.transformTemplate(e.groupFooter,t)}},transformCellTemplates(e,t){if(e)return{headerCell:this.transformTemplate(e.headerCell,t),filterCell:this.transformTemplate(e.filterCell,t),footerCell:this.transformTemplate(e.footerCell,t),groupHeader:this.transformTemplate(e.groupHeader,t),data:this.transformTemplate(e.data,t),groupFooter:this.transformTemplate(e.groupFooter,t),select:this.transformGroupTemplates(e.select,t),hierarchy:this.transformGroupTemplates(e.hierarchy,t),group:this.transformGroupTemplates(e.group,t),edit:e.edit?{text:this.transformTemplate(e.edit.text,t),numeric:this.transformTemplate(e.edit.numeric,t),boolean:this.transformTemplate(e.edit.boolean,t),date:this.transformTemplate(e.edit.date,t)}:void 0}},transformRowTemplates(e,t){if(e)return{groupHeader:this.transformTemplate(e.groupHeader,t),data:this.transformTemplate(e.data,t),groupFooter:this.transformTemplate(e.groupFooter,t),pinnedData:this.transformTemplate(e.pinnedData,t)}}},computed:{columnsWithTemplates(){const e=n.getListeners.call(this);return n.mapTree(this.$props.columns||[],"children",t=>{const r={...t};return{...r,cell:this.transformTemplate(r.cell,e),headerCell:this.transformTemplate(r.headerCell,e),filterCell:this.transformTemplate(r.filterCell,e),footerCell:this.transformTemplate(r.footerCell,e),columnMenu:r.columnMenu===!1?!1:this.transformTemplate(r.columnMenu,e),cells:this.transformCellTemplates(r.cells,e)}})},cellsWithTemplates(){const e=n.getListeners.call(this);return this.transformCellTemplates(this.$props.cells,e)},rowsWithTemplates(){const e=n.getListeners.call(this);return this.transformRowTemplates(this.$props.rows,e)}},render(){const e=n.getDefaultSlots(this)||[],t=n.getListeners.call(this),r=e.filter(o=>{var m,l;return o.tag&&o.tag.toLowerCase().indexOf("toolbar")!==-1||o.componentOptions&&((m=o.componentOptions.tag)==null?void 0:m.toLowerCase().indexOf("toolbar"))!==-1||((l=o==null?void 0:o.type)==null?void 0:l.name.toLowerCase().indexOf("toolbar"))!==-1}),a=e.filter(o=>{var m,l;return o.tag&&o.tag.toLowerCase().indexOf("records")!==-1||o.componentOptions&&((m=o.componentOptions.tag)==null?void 0:m.toLowerCase().indexOf("records"))!==-1||((l=o==null?void 0:o.type)==null?void 0:l.name.toLowerCase().indexOf("records"))!==-1}),{cellRender:s,detail:u,columns:O,rowRender:f,pager:d,loader:h,rows:x,...i}=this.$props,T=this.columnsWithTemplates,c=this.cellsWithTemplates,g=this.rowsWithTemplates;return p.createVNode(w.GridStateProvider,i,{default:()=>[p.createVNode(C.Grid,p.mergeProps(i,t,{class:this.$attrs.class,style:this.$attrs.style,columns:T,cells:c,rows:g,cellRender:this.transformTemplate(s,t),rowRender:this.transformTemplate(f,t),pager:this.transformTemplate(d,t),loader:this.transformTemplate(h,t),detail:this.transformTemplate(u,t),toolbar:r,noRecords:a}),null)]})}});exports.RootGrid=G;
package/RootGrid.mjs CHANGED
@@ -5,14 +5,14 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as g, createVNode as i, mergeProps as C, ref as x } from "vue";
9
- import { Grid as w } from "./Grid.mjs";
8
+ import { defineComponent as C, createVNode as i, mergeProps as w, ref as x } from "vue";
9
+ import { Grid as R } from "./Grid.mjs";
10
10
  import { GridStateProvider as O } from "./GridState.mjs";
11
- import { gridProps as R } from "./common.mjs";
11
+ import { gridProps as W } from "./common.mjs";
12
12
  import { getDefaultSlots as G, getListeners as l, mapTree as b, templateRendering as L } from "@progress/kendo-vue-common";
13
- const H = /* @__PURE__ */ g({
13
+ const D = /* @__PURE__ */ C({
14
14
  name: "KendoVueGrid",
15
- props: R,
15
+ props: W,
16
16
  setup(e, {
17
17
  expose: t
18
18
  }) {
@@ -74,6 +74,15 @@ const H = /* @__PURE__ */ g({
74
74
  date: this.transformTemplate(e.edit.date, t)
75
75
  } : void 0
76
76
  };
77
+ },
78
+ transformRowTemplates(e, t) {
79
+ if (e)
80
+ return {
81
+ groupHeader: this.transformTemplate(e.groupHeader, t),
82
+ data: this.transformTemplate(e.data, t),
83
+ groupFooter: this.transformTemplate(e.groupFooter, t),
84
+ pinnedData: this.transformTemplate(e.pinnedData, t)
85
+ };
77
86
  }
78
87
  },
79
88
  computed: {
@@ -97,6 +106,10 @@ const H = /* @__PURE__ */ g({
97
106
  cellsWithTemplates() {
98
107
  const e = l.call(this);
99
108
  return this.transformCellTemplates(this.$props.cells, e);
109
+ },
110
+ rowsWithTemplates() {
111
+ const e = l.call(this);
112
+ return this.transformRowTemplates(this.$props.rows, e);
100
113
  }
101
114
  },
102
115
  render() {
@@ -113,14 +126,16 @@ const H = /* @__PURE__ */ g({
113
126
  rowRender: u,
114
127
  pager: d,
115
128
  loader: h,
129
+ rows: v,
116
130
  ...p
117
- } = this.$props, T = this.columnsWithTemplates, c = this.cellsWithTemplates;
131
+ } = this.$props, T = this.columnsWithTemplates, c = this.cellsWithTemplates, g = this.rowsWithTemplates;
118
132
  return i(O, p, {
119
- default: () => [i(w, C(p, t, {
133
+ default: () => [i(R, w(p, t, {
120
134
  class: this.$attrs.class,
121
135
  style: this.$attrs.style,
122
136
  columns: T,
123
137
  cells: c,
138
+ rows: g,
124
139
  cellRender: this.transformTemplate(s, t),
125
140
  rowRender: this.transformTemplate(u, t),
126
141
  pager: this.transformTemplate(d, t),
@@ -133,5 +148,5 @@ const H = /* @__PURE__ */ g({
133
148
  }
134
149
  });
135
150
  export {
136
- H as RootGrid
151
+ D as RootGrid
137
152
  };
package/cells/GridCell.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 r=require("vue"),p=require("../utils/main.js"),h=require("@progress/kendo-vue-intl"),g=require("@progress/kendo-vue-common"),s=require("@progress/kendo-vue-data-tools"),u=r.defineComponent({name:"GridCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null},props:{id:String,field:String,dataItem:Object,format:String,readFormat:String,className:String,columnType:String,colSpan:Number,columnIndex:Number,columnsCount:Number,dataIndex:Number,rowType:String,level:Number,expanded:Boolean,type:String,editor:String,rowSpan:[Number,Object],isSelected:Boolean,isHighlighted:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,onEdit:Function,onSave:Function,onRemove:Function,onCancel:Function,onChange:Function,onSelectionchange:Function,cells:Object},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:g.noop}},methods:{triggerClick(){this.$emit("cellclick",{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)}},created(){this._intl=h.provideIntlService(this)},computed:{tdClass(){const{className:e,isSelected:t,isHighlighted:i}=this.$props;return{"k-table-td":!0,"k-selected":t,"k-highlighted":i,[e]:e}}},setup(){return{kendoIntlService:r.inject("kendoIntlService",{})}},render(){var l,a,d;let e=null;const t=this.getKeyboardNavigationAttributes(this.$props.id);let i={},o=null;if(((l=this.$props.rowSpan)==null?void 0:l.count)===null)return null;if(this.$props.rowType==="groupFooter")i={class:this.tdClass,tabindex:t.tabIndex,"data-keyboardnavlevel":t[s.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[s.KEYBOARD_NAV_DATA_ID]},e=r.createVNode("td",r.mergeProps(i,{onKeydown:this.triggerKeydown,onClick:this.triggerClick}),[o]);else if(this.$props.field!==void 0&&this.$props.rowType!=="groupHeader"){const n=p.getNestedValue(this.$props.field,this.$props.dataItem);let c="";n!=null&&(c=this.$props.format?this.$props.type?this._intl.format(this.$props.format,p.parsers[this.$props.type](n,this._intl,this.$props.readFormat)):this._intl.format(this.$props.format,n):n.toString()),i={style:this.$attrs.style,colspan:this.$props.colSpan,rowspan:(d=(a=this.$props.rowSpan)==null?void 0:a.count)!=null?d:void 0,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[s.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[s.KEYBOARD_NAV_DATA_ID]},o=c,e=r.createVNode("td",r.mergeProps(i,{onKeydown:this.triggerKeydown,onClick:this.triggerClick}),[o])}return g.getTemplate.call(this,{h:r.h,template:this.$props.render,defaultRendering:e,additionalProps:{...this.$props,tdProps:i},additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove},defaultSlots:o,swapDefaultSlots:!0})}});exports.GridCell=u;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),p=require("../utils/main.js"),h=require("@progress/kendo-vue-intl"),g=require("@progress/kendo-vue-common"),s=require("@progress/kendo-vue-data-tools"),u=r.defineComponent({name:"GridCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null},props:{id:String,field:String,dataItem:Object,format:String,readFormat:String,className:String,columnType:String,colSpan:Number,columnIndex:Number,columnsCount:Number,dataIndex:Number,rowType:String,level:Number,expanded:Boolean,type:String,editor:String,rowSpan:[Number,Object],isSelected:Boolean,isHighlighted:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,onEdit:Function,onSave:Function,onRemove:Function,onCancel:Function,onChange:Function,onSelectionchange:Function,cells:Object},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:g.noop}},methods:{triggerClick(){this.$emit("cellclick",{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)}},created(){this._intl=h.provideIntlService(this)},computed:{tdClass(){const{className:e,isSelected:t,isHighlighted:i}=this.$props;return{"k-table-td":!0,"k-selected":t,"k-highlighted":i,[e]:e}}},setup(){return{kendoIntlService:r.inject("kendoIntlService",{})}},render(){var l,a,d;let e=null;const t=this.getKeyboardNavigationAttributes(this.$props.id);let i={},o=null;if(((l=this.$props.rowSpan)==null?void 0:l.count)===null)return null;if(this.$props.rowType==="groupFooter")i={class:this.tdClass,tabindex:t.tabIndex,"data-keyboardnavlevel":t[s.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[s.KEYBOARD_NAV_DATA_ID]},e=r.createVNode("td",r.mergeProps(i,{onKeydown:this.triggerKeydown,onClick:this.triggerClick}),[o]);else if(this.$props.field!==void 0&&this.$props.rowType!=="groupHeader"){const n=p.getNestedValue(this.$props.field,this.$props.dataItem);let c="";n!=null&&(c=this.$props.format?this.$props.type?this._intl.format(this.$props.format,p.parsers[this.$props.type](n,this._intl,this.$props.readFormat)):this._intl.format(this.$props.format,n):n.toString()),i={style:this.$attrs.style,colspan:this.$props.colSpan,rowspan:(d=(a=this.$props.rowSpan)==null?void 0:a.count)!=null?d:void 0,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[s.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[s.KEYBOARD_NAV_DATA_ID]},o=c,e=r.createVNode("td",r.mergeProps(i,{onKeydown:this.triggerKeydown,onClick:this.triggerClick}),[o])}return g.getTemplate.call(this,{h:r.h,template:this.$props.render,defaultRendering:e,additionalProps:{...this.$props,tdProps:i},additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove},defaultSlots:o})}});exports.GridCell=u;
@@ -6,7 +6,7 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  import { defineComponent as h, createVNode as d, mergeProps as p, h as m, inject as u } from "vue";
9
- import { getNestedValue as f, parsers as $ } from "../utils/main.mjs";
9
+ import { getNestedValue as $, parsers as f } from "../utils/main.mjs";
10
10
  import { provideIntlService as S } from "@progress/kendo-vue-intl";
11
11
  import { noop as v, getTemplate as b } from "@progress/kendo-vue-common";
12
12
  import { KEYBOARD_NAV_DATA_ID as c, KEYBOARD_NAV_DATA_LEVEL as g } from "@progress/kendo-vue-data-tools";
@@ -127,9 +127,9 @@ const A = /* @__PURE__ */ h({
127
127
  onClick: this.triggerClick
128
128
  }), [n]);
129
129
  else if (this.$props.field !== void 0 && this.$props.rowType !== "groupHeader") {
130
- const r = f(this.$props.field, this.$props.dataItem);
130
+ const r = $(this.$props.field, this.$props.dataItem);
131
131
  let a = "";
132
- r != null && (a = this.$props.format ? this.$props.type ? this._intl.format(this.$props.format, $[this.$props.type](r, this._intl, this.$props.readFormat)) : this._intl.format(this.$props.format, r) : r.toString()), i = {
132
+ r != null && (a = this.$props.format ? this.$props.type ? this._intl.format(this.$props.format, f[this.$props.type](r, this._intl, this.$props.readFormat)) : this._intl.format(this.$props.format, r) : r.toString()), i = {
133
133
  style: this.$attrs.style,
134
134
  colspan: this.$props.colSpan,
135
135
  rowspan: (l = (s = this.$props.rowSpan) == null ? void 0 : s.count) != null ? l : void 0,
@@ -163,8 +163,7 @@ const A = /* @__PURE__ */ h({
163
163
  save: this.triggerSave,
164
164
  remove: this.triggerRemove
165
165
  },
166
- defaultSlots: n,
167
- swapDefaultSlots: !0
166
+ defaultSlots: n
168
167
  });
169
168
  }
170
169
  });
@@ -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 r=require("vue"),b=require("@progress/kendo-vue-buttons"),n=require("../messages/main.js"),d=require("@progress/kendo-vue-dropdowns"),h=require("@progress/kendo-vue-inputs"),S=require("@progress/kendo-vue-dateinputs"),g=require("@progress/kendo-svg-icons"),m=require("@progress/kendo-vue-intl"),c=require("../filterCommon.js"),$=require("@progress/kendo-vue-common"),k=r.defineComponent({name:"KendoGridFilterCell",inheritAttrs:!1,props:{id:String,grid:Object,field:String,filterType:String,colSpan:Number,title:String,value:[String,Number,Boolean,Date],operator:[String,Function],operators:Array,booleanValues:Array,onChange:Function,render:[String,Function,Object],ariaLabel:String,size:String},inject:{kendoLocalizationService:{default:null},kendoIntlService:{default:null}},methods:{inputChange(e,t){const i=c.cellInputChange(e,t,this.$props);this.triggerChange(i)},operatorChange(e,t){const i=c.cellOperatorChange(e.value.operator,t,this.$props.value);this.triggerChange(i)},boolDropdownChange(e,t){const i=c.cellBoolDropdownChange(e.value.operator,t);this.triggerChange(i)},clear(e){e.preventDefault(),this.triggerChange({value:"",operator:"",event:e})},triggerChange(e){e.field=this.$props.field,this.$emit("change",e)}},setup(){const e=r.inject("kendoIntlService",{}),t=r.inject("kendoLocalizationService",{});return{kendoIntlService:e,kendoLocalizationService:t}},render(){const e=m.provideLocalizationService(this),{size:t}=this.$props,i=this.$props.operators.find(l=>l.operator===this.$props.operator)||null,f=function(){if(this.$props.filterType!=="boolean")return r.createVNode(d.DropDownList,{onChange:this.operatorChange,value:i,size:t,class:"k-dropdown-operator",icon:"filter",svgIcon:g.filterIcon,iconClassName:"filter k-button-icon","data-items":this.$props.operators,textField:"text",title:e.toLanguageString(n.filterChooseOperator,n.messages[n.filterChooseOperator]),popupSettings:{width:"",anchor:""},ariaLabel:this.ariaLabel},null)},C=function(l,a){let s;switch(l){case"numeric":return r.createVNode(h.NumericTextBox,{size:t,value:a,onChange:o=>{this.inputChange(o.value,o.event)},title:this.$props.title,ariaLabel:this.ariaLabel},null);case"date":return r.createVNode(S.DatePicker,{size:t,value:a,onChange:o=>{this.inputChange(o.value,o)},title:this.$props.title,ariaLabel:this.ariaLabel},null);case"boolean":return s=this.$props.booleanValues,r.createVNode(d.DropDownList,{onChange:this.boolDropdownChange,size:t,value:s.find(o=>o.operator===(a!==null?a:"")),"data-items":s,textField:"text",title:this.$props.title,ariaLabel:this.ariaLabel},null);default:return r.createVNode(h.TextBox,{value:a||"",size:t,onInput:o=>{this.inputChange(o.target.value,o)},title:this.$props.title,"aria-label":this.ariaLabel},null)}},p={class:"k-filtercell",style:this.$attrs.style},u=r.createVNode("div",{class:"k-filtercell-wrapper"},[C.call(this,this.$props.filterType,this.$props.value),r.createVNode("div",{class:"k-filtercell-operator"},[f.call(this),r.createTextVNode(" "),r.createVNode(b.Button,{type:"button",size:t,icon:"filter-clear",svgIcon:g.filterClearIcon,class:{"k-disabled":!(!(this.$props.value===null||this.$props.value==="")||this.$props.operator)},title:e.toLanguageString(n.filterClearButton,n.messages[n.filterClearButton]),onClick:this.clear},null)])]),v=r.createVNode("div",p,[u]);return $.getTemplate.call(this,{h:r.h,template:this.$props.render,defaultRendering:v,additionalProps:{...this.$props,tdProps:p},additionalListeners:{change:this.triggerChange},defaultSlots:u,swapDefaultSlots:!0})}});exports.GridFilterCell=k;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),b=require("@progress/kendo-vue-buttons"),n=require("../messages/main.js"),d=require("@progress/kendo-vue-dropdowns"),h=require("@progress/kendo-vue-inputs"),S=require("@progress/kendo-vue-dateinputs"),g=require("@progress/kendo-svg-icons"),m=require("@progress/kendo-vue-intl"),c=require("../filterCommon.js"),$=require("@progress/kendo-vue-common"),k=r.defineComponent({name:"KendoGridFilterCell",inheritAttrs:!1,props:{id:String,grid:Object,field:String,filterType:String,colSpan:Number,title:String,value:[String,Number,Boolean,Date],operator:[String,Function],operators:Array,booleanValues:Array,onChange:Function,render:[String,Function,Object],ariaLabel:String,size:String},inject:{kendoLocalizationService:{default:null},kendoIntlService:{default:null}},methods:{inputChange(e,t){const i=c.cellInputChange(e,t,this.$props);this.triggerChange(i)},operatorChange(e,t){const i=c.cellOperatorChange(e.value.operator,t,this.$props.value);this.triggerChange(i)},boolDropdownChange(e,t){const i=c.cellBoolDropdownChange(e.value.operator,t);this.triggerChange(i)},clear(e){e.preventDefault(),this.triggerChange({value:"",operator:"",event:e})},triggerChange(e){e.field=this.$props.field,this.$emit("change",e)}},setup(){const e=r.inject("kendoIntlService",{}),t=r.inject("kendoLocalizationService",{});return{kendoIntlService:e,kendoLocalizationService:t}},render(){const e=m.provideLocalizationService(this),{size:t}=this.$props,i=this.$props.operators.find(l=>l.operator===this.$props.operator)||null,f=function(){if(this.$props.filterType!=="boolean")return r.createVNode(d.DropDownList,{onChange:this.operatorChange,value:i,size:t,class:"k-dropdown-operator",icon:"filter",svgIcon:g.filterIcon,iconClassName:"filter k-button-icon","data-items":this.$props.operators,textField:"text",title:e.toLanguageString(n.filterChooseOperator,n.messages[n.filterChooseOperator]),popupSettings:{width:"",anchor:""},ariaLabel:this.ariaLabel},null)},C=function(l,a){let s;switch(l){case"numeric":return r.createVNode(h.NumericTextBox,{size:t,value:a,onChange:o=>{this.inputChange(o.value,o.event)},title:this.$props.title,ariaLabel:this.ariaLabel},null);case"date":return r.createVNode(S.DatePicker,{size:t,value:a,onChange:o=>{this.inputChange(o.value,o)},title:this.$props.title,ariaLabel:this.ariaLabel},null);case"boolean":return s=this.$props.booleanValues,r.createVNode(d.DropDownList,{onChange:this.boolDropdownChange,size:t,value:s.find(o=>o.operator===(a!==null?a:"")),"data-items":s,textField:"text",title:this.$props.title,ariaLabel:this.ariaLabel},null);default:return r.createVNode(h.TextBox,{value:a||"",size:t,onInput:o=>{this.inputChange(o.target.value,o)},title:this.$props.title,"aria-label":this.ariaLabel},null)}},p={class:"k-filtercell",style:this.$attrs.style},u=r.createVNode("div",{class:"k-filtercell-wrapper"},[C.call(this,this.$props.filterType,this.$props.value),r.createVNode("div",{class:"k-filtercell-operator"},[f.call(this),r.createTextVNode(" "),r.createVNode(b.Button,{type:"button",size:t,icon:"filter-clear",svgIcon:g.filterClearIcon,class:{"k-disabled":!(!(this.$props.value===null||this.$props.value==="")||this.$props.operator)},title:e.toLanguageString(n.filterClearButton,n.messages[n.filterClearButton]),onClick:this.clear},null)])]),v=r.createVNode("div",p,[u]);return $.getTemplate.call(this,{h:r.h,template:this.$props.render,defaultRendering:v,additionalProps:{...this.$props,tdProps:p},additionalListeners:{change:this.triggerChange},defaultSlots:u})}});exports.GridFilterCell=k;
@@ -11,9 +11,9 @@ import { filterClearButton as h, messages as u, filterChooseOperator as g } from
11
11
  import { DropDownList as d } from "@progress/kendo-vue-dropdowns";
12
12
  import { TextBox as L, NumericTextBox as k } from "@progress/kendo-vue-inputs";
13
13
  import { DatePicker as z } from "@progress/kendo-vue-dateinputs";
14
- import { filterClearIcon as x, filterIcon as w } from "@progress/kendo-svg-icons";
15
- import { provideLocalizationService as D } from "@progress/kendo-vue-intl";
16
- import { cellBoolDropdownChange as I, cellOperatorChange as y, cellInputChange as F } from "../filterCommon.mjs";
14
+ import { filterClearIcon as x, filterIcon as I } from "@progress/kendo-svg-icons";
15
+ import { provideLocalizationService as w } from "@progress/kendo-vue-intl";
16
+ import { cellBoolDropdownChange as y, cellOperatorChange as D, cellInputChange as F } from "../filterCommon.mjs";
17
17
  import { getTemplate as T } from "@progress/kendo-vue-common";
18
18
  const K = /* @__PURE__ */ v({
19
19
  name: "KendoGridFilterCell",
@@ -48,11 +48,11 @@ const K = /* @__PURE__ */ v({
48
48
  this.triggerChange(o);
49
49
  },
50
50
  operatorChange(e, t) {
51
- const o = y(e.value.operator, t, this.$props.value);
51
+ const o = D(e.value.operator, t, this.$props.value);
52
52
  this.triggerChange(o);
53
53
  },
54
54
  boolDropdownChange(e, t) {
55
- const o = I(e.value.operator, t);
55
+ const o = y(e.value.operator, t);
56
56
  this.triggerChange(o);
57
57
  },
58
58
  clear(e) {
@@ -74,7 +74,7 @@ const K = /* @__PURE__ */ v({
74
74
  };
75
75
  },
76
76
  render() {
77
- const e = D(this), {
77
+ const e = w(this), {
78
78
  size: t
79
79
  } = this.$props, o = this.$props.operators.find((n) => n.operator === this.$props.operator) || null, f = function() {
80
80
  if (this.$props.filterType !== "boolean")
@@ -84,7 +84,7 @@ const K = /* @__PURE__ */ v({
84
84
  size: t,
85
85
  class: "k-dropdown-operator",
86
86
  icon: "filter",
87
- svgIcon: w,
87
+ svgIcon: I,
88
88
  iconClassName: "filter k-button-icon",
89
89
  "data-items": this.$props.operators,
90
90
  textField: "text",
@@ -169,8 +169,7 @@ const K = /* @__PURE__ */ v({
169
169
  additionalListeners: {
170
170
  change: this.triggerChange
171
171
  },
172
- defaultSlots: p,
173
- swapDefaultSlots: !0
172
+ defaultSlots: p
174
173
  });
175
174
  }
176
175
  });
@@ -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 a=require("vue"),i=require("@progress/kendo-vue-common"),f=require("@progress/kendo-vue-data-tools"),o=require("../messages/main.js"),S=require("@progress/kendo-vue-intl"),k=require("@progress/kendo-svg-icons"),x=e=>{var t,l;return(l=(t=e.cells)==null?void 0:t.groupHeader)==null?void 0:l[e.rowType||"data"]},A=a.defineComponent({name:"KendoGridGroupCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,colSpan:Number,className:String,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,locked:Boolean,expanded:Boolean,editor:String,dataIndex:Number,isSelected:Boolean,isRtl:Boolean,ariaColumnIndex:Number,group:Object,render:[String,Function,Object],cells:Object},emits:{change:null,cellkeydown:null},inject:{kendo:{default:null},kendoIntlService:{default:null},kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},computed:{tdClass(){const{className:e,locked:t}=this.$props;return{"k-table-td":!0,"k-grid-content-sticky":t,[e]:e}},tdStyle(){const{locked:e}=this.$props,t=e?{position:"sticky",zIndex:2}:{};return{...this.$attrs.style,...t}},groupTdClass(){const{className:e,locked:t}=this.$props;return{"k-table-td":!0,"k-group-cell":!0,"k-grid-content-sticky":t,[e]:e}}},methods:{triggerStateChange(){var t;const e=this.kendo;(t=e==null?void 0:e.dispatchGroupExpand)==null||t.call(e,{type:f.GROUP_EXPAND_ACTION.TOGGLE,group:this.$props.group})},triggerKeydown(e,t){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,field:this.$props.field,expanded:this.$props.expanded}),!e.defaultPrevented&&e.keyCode===i.Keys.enter&&(e.preventDefault(),this.$emit("change",{dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!t}),this.triggerStateChange())},clickHandler(e,t,l){e.preventDefault(),this.$emit("change",{dataItem:t,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!l}),this.triggerStateChange()}},render(){let e=null,t,l,s=null;const{columnIndex:n,level:c,columnsCount:p,rowType:v,dataItem:d,field:u,expanded:r,render:$,locked:g}=this.$props,h=this.getKeyboardNavigationAttributes(this.$props.id),b=S.provideLocalizationService(this).toLanguageString(o.groupCaretAriaLabelCollapse,o.messages[o.groupCaretAriaLabelCollapse]),y=S.provideLocalizationService(this).toLanguageString(o.groupCaretAriaLabelExpand,o.messages[o.groupCaretAriaLabelExpand]);if(n===void 0||c===void 0||n<c||p===void 0||v!=="groupHeader"||d[u]===void 0)t={style:this.$attrs.style,key:"g"+n,class:this.groupTdClass},e=a.createVNode("td",t,null);else if(n<=c){t={style:this.tdStyle,key:"g-colspan",class:g?"k-table-td":this.tdClass,colspan:g?0:p-n,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"aria-expanded":r,"data-grid-col-index":this.$props.columnIndex,tabindex:h.tabIndex,"data-keyboardnavlevel":h[f.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":h[f.KEYBOARD_NAV_DATA_ID]},s=a.createVNode("p",{class:"k-reset"},[a.createVNode("a",{onClick:m=>{this.clickHandler(m,d,r)},href:"#",tabindex:-1,title:r?b:y,"aria-label":r?b:y},[a.createVNode(i.Icon,{name:r?"caret-alt-down":this.isRtl?"caret-alt-left":"caret-alt-right",icon:r?k.caretAltDownIcon:this.isRtl?k.caretAltLeftIcon:k.caretAltRightIcon},null)]),d[u]?d[u].toString():""]);const C=a.createVNode("td",a.mergeProps(t,{onKeydown:m=>{this.triggerKeydown(m,r)}}),[s]);l={className:"k-table-td",role:"gridcell",colSpan:p-n,style:{borderLeftWidth:0,borderRightWidth:0}};const I=g?a.createVNode("td",l,null):null;e=I?[C,I]:C}return i.getTemplate.call(this,{h:a.h,template:$||x(this.$props),defaultRendering:e,additionalProps:{...this.$props,tdProps:t,td2Props:l},additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler},defaultSlots:s,swapDefaultSlots:!0})}});exports.GridGroupCell=A;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),i=require("@progress/kendo-vue-common"),k=require("@progress/kendo-vue-data-tools"),o=require("../messages/main.js"),S=require("@progress/kendo-vue-intl"),f=require("@progress/kendo-svg-icons"),x=e=>{var t,l;return(l=(t=e.cells)==null?void 0:t.groupHeader)==null?void 0:l[e.rowType||"data"]},A=a.defineComponent({name:"KendoGridGroupCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,colSpan:Number,className:String,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,locked:Boolean,expanded:Boolean,editor:String,dataIndex:Number,isSelected:Boolean,isRtl:Boolean,ariaColumnIndex:Number,group:Object,render:[String,Function,Object],cells:Object},emits:{change:null,cellkeydown:null},inject:{kendo:{default:null},kendoIntlService:{default:null},kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},computed:{tdClass(){const{className:e,locked:t}=this.$props;return{"k-table-td":!0,"k-grid-content-sticky":t,[e]:e}},tdStyle(){const{locked:e}=this.$props,t=e?{position:"sticky",zIndex:2}:{};return{...this.$attrs.style,...t}},groupTdClass(){const{className:e,locked:t}=this.$props;return{"k-table-td":!0,"k-group-cell":!0,"k-grid-content-sticky":t,[e]:e}}},methods:{triggerStateChange(){var t;const e=this.kendo;(t=e==null?void 0:e.dispatchGroupExpand)==null||t.call(e,{type:k.GROUP_EXPAND_ACTION.TOGGLE,group:this.$props.group})},triggerKeydown(e,t){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,field:this.$props.field,expanded:this.$props.expanded}),!e.defaultPrevented&&e.keyCode===i.Keys.enter&&(e.preventDefault(),this.$emit("change",{dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!t}),this.triggerStateChange())},clickHandler(e,t,l){e.preventDefault(),this.$emit("change",{dataItem:t,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!l}),this.triggerStateChange()}},render(){let e=null,t,l,s=null;const{columnIndex:n,level:c,columnsCount:p,rowType:v,dataItem:d,field:u,expanded:r,render:$,locked:g}=this.$props,h=this.getKeyboardNavigationAttributes(this.$props.id),b=S.provideLocalizationService(this).toLanguageString(o.groupCaretAriaLabelCollapse,o.messages[o.groupCaretAriaLabelCollapse]),y=S.provideLocalizationService(this).toLanguageString(o.groupCaretAriaLabelExpand,o.messages[o.groupCaretAriaLabelExpand]);if(n===void 0||c===void 0||n<c||p===void 0||v!=="groupHeader"||d[u]===void 0)t={style:this.$attrs.style,key:"g"+n,class:this.groupTdClass},e=a.createVNode("td",t,null);else if(n<=c){t={style:this.tdStyle,key:"g-colspan",class:g?"k-table-td":this.tdClass,colspan:g?0:p-n,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"aria-expanded":r,"data-grid-col-index":this.$props.columnIndex,tabindex:h.tabIndex,"data-keyboardnavlevel":h[k.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":h[k.KEYBOARD_NAV_DATA_ID]},s=a.createVNode("p",{class:"k-reset"},[a.createVNode("a",{onClick:m=>{this.clickHandler(m,d,r)},href:"#",tabindex:-1,title:r?b:y,"aria-label":r?b:y},[a.createVNode(i.Icon,{name:r?"caret-alt-down":this.isRtl?"caret-alt-left":"caret-alt-right",icon:r?f.caretAltDownIcon:this.isRtl?f.caretAltLeftIcon:f.caretAltRightIcon},null)]),d[u]?d[u].toString():""]);const C=a.createVNode("td",a.mergeProps(t,{onKeydown:m=>{this.triggerKeydown(m,r)}}),[s]);l={className:"k-table-td",role:"gridcell",colSpan:p-n,style:{borderLeftWidth:0,borderRightWidth:0}};const I=g?a.createVNode("td",l,null):null;e=I?[C,I]:C}return i.getTemplate.call(this,{h:a.h,template:$||x(this.$props),defaultRendering:e,additionalProps:{...this.$props,tdProps:t,td2Props:l},additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler},defaultSlots:s})}});exports.GridGroupCell=A;