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

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 (60) hide show
  1. package/Grid.d.ts +18 -2
  2. package/Grid.js +1 -1
  3. package/Grid.mjs +655 -511
  4. package/GridNav.d.ts +12 -2
  5. package/GridNav.js +1 -1
  6. package/GridNav.mjs +52 -24
  7. package/GridState.d.ts +12 -5
  8. package/GridState.js +1 -1
  9. package/GridState.mjs +84 -77
  10. package/RootGrid.d.ts +6 -0
  11. package/RootGrid.js +1 -1
  12. package/RootGrid.mjs +25 -25
  13. package/StatusBar.d.ts +55 -5
  14. package/StatusBar.js +8 -0
  15. package/StatusBar.mjs +81 -0
  16. package/cells/GridCell.d.ts +3 -0
  17. package/cells/GridCell.js +1 -1
  18. package/cells/GridCell.mjs +32 -29
  19. package/cells/GridEditCell.d.ts +2 -0
  20. package/cells/GridEditCell.js +1 -1
  21. package/cells/GridEditCell.mjs +1 -0
  22. package/cells/GridSelectionCell.js +1 -1
  23. package/cells/GridSelectionCell.mjs +16 -16
  24. package/common.d.ts +3 -0
  25. package/common.js +1 -1
  26. package/common.mjs +3 -0
  27. package/components/table/GridTable.d.ts +18 -0
  28. package/components/table/GridTable.js +8 -0
  29. package/components/table/GridTable.mjs +41 -0
  30. package/components/table/GridTableScrollable.d.ts +20 -0
  31. package/components/table/GridTableScrollable.js +8 -0
  32. package/components/table/GridTableScrollable.mjs +45 -0
  33. package/dist/cdn/js/kendo-vue-grid.js +1 -1
  34. package/drag/ColumnDraggable.js +1 -1
  35. package/drag/ColumnDraggable.mjs +5 -4
  36. package/header/FilterRow.d.ts +3 -0
  37. package/header/FilterRow.js +1 -1
  38. package/header/FilterRow.mjs +46 -44
  39. package/header/Header.d.ts +5 -2
  40. package/header/Header.js +1 -1
  41. package/header/Header.mjs +10 -5
  42. package/header/HeaderRow.d.ts +3 -0
  43. package/header/HeaderRow.js +1 -1
  44. package/header/HeaderRow.mjs +148 -139
  45. package/index.d.mts +1 -0
  46. package/index.d.ts +1 -0
  47. package/index.js +1 -1
  48. package/index.mjs +20 -16
  49. package/interfaces/GridCellProps.d.ts +11 -0
  50. package/interfaces/GridColumnProps.d.ts +10 -6
  51. package/interfaces/GridProps.d.ts +31 -3
  52. package/interfaces/events.d.ts +26 -3
  53. package/package-metadata.js +1 -1
  54. package/package-metadata.mjs +2 -2
  55. package/package.json +12 -12
  56. package/utils/main.js +1 -1
  57. package/utils/main.mjs +68 -67
  58. package/utils/virtualColumns.d.ts +17 -0
  59. package/utils/virtualColumns.js +1 -1
  60. package/utils/virtualColumns.mjs +132 -39
package/GridNav.d.ts CHANGED
@@ -9,6 +9,7 @@
9
9
  * @hidden
10
10
  */
11
11
  declare const GridNav: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
12
+ columnsRef: ArrayConstructor;
12
13
  currentData: ArrayConstructor;
13
14
  id: StringConstructor;
14
15
  }>, {}, {}, {}, {
@@ -17,10 +18,19 @@ declare const GridNav: import('vue').DefineComponent<import('vue').ExtractPropTy
17
18
  onNavigationAction(options: {
18
19
  event: any;
19
20
  focusElement: any;
21
+ action?: 'moveToNextPage' | 'moveToPrevPage' | 'reorderToLeft' | 'reorderToRight' | 'select';
20
22
  }): void;
21
23
  getLeafDataItems(): any;
22
- }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
24
+ }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("keydown" | "navigationaction" | "keyboardselectionchange" | "movetonextpage" | "movetoprevpage" | "columnreorder")[], "keydown" | "navigationaction" | "keyboardselectionchange" | "movetonextpage" | "movetoprevpage" | "columnreorder", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
25
+ columnsRef: ArrayConstructor;
23
26
  currentData: ArrayConstructor;
24
27
  id: StringConstructor;
