@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.
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),E=require("../interfaces/GridSortSettings.js"),U=require("../drag/ColumnResizer.js"),W=require("../drag/ColumnDraggable.js"),J=require("./GridHeaderCell.js"),Q=require("../columnMenu/ColumnMenu.js"),c=require("@progress/kendo-vue-common"),X=require("@progress/kendo-vue-data-tools"),Y=require("../utils/main.js"),s=require("../messages/main.js"),Z=require("@progress/kendo-vue-intl"),D=require("@progress/kendo-svg-icons"),ee=require("../utils/virtualColumns.js");function S(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!n.isVNode(t)}const M={none:"none",asc:"ascending",desc:"descending"},te={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},le=n.defineComponent({name:"KendoHeaderRow",props:{grid:Object,cellRender:[String,Function,Object],cells:Object,groupable:[Boolean,Object],reorderable:Boolean,sortable:[Boolean,Object],sort:{type:Array},filter:Object,filterable:Boolean,filterOperators:Object,filterChange:Function,filterRow:Object,columns:Array,cellsToRender:Array,columnVirtualization:Boolean,columnsMap:Array,columnResize:Object,columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:Object,isRtl:Boolean,isColCountDefined:Boolean,headerSelectionValue:[Boolean,Array],columnsInitial:Array,onSortChange:Function,onFilterChange:Function,onSelectionchange:Function,onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function},inject:{onNavFocus:{default:c.noop},kendoLocalizationService:{default:null}},data(){return{columnMenuOpened:{}}},created(){this.serviceIndex=0,this.index=-1,this._element=null,this.cellClick=this.cellClick.bind(this)},methods:{pressHandler(t,l){this.$emit("pressHandler",t,l)},dragHandler(t,l){this.$emit("dragHandler",t,l)},releaseHandler(t){this.$emit("releaseHandler",t)},selectionChangeHandler(t){this.$emit("selectionchange",t)},cellClick(t,l){if(t.preventDefault(),!c.hasListener.call(this,"sortChange"))return;const{allowUnsort:m,mode:g}=E.normalize(this.$props.sortable||!1,l.sortable||!1),a=(this.$props.sort||[]).filter(o=>o.field===l.field)[0],d=te[m][a&&a.dir||""],u=g==="single"?[]:(this.$props.sort||[]).filter(o=>o.field!==l.field);d!==""&&l.field&&u.push({field:l.field,dir:d}),this.sortChangeHandler(u,{event:t,field:l.field})},sortChangeHandler(t,l){this.$emit("sortChange",t,l)},filterChangeHandler(t,l){this.$emit("filterChange",t,l)},cellClass(t,l,m){const g=l?" "+l:"";let a="k-header"+(m?" k-grid-header-sticky":"")+g;return this.$props.sort&&this.$props.sort.filter(d=>d.field===t).length>0&&(a+=" k-sorted"),a},cellKeyDown(t,l){t.defaultPrevented||(t.keyCode===c.Keys.enter&&this.cellClick(t,l),t.altKey&&t.keyCode===c.Keys.down&&l.field&&(t.preventDefault(),this.columnMenuOpened={[l.field]:!0}))},getTemplate(t){return c.templateRendering.call(this.$props.grid,t,c.getListeners.call(this.$props.grid))},columnMenuClose(){this.onNavFocus({}),this.columnMenuOpened={}}},computed:{element(){return this._element},theadClasses(){return{"k-table-thead":!0}}},render(){const t=Z.provideLocalizationService(this),l=t.toLanguageString(s.sortableColumnAriaLabel,s.messages[s.sortableColumnAriaLabel]),m=t.toLanguageString(s.sortableColumnAscendingAriaLabel,s.messages[s.sortableColumnAscendingAriaLabel]),g=t.toLanguageString(s.sortableColumnDescendingAriaLabel,s.messages[s.sortableColumnDescendingAriaLabel]);this.serviceIndex=0,this.index=-1;const a=this.$props.columnVirtualization,d=function(u,o){const i=ee.getVirtualHeaderCellsToRender({cellsToRender:this.$props.cellsToRender||[],columns:this.$props.columns,rowIndex:o,enableVirtualization:a,columnsMap:this.$props.columnsMap}),V=a;let k=V&&i.columnsToRender?i.columnsToRender:u;const z=V?i.colSpans:[];return!k||k.length===0?[]:k.map(function(v,w){var I,A,L;const e=this.$props.columns[v],b=this.$props.sortable&&e.sortable,R=this.$props.sort?this.$props.sort.findIndex(r=>r.field===e.field):-1,H=R>=0&&this.$props.sort[R].dir||"none",h=function(r){if(!this.$props.sort)return null;const $=r>=0?this.$props.sort[r].dir:"";return r>=0&&[n.createVNode("span",{key:1,class:"k-sort-icon"},[n.createVNode(c.Icon,{name:"sort-"+$+"-small",icon:$==="asc"?D.sortAscSmallIcon:D.sortDescSmallIcon},null)]),this.$props.sort.length>1&&n.createVNode("span",{key:2,class:"k-sort-icon"},[n.createVNode("span",{class:"k-sort-order"},[r+1])])]}.call(this,R),p=e.columnMenu||e.columnMenu===!1?e.columnMenu:this.$props.columnMenu,N=e.menuIcon||this.$props.columnMenuIcon,j=(e.kFirst?"k-first ":"")+this.cellClass(e.field,e.headerClassName,e.locked)+(p?" k-filterable":""),T=!p||typeof p=="boolean"?!!p:this.getTemplate(p),F=i.skipOffset?{borderLeftWidth:"1px"}:void 0,q=e.locked&&(e.left!==void 0||e.right!==void 0)?this.$props.isRtl?{left:e.right+"px",right:e.left+"px"}:{left:e.left+"px",right:e.right+"px"}:F,x=M[H]==="none"?l:M[H]==="ascending"?m:g;let f=e.isAccessible?{ariaSort:M[H],ariaLabel:x,role:"columnheader",ariaColumnIndex:this.$props.isColCountDefined?this.$props.columnsInitial.findIndex(r=>r.field===e.field)+1:void 0,ariaSelected:!1,ariaHaspopup:p?"menu":this.$props.filterable&&e.filterable?"dialog":void 0}:{role:"columnheader"};const B=e.declarationIndex>=0?++this.index:--this.serviceIndex,K=e.columnMenuOpened!==void 0?e.columnMenuOpened:this.columnMenuOpened[e.field],P=(I=z[w])!=null?I:e.headerColSpan,y=Y.resolveCells(this.$props.cells,e.cells),O={ariaSort:b?f.ariaSort:void 0,ariaLabel:b?f.ariaLabel:void 0,role:f.role,ariaColumnIndex:f.ariaColumnIndex,ariaSelected:f.ariaSelected,ariaHaspopup:f.ariaHaspopup,key:B,colSpan:P,rowSpan:e.rowSpan,class:j,style:q,columnId:e.id,navigatable:e.navigatable,onKeydown:r=>this.cellKeyDown(r,e)},C=[e.children.length===0&&p&&n.createVNode(Q.ColumnMenu,{key:0,column:{field:e.field,filter:e.filter},opened:K,animate:this.$props.columnMenuAnimate,sortable:b,sort:this.$props.sort,onClose:this.columnMenuClose,onSortchange:this.sortChangeHandler,filter:this.$props.filter,filterable:this.$props.filterable&&e.filterable,filterOperators:this.$props.filterOperators,onFilterchange:this.filterChangeHandler,render:T,columnMenuIcon:N},null),e.defaultHeaderCell&&n.createVNode("span",{class:"k-cell-inner"},[n.createVNode(e.defaultHeaderCell,{key:1,field:e.field,sortable:b,onHeadercellclick:r=>this.cellClick(r,e),onSelectionchange:this.selectionChangeHandler,selectionValue:(A=e.headerSelectionValue)!=null?A:this.$props.headerSelectionValue,title:e.title,render:(e.headerCell||this.$props.cellRender)&&this.getTemplate(e.headerCell||this.$props.cellRender)},S(h)?h:{default:()=>[h]})])||n.createVNode("span",{class:"k-cell-inner"},[n.createVNode(J.GridHeaderCell,{key:1,field:e.field,sortable:b,onHeadercellclick:r=>this.cellClick(r,e),selectionValue:(L=e.headerSelectionValue)!=null?L:this.$props.headerSelectionValue,title:e.title,render:(e.headerCell||this.$props.cellRender)&&this.getTemplate(e.headerCell||this.$props.cellRender)},S(h)?h:{default:()=>[h]})]),this.$props.columnResize&&this.$props.columnResize.resizable&&e.resizable&&n.createVNode(U.ColumnResizer,{key:2,onResize:(r,$,G)=>this.$props.columnResize&&this.$props.columnResize.dragHandler(r,e,$,G)},null)],_=n.createVNode(X.HeaderThElement,O,S(C)?C:{default:()=>[C]});return c.getTemplate.call(this,{h:n.h,template:y==null?void 0:y.headerCell,defaultRendering:_,additionalProps:{field:e.field,thProps:O},defaultSlots:C,swapDefaultSlots:!0})},this)};return n.createVNode("thead",{role:"rowgroup",class:this.theadClasses,"data-keyboardnavheader":!0},[this.$props.columnsMap.map(function(u,o){let i;return(this.$props.groupable||this.$props.reorderable)&&n.createVNode(W.ColumnDraggable,{key:o,onPressHandler:this.pressHandler,onDragHandler:this.dragHandler,onReleaseHandler:this.releaseHandler},S(i=d.call(this,u,o))?i:{default:()=>[i]})||n.createVNode("tr",{class:"k-table-row",role:"row","aria-rowindex":o+1},[d.call(this,u,o)])},this),this.$props.filterRow])}});exports.HeaderRow=le;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),E=require("../interfaces/GridSortSettings.js"),U=require("../drag/ColumnResizer.js"),W=require("../drag/ColumnDraggable.js"),J=require("./GridHeaderCell.js"),Q=require("../columnMenu/ColumnMenu.js"),c=require("@progress/kendo-vue-common"),X=require("@progress/kendo-vue-data-tools"),Y=require("../utils/main.js"),s=require("../messages/main.js"),Z=require("@progress/kendo-vue-intl"),z=require("@progress/kendo-svg-icons"),ee=require("../utils/virtualColumns.js");function S(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!l.isVNode(t)}const M={none:"none",asc:"ascending",desc:"descending"},te={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},ne=l.defineComponent({name:"KendoHeaderRow",props:{grid:Object,cellRender:[String,Function,Object],cells:Object,groupable:[Boolean,Object],reorderable:Boolean,sortable:[Boolean,Object],sort:{type:Array},filter:Object,filterable:Boolean,filterOperators:Object,filterChange:Function,filterRow:Object,columns:Array,cellsToRender:Array,columnVirtualization:Boolean,columnsMap:Array,columnResize:Object,columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:Object,isRtl:Boolean,isColCountDefined:Boolean,headerSelectionValue:[Boolean,Array],columnsInitial:Array,onSortChange:Function,onFilterChange:Function,onSelectionchange:Function,onPressHandler:Function,onDragHandler:Function,onReleaseHandler:Function},inject:{onNavFocus:{default:c.noop},kendoLocalizationService:{default:null}},data(){return{columnMenuOpened:{}}},created(){this.serviceIndex=0,this.index=-1,this._element=null,this.cellClick=this.cellClick.bind(this)},methods:{pressHandler(t,n){this.$emit("pressHandler",t,n)},dragHandler(t,n){this.$emit("dragHandler",t,n)},releaseHandler(t){this.$emit("releaseHandler",t)},selectionChangeHandler(t){this.$emit("selectionchange",t)},cellClick(t,n){if(t.preventDefault(),!c.hasListener.call(this,"sortChange"))return;const{allowUnsort:m,mode:g}=E.normalize(this.$props.sortable||!1,n.sortable||!1),i=(this.$props.sort||[]).filter(o=>o.field===n.field)[0],d=te[m][i&&i.dir||""],u=g==="single"?[]:(this.$props.sort||[]).filter(o=>o.field!==n.field);d!==""&&n.field&&u.push({field:n.field,dir:d}),this.sortChangeHandler(u,{event:t,field:n.field})},sortChangeHandler(t,n){this.$emit("sortChange",t,n)},filterChangeHandler(t,n){this.$emit("filterChange",t,n)},cellClass(t,n,m){const g=n?" "+n:"";let i="k-header"+(m?" k-grid-header-sticky":"")+g;return this.$props.sort&&this.$props.sort.filter(d=>d.field===t).length>0&&(i+=" k-sorted"),i},cellKeyDown(t,n){t.defaultPrevented||(t.keyCode===c.Keys.enter&&this.cellClick(t,n),t.altKey&&t.keyCode===c.Keys.down&&n.field&&(t.preventDefault(),this.columnMenuOpened={[n.field]:!0}))},getTemplate(t){return c.templateRendering.call(this.$props.grid,t,c.getListeners.call(this.$props.grid))},columnMenuClose(){this.onNavFocus({}),this.columnMenuOpened={}}},computed:{element(){return this._element},theadClasses(){return{"k-table-thead":!0}}},render(){const t=Z.provideLocalizationService(this),n=t.toLanguageString(s.sortableColumnAriaLabel,s.messages[s.sortableColumnAriaLabel]),m=t.toLanguageString(s.sortableColumnAscendingAriaLabel,s.messages[s.sortableColumnAscendingAriaLabel]),g=t.toLanguageString(s.sortableColumnDescendingAriaLabel,s.messages[s.sortableColumnDescendingAriaLabel]);this.serviceIndex=0,this.index=-1;const i=this.$props.columnVirtualization,d=function(u,o){const a=ee.getVirtualHeaderCellsToRender({cellsToRender:this.$props.cellsToRender||[],columns:this.$props.columns,rowIndex:o,enableVirtualization:i,columnsMap:this.$props.columnsMap}),V=i;let k=V&&a.columnsToRender?a.columnsToRender:u;const D=V?a.colSpans:[];return!k||k.length===0?[]:k.map(function(v,N){var I,A,L;const e=this.$props.columns[v],b=this.$props.sortable&&e.sortable,R=this.$props.sort?this.$props.sort.findIndex(r=>r.field===e.field):-1,H=R>=0&&this.$props.sort[R].dir||"none",h=function(r){if(!this.$props.sort)return null;const $=r>=0?this.$props.sort[r].dir:"";return r>=0&&[l.createVNode("span",{key:1,class:"k-sort-icon"},[l.createVNode(c.Icon,{name:"sort-"+$+"-small",icon:$==="asc"?z.sortAscSmallIcon:z.sortDescSmallIcon},null)]),this.$props.sort.length>1&&l.createVNode("span",{key:2,class:"k-sort-icon"},[l.createVNode("span",{class:"k-sort-order"},[r+1])])]}.call(this,R),p=e.columnMenu||e.columnMenu===!1?e.columnMenu:this.$props.columnMenu,j=e.menuIcon||this.$props.columnMenuIcon,w=(e.kFirst?"k-first ":"")+this.cellClass(e.field,e.headerClassName,e.locked)+(p?" k-filterable":""),T=!p||typeof p=="boolean"?!!p:this.getTemplate(p),F=a.skipOffset?{borderLeftWidth:"1px"}:void 0,q=e.locked&&(e.left!==void 0||e.right!==void 0)?this.$props.isRtl?{left:e.right+"px",right:e.left+"px"}:{left:e.left+"px",right:e.right+"px"}:F,x=M[H]==="none"?n:M[H]==="ascending"?m:g;let f=e.isAccessible?{ariaSort:M[H],ariaLabel:x,role:"columnheader",ariaColumnIndex:this.$props.isColCountDefined?this.$props.columnsInitial.findIndex(r=>r.field===e.field)+1:void 0,ariaSelected:!1,ariaHaspopup:p?"menu":this.$props.filterable&&e.filterable?"dialog":void 0}:{role:"columnheader"};const B=e.declarationIndex>=0?++this.index:--this.serviceIndex,K=e.columnMenuOpened!==void 0?e.columnMenuOpened:this.columnMenuOpened[e.field],P=(I=D[N])!=null?I:e.headerColSpan,y=Y.resolveCells(this.$props.cells,e.cells),O={ariaSort:b?f.ariaSort:void 0,ariaLabel:b?f.ariaLabel:void 0,role:f.role,ariaColumnIndex:f.ariaColumnIndex,ariaSelected:f.ariaSelected,ariaHaspopup:f.ariaHaspopup,key:B,colSpan:P,rowSpan:e.rowSpan,class:w,style:q,columnId:e.id,navigatable:e.navigatable,onKeydown:r=>this.cellKeyDown(r,e)},C=[e.children.length===0&&p&&l.createVNode(Q.ColumnMenu,{key:0,column:{field:e.field,filter:e.filter},opened:K,animate:this.$props.columnMenuAnimate,sortable:b,sort:this.$props.sort,onClose:this.columnMenuClose,onSortchange:this.sortChangeHandler,filter:this.$props.filter,filterable:this.$props.filterable&&e.filterable,filterOperators:this.$props.filterOperators,onFilterchange:this.filterChangeHandler,render:T,columnMenuIcon:j},null),e.defaultHeaderCell&&l.createVNode("span",{class:"k-cell-inner"},[l.createVNode(e.defaultHeaderCell,{key:1,field:e.field,sortable:b,onHeadercellclick:r=>this.cellClick(r,e),onSelectionchange:this.selectionChangeHandler,selectionValue:(A=e.headerSelectionValue)!=null?A:this.$props.headerSelectionValue,title:e.title,render:(e.headerCell||this.$props.cellRender)&&this.getTemplate(e.headerCell||this.$props.cellRender)},S(h)?h:{default:()=>[h]})])||l.createVNode("span",{class:"k-cell-inner"},[l.createVNode(J.GridHeaderCell,{key:1,field:e.field,sortable:b,onHeadercellclick:r=>this.cellClick(r,e),selectionValue:(L=e.headerSelectionValue)!=null?L:this.$props.headerSelectionValue,title:e.title,render:(e.headerCell||this.$props.cellRender)&&this.getTemplate(e.headerCell||this.$props.cellRender)},S(h)?h:{default:()=>[h]})]),this.$props.columnResize&&this.$props.columnResize.resizable&&e.resizable&&l.createVNode(U.ColumnResizer,{key:2,onResize:(r,$,G)=>this.$props.columnResize&&this.$props.columnResize.dragHandler(r,e,$,G)},null)],_=l.createVNode(X.HeaderThElement,O,S(C)?C:{default:()=>[C]});return c.getTemplate.call(this,{h:l.h,template:y==null?void 0:y.headerCell,defaultRendering:_,additionalProps:{field:e.field,thProps:O},defaultSlots:C})},this)};return l.createVNode("thead",{role:"rowgroup",class:this.theadClasses,"data-keyboardnavheader":!0},[this.$props.columnsMap.map(function(u,o){let a;return(this.$props.groupable||this.$props.reorderable)&&l.createVNode(W.ColumnDraggable,{key:o,onPressHandler:this.pressHandler,onDragHandler:this.dragHandler,onReleaseHandler:this.releaseHandler},S(a=d.call(this,u,o))?a:{default:()=>[a]})||l.createVNode("tr",{class:"k-table-row",role:"row","aria-rowindex":o+1},[d.call(this,u,o)])},this),this.$props.filterRow])}});exports.HeaderRow=ne;
@@ -11,10 +11,10 @@ import { ColumnResizer as Y } from "../drag/ColumnResizer.mjs";
11
11
  import { ColumnDraggable as Z } from "../drag/ColumnDraggable.mjs";
