@progress/kendo-vue-grid 8.1.0-develop.2 → 8.1.0-develop.4

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.
Files changed (61) hide show
  1. package/Grid.d.ts +56 -5
  2. package/Grid.js +1 -1
  3. package/Grid.mjs +667 -649
  4. package/GridNav.d.ts +24 -4
  5. package/GridNav.js +1 -1
  6. package/GridNav.mjs +62 -22
  7. package/GridState.d.ts +4 -0
  8. package/RootGrid.d.ts +32 -11
  9. package/RootGrid.js +1 -1
  10. package/RootGrid.mjs +96 -57
  11. package/cells/GridCell.js +1 -1
  12. package/cells/GridCell.mjs +35 -26
  13. package/cells/GridGroupCell.d.ts +10 -0
  14. package/cells/GridGroupCell.js +1 -1
  15. package/cells/GridGroupCell.mjs +95 -53
  16. package/columnMenu/GridColumnMenuCheckboxFilter.d.ts +1 -1
  17. package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
  18. package/columnMenu/GridColumnMenuCheckboxFilter.mjs +11 -11
  19. package/common.d.ts +2 -0
  20. package/common.js +1 -1
  21. package/common.mjs +2 -0
  22. package/components/StickyGroupTable.d.ts +85 -0
  23. package/components/StickyGroupTable.js +8 -0
  24. package/components/StickyGroupTable.mjs +113 -0
  25. package/dist/cdn/js/kendo-vue-grid.js +1 -1
  26. package/drag/ColumnResize.d.ts +10 -1
  27. package/drag/ColumnResize.js +1 -1
  28. package/drag/ColumnResize.mjs +129 -104
  29. package/drag/GroupingIndicator.d.ts +1 -0
  30. package/drag/GroupingIndicator.js +1 -1
  31. package/drag/GroupingIndicator.mjs +28 -18
  32. package/footer/FooterCell.d.ts +43 -0
  33. package/footer/FooterCell.js +8 -0
  34. package/footer/FooterCell.mjs +68 -0
  35. package/footer/FooterRow.d.ts +5 -6
  36. package/footer/FooterRow.js +1 -1
  37. package/footer/FooterRow.mjs +16 -39
  38. package/getRowContents.d.ts +85 -0
  39. package/getRowContents.js +8 -0
  40. package/getRowContents.mjs +172 -0
  41. package/header/GridHeaderGroupSpacerCell.d.ts +11 -0
  42. package/hooks/useStickyGroups.d.ts +72 -0
  43. package/hooks/useStickyGroups.js +8 -0
  44. package/hooks/useStickyGroups.mjs +350 -0
  45. package/index.d.mts +1 -0
  46. package/index.d.ts +1 -0
  47. package/index.js +1 -1
  48. package/index.mjs +74 -73
  49. package/interfaces/GridCellProps.d.ts +4 -0
  50. package/interfaces/GridCellsSettings.d.ts +320 -0
  51. package/interfaces/GridColumnProps.d.ts +11 -1
  52. package/interfaces/GridGroupableSettings.d.ts +23 -0
  53. package/interfaces/GridProps.d.ts +33 -0
  54. package/messages/main.d.ts +5 -0
  55. package/messages/main.js +2 -2
  56. package/messages/main.mjs +15 -13
  57. package/package-metadata.js +1 -1
  58. package/package-metadata.mjs +2 -2
  59. package/package.json +12 -12
  60. package/utils/main.js +1 -1
  61. package/utils/main.mjs +80 -76