25
- }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
28
+ }>> & Readonly<{
29
+ onKeydown?: (...args: any[]) => any;
30
+ onColumnreorder?: (...args: any[]) => any;
31
+ onNavigationaction?: (...args: any[]) => any;
32
+ onKeyboardselectionchange?: (...args: any[]) => any;
33
+ onMovetonextpage?: (...args: any[]) => any;
34
+ onMovetoprevpage?: (...args: any[]) => any;
35
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
26
36
  export { GridNav };
package/GridNav.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),e=require("@progress/kendo-vue-common"),n=o.defineComponent({name:"KendoGridNav",props:{currentData:Array,id:String},inject:{onNavKeyDown:{default:e.noop},onNavFocus:{default:e.noop},onNavMount:{default:e.noop},handleDispatchFocus:{default:e.noop},kbContext:{default:null},navigation:{default:null}},mounted(){this.onNavMount({scope:this.$el||void 0})},updated(){this.onNavMount({scope:this.$el||void 0})},methods:{onKeyDown(t){this.onNavKeyDown(t,{navigation:this.navigation,kbContext:this.kbContext,onNavigationAction:this.onNavigationAction}),this.$emit("keydown",{dataItems:this.getLeafDataItems(),componentId:this._gridId,selectedField:this.$props.selectedField,event:t})},onFocus(t){this.onNavFocus(t,{kbContext:this.kbContext})},onNavigationAction(t){this.$emit("navigationaction",{focusElement:t.focusElement,event:t.event})},getLeafDataItems(){return this.$props.currentData.filter(t=>t.rowType==="data").map(t=>t.dataItem)}},render(){const t=e.getDefaultSlots(this);return o.createVNode("div",{onKeydown:this.onKeyDown,onFocusin:this.onFocus,id:this.$props.id,"data-keyboardnavscope":!0},[t])}});exports.GridNav=n;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),n=require("@progress/kendo-vue-common"),r=a.defineComponent({name:"KendoGridNav",props:{columnsRef:Array,currentData:Array,id:String},emits:["keydown","navigationaction","keyboardselectionchange","movetonextpage","movetoprevpage","columnreorder"],inject:{onNavKeyDown:{default:n.noop},onNavFocus:{default:n.noop},onNavMount:{default:n.noop},onNavBeforeUpdate:{default:n.noop},onNavUpdate:{default:n.noop},handleDispatchFocus:{default:n.noop},kbContext:{default:null},navigation:{default:null}},mounted(){this.onNavMount({scope:this.$el||void 0})},updated(){this.onNavUpdate({scope:this.$el||void 0})},methods:{onKeyDown(e){this.onNavKeyDown(e,{navigation:this.navigation,kbContext:this.kbContext,onNavigationAction:this.onNavigationAction}),this.onNavBeforeUpdate({scope:this.$el||void 0,kbContext:this.kbContext,navigation:this.navigation}),this.$emit("keydown",{dataItems:this.getLeafDataItems(),componentId:this._gridId,selectedField:this.$props.selectedField,event:e})},onFocus(e){this.onNavFocus(e,{kbContext:this.kbContext})},onNavigationAction(e){const{columnsRef:o}=this.$props;if(e.action==="moveToNextPage"&&this.$emit("movetonextpage",e.event),e.action==="moveToPrevPage"&&this.$emit("movetoprevpage",e.event),e.focusElement&&(e.action==="reorderToRight"||e.action==="reorderToLeft")){const t=parseInt(e.focusElement.ariaColIndex,10)-1;if(!o[t].reorderable)return;if(e.action==="reorderToRight"&&t<this.$props.columnsRef.length-1){if(o[t+1].disableReorder)return;this.$emit("columnreorder",t,t+1,e.event)}if(e.action==="reorderToLeft"&&t>0){if(o[t-1].disableReorder)return;this.$emit("columnreorder",t,t-1,e.event)}}e.action==="select"&&this.$emit("keyboardselectionchange",e.event),this.$emit("navigationaction",{focusElement:e.focusElement,event:e.event})},getLeafDataItems(){return this.$props.currentData.filter(e=>e.rowType==="data").map(e=>e.dataItem)}},render(){const e=n.getDefaultSlots(this);return a.createVNode("div",{onKeydown:this.onKeyDown,onFocusin:this.onFocus,id:this.$props.id,"data-keyboardnavscope":!0},[e])}});exports.GridNav=r;
package/GridNav.mjs CHANGED
@@ -5,26 +5,34 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as o, createVNode as n } from "vue";
9
- import { noop as e, getDefaultSlots as a } from "@progress/kendo-vue-common";
10
- const d = /* @__PURE__ */ o({
8
+ import { defineComponent as i, createVNode as r } from "vue";
9
+ import { noop as n, getDefaultSlots as d } from "@progress/kendo-vue-common";
10
+ const m = /* @__PURE__ */ i({
11
11
  name: "KendoGridNav",
12
12
  props: {
13
+ columnsRef: Array,
13
14
  currentData: Array,
14
15
  id: String
15
16
  },
17
+ emits: ["keydown", "navigationaction", "keyboardselectionchange", "movetonextpage", "movetoprevpage", "columnreorder"],
16
18
  inject: {
17
19
  onNavKeyDown: {
18
- default: e
20
+ default: n
19
21
  },
20
22
  onNavFocus: {
21
- default: e
23
+ default: n
22
24
  },
23
25
  onNavMount: {
24
- default: e
26
+ default: n
27
+ },
28
+ onNavBeforeUpdate: {
29
+ default: n
30
+ },
31
+ onNavUpdate: {
32
+ default: n
25
33
  },
26
34
  handleDispatchFocus: {
27
- default: e
35
+ default: n
28
36
  },
29
37
  kbContext: {
30
38
  default: null
@@ -39,50 +47,70 @@ const d = /* @__PURE__ */ o({
39
47
  });
40
48
  },
41
49
  updated() {
42
- this.onNavMount({
50
+ this.onNavUpdate({
43
51
  scope: this.$el || void 0
44
52
  });
45
53
  },
46
54
  methods: {
47
- onKeyDown(t) {
48
- this.onNavKeyDown(t, {
55
+ onKeyDown(e) {
56
+ this.onNavKeyDown(e, {
49
57
  navigation: this.navigation,
50
58
  kbContext: this.kbContext,
51
59
  onNavigationAction: this.onNavigationAction
60
+ }), this.onNavBeforeUpdate({
61
+ scope: this.$el || void 0,
62
+ kbContext: this.kbContext,
63
+ navigation: this.navigation
52
64
  }), this.$emit("keydown", {
53
65
  dataItems: this.getLeafDataItems(),
54
- // mode,
55
- // cell,
56
66
  componentId: this._gridId,
57
67
  selectedField: this.$props.selectedField,
58
- event: t
68
+ event: e
59
69
  });
60
70
  },
61
- onFocus(t) {
62
- this.onNavFocus(t, {
71
+ onFocus(e) {
72
+ this.onNavFocus(e, {
63
73
  kbContext: this.kbContext
64
74
  });
65
75
  },
66
- onNavigationAction(t) {
67
- this.$emit("navigationaction", {
68
- focusElement: t.focusElement,
69
- event: t.event
76
+ onNavigationAction(e) {
77
+ const {
78
+ columnsRef: o
79
+ } = this.$props;
80
+ if (e.action === "moveToNextPage" && this.$emit("movetonextpage", e.event), e.action === "moveToPrevPage" && this.$emit("movetoprevpage", e.event), e.focusElement && (e.action === "reorderToRight" || e.action === "reorderToLeft")) {
81
+ const t = parseInt(e.focusElement.ariaColIndex, 10) - 1;
82
+ if (!o[t].reorderable)
83
+ return;
84
+ if (e.action === "reorderToRight" && t < this.$props.columnsRef.length - 1) {
85
+ if (o[t + 1].disableReorder)
86
+ return;
87
+ this.$emit("columnreorder", t, t + 1, e.event);
88
+ }
89
+ if (e.action === "reorderToLeft" && t > 0) {
90
+ if (o[t - 1].disableReorder)
91
+ return;
92
+ this.$emit("columnreorder", t, t - 1, e.event);
93
+ }
94
+ }
95
+ e.action === "select" && this.$emit("keyboardselectionchange", e.event), this.$emit("navigationaction", {
96
+ focusElement: e.focusElement,
97
+ event: e.event
70
98
  });
71
99
  },
72
100
  getLeafDataItems() {
73
- return this.$props.currentData.filter((t) => t.rowType === "data").map((t) => t.dataItem);
101
+ return this.$props.currentData.filter((e) => e.rowType === "data").map((e) => e.dataItem);
74
102
  }
75
103
  },
76
104
  render() {
77
- const t = a(this);
78
- return n("div", {
105
+ const e = d(this);
106
+ return r("div", {
79
107
  onKeydown: this.onKeyDown,
80
108
  onFocusin: this.onFocus,
81
109
  id: this.$props.id,
82
110
  "data-keyboardnavscope": !0
83
- }, [t]);
111
+ }, [e]);
84
112
  }
85
113
  });
86
114
  export {
87
- d as GridNav
115
+ m as GridNav
88
116
  };
package/GridState.d.ts CHANGED
@@ -6,12 +6,13 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  import { GridProps } from './interfaces/GridProps';
9
- import { GridDataStateChangeEvent, GridDetailExpandChangeEvent, GridFilterChangeEvent, GridGroupChangeEvent, GridGroupExpandChangeEvent, GridPageChangeEvent, GridSearchChangeEvent, GridSortChangeEvent } from './interfaces/events';
9
+ import { GridDataStateChangeEvent, GridDetailExpandChangeEvent, GridFilterChangeEvent, GridGroupChangeEvent, GridGroupExpandChangeEvent, GridPageChangeEvent, GridSearchChangeEvent, GridSortChangeEvent, GridSelectionChangeEvent, GridHeaderSelectionChangeEvent } from './interfaces/events';
10
10
  /** @hidden */
11
11
  export type GridState = {
12
12
  filter?: GridProps['filter'];
13
13
  highlight?: GridProps['highlight'];
14
14
  search?: GridProps['search'];
15
+ select?: GridProps['select'];
15
16
  sort?: GridProps['sort'];
16
17
  skip?: GridProps['skip'];
17
18
  take?: GridProps['take'];
@@ -72,13 +73,16 @@ declare const GridStateProvider: import('vue').DefineComponent<{
72
73
  fixedScroll?: boolean;
73
74
  expandField?: string;
74
75
  selectedField?: string;
75
- onSelectionchange?: (event: import('./interfaces/events').GridSelectionChangeEvent) => void;
76
+ onSelectionchange?: (event: GridSelectionChangeEvent) => void;
76
77
  highlight?: {
77
78
  [id: string]: boolean | {
78
79
  [id: string]: boolean;
79
80
  };
80
81
  };
81
- onHeaderselectionchange?: (event: import('./interfaces/events').GridHeaderSelectionChangeEvent) => void;
82
+ defaultSelect?: import('@progress/kendo-vue-data-tools').SelectDescriptor;
83
+ select?: import('@progress/kendo-vue-data-tools').SelectDescriptor;
84
+ selectable?: boolean | import('./interfaces/GridSelectableSettings').GridSelectableSettings;
85
+ onHeaderselectionchange?: (event: GridHeaderSelectionChangeEvent) => void;
82
86
  onRowclick?: (event: import('./interfaces/events').GridRowClickEvent) => void;
83
87
  onRowdblclick?: (event: import('./interfaces/events').GridRowClickEvent) => void;
84
88
  onCellclick?: (event: any) => void;
@@ -172,13 +176,16 @@ declare const GridStateProvider: import('vue').DefineComponent<{
172
176
  fixedScroll?: boolean;
173
177
  expandField?: string;
174
178
  selectedField?: string;
175
- onSelectionchange?: (event: import('./interfaces/events').GridSelectionChangeEvent) => void;
179
+ onSelectionchange?: (event: GridSelectionChangeEvent) => void;
176
180
  highlight?: {
177
181
  [id: string]: boolean | {
178
182
  [id: string]: boolean;
179
183
  };
180
184
  };
181
- onHeaderselectionchange?: (event: import('./interfaces/events').GridHeaderSelectionChangeEvent) => void;
185
+ defaultSelect?: import('@progress/kendo-vue-data-tools').SelectDescriptor;
186
+ select?: import('@progress/kendo-vue-data-tools').SelectDescriptor;
187
+ selectable?: boolean | import('./interfaces/GridSelectableSettings').GridSelectableSettings;
188
+ onHeaderselectionchange?: (event: GridHeaderSelectionChangeEvent) => void;
182
189
  onRowclick?: (event: import('./interfaces/events').GridRowClickEvent) => void;
183
190
  onRowdblclick?: (event: import('./interfaces/events').GridRowClickEvent) => void;
184
191
  onCellclick?: (event: any) => void;
package/GridState.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),T=require("./key.js"),V=require("./common.js"),j=require("@progress/kendo-vue-common"),A=n.defineComponent({name:"KendoVueGridStateProvider",inheritAttrs:!1,props:V.gridProps,setup(e,{emit:l}){var u,c,d,o,h,g,r,i,s;const t=n.ref({filter:(u=e.defaultFilter)!=null?u:e.filter,highlight:e.highlight,search:(c=e.defaultSearch)!=null?c:e.search,sort:(d=e.defaultSort)!=null?d:e.sort,take:(o=e.defaultTake)!=null?o:e.take,skip:(h=e.defaultSkip)!=null?h:e.skip,group:(g=e.defaultGroup)!=null?g:e.group,detailExpand:(r=e.defaultDetailExpand)!=null?r:e.detailExpand,groupExpand:(i=e.defaultGroupExpand)!=null?i:e.groupExpand,columnsState:(s=e.defaultColumnsState)!=null?s:e.columnsState}),f=a=>{t.value={...t.value,...a.data},l("datastatechange",a)},v=n.computed(()=>e.filter||t.value.filter||null),x=a=>{t.value.filter=a.filter,l("filterchange",a)};n.watch(()=>e.filter,a=>{t.value.filter=a});const S=n.computed(()=>e.search||t.value.search||null),k=a=>{t.value.search=a.search,t.value.skip=0,l("searchchange",a)};n.watch(()=>e.search,a=>{t.value.search=a});const E=n.computed(()=>e.sort||t.value.sort||[]),m=a=>{t.value.sort=a.sort,l("sortchange",a)};n.watch(()=>e.sort,a=>{t.value.sort=a});const C=n.computed(()=>e.skip||t.value.skip),p=n.computed(()=>e.take||t.value.take),w=a=>{t.value.skip=a.page.skip,t.value.take=a.page.take,l("pagechange",a)};n.watch(()=>e.skip,a=>{t.value.skip=a}),n.watch(()=>e.take,a=>{t.value.take=a});const G=n.computed(()=>e.group||t.value.group||[]),P=a=>{t.value.group=a.group,l("groupchange",a)};n.watch(()=>e.group,a=>{t.value.group=a});const q=n.computed(()=>e.detailExpand||t.value.detailExpand||{}),y=a=>{t.value.detailExpand=a.detailExpand,l("detailexpandchange",a)};n.watch(()=>e.detailExpand,a=>{t.value.detailExpand=a});const D=n.computed(()=>e.groupExpand||t.value.groupExpand||[]),K=a=>{t.value.groupExpand=a.groupExpand,l("groupexpandchange",a)};n.watch(()=>e.groupExpand,a=>{t.value.groupExpand=a});const b=n.computed(()=>e.columnsState||e.defaultColumnsState||[]),F=a=>{t.value.columnsState=a.columnsState,l("columnsstatechange",a)};n.watch(()=>e.columnsState,a=>{t.value.columnsState=a}),n.provide(T.KendoKey,{sort:E,sortchange:m,filter:v,filterchange:x,search:S,searchchange:k,skip:C,take:p,pagechange:w,group:G,groupchange:P,detailExpand:q,detailexpandchange:y,groupExpand:D,groupexpandchange:K,columnsState:b,columnsstatechange:F,datastatechange:f})},render(){return j.getDefaultSlots(this)}});exports.GridStateProvider=A;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),H=require("./key.js"),M=require("./common.js"),O=require("@progress/kendo-vue-common"),z=l.defineComponent({name:"KendoVueGridStateProvider",inheritAttrs:!1,props:M.gridProps,setup(a,{emit:n}){var c,u,d,o,h,g,r,s,i,f;const t=l.ref({filter:(c=a.defaultFilter)!=null?c:a.filter,highlight:a.highlight,select:(u=a.defaultSelect)!=null?u:a.select,search:(d=a.defaultSearch)!=null?d:a.search,sort:(o=a.defaultSort)!=null?o:a.sort,take:(h=a.defaultTake)!=null?h:a.take,skip:(g=a.defaultSkip)!=null?g:a.skip,group:(r=a.defaultGroup)!=null?r:a.group,detailExpand:(s=a.defaultDetailExpand)!=null?s:a.detailExpand,groupExpand:(i=a.defaultGroupExpand)!=null?i:a.groupExpand,columnsState:(f=a.defaultColumnsState)!=null?f:a.columnsState}),S=e=>{t.value={...t.value,...e.data},n("datastatechange",e)},v=l.computed(()=>a.filter||t.value.filter||null),x=e=>{t.value.filter=e.filter,n("filterchange",e)};l.watch(()=>a.filter,e=>{t.value.filter=e});const k=l.computed(()=>a.search||t.value.search||null),E=e=>{t.value.search=e.search,t.value.skip=0,n("searchchange",e)};l.watch(()=>a.search,e=>{t.value.search=e});const m=l.computed(()=>a.select||t.value.select||null),C=e=>{t.value.select=e.select,n("selectionchange",e)},w=e=>{t.value.select=e.select,n("headerselectionchange",e)},G=l.computed(()=>a.sort||t.value.sort||[]),P=e=>{t.value.sort=e.sort,n("sortchange",e)};l.watch(()=>a.sort,e=>{t.value.sort=e});const p=l.computed(()=>a.skip||t.value.skip),q=l.computed(()=>a.take||t.value.take),y=e=>{t.value.skip=e.page.skip,t.value.take=e.page.take,n("pagechange",e)};l.watch(()=>a.skip,e=>{t.value.skip=e}),l.watch(()=>a.take,e=>{t.value.take=e});const D=l.computed(()=>a.group||t.value.group||[]),K=e=>{t.value.group=e.group,n("groupchange",e)};l.watch(()=>a.group,e=>{t.value.group=e});const b=l.computed(()=>a.detailExpand||t.value.detailExpand||{}),F=e=>{t.value.detailExpand=e.detailExpand,n("detailexpandchange",e)};l.watch(()=>a.detailExpand,e=>{t.value.detailExpand=e});const T=l.computed(()=>a.groupExpand||t.value.groupExpand||[]),V=e=>{t.value.groupExpand=e.groupExpand,n("groupexpandchange",e)};l.watch(()=>a.groupExpand,e=>{t.value.groupExpand=e});const j=l.computed(()=>a.columnsState||a.defaultColumnsState||[]),A=e=>{t.value.columnsState=e.columnsState,n("columnsstatechange",e)};l.watch(()=>a.columnsState,e=>{t.value.columnsState=e}),l.provide(H.KendoKey,{sort:G,sortchange:P,filter:v,filterchange:x,search:k,searchchange:E,skip:p,take:q,pagechange:y,select:m,selectionchange:C,headerselectionchange:w,group:D,groupchange:K,detailExpand:b,detailexpandchange:F,groupExpand:T,groupexpandchange:V,columnsState:j,columnsstatechange:A,datastatechange:S})},render(){return O.getDefaultSlots(this)}});exports.GridStateProvider=z;
package/GridState.mjs CHANGED
@@ -5,110 +5,117 @@
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, ref as j, computed as n, watch as u, provide as q } from "vue";
9
- import { KendoKey as z } from "./key.mjs";
10
- import { gridProps as B } from "./common.mjs";
11
- import { getDefaultSlots as H } from "@progress/kendo-vue-common";
12
- const N = /* @__PURE__ */ b({
8
+ import { defineComponent as B, ref as I, computed as n, watch as u, provide as J } from "vue";
9
+ import { KendoKey as L } from "./key.mjs";
10
+ import { gridProps as M } from "./common.mjs";
11
+ import { getDefaultSlots as N } from "@progress/kendo-vue-common";
12
+ const W = /* @__PURE__ */ B({
13
13
  name: "KendoVueGridStateProvider",
14
14
  inheritAttrs: !1,
15
- props: B,
16
- setup(e, {
15
+ props: M,
16
+ setup(a, {
17
17
  emit: l
18
18
  }) {
19
- var d, c, o, g, h, r, i, s, f;
20
- const t = j({
19
+ var c, d, h, o, g, r, i, s, f, x;
20
+ const t = I({
21
21
  // edit: props.defaultEdit ?? props.edit,
22
- filter: (d = e.defaultFilter) != null ? d : e.filter,
23
- highlight: e.highlight,
24
- // select: props.defaultSelect ?? props.select,
25
- search: (c = e.defaultSearch) != null ? c : e.search,
26
- sort: (o = e.defaultSort) != null ? o : e.sort,
27
- take: (g = e.defaultTake) != null ? g : e.take,
28
- skip: (h = e.defaultSkip) != null ? h : e.skip,
29
- group: (r = e.defaultGroup) != null ? r : e.group,
30
- detailExpand: (i = e.defaultDetailExpand) != null ? i : e.detailExpand,
31
- groupExpand: (s = e.defaultGroupExpand) != null ? s : e.groupExpand,
32
- columnsState: (f = e.defaultColumnsState) != null ? f : e.columnsState
33
- }), x = (a) => {
22
+ filter: (c = a.defaultFilter) != null ? c : a.filter,
23
+ highlight: a.highlight,
24
+ select: (d = a.defaultSelect) != null ? d : a.select,
25
+ search: (h = a.defaultSearch) != null ? h : a.search,
26
+ sort: (o = a.defaultSort) != null ? o : a.sort,
27
+ take: (g = a.defaultTake) != null ? g : a.take,
28
+ skip: (r = a.defaultSkip) != null ? r : a.skip,
29
+ group: (i = a.defaultGroup) != null ? i : a.group,
30
+ detailExpand: (s = a.defaultDetailExpand) != null ? s : a.detailExpand,
31
+ groupExpand: (f = a.defaultGroupExpand) != null ? f : a.groupExpand,
32
+ columnsState: (x = a.defaultColumnsState) != null ? x : a.columnsState
33
+ }), S = (e) => {
34
34
  t.value = {
35
35
  ...t.value,
36
- ...a.data
37
- }, l("datastatechange", a);
38
- }, v = n(() => e.filter || t.value.filter || null), S = (a) => {
39
- t.value.filter = a.filter, l("filterchange", a);
36
+ ...e.data
37
+ }, l("datastatechange", e);
38
+ }, v = n(() => a.filter || t.value.filter || null), E = (e) => {
39
+ t.value.filter = e.filter, l("filterchange", e);
40
40
  };
41
- u(() => e.filter, (a) => {
42
- t.value.filter = a;
41
+ u(() => a.filter, (e) => {
42
+ t.value.filter = e;
43
43
  });
44
- const E = n(() => e.search || t.value.search || null), k = (a) => {
45
- t.value.search = a.search, t.value.skip = 0, l("searchchange", a);
44
+ const k = n(() => a.search || t.value.search || null), C = (e) => {
45
+ t.value.search = e.search, t.value.skip = 0, l("searchchange", e);
46
46
  };
47
- u(() => e.search, (a) => {
48
- t.value.search = a;
47
+ u(() => a.search, (e) => {
48
+ t.value.search = e;
49
49
  });
50
- const m = n(() => e.sort || t.value.sort || []), C = (a) => {
51
- t.value.sort = a.sort, l("sortchange", a);
50
+ const m = n(() => a.select || t.value.select || null), G = (e) => {
51
+ t.value.select = e.select, l("selectionchange", e);
52
+ }, D = (e) => {
53
+ t.value.select = e.select, l("headerselectionchange", e);
54
+ }, P = n(() => a.sort || t.value.sort || []), K = (e) => {
55
+ t.value.sort = e.sort, l("sortchange", e);
52
56
  };
53
- u(() => e.sort, (a) => {
54
- t.value.sort = a;
57
+ u(() => a.sort, (e) => {
58
+ t.value.sort = e;
55
59
  });
56
- const G = n(() => e.skip || t.value.skip), p = n(() => e.take || t.value.take), D = (a) => {
57
- t.value.skip = a.page.skip, t.value.take = a.page.take, l("pagechange", a);
60
+ const F = n(() => a.skip || t.value.skip), w = n(() => a.take || t.value.take), y = (e) => {
61
+ t.value.skip = e.page.skip, t.value.take = e.page.take, l("pagechange", e);
58
62
  };
59
- u(() => e.skip, (a) => {
60
- t.value.skip = a;
61
- }), u(() => e.take, (a) => {
62
- t.value.take = a;
63
+ u(() => a.skip, (e) => {
64
+ t.value.skip = e;
65
+ }), u(() => a.take, (e) => {
66
+ t.value.take = e;
63
67
  });
64
- const P = n(() => e.group || t.value.group || []), K = (a) => {
65
- t.value.group = a.group, l("groupchange", a);
68
+ const A = n(() => a.group || t.value.group || []), H = (e) => {
69
+ t.value.group = e.group, l("groupchange", e);
66
70
  };
67
- u(() => e.group, (a) => {
68
- t.value.group = a;
71
+ u(() => a.group, (e) => {
72
+ t.value.group = e;
69
73
  });
70
- const F = n(() => e.detailExpand || t.value.detailExpand || {}), w = (a) => {
71
- t.value.detailExpand = a.detailExpand, l("detailexpandchange", a);
74
+ const T = n(() => a.detailExpand || t.value.detailExpand || {}), V = (e) => {
75
+ t.value.detailExpand = e.detailExpand, l("detailexpandchange", e);
72
76
  };
73
- u(() => e.detailExpand, (a) => {
74
- t.value.detailExpand = a;
77
+ u(() => a.detailExpand, (e) => {
78
+ t.value.detailExpand = e;
75
79
  });
76
- const y = n(() => e.groupExpand || t.value.groupExpand || []), A = (a) => {
77
- t.value.groupExpand = a.groupExpand, l("groupexpandchange", a);
80
+ const b = n(() => a.groupExpand || t.value.groupExpand || []), j = (e) => {
81
+ t.value.groupExpand = e.groupExpand, l("groupexpandchange", e);
78
82
  };
79
- u(() => e.groupExpand, (a) => {
80
- t.value.groupExpand = a;
83
+ u(() => a.groupExpand, (e) => {
84
+ t.value.groupExpand = e;
81
85
  });
82
- const T = n(() => e.columnsState || e.defaultColumnsState || []), V = (a) => {
83
- t.value.columnsState = a.columnsState, l("columnsstatechange", a);
86
+ const q = n(() => a.columnsState || a.defaultColumnsState || []), z = (e) => {
87
+ t.value.columnsState = e.columnsState, l("columnsstatechange", e);
84
88
  };
85
- u(() => e.columnsState, (a) => {
86
- t.value.columnsState = a;
87
- }), q(z, {
88
- sort: m,
89
- sortchange: C,
89
+ u(() => a.columnsState, (e) => {
90
+ t.value.columnsState = e;
91
+ }), J(L, {
92
+ sort: P,
93
+ sortchange: K,
90
94
  filter: v,
91
- filterchange: S,
92
- search: E,
93
- searchchange: k,
94
- skip: G,
95
- take: p,
96
- pagechange: D,
97
- group: P,
98
- groupchange: K,
99
- detailExpand: F,
100
- detailexpandchange: w,
101
- groupExpand: y,
102
- groupexpandchange: A,
103
- columnsState: T,
104
- columnsstatechange: V,
105
- datastatechange: x
95
+ filterchange: E,
96
+ search: k,
97
+ searchchange: C,
98
+ skip: F,
99
+ take: w,
100
+ pagechange: y,
101
+ select: m,
102
+ selectionchange: G,
103
+ headerselectionchange: D,
104
+ group: A,
105
+ groupchange: H,
106
+ detailExpand: T,
107
+ detailexpandchange: V,
108
+ groupExpand: b,
109
+ groupexpandchange: j,
110
+ columnsState: q,
111
+ columnsstatechange: z,
112
+ datastatechange: S
106
113
  });
107
114
  },
108
115
  render() {
109
- return H(this);
116
+ return N(this);
110
117
  }
111
118
  });
112
119
  export {
113
- N as GridStateProvider
120
+ W as GridStateProvider
114
121
  };
package/RootGrid.d.ts CHANGED
@@ -139,6 +139,9 @@ export declare const RootGrid: import('vue').DefineComponent<import('vue').Extra
139
139
  defaultDetailExpand: import('vue').PropType<import('@progress/kendo-vue-data-tools').DetailExpandDescriptor>;
140
140
  editField: import('vue').PropType<string>;
141
141
  rowClass: import('vue').PropType<Function>;
142
+ select: import('vue').PropType<import('@progress/kendo-vue-data-tools').SelectDescriptor>;
143
+ defaultSelect: import('vue').PropType<import('@progress/kendo-vue-data-tools').SelectDescriptor>;
144
+ selectable: import('vue').PropType<boolean | import('./interfaces/GridSelectableSettings').GridSelectableSettings>;
142
145
  scrollable: {
143
146
  type: import('vue').PropType<string>;
144
147
  default: string;
@@ -321,6 +324,9 @@ export declare const RootGrid: import('vue').DefineComponent<import('vue').Extra
321
324
  defaultDetailExpand: import('vue').PropType<import('@progress/kendo-vue-data-tools').DetailExpandDescriptor>;
322
325
  editField: import('vue').PropType<string>;
323
326
  rowClass: import('vue').PropType<Function>;
327
+ select: import('vue').PropType<import('@progress/kendo-vue-data-tools').SelectDescriptor>;
328
+ defaultSelect: import('vue').PropType<import('@progress/kendo-vue-data-tools').SelectDescriptor>;
329
+ selectable: import('vue').PropType<boolean | import('./interfaces/GridSelectableSettings').GridSelectableSettings>;
324
330
  scrollable: {
325
331
  type: import('vue').PropType<string>;
326
332
  default: string;
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 c=require("vue"),v=require("./Grid.js"),x=require("./GridState.js"),L=require("./common.js"),n=require("@progress/kendo-vue-common"),P=c.defineComponent({name:"KendoVueGrid",props:L.gridProps,setup(l,{expose:r}){const o=c.ref(null);r({get element(){var e;return((e=o.value)==null?void 0:e.element)||null},get props(){return l},get columns(){var e;return((e=o.value)==null?void 0:e.columns)||[]},scrollIntoView:e=>{var s;(s=o.value)==null||s.scrollIntoView(e)},fitColumns:e=>{var s;(s=o.value)==null||s.fitColumns(e)},exportAsPdf:()=>{var e;(e=o.value)==null||e.exportAsPdf()}})},computed:{columnsWithTemplates(){const l=n.getListeners.call(this);return n.mapTree(this.$props.columns||[],"children",r=>{const o={...r},e=n.templateRendering.call(this,o.cell,l),s=n.templateRendering.call(this,o.headerCell,l),m=n.templateRendering.call(this,o.filterCell,l),u=n.templateRendering.call(this,o.footerCell,l),p=n.templateRendering.call(this,o.columnMenu,l);return{...o,cell:e,headerCell:s,filterCell:m,footerCell:u,columnMenu:p}})}},render(){const l=n.getDefaultSlots(this)||[],r=n.getListeners.call(this),o=l.filter(t=>{var a,i;return t.tag&&t.tag.toLowerCase().indexOf("toolbar")!==-1||t.componentOptions&&((a=t.componentOptions.tag)==null?void 0:a.toLowerCase().indexOf("toolbar"))!==-1||((i=t==null?void 0:t.type)==null?void 0:i.name.toLowerCase().indexOf("toolbar"))!==-1}),e=l.filter(t=>{var a,i;return t.tag&&t.tag.toLowerCase().indexOf("records")!==-1||t.componentOptions&&((a=t.componentOptions.tag)==null?void 0:a.toLowerCase().indexOf("records"))!==-1||((i=t==null?void 0:t.type)==null?void 0:i.name.toLowerCase().indexOf("records"))!==-1}),{cellRender:s,detail:m,columns:u,rowRender:p,pager:g,loader:f,...d}=this.$props,R=n.templateRendering.call(this,m,r),C=n.templateRendering.call(this,s,r),T=n.templateRendering.call(this,p,r),w=n.templateRendering.call(this,g,r),O=n.templateRendering.call(this,f,r),h=this.columnsWithTemplates;return c.createVNode(x.GridStateProvider,d,{default:()=>[c.createVNode(v.Grid,c.mergeProps(d,r,{class:this.$attrs.class,style:this.$attrs.style,columns:h,cellRender:C,rowRender:T,pager:w,loader:O,detail:R,toolbar:o,noRecords:e}),null)]})}});exports.RootGrid=P;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("vue"),v=require("./Grid.js"),x=require("./GridState.js"),L=require("./common.js"),n=require("@progress/kendo-vue-common"),P=c.defineComponent({name:"KendoVueGrid",props:L.gridProps,setup(l,{expose:r}){const t=c.ref(null);r({get element(){var e;return((e=t.value)==null?void 0:e.element)||null},get props(){return l},get columns(){var e;return((e=t.value)==null?void 0:e.columns)||[]},scrollIntoView:e=>{var s;(s=t.value)==null||s.scrollIntoView(e)},fitColumns:e=>{var s;(s=t.value)==null||s.fitColumns(e)},exportAsPdf:()=>{var e;(e=t.value)==null||e.exportAsPdf()}})},computed:{columnsWithTemplates(){const l=n.getListeners.call(this);return n.mapTree(this.$props.columns||[],"children",r=>{const t={...r},e=n.templateRendering.call(this,t.cell,l),s=n.templateRendering.call(this,t.headerCell,l),m=n.templateRendering.call(this,t.filterCell,l),u=n.templateRendering.call(this,t.footerCell,l),p=t.columnMenu!==!1?n.templateRendering.call(this,t.columnMenu,l):!1;return{...t,cell:e,headerCell:s,filterCell:m,footerCell:u,columnMenu:p}})}},render(){const l=n.getDefaultSlots(this)||[],r=n.getListeners.call(this),t=l.filter(o=>{var a,i;return o.tag&&o.tag.toLowerCase().indexOf("toolbar")!==-1||o.componentOptions&&((a=o.componentOptions.tag)==null?void 0:a.toLowerCase().indexOf("toolbar"))!==-1||((i=o==null?void 0:o.type)==null?void 0:i.name.toLowerCase().indexOf("toolbar"))!==-1}),e=l.filter(o=>{var a,i;return o.tag&&o.tag.toLowerCase().indexOf("records")!==-1||o.componentOptions&&((a=o.componentOptions.tag)==null?void 0:a.toLowerCase().indexOf("records"))!==-1||((i=o==null?void 0:o.type)==null?void 0:i.name.toLowerCase().indexOf("records"))!==-1}),{cellRender:s,detail:m,columns:u,rowRender:p,pager:g,loader:f,...d}=this.$props,R=n.templateRendering.call(this,m,r),C=n.templateRendering.call(this,s,r),T=n.templateRendering.call(this,p,r),w=n.templateRendering.call(this,g,r),O=n.templateRendering.call(this,f,r),h=this.columnsWithTemplates;return c.createVNode(x.GridStateProvider,d,{default:()=>[c.createVNode(v.Grid,c.mergeProps(d,r,{class:this.$attrs.class,style:this.$attrs.style,columns:h,cellRender:C,rowRender:T,pager:w,loader:O,detail:R,toolbar:t,noRecords:e}),null)]})}});exports.RootGrid=P;
package/RootGrid.mjs CHANGED
@@ -5,80 +5,80 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as L, createVNode as d, mergeProps as P, ref as v } from "vue";
8
+ import { defineComponent as L, createVNode as f, mergeProps as P, ref as v } from "vue";
9
9
  import { Grid as b } from "./Grid.mjs";
10
10
  import { GridStateProvider as y } from "./GridState.mjs";
11
11
  import { gridProps as G } from "./common.mjs";
12
- import { getDefaultSlots as V, getListeners as f, templateRendering as n, mapTree as $ } from "@progress/kendo-vue-common";
12
+ import { getDefaultSlots as M, getListeners as d, templateRendering as n, mapTree as V } from "@progress/kendo-vue-common";
13
13
  const I = /* @__PURE__ */ L({
14
14
  name: "KendoVueGrid",
15
15
  props: G,
16
16
  setup(l, {
17
17
  expose: r
18
18
  }) {
19
- const o = v(null);
19
+ const t = v(null);
20
20
  r({
21
21
  get element() {
22
22
  var e;
23
- return ((e = o.value) == null ? void 0 : e.element) || null;
23
+ return ((e = t.value) == null ? void 0 : e.element) || null;
24
24
  },
25
25
  get props() {
26
26
  return l;
27
27
  },
28
28
  get columns() {
29
29
  var e;
30
- return ((e = o.value) == null ? void 0 : e.columns) || [];
30
+ return ((e = t.value) == null ? void 0 : e.columns) || [];
31
31
  },
32
32
  scrollIntoView: (e) => {
33
33
  var s;
34
- (s = o.value) == null || s.scrollIntoView(e);
34
+ (s = t.value) == null || s.scrollIntoView(e);
35
35
  },
36
36
  fitColumns: (e) => {
37
37
  var s;
38
- (s = o.value) == null || s.fitColumns(e);
38
+ (s = t.value) == null || s.fitColumns(e);
39
39
  },
40
40
  exportAsPdf: () => {
41
41
  var e;
42
- (e = o.value) == null || e.exportAsPdf();
42
+ (e = t.value) == null || e.exportAsPdf();
43
43
  }
44
44
  });
45
45
  },
46
46
  computed: {
47
47
  columnsWithTemplates() {
48
- const l = f.call(this);
49
- return $(this.$props.columns || [], "children", (r) => {
50
- const o = {
48
+ const l = d.call(this);
49
+ return V(this.$props.columns || [], "children", (r) => {
50
+ const t = {
51
51
  ...r
52
- }, e = n.call(this, o.cell, l), s = n.call(this, o.headerCell, l), i = n.call(this, o.filterCell, l), p = n.call(this, o.footerCell, l), m = n.call(this, o.columnMenu, l);
52
+ }, e = n.call(this, t.cell, l), s = n.call(this, t.headerCell, l), m = n.call(this, t.filterCell, l), p = n.call(this, t.footerCell, l), i = t.columnMenu !== !1 ? n.call(this, t.columnMenu, l) : !1;
53
53
  return {
54
- ...o,
54
+ ...t,
55
55
  cell: e,
56
56
  headerCell: s,
57
- filterCell: i,
57
+ filterCell: m,
58
58
  footerCell: p,
59
- columnMenu: m
59
+ columnMenu: i
60
60
  };
61
61
  });
62
62
  }
63
63
  },
64
64
  render() {
65
- const l = V(this) || [], r = f.call(this), o = l.filter((t) => {
65
+ const l = M(this) || [], r = d.call(this), t = l.filter((o) => {
66
66
  var a, c;
67
- return t.tag && t.tag.toLowerCase().indexOf("toolbar") !== -1 || t.componentOptions && ((a = t.componentOptions.tag) == null ? void 0 : a.toLowerCase().indexOf("toolbar")) !== -1 || ((c = t == null ? void 0 : t.type) == null ? void 0 : c.name.toLowerCase().indexOf("toolbar")) !== -1;
68
- }), e = l.filter((t) => {
67
+ return o.tag && o.tag.toLowerCase().indexOf("toolbar") !== -1 || o.componentOptions && ((a = o.componentOptions.tag) == null ? void 0 : a.toLowerCase().indexOf("toolbar")) !== -1 || ((c = o == null ? void 0 : o.type) == null ? void 0 : c.name.toLowerCase().indexOf("toolbar")) !== -1;
68
+ }), e = l.filter((o) => {
69
69
  var a, c;
70
- return t.tag && t.tag.toLowerCase().indexOf("records") !== -1 || t.componentOptions && ((a = t.componentOptions.tag) == null ? void 0 : a.toLowerCase().indexOf("records")) !== -1 || ((c = t == null ? void 0 : t.type) == null ? void 0 : c.name.toLowerCase().indexOf("records")) !== -1;
70
+ return o.tag && o.tag.toLowerCase().indexOf("records") !== -1 || o.componentOptions && ((a = o.componentOptions.tag) == null ? void 0 : a.toLowerCase().indexOf("records")) !== -1 || ((c = o == null ? void 0 : o.type) == null ? void 0 : c.name.toLowerCase().indexOf("records")) !== -1;
71
71
  }), {
72
72
  cellRender: s,
73
- detail: i,
73
+ detail: m,
74
74
  columns: p,
75
- rowRender: m,
75
+ rowRender: i,
76
76
  pager: g,
77
77
  loader: C,
78
78
  ...u
79
- } = this.$props, R = n.call(this, i, r), w = n.call(this, s, r), T = n.call(this, m, r), h = n.call(this, g, r), O = n.call(this, C, r), x = this.columnsWithTemplates;
80
- return d(y, u, {
81
- default: () => [d(b, P(u, r, {
79
+ } = this.$props, R = n.call(this, m, r), w = n.call(this, s, r), T = n.call(this, i, r), h = n.call(this, g, r), O = n.call(this, C, r), x = this.columnsWithTemplates;
80
+ return f(y, u, {
81
+ default: () => [f(b, P(u, r, {
82
82
  class: this.$attrs.class,
83
83
  style: this.$attrs.style,
84
84
  columns: x,
@@ -87,7 +87,7 @@ const I = /* @__PURE__ */ L({
87
87
  pager: h,
88
88
  loader: O,
89
89
  detail: R,
90
- toolbar: o,
90
+ toolbar: t,
91
91
  noRecords: e
92
92
  }), null)]
93
93
  });