12
12
  import { GridHeaderCell as ee } from "./GridHeaderCell.mjs";
13
13
  import { ColumnMenu as te } from "../columnMenu/ColumnMenu.mjs";
14
- import { noop as le, templateRendering as ne, getListeners as re, Keys as w, hasListener as oe, getTemplate as se, Icon as ie } from "@progress/kendo-vue-common";
14
+ import { noop as le, templateRendering as ne, getListeners as re, Keys as A, hasListener as oe, getTemplate as se, Icon as ie } from "@progress/kendo-vue-common";
15
15
  import { HeaderThElement as ae } from "@progress/kendo-vue-data-tools";
16
16
  import { resolveCells as ce } from "../utils/main.mjs";
17
- import { sortableColumnAriaLabel as A, messages as H, sortableColumnAscendingAriaLabel as D, sortableColumnDescendingAriaLabel as j } from "../messages/main.mjs";
17
+ import { sortableColumnAriaLabel as j, messages as H, sortableColumnAscendingAriaLabel as w, sortableColumnDescendingAriaLabel as D } from "../messages/main.mjs";
18
18
  import { provideLocalizationService as de } from "@progress/kendo-vue-intl";
19
19
  import { sortAscSmallIcon as pe, sortDescSmallIcon as ue } from "@progress/kendo-svg-icons";
