@progress/kendo-vue-grid 8.1.2-develop.1 → 8.2.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 (59) hide show
  1. package/Grid.d.ts +36 -3
  2. package/Grid.js +1 -1
  3. package/Grid.mjs +706 -496
  4. package/GridSearchBox.js +1 -1
  5. package/GridSearchBox.mjs +5 -5
  6. package/GridState.d.ts +6 -0
  7. package/NOTICE.txt +117 -53
  8. package/RootGrid.d.ts +6 -10
  9. package/cells/GridCell.d.ts +2 -0
  10. package/cells/GridCell.js +1 -1
  11. package/cells/GridCell.mjs +52 -43
  12. package/cells/GridDetailCell.d.ts +4 -1
  13. package/cells/GridDetailCell.js +1 -1
  14. package/cells/GridDetailCell.mjs +27 -18
  15. package/cells/GridEditCell.d.ts +2 -0
  16. package/cells/GridEditCell.js +1 -1
  17. package/cells/GridEditCell.mjs +21 -14
  18. package/cells/GridGroupCell.d.ts +1 -0
  19. package/cells/GridGroupCell.js +1 -1
  20. package/cells/GridGroupCell.mjs +45 -40
  21. package/cells/GridHierarchyCell.d.ts +1 -0
  22. package/cells/GridHierarchyCell.js +1 -1
  23. package/cells/GridHierarchyCell.mjs +25 -20
  24. package/cells/GridSelectionCell.d.ts +4 -1
  25. package/cells/GridSelectionCell.js +1 -1
  26. package/cells/GridSelectionCell.mjs +31 -21
  27. package/cells/pincell/GridPinCell.d.ts +6 -2
  28. package/cells/pincell/GridPinCell.js +1 -1
  29. package/cells/pincell/GridPinCell.mjs +67 -42
  30. package/cells/pincell/GridPinDropdownButton.js +1 -1
  31. package/cells/pincell/GridPinDropdownButton.mjs +25 -25
  32. package/common.d.ts +3 -0
  33. package/common.js +1 -1
  34. package/common.mjs +4 -1
  35. package/components/PinnedRowsTable.js +1 -1
  36. package/components/PinnedRowsTable.mjs +46 -34
  37. package/components/table/GridTable.js +1 -1
  38. package/components/table/GridTable.mjs +6 -6
  39. package/components/table/GridTableScrollable.js +1 -1
  40. package/components/table/GridTableScrollable.mjs +4 -4
  41. package/contextMenu/GridContextMenu.d.ts +155 -0
  42. package/contextMenu/GridContextMenu.js +8 -0
  43. package/contextMenu/GridContextMenu.mjs +336 -0
  44. package/contextMenu/enums.d.ts +40 -0
  45. package/contextMenu/enums.js +8 -0
  46. package/contextMenu/enums.mjs +12 -0
  47. package/dist/cdn/js/kendo-vue-grid.js +1 -1
  48. package/header/HeaderRow.d.ts +1 -0
  49. package/header/HeaderRow.js +1 -1
  50. package/header/HeaderRow.mjs +92 -81
  51. package/index.d.mts +3 -0
  52. package/index.d.ts +3 -0
  53. package/index.js +1 -1
  54. package/index.mjs +61 -53
  55. package/interfaces/GridProps.d.ts +31 -1
  56. package/interfaces/events.d.ts +38 -0
  57. package/package-metadata.js +1 -1
  58. package/package-metadata.mjs +2 -2
  59. package/package.json +13 -13