@@ -5,12 +5,12 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as a, createVNode as l, h as d, inject as p } from "vue";
9
- import { getNestedValue as c, parsers as g } from "../utils/main.mjs";
10
- import { provideIntlService as h } from "@progress/kendo-vue-intl";
11
- import { noop as m, getTemplate as u } from "@progress/kendo-vue-common";
12
- import { KEYBOARD_NAV_DATA_ID as $, KEYBOARD_NAV_DATA_LEVEL as f } from "@progress/kendo-vue-data-tools";
13
- const I = /* @__PURE__ */ a({
8
+ import { defineComponent as c, createVNode as d, h as g, inject as h } from "vue";
9
+ import { getNestedValue as m, parsers as u } from "../utils/main.mjs";
10
+ import { provideIntlService as $ } from "@progress/kendo-vue-intl";
11
+ import { noop as f, getTemplate as S } from "@progress/kendo-vue-common";
12
+ import { KEYBOARD_NAV_DATA_ID as l, KEYBOARD_NAV_DATA_LEVEL as p } from "@progress/kendo-vue-data-tools";
13
+ const I = /* @__PURE__ */ c({
14
14
  name: "GridCell",
15
15
  inheritAttrs: !1,
16
16
  emits: {
@@ -52,7 +52,7 @@ const I = /* @__PURE__ */ a({
52
52
  default: null
53
53
  },
54
54
  getKeyboardNavigationAttributes: {
55
- default: m
55
+ default: f
56
56
  }
57
57
  },
58
58
  methods: {
@@ -86,45 +86,51 @@ const I = /* @__PURE__ */ a({
86
86
  }
87
87
  },
88
88
  created() {
89
- this._intl = h(this);
89
+ this._intl = $(this);
90
90
  },
91
91
  computed: {
92
92
  tdClass() {
93
93
  const {
94
94
  className: e,
95
95
  isSelected: t,
96
- isHighlighted: r
96
+ isHighlighted: i
97
97
  } = this.$props;
98
98
  return {
99
99
  "k-table-td": !0,
100
100
  "k-selected": t,
101
- "k-highlighted": r,
101
+ "k-highlighted": i,
102
102
  [e]: e
103
103
  };
104
104
  }
105
105
  },
106
106
  setup() {
107
107
  return {
108
- kendoIntlService: p("kendoIntlService", {})
108
+ kendoIntlService: h("kendoIntlService", {})
109
109
  };
110
110
  },
111
111
  render() {
112
- var r, n, o;
112
+ var n, o, s;
113
113
  let e = null;
114
114
  const t = this.getKeyboardNavigationAttributes(this.$props.id);
115
- if (((r = this.$props.rowSpan) == null ? void 0 : r.count) === null)
115
+ let i = {};
116
+ if (((n = this.$props.rowSpan) == null ? void 0 : n.count) === null)
116
117
  return null;
117
118
  if (this.$props.rowType === "groupFooter")
118
- e = l("td", {
119
- class: this.tdClass
120
- }, null);
119
+ i = {
120
+ class: this.tdClass,
121
+ onKeydown: this.triggerKeydown,
122
+ onClick: this.triggerClick,
123
+ tabindex: t.tabIndex,
124
+ "data-keyboardnavlevel": t[p],
125
+ "data-keyboardnavid": t[l]
126
+ }, e = d("td", i, null);
121
127
  else if (this.$props.field !== void 0 && this.$props.rowType !== "groupHeader") {
122
- const i = c(this.$props.field, this.$props.dataItem);
123
- let s = "";
124
- i != null && (s = this.$props.format ? this.$props.type ? this._intl.format(this.$props.format, g[this.$props.type](i, this._intl, this.$props.readFormat)) : this._intl.format(this.$props.format, i) : i.toString()), e = l("td", {
128
+ const r = m(this.$props.field, this.$props.dataItem);
129
+ let a = "";
130
+ r != null && (a = this.$props.format ? this.$props.type ? this._intl.format(this.$props.format, u[this.$props.type](r, this._intl, this.$props.readFormat)) : this._intl.format(this.$props.format, r) : r.toString()), i = {
125
131
  style: this.$attrs.style,
126
132
  colspan: this.$props.colSpan,
127
- rowspan: (o = (n = this.$props.rowSpan) == null ? void 0 : n.count) != null ? o : void 0,
133
+ rowspan: (s = (o = this.$props.rowSpan) == null ? void 0 : o.count) != null ? s : void 0,
128
134
  class: this.tdClass,
129
135
  onKeydown: this.triggerKeydown,
130
136
  onClick: this.triggerClick,
@@ -133,15 +139,18 @@ const I = /* @__PURE__ */ a({
133
139
  "aria-selected": this.$props.isSelected,
134
140
  "data-grid-col-index": this.$props.columnIndex,
135
141
  tabindex: t.tabIndex,
136
- "data-keyboardnavlevel": t[f],
137
- "data-keyboardnavid": t[$]
138
- }, [s]);
142
+ "data-keyboardnavlevel": t[p],
143
+ "data-keyboardnavid": t[l]
144
+ }, e = d("td", i, [a]);
139
145
  }
140
- return u.call(this, {
141
- h: d,
146
+ return S.call(this, {
147
+ h: g,
142
148
  template: this.$props.render,
143
149
  defaultRendering: e,
144
- additionalProps: this.$props,
150
+ additionalProps: {
151
+ ...this.$props,
152
+ tdProps: i
153
+ },
145
154
  additionalListeners: {
146
155
  click: this.triggerClick,
147
156
  keydown: this.triggerKeydown,
@@ -21,6 +21,7 @@ declare const GridGroupCell: import('vue').DefineComponent<import('vue').Extract
21
21
  columnsCount: PropType<number>;
22
22
  rowType: PropType<string>;
23
23
  level: PropType<number>;
24
+ locked: PropType<boolean>;
24
25
  expanded: PropType<boolean>;
25
26
  editor: PropType<string>;
26
27
  dataIndex: PropType<number>;
@@ -33,6 +34,14 @@ declare const GridGroupCell: import('vue').DefineComponent<import('vue').Extract
33
34
  tdClass(): {
34
35
  [x: number]: any;
35
36
  'k-table-td': boolean;
37
+ 'k-grid-content-sticky': any;
38
+ };
39
+ tdStyle(): any;
40
+ groupTdClass(): {
41
+ [x: number]: any;
42
+ 'k-table-td': boolean;
43
+ 'k-group-cell': boolean;
44
+ 'k-grid-content-sticky': any;
36
45
  };
37
46
  }, {
38
47
  triggerStateChange(): void;
@@ -53,6 +62,7 @@ declare const GridGroupCell: import('vue').DefineComponent<import('vue').Extract
53
62
  columnsCount: PropType<number>;
54
63
  rowType: PropType<string>;
55
64
  level: PropType<number>;
65
+ locked: PropType<boolean>;
56
66
  expanded: PropType<boolean>;
57
67
  editor: PropType<string>;
58
68
  dataIndex: PropType<number>;
@@ -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"),o=require("@progress/kendo-vue-common"),c=require("@progress/kendo-vue-data-tools"),r=require("../messages/main.js"),f=require("@progress/kendo-vue-intl"),u=require("@progress/kendo-svg-icons"),k=n.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,expanded:Boolean,editor:String,dataIndex:Number,isSelected:Boolean,isRtl:Boolean,ariaColumnIndex:Number,group:Object,render:[String,Function,Object]},emits:{change:null,cellkeydown:null},inject:{kendo:{default:null},kendoIntlService:{default:null},kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:o.noop}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},methods:{triggerStateChange(){var t;const e=this.kendo;(t=e==null?void 0:e.dispatchGroupExpand)==null||t.call(e,{type:c.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===o.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,i){e.preventDefault(),this.$emit("change",{dataItem:t,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!i}),this.triggerStateChange()}},render(){let e=null;const{columnIndex:t,level:i,columnsCount:g,rowType:b,dataItem:l,field:d,expanded:a,render:I}=this.$props,s=this.getKeyboardNavigationAttributes(this.$props.id),h=f.provideLocalizationService(this).toLanguageString(r.groupCaretAriaLabelCollapse,r.messages[r.groupCaretAriaLabelCollapse]),m=f.provideLocalizationService(this).toLanguageString(r.groupCaretAriaLabelExpand,r.messages[r.groupCaretAriaLabelExpand]);return t===void 0||i===void 0||t<i||g===void 0||b!=="groupHeader"||l[d]===void 0?e=n.createVNode("td",{style:this.$attrs.style,key:"g"+t,class:"k-table-td k-group-cell"},null):t<=i&&(e=n.createVNode("td",{style:this.$attrs.style,onKeydown:p=>{this.triggerKeydown(p,a)},key:"g-colspan",class:this.tdClass,colspan:g-t,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"aria-expanded":a,"data-grid-col-index":this.$props.columnIndex,tabindex:s.tabIndex,"data-keyboardnavlevel":s[c.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":s[c.KEYBOARD_NAV_DATA_ID]},[n.createVNode("p",{class:"k-reset"},[n.createVNode("a",{onClick:p=>{this.clickHandler(p,l,a)},href:"#",tabindex:-1,title:a?h:m,"aria-label":a?h:m},[n.createVNode(o.Icon,{name:a?"caret-alt-down":this.isRtl?"caret-alt-left":"caret-alt-right",icon:a?u.caretAltDownIcon:this.isRtl?u.caretAltLeftIcon:u.caretAltRightIcon},null)]),l[d]?l[d].toString():""])])),o.getTemplate.call(this,{h:n.h,template:I,defaultRendering:e,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler}})}});exports.GridGroupCell=k;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),i=require("@progress/kendo-vue-common"),g=require("@progress/kendo-vue-data-tools"),n=require("../messages/main.js"),y=require("@progress/kendo-vue-intl"),h=require("@progress/kendo-svg-icons"),v=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]},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:g.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;const{columnIndex:t,level:l,columnsCount:d,rowType:I,dataItem:o,field:s,expanded:r,render:S,locked:c}=this.$props,p=this.getKeyboardNavigationAttributes(this.$props.id),m=y.provideLocalizationService(this).toLanguageString(n.groupCaretAriaLabelCollapse,n.messages[n.groupCaretAriaLabelCollapse]),k=y.provideLocalizationService(this).toLanguageString(n.groupCaretAriaLabelExpand,n.messages[n.groupCaretAriaLabelExpand]);if(t===void 0||l===void 0||t<l||d===void 0||I!=="groupHeader"||o[s]===void 0)e=a.createVNode("td",{style:this.$attrs.style,key:"g"+t,class:this.groupTdClass},null);else if(t<=l){const f=a.createVNode("td",{style:this.tdStyle,onKeydown:u=>{this.triggerKeydown(u,r)},key:"g-colspan",class:c?"k-table-td":this.tdClass,colspan:c?0:d-t,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"aria-expanded":r,"data-grid-col-index":this.$props.columnIndex,tabindex:p.tabIndex,"data-keyboardnavlevel":p[g.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":p[g.KEYBOARD_NAV_DATA_ID]},[a.createVNode("p",{class:"k-reset"},[a.createVNode("a",{onClick:u=>{this.clickHandler(u,o,r)},href:"#",tabindex:-1,title:r?m:k,"aria-label":r?m:k},[a.createVNode(i.Icon,{name:r?"caret-alt-down":this.isRtl?"caret-alt-left":"caret-alt-right",icon:r?h.caretAltDownIcon:this.isRtl?h.caretAltLeftIcon:h.caretAltRightIcon},null)]),o[s]?o[s].toString():""])]),C={className:"k-table-td",role:"gridcell",colSpan:d-t,style:{borderLeftWidth:0,borderRightWidth:0}},b=c?a.createVNode("td",C,null):null;e=b?[f,b]:f}return i.getTemplate.call(this,{h:a.h,template:S,defaultRendering:e,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler}})}});exports.GridGroupCell=v;
@@ -5,13 +5,13 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as b, createVNode as n, h as x } from "vue";
9
- import { noop as y, Icon as $, getTemplate as k, Keys as A } from "@progress/kendo-vue-common";
10
- import { KEYBOARD_NAV_DATA_ID as v, KEYBOARD_NAV_DATA_LEVEL as S, GROUP_EXPAND_ACTION as C } from "@progress/kendo-vue-data-tools";
11
- import { groupCaretAriaLabelCollapse as u, messages as g, groupCaretAriaLabelExpand as h } from "../messages/main.mjs";
12
- import { provideLocalizationService as m } from "@progress/kendo-vue-intl";
13
- import { caretAltDownIcon as N, caretAltRightIcon as L, caretAltLeftIcon as w } from "@progress/kendo-svg-icons";
14
- const _ = /* @__PURE__ */ b({
8
+ import { defineComponent as S, createVNode as l, h as $ } from "vue";
9
+ import { noop as C, Icon as A, getTemplate as v, Keys as N } from "@progress/kendo-vue-common";
10
+ import { KEYBOARD_NAV_DATA_ID as L, KEYBOARD_NAV_DATA_LEVEL as w, GROUP_EXPAND_ACTION as K } from "@progress/kendo-vue-data-tools";
11
+ import { groupCaretAriaLabelCollapse as m, messages as f, groupCaretAriaLabelExpand as k } from "../messages/main.mjs";
12
+ import { provideLocalizationService as y } from "@progress/kendo-vue-intl";
13
+ import { caretAltDownIcon as R, caretAltRightIcon as D, caretAltLeftIcon as E } from "@progress/kendo-svg-icons";
14
+ const P = /* @__PURE__ */ S({
15
15
  name: "KendoGridGroupCell",
16
16
  inheritAttrs: !1,
17
17
  props: {
@@ -26,6 +26,7 @@ const _ = /* @__PURE__ */ b({
26
26
  columnsCount: Number,
27
27
  rowType: String,
28
28
  level: Number,
29
+ locked: Boolean,
29
30
  expanded: Boolean,
30
31
  editor: String,
31
32
  dataIndex: Number,
@@ -50,16 +51,42 @@ const _ = /* @__PURE__ */ b({
50
51
  default: null
51
52
  },
52
53
  getKeyboardNavigationAttributes: {
53
- default: y
54
+ default: C
54
55
  }
55
56
  },
56
57
  computed: {
57
58
  tdClass() {
58
59
  const {
59
- className: e
60
+ className: e,
61
+ locked: t
60
62
  } = this.$props;
61
63
  return {
62
64
  "k-table-td": !0,
65
+ "k-grid-content-sticky": t,
66
+ [e]: e
67
+ };
68
+ },
69
+ tdStyle() {
70
+ const {
71
+ locked: e
72
+ } = this.$props, t = e ? {
73
+ position: "sticky",
74
+ zIndex: 2
75
+ } : {};
76
+ return {
77
+ ...this.$attrs.style,
78
+ ...t
79
+ };
80
+ },
81
+ groupTdClass() {
82
+ const {
83
+ className: e,
84
+ locked: t
85
+ } = this.$props;
86
+ return {
87
+ "k-table-td": !0,
88
+ "k-group-cell": !0,
89
+ "k-grid-content-sticky": t,
63
90
  [e]: e
64
91
  };
65
92
  }
@@ -69,7 +96,7 @@ const _ = /* @__PURE__ */ b({
69
96
  var t;
70
97
  const e = this.kendo;
71
98
  (t = e == null ? void 0 : e.dispatchGroupExpand) == null || t.call(e, {
72
- type: C.TOGGLE,
99
+ type: K.TOGGLE,
73
100
  group: this.$props.group
74
101
  });
75
102
  },
@@ -80,7 +107,7 @@ const _ = /* @__PURE__ */ b({
80
107
  dataIndex: this.$props.dataIndex,
81
108
  field: this.$props.field,
82
109
  expanded: this.$props.expanded
83
- }), !e.defaultPrevented && e.keyCode === A.enter && (e.preventDefault(), this.$emit("change", {
110
+ }), !e.defaultPrevented && e.keyCode === N.enter && (e.preventDefault(), this.$emit("change", {
84
111
  dataItem: this.$props.dataItem,
85
112
  dataIndex: this.$props.dataIndex,
86
113
  event: e,
@@ -105,48 +132,63 @@ const _ = /* @__PURE__ */ b({
105
132
  const {
106
133
  columnIndex: t,
107
134
  level: r,
108
- columnsCount: s,
109
- rowType: f,
110
- dataItem: i,
111
- field: l,
135
+ columnsCount: i,
136
+ rowType: b,
137
+ dataItem: n,
138
+ field: o,
112
139
  expanded: a,
113
- render: I
114
- } = this.$props, d = this.getKeyboardNavigationAttributes(this.$props.id), p = m(this).toLanguageString(u, g[u]), c = m(this).toLanguageString(h, g[h]);
115
- return t === void 0 || r === void 0 || t < r || s === void 0 || f !== "groupHeader" || i[l] === void 0 ? e = n("td", {
116
- style: this.$attrs.style,
117
- key: "g" + t,
118
- class: "k-table-td k-group-cell"
119
- }, null) : t <= r && (e = n("td", {
120
- style: this.$attrs.style,
121
- onKeydown: (o) => {
122
- this.triggerKeydown(o, a);
123
- },
124
- key: "g-colspan",
125
- class: this.tdClass,
126
- colspan: s - t,
127
- role: "gridcell",
128
- "aria-colindex": this.$props.ariaColumnIndex,
129
- "aria-selected": this.$props.isSelected,
130
- "aria-expanded": a,
131
- "data-grid-col-index": this.$props.columnIndex,
132
- tabindex: d.tabIndex,
133
- "data-keyboardnavlevel": d[S],
134
- "data-keyboardnavid": d[v]
135
- }, [n("p", {
136
- class: "k-reset"
137
- }, [n("a", {
138
- onClick: (o) => {
139
- this.clickHandler(o, i, a);
140
- },
141
- href: "#",
142
- tabindex: -1,
143
- title: a ? p : c,
144
- "aria-label": a ? p : c
145
- }, [n($, {
146
- name: a ? "caret-alt-down" : this.isRtl ? "caret-alt-left" : "caret-alt-right",
147
- icon: a ? N : this.isRtl ? w : L
148
- }, null)]), i[l] ? i[l].toString() : ""])])), k.call(this, {
149
- h: x,
140
+ render: I,
141
+ locked: d
142
+ } = this.$props, s = this.getKeyboardNavigationAttributes(this.$props.id), c = y(this).toLanguageString(m, f[m]), u = y(this).toLanguageString(k, f[k]);
143
+ if (t === void 0 || r === void 0 || t < r || i === void 0 || b !== "groupHeader" || n[o] === void 0)
144
+ e = l("td", {
145
+ style: this.$attrs.style,
146
+ key: "g" + t,
147
+ class: this.groupTdClass
148
+ }, null);
149
+ else if (t <= r) {
150
+ const g = l("td", {
151
+ style: this.tdStyle,
152
+ onKeydown: (p) => {
153
+ this.triggerKeydown(p, a);
154
+ },
155
+ key: "g-colspan",
156
+ class: d ? "k-table-td" : this.tdClass,
157
+ colspan: d ? 0 : i - t,
158
+ role: "gridcell",
159
+ "aria-colindex": this.$props.ariaColumnIndex,
160
+ "aria-selected": this.$props.isSelected,
161
+ "aria-expanded": a,
162
+ "data-grid-col-index": this.$props.columnIndex,
163
+ tabindex: s.tabIndex,
164
+ "data-keyboardnavlevel": s[w],
165
+ "data-keyboardnavid": s[L]
166
+ }, [l("p", {
167
+ class: "k-reset"
168
+ }, [l("a", {
169
+ onClick: (p) => {
170
+ this.clickHandler(p, n, a);
171
+ },
172
+ href: "#",
173
+ tabindex: -1,
174
+ title: a ? c : u,
175
+ "aria-label": a ? c : u
176
+ }, [l(A, {
177
+ name: a ? "caret-alt-down" : this.isRtl ? "caret-alt-left" : "caret-alt-right",
178
+ icon: a ? R : this.isRtl ? E : D
179
+ }, null)]), n[o] ? n[o].toString() : ""])]), x = {
180
+ className: "k-table-td",
181
+ role: "gridcell",
182
+ colSpan: i - t,
183
+ style: {
184
+ borderLeftWidth: 0,
185
+ borderRightWidth: 0
186
+ }
187
+ }, h = d ? l("td", x, null) : null;
188
+ e = h ? [g, h] : g;
189
+ }
190
+ return v.call(this, {
191
+ h: $,
150
192
  template: I,
151
193
  defaultRendering: e,
152
194
  additionalProps: this.$props,
@@ -158,5 +200,5 @@ const _ = /* @__PURE__ */ b({
158
200
  }
159
201
  });
160
202
  export {
161
- _ as GridGroupCell
203
+ P as GridGroupCell
162
204
  };
@@ -72,7 +72,7 @@ declare const GridColumnMenuCheckboxFilter: {
72
72
  data(): {
73
73
  currentExpanded: boolean;
74
74
  currentValue: string;
75
- currentData: any;
75
+ dataRef: any;
76
76
  dataFromProps: any;
77
77
  currentFilter: any;
78
78
  };
@@ -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"),f=require("@progress/kendo-vue-buttons"),S=require("./GridColumnMenuItem.js"),v=require("./GridColumnMenuItemGroup.js"),b=require("./GridColumnMenuItemContent.js"),m=require("@progress/kendo-vue-inputs"),N=require("@progress/kendo-vue-intl"),s=require("../messages/main.js"),B=require("@progress/kendo-data-query"),d=require("@progress/kendo-vue-common"),g=require("../utils/main.js"),x=require("@progress/kendo-svg-icons");function F(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const q=(e,t)=>e.length!==t.length?!1:e.every((l,r)=>l===t[r]),D={name:"KendoGridColumnMenuCheckboxFilter",props:{column:Object,filter:Object,filterable:Boolean,filterOperators:Object,checkAllItem:[String,Object,Function],item:[String,Object,Function],expanded:{type:Boolean,default:void 0},dataItems:Array,searchBox:{type:Boolean,default:!0},uniqueData:{type:Boolean,default:!0}},data(){return{currentExpanded:!1,currentValue:"",currentData:void 0,dataFromProps:void 0,currentFilter:void 0}},created(){this.compositeFilterIndex=this.getFilterIndex(),this.currentExpanded=this.$props.expanded,this.currentData=this.parseData(this.$props.dataItems,this.$props.uniqueData)||[],this.dataFromProps=this.parseData(this.$props.dataItems,!1)||[],this.currentFilter=this.defaultFilter()},updated(){const e=this.$props.column.field||"",t=this.$props.dataItems.map(l=>g.getNestedValue(e,l));q(t,this.dataFromProps)||(this.currentData=t,this.dataFromProps=t)},inject:{kendoLocalizationService:{default:null}},setup(){return{kendoLocalizationService:i.inject("kendoLocalizationService",{})}},render(){let e,t;const{column:l}=this.$props;if(!l||!l.field)return i.createVNode("div",null,null);const r=N.provideLocalizationService(this),a=this.$props.expanded!==void 0?this.$props.expanded:this.currentExpanded,o=[];if(this.currentFilter){const n=[...this.currentFilter.filters];this.compositeFilterIndex=n.findIndex(c=>c.filters&&c.filters.length>0?c.filters[0].field===l.field:!1),this.compositeFilterIndex!==-1&&n[this.compositeFilterIndex].filters.length>0&&n[this.compositeFilterIndex].filters.forEach(c=>{c.field===this.$props.column.field&&o.push(c.value)})}const u=function(){return this.$props.searchBox&&i.createVNode("span",{class:"k-list-filter"},[i.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[i.createVNode(d.Icon,{name:"search",icon:x.searchIcon,class:"k-input-icon"},null),i.createVNode("input",{ref:"searchBox",placeholder:r.toLanguageString(s.searchPlaceholder,s.messages[s.searchPlaceholder]),class:"k-input-inner",value:this.currentValue,onInput:this.handleSearchChange},null)])])},h=o.filter((n,c)=>o.indexOf(n)===c),k=d.templateRendering.call(this,this.$props.item,d.getListeners.call(this)),I=d.templateRendering.call(this,this.$props.checkAllItem,d.getListeners.call(this)),C=i.createVNode("li",{class:"k-item"},[i.createVNode(m.Checkbox,{label:r.toLanguageString(s.filterCheckAll,s.messages[s.filterCheckAll]),onChange:n=>this.handleCheckBoxChange(n,"all"),checked:this.isAllSelected()},null)]),V=d.getTemplate.call(this,{h:i.h,template:I,defaultRendering:C,additionalProps:{checked:this.isAllSelected()},additionalListeners:{change:n=>this.handleCheckBoxChange(n,"all")}});return i.createVNode(v.GridColumnMenuItemGroup,null,{default:()=>[i.createVNode(S.GridColumnMenuItem,{title:r.toLanguageString(s.filterTitle,s.messages[s.filterTitle]),icon:"filter",svgIcon:x.filterIcon,onMenuitemclick:this.onFilterExpand},null),i.createVNode(b.GridColumnMenuItemContent,{show:!!a},{default:()=>[i.createVNode("div",{class:"kendo-grid-filter-menu-container"},[i.createVNode("form",{class:"k-filter-menu k-border-up",onSubmit:this.submit,onReset:this.clear},[i.createVNode("div",{class:"k-filter-menu-container"},[u.call(this),i.createVNode("ul",{class:"k-reset k-multicheck-wrap"},[V,this.currentData.map(function(n,c){const $=i.createVNode("li",{class:"k-item",key:c},[i.createVNode(m.Checkbox,{label:String(n),onChange:p=>this.handleCheckBoxChange(p,n),checked:h.includes(n)},null)]);return d.getTemplate.call(this,{h:i.h,template:k,defaultRendering:$,additionalProps:{item:n,index:c,checked:h.includes(n)},additionalListeners:{change:p=>this.handleCheckBoxChange(p,n)}})},this)]),i.createVNode("div",{class:"k-columnmenu-actions"},[i.createVNode(f.Button,{themeColor:"primary"},F(e=r.toLanguageString(s.filterSubmitButton,s.messages[s.filterSubmitButton]))?e:{default:()=>[e]}),i.createVNode(f.Button,{type:"reset"},F(t=r.toLanguageString(s.filterClearButton,s.messages[s.filterClearButton]))?t:{default:()=>[t]})])])])])]})]})},methods:{defaultFilter(){return this.$props.filter?d.clone(this.$props.filter):{filters:[],logic:"and"}},parseData(e,t){const l=this.$props.column.field||"",r=e.map(a=>g.getNestedValue(l,a));return t?r.filter((a,o)=>r.indexOf(a)===o):r},getFilterIndex(){const e=this.$props.column.field;return this.defaultFilter().filters.findIndex(r=>r.filters&&r.filters.length>0&&r.filters[0].field===e)},onFilterExpand(){const e=this.$props.expanded!==void 0,t=!(e?this.$props.expanded:this.currentExpanded);this.$emit("expandchange",t),e||(this.currentExpanded=t)},handleSearchChange(e){const t={logic:"and",filters:[{field:this.$props.column.field,operator:"startswith",value:e.target.value,ignoreCase:!0}]};this.currentValue=e.target.value,this.currentData=this.parseData(B.filterBy(this.$props.dataItems||[],t),this.$props.uniqueData)},clear(e){e.preventDefault();const t=this.currentFilter||null;t!==null&&t.filters.length>0?(this.compositeFilterIndex>=0&&t.filters.splice(this.compositeFilterIndex,1),this.$emit("filterchange",t,e)):this.$emit("filterchange",null,e),this.$emit("closemenu")},submit(e){e.preventDefault();const t=this.currentFilter||null;this.$emit("filterchange",t,e),this.$emit("closemenu")},handleCheckBoxChange(e,t){const l=this.$props.column.field||"",r={...this.currentFilter},a=[...this.currentFilter.filters];let o=[];if(this.compositeFilterIndex!==-1&&r.filters[this.compositeFilterIndex].filters&&t!=="all"&&(o=r.filters[this.compositeFilterIndex].filters),e.value&&t==="all")this.currentData.forEach(u=>{o.push({field:l,operator:"eq",value:u})});else if(e.value)o.push({field:l,operator:"eq",value:t});else if(this.currentFilter){const u=o.findIndex(h=>h.value===t);o.splice(u,1)}r.logic="and",this.compositeFilterIndex!==-1?a[this.compositeFilterIndex]={logic:"or",filters:o}:a.push({logic:"or",filters:o}),(!e.value&&t==="all"||o.length===0)&&a.splice(this.compositeFilterIndex,1),r.filters=a,this.currentFilter=r},isAllSelected(){let e=!1;if(this.currentFilter){const t=[...this.currentFilter.filters];return this.compositeFilterIndex===-1?!1:(e=this.currentData.every(l=>this.compositeFilterIndex!==-1&&t[this.compositeFilterIndex].filters?t[this.compositeFilterIndex].filters.findIndex(a=>a.value===l)>=0:!1),e)}return e}}};exports.GridColumnMenuCheckboxFilter=D;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),f=require("@progress/kendo-vue-buttons"),S=require("./GridColumnMenuItem.js"),v=require("./GridColumnMenuItemGroup.js"),b=require("./GridColumnMenuItemContent.js"),m=require("@progress/kendo-vue-inputs"),N=require("@progress/kendo-vue-intl"),s=require("../messages/main.js"),B=require("@progress/kendo-data-query"),d=require("@progress/kendo-vue-common"),g=require("../utils/main.js"),x=require("@progress/kendo-svg-icons");function F(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const q=(e,t)=>e.length!==t.length?!1:e.every((l,r)=>l===t[r]),R={name:"KendoGridColumnMenuCheckboxFilter",props:{column:Object,filter:Object,filterable:Boolean,filterOperators:Object,checkAllItem:[String,Object,Function],item:[String,Object,Function],expanded:{type:Boolean,default:void 0},dataItems:Array,searchBox:{type:Boolean,default:!0},uniqueData:{type:Boolean,default:!0}},data(){return{currentExpanded:!1,currentValue:"",dataRef:void 0,dataFromProps:void 0,currentFilter:void 0}},created(){this.compositeFilterIndex=this.getFilterIndex(),this.currentExpanded=this.$props.expanded,this.dataRef=this.parseData(this.$props.dataItems,this.$props.uniqueData)||[],this.dataFromProps=this.parseData(this.$props.dataItems,!1)||[],this.currentFilter=this.defaultFilter()},updated(){const e=this.$props.column.field||"",t=this.$props.dataItems.map(l=>g.getNestedValue(e,l));q(t,this.dataFromProps)||(this.dataRef=t,this.dataFromProps=t)},inject:{kendoLocalizationService:{default:null}},setup(){return{kendoLocalizationService:i.inject("kendoLocalizationService",{})}},render(){let e,t;const{column:l}=this.$props;if(!l||!l.field)return i.createVNode("div",null,null);const r=N.provideLocalizationService(this),a=this.$props.expanded!==void 0?this.$props.expanded:this.currentExpanded,o=[];if(this.currentFilter){const n=[...this.currentFilter.filters];this.compositeFilterIndex=n.findIndex(c=>c.filters&&c.filters.length>0?c.filters[0].field===l.field:!1),this.compositeFilterIndex!==-1&&n[this.compositeFilterIndex].filters.length>0&&n[this.compositeFilterIndex].filters.forEach(c=>{c.field===this.$props.column.field&&o.push(c.value)})}const u=function(){return this.$props.searchBox&&i.createVNode("span",{class:"k-list-filter"},[i.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[i.createVNode(d.Icon,{name:"search",icon:x.searchIcon,class:"k-input-icon"},null),i.createVNode("input",{ref:"searchBox",placeholder:r.toLanguageString(s.searchPlaceholder,s.messages[s.searchPlaceholder]),class:"k-input-inner",value:this.currentValue,onInput:this.handleSearchChange},null)])])},h=o.filter((n,c)=>o.indexOf(n)===c),k=d.templateRendering.call(this,this.$props.item,d.getListeners.call(this)),I=d.templateRendering.call(this,this.$props.checkAllItem,d.getListeners.call(this)),C=i.createVNode("li",{class:"k-item"},[i.createVNode(m.Checkbox,{label:r.toLanguageString(s.filterCheckAll,s.messages[s.filterCheckAll]),onChange:n=>this.handleCheckBoxChange(n,"all"),checked:this.isAllSelected()},null)]),V=d.getTemplate.call(this,{h:i.h,template:I,defaultRendering:C,additionalProps:{checked:this.isAllSelected()},additionalListeners:{change:n=>this.handleCheckBoxChange(n,"all")}});return i.createVNode(v.GridColumnMenuItemGroup,null,{default:()=>[i.createVNode(S.GridColumnMenuItem,{title:r.toLanguageString(s.filterTitle,s.messages[s.filterTitle]),icon:"filter",svgIcon:x.filterIcon,onMenuitemclick:this.onFilterExpand},null),i.createVNode(b.GridColumnMenuItemContent,{show:!!a},{default:()=>[i.createVNode("div",{class:"kendo-grid-filter-menu-container"},[i.createVNode("form",{class:"k-filter-menu k-border-up",onSubmit:this.submit,onReset:this.clear},[i.createVNode("div",{class:"k-filter-menu-container"},[u.call(this),i.createVNode("ul",{class:"k-reset k-multicheck-wrap"},[V,this.dataRef.map(function(n,c){const $=i.createVNode("li",{class:"k-item",key:c},[i.createVNode(m.Checkbox,{label:String(n),onChange:p=>this.handleCheckBoxChange(p,n),checked:h.includes(n)},null)]);return d.getTemplate.call(this,{h:i.h,template:k,defaultRendering:$,additionalProps:{item:n,index:c,checked:h.includes(n)},additionalListeners:{change:p=>this.handleCheckBoxChange(p,n)}})},this)]),i.createVNode("div",{class:"k-columnmenu-actions"},[i.createVNode(f.Button,{themeColor:"primary"},F(e=r.toLanguageString(s.filterSubmitButton,s.messages[s.filterSubmitButton]))?e:{default:()=>[e]}),i.createVNode(f.Button,{type:"reset"},F(t=r.toLanguageString(s.filterClearButton,s.messages[s.filterClearButton]))?t:{default:()=>[t]})])])])])]})]})},methods:{defaultFilter(){return this.$props.filter?d.clone(this.$props.filter):{filters:[],logic:"and"}},parseData(e,t){const l=this.$props.column.field||"",r=e.map(a=>g.getNestedValue(l,a));return t?r.filter((a,o)=>r.indexOf(a)===o):r},getFilterIndex(){const e=this.$props.column.field;return this.defaultFilter().filters.findIndex(r=>r.filters&&r.filters.length>0&&r.filters[0].field===e)},onFilterExpand(){const e=this.$props.expanded!==void 0,t=!(e?this.$props.expanded:this.currentExpanded);this.$emit("expandchange",t),e||(this.currentExpanded=t)},handleSearchChange(e){const t={logic:"and",filters:[{field:this.$props.column.field,operator:"startswith",value:e.target.value,ignoreCase:!0}]};this.currentValue=e.target.value,this.dataRef=this.parseData(B.filterBy(this.$props.dataItems||[],t),this.$props.uniqueData)},clear(e){e.preventDefault();const t=this.currentFilter||null;t!==null&&t.filters.length>0?(this.compositeFilterIndex>=0&&t.filters.splice(this.compositeFilterIndex,1),this.$emit("filterchange",t,e)):this.$emit("filterchange",null,e),this.$emit("closemenu")},submit(e){e.preventDefault();const t=this.currentFilter||null;this.$emit("filterchange",t,e),this.$emit("closemenu")},handleCheckBoxChange(e,t){const l=this.$props.column.field||"",r={...this.currentFilter},a=[...this.currentFilter.filters];let o=[];if(this.compositeFilterIndex!==-1&&r.filters[this.compositeFilterIndex].filters&&t!=="all"&&(o=r.filters[this.compositeFilterIndex].filters),e.value&&t==="all")this.dataRef.forEach(u=>{o.push({field:l,operator:"eq",value:u})});else if(e.value)o.push({field:l,operator:"eq",value:t});else if(this.currentFilter){const u=o.findIndex(h=>h.value===t);o.splice(u,1)}r.logic="and",this.compositeFilterIndex!==-1?a[this.compositeFilterIndex]={logic:"or",filters:o}:a.push({logic:"or",filters:o}),(!e.value&&t==="all"||o.length===0)&&a.splice(this.compositeFilterIndex,1),r.filters=a,this.currentFilter=r},isAllSelected(){let e=!1;if(this.currentFilter){const t=[...this.currentFilter.filters];return this.compositeFilterIndex===-1?!1:(e=this.dataRef.every(l=>this.compositeFilterIndex!==-1&&t[this.compositeFilterIndex].filters?t[this.compositeFilterIndex].filters.findIndex(a=>a.value===l)>=0:!1),e)}return e}}};exports.GridColumnMenuCheckboxFilter=R;
@@ -8,7 +8,7 @@
8
8
  import { createVNode as r, h as p, inject as j, isVNode as A } from "vue";
9
9
  import { Button as f } from "@progress/kendo-vue-buttons";
10
10
  import { GridColumnMenuItem as O } from "./GridColumnMenuItem.mjs";
11
- import { GridColumnMenuItemGroup as R } from "./GridColumnMenuItemGroup.mjs";
11
+ import { GridColumnMenuItemGroup as D } from "./GridColumnMenuItemGroup.mjs";
12
12
  import { GridColumnMenuItemContent as V } from "./GridColumnMenuItemContent.mjs";
13
13
  import { Checkbox as m } from "@progress/kendo-vue-inputs";
14
14
  import { provideLocalizationService as q } from "@progress/kendo-vue-intl";
@@ -47,17 +47,17 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
47
47
  return {
48
48
  currentExpanded: !1,
49
49
  currentValue: "",
50
- currentData: void 0,
50
+ dataRef: void 0,
51
51
  dataFromProps: void 0,
52
52
  currentFilter: void 0
53
53
  };
54
54
  },
55
55
  created() {
56
- this.compositeFilterIndex = this.getFilterIndex(), this.currentExpanded = this.$props.expanded, this.currentData = this.parseData(this.$props.dataItems, this.$props.uniqueData) || [], this.dataFromProps = this.parseData(this.$props.dataItems, !1) || [], this.currentFilter = this.defaultFilter();
56
+ this.compositeFilterIndex = this.getFilterIndex(), this.currentExpanded = this.$props.expanded, this.dataRef = this.parseData(this.$props.dataItems, this.$props.uniqueData) || [], this.dataFromProps = this.parseData(this.$props.dataItems, !1) || [], this.currentFilter = this.defaultFilter();
57
57
  },
58
58
  updated() {
59
59
  const e = this.$props.column.field || "", t = this.$props.dataItems.map((n) => S(e, n));
60
- T(t, this.dataFromProps) || (this.currentData = t, this.dataFromProps = t);
60
+ T(t, this.dataFromProps) || (this.dataRef = t, this.dataFromProps = t);
61
61
  },
62
62
  inject: {
63
63
  kendoLocalizationService: {
@@ -99,7 +99,7 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
99
99
  value: this.currentValue,
100
100
  onInput: this.handleSearchChange
101
101
  }, null)])]);
102
- }, u = s.filter((l, a) => s.indexOf(l) === a), B = C.call(this, this.$props.item, $.call(this)), D = C.call(this, this.$props.checkAllItem, $.call(this)), L = r("li", {
102
+ }, u = s.filter((l, a) => s.indexOf(l) === a), B = C.call(this, this.$props.item, $.call(this)), R = C.call(this, this.$props.checkAllItem, $.call(this)), L = r("li", {
103
103
  class: "k-item"
104
104
  }, [r(m, {
105
105
  label: i.toLanguageString(g, d[g]),
@@ -107,7 +107,7 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
107
107
  checked: this.isAllSelected()
108
108
  }, null)]), y = v.call(this, {
109
109
  h: p,
110
- template: D,
110
+ template: R,
111
111
  defaultRendering: L,
112
112
  additionalProps: {
113
113
  checked: this.isAllSelected()
@@ -116,7 +116,7 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
116
116
  change: (l) => this.handleCheckBoxChange(l, "all")
117
117
  }
118
118
  });
119
- return r(R, null, {
119
+ return r(D, null, {
120
120
  default: () => [r(O, {
121
121
  title: i.toLanguageString(x, d[x]),
122
122
  icon: "filter",
@@ -135,7 +135,7 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
135
135
  class: "k-filter-menu-container"
136
136
  }, [c.call(this), r("ul", {
137
137
  class: "k-reset k-multicheck-wrap"
138
- }, [y, this.currentData.map(function(l, a) {
138
+ }, [y, this.dataRef.map(function(l, a) {
139
139
  const E = r("li", {
140
140
  class: "k-item",
141
141
  key: a
@@ -200,7 +200,7 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
200
200
  ignoreCase: !0
201
201
  }]
202
202
  };
203
- this.currentValue = e.target.value, this.currentData = this.parseData(P(this.$props.dataItems || [], t), this.$props.uniqueData);
203
+ this.currentValue = e.target.value, this.dataRef = this.parseData(P(this.$props.dataItems || [], t), this.$props.uniqueData);
204
204
  },
205
205
  clear(e) {
206
206
  e.preventDefault();
@@ -218,7 +218,7 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
218
218
  }, o = [...this.currentFilter.filters];
219
219
  let s = [];
220
220
  if (this.compositeFilterIndex !== -1 && i.filters[this.compositeFilterIndex].filters && t !== "all" && (s = i.filters[this.compositeFilterIndex].filters), e.value && t === "all")
221
- this.currentData.forEach((c) => {
221
+ this.dataRef.forEach((c) => {
222
222
  s.push({
223
223
  field: n,
224
224
  operator: "eq",
@@ -247,7 +247,7 @@ const T = (e, t) => e.length !== t.length ? !1 : e.every((n, i) => n === t[i]),
247
247
  let e = !1;
248
248
  if (this.currentFilter) {
249
249
  const t = [...this.currentFilter.filters];
250
- return this.compositeFilterIndex === -1 ? !1 : (e = this.currentData.every((n) => this.compositeFilterIndex !== -1 && t[this.compositeFilterIndex].filters ? t[this.compositeFilterIndex].filters.findIndex((o) => o.value === n) >= 0 : !1), e);
250
+ return this.compositeFilterIndex === -1 ? !1 : (e = this.dataRef.every((n) => this.compositeFilterIndex !== -1 && t[this.compositeFilterIndex].filters ? t[this.compositeFilterIndex].filters.findIndex((o) => o.value === n) >= 0 : !1), e);
251
251
  }
252
252
  return e;
253
253
  }
package/common.d.ts CHANGED
@@ -32,6 +32,7 @@ declare const gridProps: {
32
32
  type: PropType<import('.').GridColumnState[]>;
33
33
  default: () => any;
34
34
  };
35
+ cells: PropType<import('.').GridCellsSettings>;
35
36
  defaultColumnsState: {
36
37
  type: PropType<import('.').GridColumnState[]>;
37
38
  default: () => any;
@@ -50,6 +51,7 @@ declare const gridProps: {
50
51
  default: any;
51
52
  };
52
53
  loader: PropType<string | Object | Function>;
54
+ lockGroups: PropType<boolean>;
53
55
  defaultFilter: PropType<import('@progress/kendo-data-query').CompositeFilterDescriptor>;
54
56
  filter: PropType<import('@progress/kendo-data-query').CompositeFilterDescriptor>;
55
57
  defaultSearch: PropType<import('@progress/kendo-data-query').CompositeFilterDescriptor>;
package/common.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"});require("vue");const t=require("@progress/kendo-vue-common"),n={id:String,autoProcessData:[Boolean,Object],topCacheCount:{type:Number,default:0},collapsedGroups:{type:Array,default:function(){return[]}},uniqueField:String,totalGroupedHeight:Number,allGroupedItems:Object,alternatePerGroup:Boolean,columns:Array,columnsState:{type:Array,default:function(){}},defaultColumnsState:{type:Array,default:function(){}},columnVirtualization:Boolean,dataItems:[Array,Object],sortable:[Boolean,Object],defaultSort:Array,sort:Array,filterable:Boolean,filterOperators:Object,filterCellRender:[String,Function,Object],headerCellRender:[String,Function,Object],showLoader:{type:Boolean,default:void 0},loader:[String,Function,Object],defaultFilter:Object,filter:Object,defaultSearch:Object,search:Object,searchFields:Array,highlight:Object,pageable:[Boolean,Object],pageSize:Number,total:Number,fixedScroll:Boolean,skip:Number,defaultSkip:Number,take:Number,defaultTake:Number,expandField:String,expandColumn:Object,selectedField:String,cellRender:[String,Function,Object],rowRender:[String,Function,Object],rowSpannable:[Boolean,Object],resizable:Boolean,reorderable:Boolean,group:Array,defaultGroup:Array,groupable:[Boolean,Object],groupExpand:Array,defaultGroupExpand:Array,detailExpand:Object,defaultDetailExpand:Object,editField:String,rowClass:Function,select:Object,defaultSelect:Object,selectable:[Boolean,Object],scrollable:{type:String,default:"scrollable"},size:{type:String,default:"medium",validator:function(e){return["small","medium"].includes(e)}},pager:[String,Function,Object],rowHeight:Number,detailRowHeight:Number,detail:[String,Function,Object],columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:t.SvgIcon,dataItemKey:String,navigatable:{type:Boolean,default:!1},onItemchange:Function,onExpandchange:Function,onDatastatechange:Function,onPagechange:Function,onSortchange:Function,onFilterchange:Function,onGroupchange:Function,onSearchchange:Function,onGroupexpandchange:Function,onDetailexpandchange:Function};exports.gridProps=n;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("vue");const t=require("@progress/kendo-vue-common"),n={id:String,autoProcessData:[Boolean,Object],topCacheCount:{type:Number,default:0},collapsedGroups:{type:Array,default:function(){return[]}},uniqueField:String,totalGroupedHeight:Number,allGroupedItems:Object,alternatePerGroup:Boolean,columns:Array,columnsState:{type:Array,default:function(){}},cells:Object,defaultColumnsState:{type:Array,default:function(){}},columnVirtualization:Boolean,dataItems:[Array,Object],sortable:[Boolean,Object],defaultSort:Array,sort:Array,filterable:Boolean,filterOperators:Object,filterCellRender:[String,Function,Object],headerCellRender:[String,Function,Object],showLoader:{type:Boolean,default:void 0},loader:[String,Function,Object],lockGroups:Boolean,defaultFilter:Object,filter:Object,defaultSearch:Object,search:Object,searchFields:Array,highlight:Object,pageable:[Boolean,Object],pageSize:Number,total:Number,fixedScroll:Boolean,skip:Number,defaultSkip:Number,take:Number,defaultTake:Number,expandField:String,expandColumn:Object,selectedField:String,cellRender:[String,Function,Object],rowRender:[String,Function,Object],rowSpannable:[Boolean,Object],resizable:Boolean,reorderable:Boolean,group:Array,defaultGroup:Array,groupable:[Boolean,Object],groupExpand:Array,defaultGroupExpand:Array,detailExpand:Object,defaultDetailExpand:Object,editField:String,rowClass:Function,select:Object,defaultSelect:Object,selectable:[Boolean,Object],scrollable:{type:String,default:"scrollable"},size:{type:String,default:"medium",validator:function(e){return["small","medium"].includes(e)}},pager:[String,Function,Object],rowHeight:Number,detailRowHeight:Number,detail:[String,Function,Object],columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},columnMenuIcon:t.SvgIcon,dataItemKey:String,navigatable:{type:Boolean,default:!1},onItemchange:Function,onExpandchange:Function,onDatastatechange:Function,onPagechange:Function,onSortchange:Function,onFilterchange:Function,onGroupchange:Function,onSearchchange:Function,onGroupexpandchange:Function,onDetailexpandchange:Function};exports.gridProps=n;
package/common.mjs CHANGED
@@ -30,6 +30,7 @@ const o = {
30
30
  default: function() {
31
31
  }
32
32
  },
33
+ cells: Object,
33
34
  defaultColumnsState: {
34
35
  type: Array,
35
36
  default: function() {
@@ -49,6 +50,7 @@ const o = {
49
50
  default: void 0
50
51
  },
51
52
  loader: [String, Function, Object],
53
+ lockGroups: Boolean,
52
54
  defaultFilter: Object,
53
55
  filter: Object,
54
56
  defaultSearch: Object,