20
20
  import { getVirtualHeaderCellsToRender as he } from "../utils/virtualColumns.mjs";
@@ -36,7 +36,7 @@ const y = {
36
36
  desc: "asc",
37
37
  "": "asc"
38
38
  }
39
- }, we = /* @__PURE__ */ W({
39
+ }, Ae = /* @__PURE__ */ W({
40
40
  name: "KendoHeaderRow",
41
41
  props: {
42
42
  grid: Object,
@@ -135,7 +135,7 @@ const y = {
135
135
  return this.$props.sort && this.$props.sort.filter((a) => a.field === t).length > 0 && (s += " k-sorted"), s;
136
136
  },
137
137
  cellKeyDown(t, l) {
138
- t.defaultPrevented || (t.keyCode === w.enter && this.cellClick(t, l), t.altKey && t.keyCode === w.down && l.field && (t.preventDefault(), this.columnMenuOpened = {
138
+ t.defaultPrevented || (t.keyCode === A.enter && this.cellClick(t, l), t.altKey && t.keyCode === A.down && l.field && (t.preventDefault(), this.columnMenuOpened = {
139
139
  [l.field]: !0
140
140
  }));
141
141
  },
@@ -157,7 +157,7 @@ const y = {
157
157
  }
158
158
  },
159
159
  render() {
160
- const t = de(this), l = t.toLanguageString(A, H[A]), h = t.toLanguageString(D, H[D]), f = t.toLanguageString(j, H[j]);
160
+ const t = de(this), l = t.toLanguageString(j, H[j]), h = t.toLanguageString(w, H[w]), f = t.toLanguageString(D, H[D]);
161
161
  this.serviceIndex = 0, this.index = -1;
162
162
  const s = this.$props.columnVirtualization, a = function(c, o) {
163
163
  const i = he({
@@ -171,7 +171,7 @@ const y = {
171
171
  const F = M ? i.colSpans : [];
172
172
  return !$ || $.length === 0 ? [] : $.map(function(V, v) {
173
173
  var I, z, L;
174
- const e = this.$props.columns[V], m = this.$props.sortable && e.sortable, S = this.$props.sort ? this.$props.sort.findIndex((n) => n.field === e.field) : -1, k = S >= 0 && this.$props.sort[S].dir || "none", p = function(n) {
174
+ const e = this.$props.columns[V], m = this.$props.sortable && e.sortable, k = this.$props.sort ? this.$props.sort.findIndex((n) => n.field === e.field) : -1, S = k >= 0 && this.$props.sort[k].dir || "none", p = function(n) {
175
175
  if (!this.$props.sort)
176
176
  return null;
177
177
  const b = n >= 0 ? this.$props.sort[n].dir : "";
@@ -187,7 +187,7 @@ const y = {
187
187
  }, [r("span", {
188
188
  class: "k-sort-order"
189
189
  }, [n + 1])])];
190
- }.call(this, S), d = e.columnMenu || e.columnMenu === !1 ? e.columnMenu : this.$props.columnMenu, x = e.menuIcon || this.$props.columnMenuIcon, T = (e.kFirst ? "k-first " : "") + this.cellClass(e.field, e.headerClassName, e.locked) + (d ? " k-filterable" : ""), B = !d || typeof d == "boolean" ? !!d : this.getTemplate(d), K = i.skipOffset ? {
190
+ }.call(this, k), d = e.columnMenu || e.columnMenu === !1 ? e.columnMenu : this.$props.columnMenu, x = e.menuIcon || this.$props.columnMenuIcon, T = (e.kFirst ? "k-first " : "") + this.cellClass(e.field, e.headerClassName, e.locked) + (d ? " k-filterable" : ""), B = !d || typeof d == "boolean" ? !!d : this.getTemplate(d), K = i.skipOffset ? {
191
191
  borderLeftWidth: "1px"
192
192
  } : void 0, P = e.locked && (e.left !== void 0 || e.right !== void 0) ? this.$props.isRtl ? {
193
193
  left: e.right + "px",
@@ -195,9 +195,9 @@ const y = {
195
195
  } : {
196
196
  left: e.left + "px",
197
197
  right: e.right + "px"
198
- } : K, N = y[k] === "none" ? l : y[k] === "ascending" ? h : f;
198
+ } : K, N = y[S] === "none" ? l : y[S] === "ascending" ? h : f;
199
199
  let u = e.isAccessible ? {
200
- ariaSort: y[k],
200
+ ariaSort: y[S],
201
201
  ariaLabel: N,
202
202
  role: "columnheader",
203
203
  ariaColumnIndex: this.$props.isColCountDefined ? this.$props.columnsInitial.findIndex((n) => n.field === e.field) + 1 : void 0,
@@ -278,8 +278,7 @@ const y = {
278
278
  field: e.field,
279
279
  thProps: O
280
280
  },
281
- defaultSlots: g,
282
- swapDefaultSlots: !0
281
+ defaultSlots: g
283
282
  });
284
283
  }, this);
285
284
  };
@@ -305,5 +304,5 @@ const y = {
305
304
  }
306
305
  });
307
306
  export {
308
- we as HeaderRow
307
+ Ae as HeaderRow
309
308
  };
@@ -18,6 +18,7 @@ import { PopupAnimation } from '@progress/kendo-vue-popup';
18
18
  import { SVGIcon } from '@progress/kendo-vue-common';
19
19
  import { GridColumnState } from './GridColumnState';
20
20
  import { GridRowSpannableSettings } from './GridRowSpannableSettings';
21
+ import { GridRowsSettings } from './GridRowsSettings';
21
22
  import { GridSelectableSettings } from './GridSelectableSettings';
22
23
  /**
23
24
  * Represents the props of the [native Vue Grid component by Kendo UI]({% slug overview_grid %}).
@@ -94,6 +95,19 @@ export interface GridProps {
94
95
  * ```
95
96
  */
96
97
  cells?: GridCellsSettings;
98
+ /**
99
+ * Defines a set of custom row components that the Grid will render instead of the default rows.
100
+ *
101
+ * @example
102
+ * ```vue
103
+ * <Grid
104
+ * :rows="{
105
+ * pinnedData: CustomPinnedRow
106
+ * }"
107
+ * />
108
+ * ```
109
+ */
110
+ rows?: GridRowsSettings;
97
111
  /**
98
112
  * Enables the sorting for the columns with their `field` option set
99
113
  * ([see example]({% slug sorting_grid %})).
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-vue-grid",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1774970639,version:"8.1.0-develop.6",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/"};exports.packageMetadata=e;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-vue-grid",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1775034089,version:"8.1.0-develop.8",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/"};exports.packageMetadata=e;
@@ -10,8 +10,8 @@ const e = {
10
10
  productName: "Kendo UI for Vue",
11
11
  productCode: "KENDOUIVUE",
12
12
  productCodes: ["KENDOUIVUE"],
13
- publishDate: 1774970639,
14
- version: "8.1.0-develop.6",
13
+ publishDate: 1775034089,
14
+ version: "8.1.0-develop.8",
15
15
  licensingDocsUrl: "https://www.telerik.com/kendo-vue-ui/my-license/"
16
16
  };
17
17
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-vue-grid",
3
- "version": "8.1.0-develop.6",
3
+ "version": "8.1.0-develop.8",
4
4
  "description": "TODO",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -27,17 +27,17 @@
27
27
  "@progress/kendo-data-query": "^1.7.0",
28
28
  "@progress/kendo-drawing": "^1.21.1",
29
29
  "@progress/kendo-licensing": "^1.7.2",
30
- "@progress/kendo-vue-animation": "8.1.0-develop.6",
31
- "@progress/kendo-vue-buttons": "8.1.0-develop.6",
32
- "@progress/kendo-vue-common": "8.1.0-develop.6",
33
- "@progress/kendo-vue-data-tools": "8.1.0-develop.6",
34
- "@progress/kendo-vue-dateinputs": "8.1.0-develop.6",
35
- "@progress/kendo-vue-indicators": "8.1.0-develop.6",
36
- "@progress/kendo-vue-dropdowns": "8.1.0-develop.6",
37
- "@progress/kendo-vue-inputs": "8.1.0-develop.6",
38
- "@progress/kendo-vue-intl": "8.1.0-develop.6",
39
- "@progress/kendo-vue-popup": "8.1.0-develop.6",
40
- "@progress/kendo-vue-layout": "8.1.0-develop.6",
30
+ "@progress/kendo-vue-animation": "8.1.0-develop.8",
31
+ "@progress/kendo-vue-buttons": "8.1.0-develop.8",
32
+ "@progress/kendo-vue-common": "8.1.0-develop.8",
33
+ "@progress/kendo-vue-data-tools": "8.1.0-develop.8",
34
+ "@progress/kendo-vue-dateinputs": "8.1.0-develop.8",
35
+ "@progress/kendo-vue-indicators": "8.1.0-develop.8",
36
+ "@progress/kendo-vue-dropdowns": "8.1.0-develop.8",
37
+ "@progress/kendo-vue-inputs": "8.1.0-develop.8",
38
+ "@progress/kendo-vue-intl": "8.1.0-develop.8",
39
+ "@progress/kendo-vue-popup": "8.1.0-develop.8",
40
+ "@progress/kendo-vue-layout": "8.1.0-develop.8",
41
41
  "@progress/kendo-svg-icons": "^4.4.0",
42
42
  "vue": "^3.0.2"
43
43
  },
@@ -58,7 +58,7 @@
58
58
  "package": {
59
59
  "productName": "Kendo UI for Vue",
60
60
  "productCode": "KENDOUIVUE",
61
- "publishDate": 1774970639,
61
+ "publishDate": 1775034089,
62
62
  "licensingDocsUrl": "https://www.telerik.com/kendo-vue-ui/my-license/"
63
63
  }
64
64
  },
package/rows/GridRow.d.ts CHANGED
@@ -35,6 +35,7 @@ declare const GridRow: import('vue').DefineComponent<import('vue').ExtractPropTy
35
35
  absoluteRowIndex: PropType<number>;
36
36
  dataIndex: PropType<number>;
37
37
  render: PropType<any>;
38
+ rows: PropType<import('../interfaces/GridRowsSettings').GridRowsSettings>;
38
39
  onRowclick: PropType<any>;
39
40
  onRowdblclick: PropType<Function>;
40
41
  }>, {}, {}, {
@@ -60,6 +61,7 @@ declare const GridRow: import('vue').DefineComponent<import('vue').ExtractPropTy
60
61
  absoluteRowIndex: PropType<number>;
61
62
  dataIndex: PropType<number>;
62
63
  render: PropType<any>;
64
+ rows: PropType<import('../interfaces/GridRowsSettings').GridRowsSettings>;
63
65
  onRowclick: PropType<any>;
64
66
  onRowdblclick: PropType<Function>;
65
67
  }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
package/rows/GridRow.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 t=require("vue"),o=require("@progress/kendo-vue-common"),l=t.defineComponent({name:"KendoGridRow",props:{rowType:String,isPinned:Boolean,item:Object,isAltRow:Boolean,isHidden:Boolean,isHighlighted:Boolean,onClick:Function,isInEdit:Boolean,isSelected:Boolean,selectedField:String,rowHeight:Number,ariaRowIndex:Number,absoluteRowIndex:Number,dataIndex:Number,render:[String,Function,Object],onRowclick:Function,onRowdblclick:Function},methods:{handleClick(e){this.$emit("rowclick",e)},handleDoubleClick(e){this.$emit("rowdblclick",e)}},computed:{trClass(){const{rowType:e,isAltRow:i,isInEdit:r,isHighlighted:s,isSelected:n,isPinned:d}=this.$props;return o.uGrid.tr({selected:n,highlighted:s,isHeader:e==="groupHeader",isFooter:e==="groupFooter",isMaster:e!=="groupHeader"&&e!=="groupFooter",isAltRow:i,isInEdit:r,isPinned:d})}},render(){const e=o.getDefaultSlots(this),i=t.createVNode("tr",{onClick:this.handleClick,onDblclick:this.handleDoubleClick,class:this.trClass,style:{height:this.$props.rowHeight?this.$props.rowHeight+"px":"",visibility:this.$props.isHidden?"hidden":""},role:"row","aria-rowindex":this.$props.ariaRowIndex,"absolute-row-index":this.$props.absoluteRowIndex,"data-grid-row-index":this.$props.rowType==="data"?this.$props.dataIndex:void 0},[e]);return o.getTemplate.call(this,{h:t.h,template:this.$props.render,defaultRendering:i,additionalProps:{...this.$props,dataItem:this.$props.item.dataItem},additionalListeners:{click:this.handleClick},defaultSlots:e,swapDefaultSlots:!0})}});exports.GridRow=l;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),n=require("@progress/kendo-vue-common"),l=s.defineComponent({name:"KendoGridRow",props:{rowType:String,isPinned:Boolean,item:Object,isAltRow:Boolean,isHidden:Boolean,isHighlighted:Boolean,onClick:Function,isInEdit:Boolean,isSelected:Boolean,selectedField:String,rowHeight:Number,ariaRowIndex:Number,absoluteRowIndex:Number,dataIndex:Number,render:[String,Function,Object],rows:Object,onRowclick:Function,onRowdblclick:Function},methods:{handleClick(e){this.$emit("rowclick",e)},handleDoubleClick(e){this.$emit("rowdblclick",e)}},computed:{trClass(){const{rowType:e,isAltRow:i,isInEdit:o,isHighlighted:r,isSelected:t,isPinned:d}=this.$props;return n.uGrid.tr({selected:t,highlighted:r,isHeader:e==="groupHeader",isFooter:e==="groupFooter",isMaster:e!=="groupHeader"&&e!=="groupFooter",isAltRow:i,isInEdit:o,isPinned:d})}},render(){const e=n.getDefaultSlots(this),i={onClick:this.handleClick,onDblclick:this.handleDoubleClick,class:this.trClass,style:{height:this.$props.rowHeight?this.$props.rowHeight+"px":"",visibility:this.$props.isHidden?"hidden":""},role:"row","aria-rowindex":this.$props.ariaRowIndex,"absolute-row-index":this.$props.absoluteRowIndex,"data-grid-row-index":this.$props.rowType==="data"?this.$props.dataIndex:void 0},o=s.createVNode("tr",i,[e]),r=this.$props.rowType||"data",t=this.$props.rows;return n.getTemplate.call(this,{h:s.h,template:this.$props.render||(t==null?void 0:t[r]),defaultRendering:o,additionalProps:{...this.$props,dataItem:this.$props.item.dataItem,trProps:i,defaultSlots:e},additionalListeners:{click:this.handleClick,dblclick:this.handleDoubleClick},defaultSlots:e,swapDefaultSlots:!0})}});exports.GridRow=l;
package/rows/GridRow.mjs CHANGED
@@ -25,6 +25,7 @@ const w = /* @__PURE__ */ n({
25
25
  absoluteRowIndex: Number,
26
26
  dataIndex: Number,
27
27
  render: [String, Function, Object],
28
+ rows: Object,
28
29
  onRowclick: Function,
29
30
  onRowdblclick: Function
30
31
  },
@@ -41,25 +42,25 @@ const w = /* @__PURE__ */ n({
41
42
  const {
42
43
  rowType: e,
43
44
  isAltRow: i,
44
- isInEdit: t,
45
- isHighlighted: o,
46
- isSelected: r,
45
+ isInEdit: o,
46
+ isHighlighted: r,
47
+ isSelected: t,
47
48
  isPinned: s
48
49
  } = this.$props;
49
50
  return h.tr({
50
- selected: r,
51
- highlighted: o,
51
+ selected: t,
52
+ highlighted: r,
52
53
  isHeader: e === "groupHeader",
53
54
  isFooter: e === "groupFooter",
54
55
  isMaster: e !== "groupHeader" && e !== "groupFooter",
55
56
  isAltRow: i,
56
- isInEdit: t,
57
+ isInEdit: o,
57
58
  isPinned: s
58
59
  });
59
60
  }
60
61
  },
61
62
  render() {
62
- const e = a(this), i = d("tr", {
63
+ const e = a(this), i = {
63
64
  onClick: this.handleClick,
64
65
  onDblclick: this.handleDoubleClick,
65
66
  class: this.trClass,
@@ -71,17 +72,20 @@ const w = /* @__PURE__ */ n({
71
72
  "aria-rowindex": this.$props.ariaRowIndex,
72
73
  "absolute-row-index": this.$props.absoluteRowIndex,
73
74
  "data-grid-row-index": this.$props.rowType === "data" ? this.$props.dataIndex : void 0
74
- }, [e]);
75
+ }, o = d("tr", i, [e]), r = this.$props.rowType || "data", t = this.$props.rows;
75
76
  return p.call(this, {
76
77
  h: l,
77
- template: this.$props.render,
78
- defaultRendering: i,
78
+ template: this.$props.render || (t == null ? void 0 : t[r]),
79
+ defaultRendering: o,
79
80
  additionalProps: {
80
81
  ...this.$props,
81
- dataItem: this.$props.item.dataItem
82
+ dataItem: this.$props.item.dataItem,
83
+ trProps: i,
84
+ defaultSlots: e
82
85
  },
83
86
  additionalListeners: {
84
- click: this.handleClick
87
+ click: this.handleClick,
88
+ dblclick: this.handleDoubleClick
85
89
  },
86
90
  defaultSlots: e,
87
91
  swapDefaultSlots: !0