@@ -5,10 +5,10 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as c, createVNode as s, inject as p, h as m } from "vue";
9
- import { noop as b, getTemplate as u } from "@progress/kendo-vue-common";
10
- import { KEYBOARD_NAV_DATA_ID as I, KEYBOARD_NAV_DATA_LEVEL as A } from "@progress/kendo-vue-data-tools";
11
- const S = /* @__PURE__ */ c({
8
+ import { defineComponent as c, createVNode as p, inject as o, h as m } from "vue";
9
+ import { noop as u, getTemplate as g } from "@progress/kendo-vue-common";
10
+ import { KEYBOARD_NAV_DATA_ID as x, KEYBOARD_NAV_DATA_LEVEL as b } from "@progress/kendo-vue-data-tools";
11
+ const N = /* @__PURE__ */ c({
12
12
  props: {
13
13
  colSpan: Number,
14
14
  ariaColIndex: Number,
@@ -19,42 +19,51 @@ const S = /* @__PURE__ */ c({
19
19
  },
20
20
  inject: {
21
21
  getKeyboardNavigationAttributes: {
22
- default: b
22
+ default: u
23
23
  }
24
24
  },
25
25
  setup() {
26
+ const e = o("kendoIntlService", {}), t = o("gridContext", null);
26
27
  return {
27
- kendoIntlService: p("kendoIntlService", {})
28
+ kendoIntlService: e,
29
+ gridContext: t
28
30
  };
29
31
  },
32
+ methods: {
33
+ triggerContextMenu(e) {
34
+ var t, n;
35
+ (n = (t = this.gridContext) == null ? void 0 : t.onContextMenu) == null || n.call(t, e, this.$props.dataItem);
36
+ }
37
+ },
30
38
  render() {
31
39
  const {
32
40
  colSpan: e,
33
- ariaColIndex: a,
41
+ ariaColIndex: t,
34
42
  dataItem: n,
35
43
  dataIndex: r,
36
- id: d
37
- } = this.$props, t = this.getKeyboardNavigationAttributes(d), o = {
44
+ id: i
45
+ } = this.$props, a = this.getKeyboardNavigationAttributes(i), d = {
38
46
  class: "k-table-td k-detail-cell",
39
47
  colspan: e,
40
- "aria-colindex": a,
48
+ "aria-colindex": t,
41
49
  role: "gridcell",
42
- tabindex: t.tabIndex,
43
- "data-keyboardnavlevel": t[A],
44
- "data-keyboardnavid": t[I]
45
- }, i = function(l) {
46
- return u.call(this, {
50
+ tabindex: a.tabIndex,
51
+ "data-keyboardnavlevel": a[b],
52
+ "data-keyboardnavid": a[x],
53
+ onContextmenu: this.triggerContextMenu
54
+ }, l = function(s) {
55
+ return g.call(this, {
47
56
  h: m,
48
57
  template: this.$props.detail,
49
- additionalProps: l
58
+ additionalProps: s
50
59
  });
51
60
  }.call(this, {
52
61
  dataItem: n,
53
62
  dataIndex: r
54
63
  });
55
- return s("td", o, [i]);
64
+ return p("td", d, [l]);
56
65
  }
57
66
  });
58
67
  export {
59
- S as GridDetailCell
68
+ N as GridDetailCell
60
69
  };
@@ -32,6 +32,7 @@ declare const GridEditCell: import('vue').DefineComponent<import('vue').ExtractP
32
32
  dataIndex: PropType<number>;
33
33
  }>, {
34
34
  kendoIntlService: {};
35
+ gridContext: any;
35
36
  }, {
36
37
  inputId: any;
37
38
  }, {
@@ -47,6 +48,7 @@ declare const GridEditCell: import('vue').DefineComponent<import('vue').ExtractP
47
48
  triggerSave(dataItem: any): void;
48
49
  triggerRemove(dataItem: any): void;
49
50
  changeHandler(event: any, value: any): void;
51
+ triggerContextMenu(e: MouseEvent): void;
50
52
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
51
53
  change: any;
52
54
  cellkeydown: any;
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),d=require("../utils/main.js"),r=require("@progress/kendo-vue-common"),s=require("@progress/kendo-vue-inputs"),l=require("@progress/kendo-vue-dateinputs"),i=require("@progress/kendo-vue-data-tools"),o=a.defineComponent({name:"GridEditCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnType:String,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,readFormat:String,dataIndex:Number},emits:{change:null,cellkeydown:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:r.noop}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},data(){return{inputId:r.guid()}},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},changeHandler(e,t){t||(e.target.type==="checkbox"?t=e.target.checked:t=e.target.valueAsDate?e.target.valueAsDate:e.target.value),this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,value:t})}},setup(){return{kendoIntlService:a.inject("kendoIntlService",{})}},render(){const e=d.getNestedValue(this.$props.field,this.$props.dataItem),t=this.getKeyboardNavigationAttributes(this.$props.id);let n=null;switch(this.$props.editor){case"numeric":n=a.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[i.KEYBOARD_NAV_DATA_ID]},[a.createVNode(s.NumericTextBox,{style:{width:"100%"},value:e===void 0?null:e,onChange:this.changeHandler},null)]);break;case"date":n=a.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[i.KEYBOARD_NAV_DATA_ID]},[a.createVNode(l.DatePicker,{style:{width:"100%"},value:e,onChange:this.changeHandler},null)]);break;case"boolean":n=a.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[i.KEYBOARD_NAV_DATA_ID]},[a.createVNode("input",{checked:e||!1,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.changeHandler},null),a.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]);break;default:n=a.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[i.KEYBOARD_NAV_DATA_ID]},[a.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[a.createVNode("input",{style:{width:"100%"},class:"k-input-inner",value:e!=null?e:"",onChange:this.changeHandler},null)])])}return r.getTemplate.call(this,{h:a.h,template:this.$props.render,defaultRendering:n,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}});exports.GridEditCell=o;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),d=require("../utils/main.js"),r=require("@progress/kendo-vue-common"),s=require("@progress/kendo-vue-inputs"),l=require("@progress/kendo-vue-dateinputs"),n=require("@progress/kendo-vue-data-tools"),o=i.defineComponent({name:"GridEditCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnType:String,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,readFormat:String,dataIndex:Number},emits:{change:null,cellkeydown:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:r.noop}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},data(){return{inputId:r.guid()}},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},changeHandler(e,t){t||(e.target.type==="checkbox"?t=e.target.checked:t=e.target.valueAsDate?e.target.valueAsDate:e.target.value),this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:e,value:t})},triggerContextMenu(e){var t,a;(a=(t=this.gridContext)==null?void 0:t.onContextMenu)==null||a.call(t,e,this.$props.dataItem,this.$props.field)}},setup(){const e=i.inject("kendoIntlService",{}),t=i.inject("gridContext",null);return{kendoIntlService:e,gridContext:t}},render(){const e=d.getNestedValue(this.$props.field,this.$props.dataItem),t=this.getKeyboardNavigationAttributes(this.$props.id);let a=null;switch(this.$props.editor){case"numeric":a=i.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[n.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[n.KEYBOARD_NAV_DATA_ID]},[i.createVNode(s.NumericTextBox,{style:{width:"100%"},value:e===void 0?null:e,onChange:this.changeHandler},null)]);break;case"date":a=i.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[n.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[n.KEYBOARD_NAV_DATA_ID]},[i.createVNode(l.DatePicker,{style:{width:"100%"},value:e,onChange:this.changeHandler},null)]);break;case"boolean":a=i.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[n.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[n.KEYBOARD_NAV_DATA_ID]},[i.createVNode("input",{checked:e||!1,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.changeHandler},null),i.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]);break;default:a=i.createVNode("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,colspan:this.$props.colSpan,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[n.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[n.KEYBOARD_NAV_DATA_ID]},[i.createVNode("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[i.createVNode("input",{style:{width:"100%"},class:"k-input-inner",value:e!=null?e:"",onChange:this.changeHandler},null)])])}return r.getTemplate.call(this,{h:i.h,template:this.$props.render,defaultRendering:a,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove,contextmenu:this.triggerContextMenu}})}});exports.GridEditCell=o;
@@ -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 d, createVNode as i, h as s, inject as l } from "vue";
8
+ import { defineComponent as s, createVNode as i, h as l, inject as d } from "vue";
9
9
  import { getNestedValue as o } from "../utils/main.mjs";
10
10
  import { noop as c, getTemplate as p, guid as h } from "@progress/kendo-vue-common";
11
11
  import { NumericTextBox as g } from "@progress/kendo-vue-inputs";
12
12
  import { DatePicker as u } from "@progress/kendo-vue-dateinputs";
13
- import { KEYBOARD_NAV_DATA_ID as r, KEYBOARD_NAV_DATA_LEVEL as n } from "@progress/kendo-vue-data-tools";
14
- const v = /* @__PURE__ */ d({
13
+ import { KEYBOARD_NAV_DATA_ID as n, KEYBOARD_NAV_DATA_LEVEL as r } from "@progress/kendo-vue-data-tools";
14
+ const v = /* @__PURE__ */ s({
15
15
  name: "GridEditCell",
16
16
  inheritAttrs: !1,
17
17
  props: {
@@ -99,11 +99,17 @@ const v = /* @__PURE__ */ d({
99
99
  event: e,
100
100
  value: t
101
101
  });
102
+ },
103
+ triggerContextMenu(e) {
104
+ var t, a;
105
+ (a = (t = this.gridContext) == null ? void 0 : t.onContextMenu) == null || a.call(t, e, this.$props.dataItem, this.$props.field);
102
106
  }
103
107
  },
104
108
  setup() {
109
+ const e = d("kendoIntlService", {}), t = d("gridContext", null);
105
110
  return {
106
- kendoIntlService: l("kendoIntlService", {})
111
+ kendoIntlService: e,
112
+ gridContext: t
107
113
  };
108
114
  },
109
115
  render() {
@@ -121,8 +127,8 @@ const v = /* @__PURE__ */ d({
121
127
  "aria-selected": this.$props.isSelected,
122
128
  "data-grid-col-index": this.$props.columnIndex,
123
129
  tabindex: t.tabIndex,
124
- "data-keyboardnavlevel": t[n],
125
- "data-keyboardnavid": t[r]
130
+ "data-keyboardnavlevel": t[r],
131
+ "data-keyboardnavid": t[n]
126
132
  }, [i(g, {
127
133
  style: {
128
134
  width: "100%"
@@ -142,8 +148,8 @@ const v = /* @__PURE__ */ d({
142
148
  "aria-selected": this.$props.isSelected,
143
149
  "data-grid-col-index": this.$props.columnIndex,
144
150
  tabindex: t.tabIndex,
145
- "data-keyboardnavlevel": t[n],
146
- "data-keyboardnavid": t[r]
151
+ "data-keyboardnavlevel": t[r],
152
+ "data-keyboardnavid": t[n]
147
153
  }, [i(u, {
148
154
  style: {
149
155
  width: "100%"
@@ -163,8 +169,8 @@ const v = /* @__PURE__ */ d({
163
169
  "aria-selected": this.$props.isSelected,
164
170
  "data-grid-col-index": this.$props.columnIndex,
165
171
  tabindex: t.tabIndex,
166
- "data-keyboardnavlevel": t[n],
167
- "data-keyboardnavid": t[r]
172
+ "data-keyboardnavlevel": t[r],
173
+ "data-keyboardnavid": t[n]
168
174
  }, [i("input", {
169
175
  checked: e || !1,
170
176
  id: this.inputId,
@@ -187,8 +193,8 @@ const v = /* @__PURE__ */ d({
187
193
  "aria-selected": this.$props.isSelected,
188
194
  "data-grid-col-index": this.$props.columnIndex,
189
195
  tabindex: t.tabIndex,
190
- "data-keyboardnavlevel": t[n],
191
- "data-keyboardnavid": t[r]
196
+ "data-keyboardnavlevel": t[r],
197
+ "data-keyboardnavid": t[n]
192
198
  }, [i("span", {
193
199
  class: "k-textbox k-input k-input-md k-rounded-md k-input-solid"
194
200
  }, [i("input", {
@@ -201,7 +207,7 @@ const v = /* @__PURE__ */ d({
201
207
  }, null)])]);
202
208
  }
203
209
  return p.call(this, {
204
- h: s,
210
+ h: l,
205
211
  template: this.$props.render,
206
212
  defaultRendering: a,
207
213
  additionalProps: this.$props,
@@ -212,7 +218,8 @@ const v = /* @__PURE__ */ d({
212
218
  add: this.triggerAdd,
213
219
  cancel: this.triggerCancel,
214
220
  save: this.triggerSave,
215
- remove: this.triggerRemove
221
+ remove: this.triggerRemove,
222
+ contextmenu: this.triggerContextMenu
216
223
  }
217
224
  });
218
225
  }
@@ -48,6 +48,7 @@ declare const GridGroupCell: import('vue').DefineComponent<import('vue').Extract
48
48
  triggerStateChange(): void;
49
49
  triggerKeydown(event: any, expanded: boolean | undefined): void;
50
50
  clickHandler(e: any, dataItem: any, expanded: boolean | undefined): void;
51
+ triggerContextMenu(e: MouseEvent): void;
51
52
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
52
53
  change: any;
53
54
  cellkeydown: any;
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),i=require("@progress/kendo-vue-common"),k=require("@progress/kendo-vue-data-tools"),o=require("../messages/main.js"),S=require("@progress/kendo-vue-intl"),f=require("@progress/kendo-svg-icons"),x=e=>{var t,l;return(l=(t=e.cells)==null?void 0:t.groupHeader)==null?void 0:l[e.rowType||"data"]},A=a.defineComponent({name:"KendoGridGroupCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,colSpan:Number,className:String,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,locked:Boolean,expanded:Boolean,editor:String,dataIndex:Number,isSelected:Boolean,isRtl:Boolean,ariaColumnIndex:Number,group:Object,render:[String,Function,Object],cells:Object},emits:{change:null,cellkeydown:null},inject:{kendo:{default:null},kendoIntlService:{default:null},kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:i.noop}},computed:{tdClass(){const{className:e,locked:t}=this.$props;return{"k-table-td":!0,"k-grid-content-sticky":t,[e]:e}},tdStyle(){const{locked:e}=this.$props,t=e?{position:"sticky",zIndex:2}:{};return{...this.$attrs.style,...t}},groupTdClass(){const{className:e,locked:t}=this.$props;return{"k-table-td":!0,"k-group-cell":!0,"k-grid-content-sticky":t,[e]:e}}},methods:{triggerStateChange(){var t;const e=this.kendo;(t=e==null?void 0:e.dispatchGroupExpand)==null||t.call(e,{type:k.GROUP_EXPAND_ACTION.TOGGLE,group:this.$props.group})},triggerKeydown(e,t){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,field:this.$props.field,expanded:this.$props.expanded}),!e.defaultPrevented&&e.keyCode===i.Keys.enter&&(e.preventDefault(),this.$emit("change",{dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!t}),this.triggerStateChange())},clickHandler(e,t,l){e.preventDefault(),this.$emit("change",{dataItem:t,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!l}),this.triggerStateChange()}},render(){let e=null,t,l,s=null;const{columnIndex:n,level:c,columnsCount:p,rowType:v,dataItem:d,field:u,expanded:r,render:$,locked:g}=this.$props,h=this.getKeyboardNavigationAttributes(this.$props.id),b=S.provideLocalizationService(this).toLanguageString(o.groupCaretAriaLabelCollapse,o.messages[o.groupCaretAriaLabelCollapse]),y=S.provideLocalizationService(this).toLanguageString(o.groupCaretAriaLabelExpand,o.messages[o.groupCaretAriaLabelExpand]);if(n===void 0||c===void 0||n<c||p===void 0||v!=="groupHeader"||d[u]===void 0)t={style:this.$attrs.style,key:"g"+n,class:this.groupTdClass},e=a.createVNode("td",t,null);else if(n<=c){t={style:this.tdStyle,key:"g-colspan",class:g?"k-table-td":this.tdClass,colspan:g?0:p-n,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"aria-expanded":r,"data-grid-col-index":this.$props.columnIndex,tabindex:h.tabIndex,"data-keyboardnavlevel":h[k.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":h[k.KEYBOARD_NAV_DATA_ID]},s=a.createVNode("p",{class:"k-reset"},[a.createVNode("a",{onClick:m=>{this.clickHandler(m,d,r)},href:"#",tabindex:-1,title:r?b:y,"aria-label":r?b:y},[a.createVNode(i.Icon,{name:r?"caret-alt-down":this.isRtl?"caret-alt-left":"caret-alt-right",icon:r?f.caretAltDownIcon:this.isRtl?f.caretAltLeftIcon:f.caretAltRightIcon},null)]),d[u]?d[u].toString():""]);const C=a.createVNode("td",a.mergeProps(t,{onKeydown:m=>{this.triggerKeydown(m,r)}}),[s]);l={className:"k-table-td",role:"gridcell",colSpan:p-n,style:{borderLeftWidth:0,borderRightWidth:0}};const I=g?a.createVNode("td",l,null):null;e=I?[C,I]:C}return i.getTemplate.call(this,{h:a.h,template:$||x(this.$props),defaultRendering:e,additionalProps:{...this.$props,tdProps:t,td2Props:l},additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler},defaultSlots:s})}});exports.GridGroupCell=A;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),s=require("@progress/kendo-vue-common"),f=require("@progress/kendo-vue-data-tools"),o=require("../messages/main.js"),I=require("@progress/kendo-vue-intl"),k=require("@progress/kendo-svg-icons"),v=e=>{var t,a;return(a=(t=e.cells)==null?void 0:t.group)==null?void 0:a[e.rowType||"data"]},A=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,locked:Boolean,expanded:Boolean,editor:String,dataIndex:Number,isSelected:Boolean,isRtl:Boolean,ariaColumnIndex:Number,group:Object,render:[String,Function,Object],cells:Object},emits:{change:null,cellkeydown:null},inject:{gridContext:{default:null},kendoIntlService:{default:null},kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:s.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.gridContext;(t=e==null?void 0:e.dispatchGroupExpand)==null||t.call(e,{type:f.GROUP_EXPAND_ACTION.TOGGLE,group:this.$props.group})},triggerKeydown(e,t){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,field:this.$props.field,expanded:this.$props.expanded}),!e.defaultPrevented&&e.keyCode===s.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,a){e.preventDefault(),this.$emit("change",{dataItem:t,dataIndex:this.$props.dataIndex,event:e,level:this.$props.level,field:void 0,value:!a}),this.triggerStateChange()},triggerContextMenu(e){var t,a;(a=(t=this.gridContext)==null?void 0:t.onContextMenu)==null||a.call(t,e,this.$props.dataItem,this.$props.field)}},render(){let e=null,t,a,c=null;const{columnIndex:l,level:p,columnsCount:u,rowType:S,dataItem:i,field:g,expanded:r,render:$,locked:d}=this.$props,h=this.getKeyboardNavigationAttributes(this.$props.id),C=I.provideLocalizationService(this).toLanguageString(o.groupCaretAriaLabelCollapse,o.messages[o.groupCaretAriaLabelCollapse]),b=I.provideLocalizationService(this).toLanguageString(o.groupCaretAriaLabelExpand,o.messages[o.groupCaretAriaLabelExpand]);if(l===void 0||p===void 0||l<p||u===void 0||S!=="groupHeader"||i[g]===void 0)t={style:this.$attrs.style,key:"g"+l,class:this.groupTdClass},e=n.createVNode("td",t,null);else if(l<=p){t={style:this.tdStyle,key:"g-colspan",class:d?"k-table-td":this.tdClass,colspan:d?0:u-l,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"aria-expanded":r,"data-grid-col-index":this.$props.columnIndex,tabindex:h.tabIndex,"data-keyboardnavlevel":h[f.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":h[f.KEYBOARD_NAV_DATA_ID]},c=n.createVNode("p",{class:"k-reset"},[n.createVNode("a",{onClick:m=>{this.clickHandler(m,i,r)},href:"#",tabindex:-1,title:r?C:b,"aria-label":r?C:b},[n.createVNode(s.Icon,{name:r?"caret-alt-down":this.isRtl?"caret-alt-left":"caret-alt-right",icon:r?k.caretAltDownIcon:this.isRtl?k.caretAltLeftIcon:k.caretAltRightIcon},null)]),i[g]?i[g].toString():""]);const y=n.createVNode("td",n.mergeProps(t,{onKeydown:m=>{this.triggerKeydown(m,r)}}),[c]);d&&(a={className:"k-table-td",role:"gridcell",colSpan:u-l,style:{borderLeftWidth:0,borderRightWidth:0}});const x=d?n.createVNode("td",a,null):null;e=x?[y,x]:y}return s.getTemplate.call(this,{h:n.h,template:$||v(this.$props),defaultRendering:e,additionalProps:{...this.$props,tdProps:t,td2Props:a},additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler,contextmenu:this.triggerContextMenu},defaultSlots:c})}});exports.GridGroupCell=A;
@@ -5,16 +5,16 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as x, createVNode as n, mergeProps as A, h as v } from "vue";
8
+ import { defineComponent as S, createVNode as a, mergeProps as A, h as v } from "vue";
9
9
  import { noop as N, Icon as L, getTemplate as w, Keys as K } from "@progress/kendo-vue-common";
10
10
  import { KEYBOARD_NAV_DATA_ID as R, KEYBOARD_NAV_DATA_LEVEL as T, GROUP_EXPAND_ACTION as D } from "@progress/kendo-vue-data-tools";
11
- import { groupCaretAriaLabelCollapse as y, messages as b, groupCaretAriaLabelExpand as I } from "../messages/main.mjs";
12
- import { provideLocalizationService as C } from "@progress/kendo-vue-intl";
11
+ import { groupCaretAriaLabelCollapse as x, messages as y, groupCaretAriaLabelExpand as C } from "../messages/main.mjs";
12
+ import { provideLocalizationService as b } from "@progress/kendo-vue-intl";
13
13
  import { caretAltDownIcon as E, caretAltRightIcon as O, caretAltLeftIcon as G } from "@progress/kendo-svg-icons";
14
14
  const _ = (e) => {
15
15
  var t, l;
16
- return (l = (t = e.cells) == null ? void 0 : t.groupHeader) == null ? void 0 : l[e.rowType || "data"];
17
- }, W = /* @__PURE__ */ x({
16
+ return (l = (t = e.cells) == null ? void 0 : t.group) == null ? void 0 : l[e.rowType || "data"];
17
+ }, M = /* @__PURE__ */ S({
18
18
  name: "KendoGridGroupCell",
19
19
  inheritAttrs: !1,
20
20
  props: {
@@ -45,7 +45,7 @@ const _ = (e) => {
45
45
  cellkeydown: null
46
46
  },
47
47
  inject: {
48
- kendo: {
48
+ gridContext: {
49
49
  default: null
50
50
  },
51
51
  kendoIntlService: {
@@ -98,7 +98,7 @@ const _ = (e) => {
98
98
  methods: {
99
99
  triggerStateChange() {
100
100
  var t;
101
- const e = this.kendo;
101
+ const e = this.gridContext;
102
102
  (t = e == null ? void 0 : e.dispatchGroupExpand) == null || t.call(e, {
103
103
  type: D.TOGGLE,
104
104
  group: this.$props.group
@@ -129,70 +129,74 @@ const _ = (e) => {
129
129
  field: void 0,
130
130
  value: !l
131
131
  }), this.triggerStateChange();
132
+ },
133
+ triggerContextMenu(e) {
134
+ var t, l;
135
+ (l = (t = this.gridContext) == null ? void 0 : t.onContextMenu) == null || l.call(t, e, this.$props.dataItem, this.$props.field);
132
136
  }
133
137
  },
134
138
  render() {
135
- let e = null, t, l, o = null;
139
+ let e = null, t, l, d = null;
136
140
  const {
137
141
  columnIndex: r,
138
- level: d,
139
- columnsCount: s,
140
- rowType: S,
142
+ level: s,
143
+ columnsCount: p,
144
+ rowType: I,
141
145
  dataItem: i,
142
- field: p,
143
- expanded: a,
146
+ field: c,
147
+ expanded: n,
144
148
  render: $,
145
- locked: c
146
- } = this.$props, u = this.getKeyboardNavigationAttributes(this.$props.id), h = C(this).toLanguageString(y, b[y]), m = C(this).toLanguageString(I, b[I]);
147
- if (r === void 0 || d === void 0 || r < d || s === void 0 || S !== "groupHeader" || i[p] === void 0)
149
+ locked: o
150
+ } = this.$props, u = this.getKeyboardNavigationAttributes(this.$props.id), h = b(this).toLanguageString(x, y[x]), m = b(this).toLanguageString(C, y[C]);
151
+ if (r === void 0 || s === void 0 || r < s || p === void 0 || I !== "groupHeader" || i[c] === void 0)
148
152
  t = {
149
153
  style: this.$attrs.style,
150
154
  key: "g" + r,
151
155
  class: this.groupTdClass
152
- }, e = n("td", t, null);
153
- else if (r <= d) {
156
+ }, e = a("td", t, null);
157
+ else if (r <= s) {
154
158
  t = {
155
159
  style: this.tdStyle,
156
160
  key: "g-colspan",
157
- class: c ? "k-table-td" : this.tdClass,
158
- colspan: c ? 0 : s - r,
161
+ class: o ? "k-table-td" : this.tdClass,
162
+ colspan: o ? 0 : p - r,
159
163
  role: "gridcell",
160
164
  "aria-colindex": this.$props.ariaColumnIndex,
161
165
  "aria-selected": this.$props.isSelected,
162
- "aria-expanded": a,
166
+ "aria-expanded": n,
163
167
  "data-grid-col-index": this.$props.columnIndex,
164
168
  tabindex: u.tabIndex,
165
169
  "data-keyboardnavlevel": u[T],
166
170
  "data-keyboardnavid": u[R]
167
- }, o = n("p", {
171
+ }, d = a("p", {
168
172
  class: "k-reset"
169
- }, [n("a", {
173
+ }, [a("a", {
170
174
  onClick: (g) => {
171
- this.clickHandler(g, i, a);
175
+ this.clickHandler(g, i, n);
172
176
  },
173
177
  href: "#",
174
178
  tabindex: -1,
175
- title: a ? h : m,
176
- "aria-label": a ? h : m
177
- }, [n(L, {
178
- name: a ? "caret-alt-down" : this.isRtl ? "caret-alt-left" : "caret-alt-right",
179
- icon: a ? E : this.isRtl ? G : O
180
- }, null)]), i[p] ? i[p].toString() : ""]);
181
- const f = n("td", A(t, {
179
+ title: n ? h : m,
180
+ "aria-label": n ? h : m
181
+ }, [a(L, {
182
+ name: n ? "caret-alt-down" : this.isRtl ? "caret-alt-left" : "caret-alt-right",
183
+ icon: n ? E : this.isRtl ? G : O
184
+ }, null)]), i[c] ? i[c].toString() : ""]);
185
+ const f = a("td", A(t, {
182
186
  onKeydown: (g) => {
183
- this.triggerKeydown(g, a);
187
+ this.triggerKeydown(g, n);
184
188
  }
185
- }), [o]);
186
- l = {
189
+ }), [d]);
190
+ o && (l = {
187
191
  className: "k-table-td",
188
192
  role: "gridcell",
189
- colSpan: s - r,
193
+ colSpan: p - r,
190
194
  style: {
191
195
  borderLeftWidth: 0,
192
196
  borderRightWidth: 0
193
197
  }
194
- };
195
- const k = c ? n("td", l, null) : null;
198
+ });
199
+ const k = o ? a("td", l, null) : null;
196
200
  e = k ? [f, k] : f;
197
201
  }
198
202
  return w.call(this, {
@@ -206,12 +210,13 @@ const _ = (e) => {
206
210
  },
207
211
  additionalListeners: {
208
212
  keydown: this.triggerKeydown,
209
- click: this.clickHandler
213
+ click: this.clickHandler,
214
+ contextmenu: this.triggerContextMenu
210
215
  },
211
- defaultSlots: o
216
+ defaultSlots: d
212
217
  });
213
218
  }
214
219
  });
215
220
  export {
216
- W as GridGroupCell
221
+ M as GridGroupCell
217
222
  };
@@ -39,6 +39,7 @@ declare const GridHierarchyCell: import('vue').DefineComponent<import('vue').Ext
39
39
  triggerStateChange(): void;
40
40
  triggerKeydown(event: any, expanded: boolean | undefined): void;
41
41
  clickHandler(e: any, dataItem: any, expanded: boolean | undefined): void;
42
+ triggerContextMenu(e: MouseEvent): void;
42
43
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
43
44
  change: any;
44
45
  cellkeydown: any;
@@ -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"),l=require("@progress/kendo-vue-common"),d=require("@progress/kendo-vue-data-tools"),g=require("@progress/kendo-vue-intl"),n=require("../messages/main.js"),h=require("@progress/kendo-svg-icons"),m=e=>{var t,a;return(a=(t=e.cells)==null?void 0:t.hierarchy)==null?void 0:a[e.rowType||"data"]},y=i.defineComponent({name:"KendoGridHierarchyCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,isSelected:Boolean,dataIndex:Number,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,cells:Object},emits:{change:null,cellkeydown:null},inject:{kendo:{default:null},kendoIntlService:{default:null},kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:l.noop}},methods:{triggerStateChange(){const e=this.kendo;e.dataItemKey&&this.$props.dataItem[e.dataItemKey]!==void 0&&(e==null||e.dispatchDetailExpand({type:d.DETAIL_EXPAND_ACTION.TOGGLE,id:this.$props.dataItem[e.dataItemKey]}))},triggerKeydown(e,t){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field,expanded:t}),!e.defaultPrevented&&e.keyCode===l.Keys.enter&&(e.preventDefault(),this.$emit("change",{dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,event:e,field:this.$props.field,value:!t}),this.triggerStateChange())},clickHandler(e,t,a){e.preventDefault(),this.$emit("change",{dataItem:t,event:e,field:void 0,value:!a}),this.triggerStateChange()}},computed:{wrapperClass(){return{"k-table-td":!0,"k-hierarchy-cell":!0,[this.className||""]:this.className}}},render(){let e=null,t,a=null;const s=this.getKeyboardNavigationAttributes(this.$props.id),c=g.provideLocalizationService(this),p=c.toLanguageString(n.collapseDetailAriaLabel,n.messages[n.collapseDetailAriaLabel]),u=c.toLanguageString(n.expandDetailAriaLabel,n.messages[n.expandDetailAriaLabel]);if(this.$props.rowType==="groupFooter")t={class:this.wrapperClass},e=i.createVNode("td",t,null);else if(this.$props.rowType!=="groupHeader"){const r=this.$props.expanded;t={style:this.$attrs.style,class:this.wrapperClass,"aria-expanded":r?"true":"false",role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,tabindex:s.tabIndex,"data-keyboardnavlevel":s[d.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":s[d.KEYBOARD_NAV_DATA_ID]},a=i.createVNode("a",{onClick:o=>{this.clickHandler(o,this.$props.dataItem,r)},href:"#",tabindex:-1,title:r?p:u,"aria-label":r?p:u},[i.createVNode(l.Icon,{name:r?"minus":"plus",icon:r?h.minusIcon:h.plusIcon},null)]),e=i.createVNode("td",i.mergeProps(t,{onKeydown:o=>{this.triggerKeydown(o,r)}}),[a])}return l.getTemplate.call(this,{h:i.h,template:this.$props.render||m(this.$props),defaultRendering:e,additionalProps:{...this.$props,tdProps:t},additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler},defaultSlots:a})}});exports.GridHierarchyCell=y;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),l=require("@progress/kendo-vue-common"),d=require("@progress/kendo-vue-data-tools"),h=require("@progress/kendo-vue-intl"),n=require("../messages/main.js"),g=require("@progress/kendo-svg-icons"),m=e=>{var t,a;return(a=(t=e.cells)==null?void 0:t.hierarchy)==null?void 0:a[e.rowType||"data"]},f=r.defineComponent({name:"KendoGridHierarchyCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,isSelected:Boolean,dataIndex:Number,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,cells:Object},emits:{change:null,cellkeydown:null},inject:{gridContext:{default:null},kendoIntlService:{default:null},kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:l.noop}},methods:{triggerStateChange(){const e=this.gridContext;e.dataItemKey&&this.$props.dataItem[e.dataItemKey]!==void 0&&(e==null||e.dispatchDetailExpand({type:d.DETAIL_EXPAND_ACTION.TOGGLE,id:this.$props.dataItem[e.dataItemKey]}))},triggerKeydown(e,t){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field,expanded:t}),!e.defaultPrevented&&e.keyCode===l.Keys.enter&&(e.preventDefault(),this.$emit("change",{dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,event:e,field:this.$props.field,value:!t}),this.triggerStateChange())},clickHandler(e,t,a){e.preventDefault(),this.$emit("change",{dataItem:t,event:e,field:void 0,value:!a}),this.triggerStateChange()},triggerContextMenu(e){var t,a;(a=(t=this.gridContext)==null?void 0:t.onContextMenu)==null||a.call(t,e,this.$props.dataItem,this.$props.field)}},computed:{wrapperClass(){return{"k-table-td":!0,"k-hierarchy-cell":!0,[this.className||""]:this.className}}},render(){let e=null,t,a=null;const s=this.getKeyboardNavigationAttributes(this.$props.id),c=h.provideLocalizationService(this),p=c.toLanguageString(n.collapseDetailAriaLabel,n.messages[n.collapseDetailAriaLabel]),u=c.toLanguageString(n.expandDetailAriaLabel,n.messages[n.expandDetailAriaLabel]);if(this.$props.rowType==="groupFooter")t={class:this.wrapperClass},e=r.createVNode("td",t,null);else if(this.$props.rowType!=="groupHeader"){const i=this.$props.expanded;t={style:this.$attrs.style,class:this.wrapperClass,"aria-expanded":i?"true":"false",role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,tabindex:s.tabIndex,"data-keyboardnavlevel":s[d.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":s[d.KEYBOARD_NAV_DATA_ID]},a=r.createVNode("a",{onClick:o=>{this.clickHandler(o,this.$props.dataItem,i)},href:"#",tabindex:-1,title:i?p:u,"aria-label":i?p:u},[r.createVNode(l.Icon,{name:i?"minus":"plus",icon:i?g.minusIcon:g.plusIcon},null)]),e=r.createVNode("td",r.mergeProps(t,{onKeydown:o=>{this.triggerKeydown(o,i)}}),[a])}return l.getTemplate.call(this,{h:r.h,template:this.$props.render||m(this.$props),defaultRendering:e,additionalProps:{...this.$props,tdProps:t},additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler,contextmenu:this.triggerContextMenu},defaultSlots:a})}});exports.GridHierarchyCell=f;
@@ -5,16 +5,16 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { defineComponent as m, createVNode as r, mergeProps as h, h as g } from "vue";
9
- import { noop as f, Icon as y, getTemplate as I, Keys as b } from "@progress/kendo-vue-common";
10
- import { KEYBOARD_NAV_DATA_ID as S, KEYBOARD_NAV_DATA_LEVEL as $, DETAIL_EXPAND_ACTION as k } from "@progress/kendo-vue-data-tools";
11
- import { provideLocalizationService as x } from "@progress/kendo-vue-intl";
8
+ import { defineComponent as h, createVNode as r, mergeProps as m, h as g } from "vue";
9
+ import { noop as f, Icon as y, getTemplate as I, Keys as x } from "@progress/kendo-vue-common";
10
+ import { KEYBOARD_NAV_DATA_ID as C, KEYBOARD_NAV_DATA_LEVEL as b, DETAIL_EXPAND_ACTION as $ } from "@progress/kendo-vue-data-tools";
11
+ import { provideLocalizationService as S } from "@progress/kendo-vue-intl";
12
12
  import { collapseDetailAriaLabel as p, messages as c, expandDetailAriaLabel as u } from "../messages/main.mjs";
13
- import { minusIcon as A, plusIcon as C } from "@progress/kendo-svg-icons";
14
- const v = (e) => {
13
+ import { minusIcon as A, plusIcon as v } from "@progress/kendo-svg-icons";
14
+ const N = (e) => {
15
15
  var t, a;
16
16
  return (a = (t = e.cells) == null ? void 0 : t.hierarchy) == null ? void 0 : a[e.rowType || "data"];
17
- }, E = /* @__PURE__ */ m({
17
+ }, E = /* @__PURE__ */ h({
18
18
  name: "KendoGridHierarchyCell",
19
19
  inheritAttrs: !1,
20
20
  props: {
@@ -43,7 +43,7 @@ const v = (e) => {
43
43
  cellkeydown: null
44
44
  },
45
45
  inject: {
46
- kendo: {
46
+ gridContext: {
47
47
  default: null
48
48
  },
49
49
  kendoIntlService: {
@@ -58,9 +58,9 @@ const v = (e) => {
58
58
  },
59
59
  methods: {
60
60
  triggerStateChange() {
61
- const e = this.kendo;
61
+ const e = this.gridContext;
62
62
  e.dataItemKey && this.$props.dataItem[e.dataItemKey] !== void 0 && (e == null || e.dispatchDetailExpand({
63
- type: k.TOGGLE,
63
+ type: $.TOGGLE,
64
64
  id: this.$props.dataItem[e.dataItemKey]
65
65
  }));
66
66
  },
@@ -70,7 +70,7 @@ const v = (e) => {
70
70
  dataItem: this.$props.dataItem,
71
71
  field: this.$props.field,
72
72
  expanded: t
73
- }), !e.defaultPrevented && e.keyCode === b.enter && (e.preventDefault(), this.$emit("change", {
73
+ }), !e.defaultPrevented && e.keyCode === x.enter && (e.preventDefault(), this.$emit("change", {
74
74
  dataItem: this.$props.dataItem,
75
75
  dataIndex: this.$props.dataIndex,
76
76
  event: e,
@@ -85,6 +85,10 @@ const v = (e) => {
85
85
  field: void 0,
86
86
  value: !a
87
87
  }), this.triggerStateChange();
88
+ },
89
+ triggerContextMenu(e) {
90
+ var t, a;
91
+ (a = (t = this.gridContext) == null ? void 0 : t.onContextMenu) == null || a.call(t, e, this.$props.dataItem, this.$props.field);
88
92
  }
89
93
  },
90
94
  computed: {
@@ -98,7 +102,7 @@ const v = (e) => {
98
102
  },
99
103
  render() {
100
104
  let e = null, t, a = null;
101
- const n = this.getKeyboardNavigationAttributes(this.$props.id), s = x(this), o = s.toLanguageString(p, c[p]), d = s.toLanguageString(u, c[u]);
105
+ const n = this.getKeyboardNavigationAttributes(this.$props.id), o = S(this), s = o.toLanguageString(p, c[p]), d = o.toLanguageString(u, c[u]);
102
106
  if (this.$props.rowType === "groupFooter")
103
107
  t = {
104
108
  class: this.wrapperClass
@@ -112,20 +116,20 @@ const v = (e) => {
112
116
  role: "gridcell",
113
117
  "aria-colindex": this.$props.ariaColumnIndex,
114
118
  tabindex: n.tabIndex,
115
- "data-keyboardnavlevel": n[$],
116
- "data-keyboardnavid": n[S]
119
+ "data-keyboardnavlevel": n[b],
120
+ "data-keyboardnavid": n[C]
117
121
  }, a = r("a", {
118
122
  onClick: (l) => {
119
123
  this.clickHandler(l, this.$props.dataItem, i);
120
124
  },
121
125
  href: "#",
122
126
  tabindex: -1,
123
- title: i ? o : d,
124
- "aria-label": i ? o : d
127
+ title: i ? s : d,
128
+ "aria-label": i ? s : d
125
129
  }, [r(y, {
126
130
  name: i ? "minus" : "plus",
127
- icon: i ? A : C
128
- }, null)]), e = r("td", h(t, {
131
+ icon: i ? A : v
132
+ }, null)]), e = r("td", m(t, {
129
133
  onKeydown: (l) => {
130
134
  this.triggerKeydown(l, i);
131
135
  }
@@ -133,7 +137,7 @@ const v = (e) => {
133
137
  }
134
138
  return I.call(this, {
135
139
  h: g,
136
- template: this.$props.render || v(this.$props),
140
+ template: this.$props.render || N(this.$props),
137
141
  defaultRendering: e,
138
142
  additionalProps: {
139
143
  ...this.$props,
@@ -141,7 +145,8 @@ const v = (e) => {
141
145
  },
142
146
  additionalListeners: {
143
147
  keydown: this.triggerKeydown,
144
- click: this.clickHandler
148
+ click: this.clickHandler,
149
+ contextmenu: this.triggerContextMenu
145
150
  },
146
151
  defaultSlots: a
147
152
  });
@@ -28,7 +28,9 @@ declare const GridSelectionCell: import('vue').DefineComponent<import('vue').Ext
28
28
  editor: PropType<string>;
29
29
  isRtl: PropType<boolean>;
30
30
  cells: PropType<import('..').GridCellsSettings>;
31
- }>, {}, {
31
+ }>, {
32
+ gridContext: any;
33
+ }, {
32
34
  inputId: any;
33
35
  }, {
34
36
  tdClass(): {
@@ -38,6 +40,7 @@ declare const GridSelectionCell: import('vue').DefineComponent<import('vue').Ext
38
40
  }, {
39
41
  triggerKeydown(e: any): void;
40
42
  handleOnChange(event: any): void;
43
+ triggerContextMenu(e: MouseEvent): void;
41
44
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
42
45
  selectionchange: any;
43
46
  cellkeydown: any;
@@ -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"),c=require("../utils/main.js"),r=require("@progress/kendo-vue-common"),a=require("@progress/kendo-vue-data-tools"),p=e=>{var n,o;return(o=(n=e.cells)==null?void 0:n.select)==null?void 0:o[e.rowType||"data"]},u=t.defineComponent({name:"KendoGridSelectionCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,render:[String,Function,Object],isSelected:Boolean,ariaColumnIndex:Number,editor:String,isRtl:Boolean,cells:Object},emits:{selectionchange:null,cellkeydown:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:r.noop}},data(){return{inputId:r.guid()}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},handleOnChange(e){this.$emit("selectionchange",{event:e,dataItem:this.$props.dataItem})}},render(){let e,n=null;const o=this.$props.isSelected||c.getNestedValue(this.$props.field,this.$props.dataItem),s=typeof o=="boolean"&&o,i=this.$props.render,l=this.getKeyboardNavigationAttributes(this.$props.id),d=this.$props.rowType!=="groupHeader"?(e={style:this.$attrs.style,colspan:this.$props.colSpan,class:this.tdClass,"aria-colindex":this.$props.ariaColumnIndex,role:"gridcell",tabindex:l.tabIndex,"data-keyboardnavlevel":l[a.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":l[a.KEYBOARD_NAV_DATA_ID]},n=t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"k-checkbox-wrap"},[t.createVNode("input",{checked:s,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.handleOnChange},null)]),t.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]),t.createVNode("td",t.mergeProps(e,{onKeydown:this.triggerKeydown}),[n])):null;return r.getTemplate.call(this,{h:t.h,template:i||p(this.$props),defaultRendering:d,additionalProps:{...this.$props,tdProps:e},additionalListeners:{keydown:this.triggerKeydown,change:this.handleOnChange},defaultSlots:n})}});exports.GridSelectionCell=u;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),c=require("../utils/main.js"),l=require("@progress/kendo-vue-common"),i=require("@progress/kendo-vue-data-tools"),u=e=>{var t,o;return(o=(t=e.cells)==null?void 0:t.select)==null?void 0:o[e.rowType||"data"]},p=n.defineComponent({name:"KendoGridSelectionCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,render:[String,Function,Object],isSelected:Boolean,ariaColumnIndex:Number,editor:String,isRtl:Boolean,cells:Object},emits:{selectionchange:null,cellkeydown:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:l.noop}},data(){return{inputId:l.guid()}},computed:{tdClass(){const{className:e}=this.$props;return{"k-table-td":!0,[e]:e}}},methods:{triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},handleOnChange(e){this.$emit("selectionchange",{event:e,dataItem:this.$props.dataItem})},triggerContextMenu(e){var t,o;(o=(t=this.gridContext)==null?void 0:t.onContextMenu)==null||o.call(t,e,this.$props.dataItem,this.$props.field)}},setup(){return{gridContext:n.inject("gridContext",null)}},render(){let e,t=null;const o=this.$props.isSelected||c.getNestedValue(this.$props.field,this.$props.dataItem),s=typeof o=="boolean"&&o,a=this.$props.render,r=this.getKeyboardNavigationAttributes(this.$props.id),d=this.$props.rowType!=="groupHeader"?(e={style:this.$attrs.style,colspan:this.$props.colSpan,class:this.tdClass,"aria-colindex":this.$props.ariaColumnIndex,role:"gridcell",tabindex:r.tabIndex,"data-keyboardnavlevel":r[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":r[i.KEYBOARD_NAV_DATA_ID]},t=n.createVNode(n.Fragment,null,[n.createVNode("span",{class:"k-checkbox-wrap"},[n.createVNode("input",{checked:s,id:this.inputId,type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.handleOnChange},null)]),n.createVNode("label",{class:"k-checkbox-label",for:this.inputId},null)]),n.createVNode("td",n.mergeProps(e,{onKeydown:this.triggerKeydown}),[t])):null;return l.getTemplate.call(this,{h:n.h,template:a||u(this.$props),defaultRendering:d,additionalProps:{...this.$props,tdProps:e},additionalListeners:{keydown:this.triggerKeydown,change:this.handleOnChange,contextmenu:this.triggerContextMenu},defaultSlots:t})}});exports.GridSelectionCell=p;