@progress/kendo-vue-grid 8.1.2-develop.2 → 8.2.0

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 (58) 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/RootGrid.d.ts +6 -10
  8. package/cells/GridCell.d.ts +2 -0
  9. package/cells/GridCell.js +1 -1
  10. package/cells/GridCell.mjs +52 -43
  11. package/cells/GridDetailCell.d.ts +4 -1
  12. package/cells/GridDetailCell.js +1 -1
  13. package/cells/GridDetailCell.mjs +27 -18
  14. package/cells/GridEditCell.d.ts +2 -0
  15. package/cells/GridEditCell.js +1 -1
  16. package/cells/GridEditCell.mjs +21 -14
  17. package/cells/GridGroupCell.d.ts +1 -0
  18. package/cells/GridGroupCell.js +1 -1
  19. package/cells/GridGroupCell.mjs +45 -40
  20. package/cells/GridHierarchyCell.d.ts +1 -0
  21. package/cells/GridHierarchyCell.js +1 -1
  22. package/cells/GridHierarchyCell.mjs +25 -20
  23. package/cells/GridSelectionCell.d.ts +4 -1
  24. package/cells/GridSelectionCell.js +1 -1
  25. package/cells/GridSelectionCell.mjs +31 -21
  26. package/cells/pincell/GridPinCell.d.ts +6 -2
  27. package/cells/pincell/GridPinCell.js +1 -1
  28. package/cells/pincell/GridPinCell.mjs +67 -42
  29. package/cells/pincell/GridPinDropdownButton.js +1 -1
  30. package/cells/pincell/GridPinDropdownButton.mjs +25 -25
  31. package/common.d.ts +3 -0
  32. package/common.js +1 -1
  33. package/common.mjs +4 -1
  34. package/components/PinnedRowsTable.js +1 -1
  35. package/components/PinnedRowsTable.mjs +46 -34
  36. package/components/table/GridTable.js +1 -1
  37. package/components/table/GridTable.mjs +6 -6
  38. package/components/table/GridTableScrollable.js +1 -1
  39. package/components/table/GridTableScrollable.mjs +4 -4
  40. package/contextMenu/GridContextMenu.d.ts +155 -0
  41. package/contextMenu/GridContextMenu.js +8 -0
  42. package/contextMenu/GridContextMenu.mjs +336 -0
  43. package/contextMenu/enums.d.ts +40 -0
  44. package/contextMenu/enums.js +8 -0
  45. package/contextMenu/enums.mjs +12 -0
  46. package/dist/cdn/js/kendo-vue-grid.js +1 -1
  47. package/header/HeaderRow.d.ts +1 -0
  48. package/header/HeaderRow.js +1 -1
  49. package/header/HeaderRow.mjs +92 -81
  50. package/index.d.mts +3 -0
  51. package/index.d.ts +3 -0
  52. package/index.js +1 -1
  53. package/index.mjs +61 -53
  54. package/interfaces/GridProps.d.ts +31 -1
  55. package/interfaces/events.d.ts +38 -0
  56. package/package-metadata.js +1 -1
  57. package/package-metadata.mjs +2 -2
  58. package/package.json +13 -13
package/GridSearchBox.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 e=require("vue"),d=require("@progress/kendo-vue-inputs"),l=require("./key.js"),g=require("@progress/kendo-vue-data-tools"),S=require("@progress/kendo-vue-common"),p=require("@progress/kendo-svg-icons"),m=e.defineComponent({name:"KendoVueGridSearchBox",inheritAttrs:!1,props:{onChange:Function,className:String,placeholder:String},setup(r,{emit:t}){const a=e.inject("kendoLocalizationService",{}),{searchChange:o}=e.inject("kendo",{}),{search:c}=e.inject(l.KendoKey,{}),s=n=>{o&&o(n),t("change",n),r.onChange&&r.onChange.call(void 0,n)},i=e.computed(()=>g.getStringFromSearch(c.value)),u=e.computed(()=>({"k-grid-search":!0,"k-searchbox":!0})),h=e.computed(()=>{const n=a;return n!=null&&n.toLanguageString?n.toLanguageString("searchboxPlaceholder","Search..."):r.placeholder||"Search..."});return{handleChange:s,value:i,rootClassName:u,placeholder:h}},render(){return e.createVNode(d.TextBox,e.mergeProps({placeholder:this.placeholder,value:this.value,prefix:()=>e.createVNode(S.Icon,{name:"search",icon:p.searchIcon},null)},this.$attrs,{wrapperClass:"k-grid-search k-searchbox",onInput:this.handleChange}),null)}});exports.GridSearchBox=m;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),d=require("@progress/kendo-vue-inputs"),l=require("./key.js"),g=require("@progress/kendo-vue-data-tools"),S=require("@progress/kendo-vue-common"),p=require("@progress/kendo-svg-icons"),m=e.defineComponent({name:"KendoVueGridSearchBox",inheritAttrs:!1,props:{onChange:Function,className:String,placeholder:String},setup(n,{emit:t}){const a=e.inject("kendoLocalizationService",{}),{searchChange:o}=e.inject("gridContext",{}),{search:c}=e.inject(l.KendoKey,{}),s=r=>{o&&o(r),t("change",r),n.onChange&&n.onChange.call(void 0,r)},i=e.computed(()=>g.getStringFromSearch(c.value)),u=e.computed(()=>({"k-grid-search":!0,"k-searchbox":!0})),h=e.computed(()=>{const r=a;return r!=null&&r.toLanguageString?r.toLanguageString("searchboxPlaceholder","Search..."):n.placeholder||"Search..."});return{handleChange:s,value:i,rootClassName:u,placeholder:h}},render(){return e.createVNode(d.TextBox,e.mergeProps({placeholder:this.placeholder,value:this.value,prefix:()=>e.createVNode(S.Icon,{name:"search",icon:p.searchIcon},null)},this.$attrs,{wrapperClass:"k-grid-search k-searchbox",onInput:this.handleChange}),null)}});exports.GridSearchBox=m;
package/GridSearchBox.mjs CHANGED
@@ -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 g, createVNode as t, mergeProps as m, inject as o, computed as n } from "vue";
8
+ import { defineComponent as u, createVNode as t, mergeProps as m, inject as o, computed as n } from "vue";
9
9
  import { TextBox as p } from "@progress/kendo-vue-inputs";
10
10
  import { KendoKey as f } from "./key.mjs";
11
11
  import { getStringFromSearch as S } from "@progress/kendo-vue-data-tools";
12
12
  import { Icon as x } from "@progress/kendo-vue-common";
13
13
  import { searchIcon as C } from "@progress/kendo-svg-icons";
14
- const K = /* @__PURE__ */ g({
14
+ const K = /* @__PURE__ */ u({
15
15
  name: "KendoVueGridSearchBox",
16
16
  inheritAttrs: !1,
17
17
  props: {
@@ -24,14 +24,14 @@ const K = /* @__PURE__ */ g({
24
24
  }) {
25
25
  const h = o("kendoLocalizationService", {}), {
26
26
  searchChange: a
27
- } = o("kendo", {}), {
27
+ } = o("gridContext", {}), {
28
28
  search: i
29
29
  } = o(f, {}), s = (e) => {
30
30
  a && a(e), c("change", e), r.onChange && r.onChange.call(void 0, e);
31
31
  }, l = n(() => S(i.value)), d = n(() => ({
32
32
  "k-grid-search": !0,
33
33
  "k-searchbox": !0
34
- })), u = n(() => {
34
+ })), g = n(() => {
35
35
  const e = h;
36
36
  return e != null && e.toLanguageString ? e.toLanguageString("searchboxPlaceholder", "Search...") : r.placeholder || "Search...";
37
37
  });
@@ -39,7 +39,7 @@ const K = /* @__PURE__ */ g({
39
39
  handleChange: s,
40
40
  value: l,
41
41
  rootClassName: d,
42
- placeholder: u
42
+ placeholder: g
43
43
  };
44
44
  },
45
45
  render() {
package/GridState.d.ts CHANGED
@@ -127,6 +127,9 @@ declare const GridStateProvider: import('vue').DefineComponent<{
127
127
  lockGroups?: boolean;
128
128
  pager?: string | boolean | Object;
129
129
  columnVirtualization?: boolean;
130
+ contextMenu?: boolean | import('.').GridContextMenuOptions | ((options: import('.').GridCellBaseOptions) => boolean | import('.').GridContextMenuOptions);
131
+ onContextmenu?: (event: import('./interfaces/events').GridContextMenuEvent) => void;
132
+ onContextmenuitemclick?: (event: import('./interfaces/events').GridContextMenuItemClickEvent) => void;
130
133
  navigatable?: boolean;
131
134
  topCacheCount?: number;
132
135
  totalGroupedHeight?: number;
@@ -239,6 +242,9 @@ declare const GridStateProvider: import('vue').DefineComponent<{
239
242
  lockGroups?: boolean;
240
243
  pager?: string | boolean | Object;
241
244
  columnVirtualization?: boolean;
245
+ contextMenu?: boolean | import('.').GridContextMenuOptions | ((options: import('.').GridCellBaseOptions) => boolean | import('.').GridContextMenuOptions);
246
+ onContextmenu?: (event: import('./interfaces/events').GridContextMenuEvent) => void;
247
+ onContextmenuitemclick?: (event: import('./interfaces/events').GridContextMenuItemClickEvent) => void;
242
248
  navigatable?: boolean;
243
249
  topCacheCount?: number;
244
250
  totalGroupedHeight?: number;
package/RootGrid.d.ts CHANGED
@@ -83,17 +83,13 @@ export declare const RootGrid: import('vue').DefineComponent<import('vue').Extra
83
83
  default: () => any;
84
84
  };
85
85
  cells: import('vue').PropType<import('.').GridCellsSettings>;
86
+ contextMenu: import('vue').PropType<boolean | import('.').GridContextMenuOptions | ((options: import('.').GridCellBaseOptions) => boolean | import('.').GridContextMenuOptions)>;
86
87
  rows: import('vue').PropType<import('./interfaces/GridRowsSettings').GridRowsSettings>;
87
88
  defaultColumnsState: {
88
89
  type: import('vue').PropType<import('.').GridColumnState[]>;
89
90
  default: () => any;
90
91
  };
91
92
  columnVirtualization: import('vue').PropType<boolean>;
92
- /**
93
- * Method to fit columns according to their content.
94
- *
95
- * @param columnIds - Array of column ids to be fitted.
96
- */
97
93
  dataItems: import('vue').PropType<any[] | import('@progress/kendo-data-query').DataResult>;
98
94
  sortable: import('vue').PropType<import('.').GridSortSettings>;
99
95
  defaultSort: import('vue').PropType<import('@progress/kendo-data-query').SortDescriptor[]>;
@@ -246,6 +242,8 @@ export declare const RootGrid: import('vue').DefineComponent<import('vue').Extra
246
242
  onSearchchange: import('vue').PropType<(event: import('.').GridSearchChangeEvent) => void>;
247
243
  onGroupexpandchange: import('vue').PropType<(event: import('.').GridGroupExpandChangeEvent) => void>;
248
244
  onDetailexpandchange: import('vue').PropType<(event: import('.').GridDetailExpandChangeEvent) => void>;
245
+ onContextmenu: import('vue').PropType<(event: import('.').GridContextMenuEvent) => void>;
246
+ onContextmenuitemclick: import('vue').PropType<(event: import('.').GridContextMenuItemClickEvent) => void>;
249
247
  }>, void, {}, {
250
248
  columnsWithTemplates(): any[];
251
249
  cellsWithTemplates(): any;
@@ -309,17 +307,13 @@ export declare const RootGrid: import('vue').DefineComponent<import('vue').Extra
309
307
  default: () => any;
310
308
  };
311
309
  cells: import('vue').PropType<import('.').GridCellsSettings>;
310
+ contextMenu: import('vue').PropType<boolean | import('.').GridContextMenuOptions | ((options: import('.').GridCellBaseOptions) => boolean | import('.').GridContextMenuOptions)>;
312
311
  rows: import('vue').PropType<import('./interfaces/GridRowsSettings').GridRowsSettings>;
313
312
  defaultColumnsState: {
314
313
  type: import('vue').PropType<import('.').GridColumnState[]>;
315
314
  default: () => any;
316
315
  };
317
316
  columnVirtualization: import('vue').PropType<boolean>;
318
- /**
319
- * Method to fit columns according to their content.
320
- *
321
- * @param columnIds - Array of column ids to be fitted.
322
- */
323
317
  dataItems: import('vue').PropType<any[] | import('@progress/kendo-data-query').DataResult>;
324
318
  sortable: import('vue').PropType<import('.').GridSortSettings>;
325
319
  defaultSort: import('vue').PropType<import('@progress/kendo-data-query').SortDescriptor[]>;
@@ -472,6 +466,8 @@ export declare const RootGrid: import('vue').DefineComponent<import('vue').Extra
472
466
  onSearchchange: import('vue').PropType<(event: import('.').GridSearchChangeEvent) => void>;
473
467
  onGroupexpandchange: import('vue').PropType<(event: import('.').GridGroupExpandChangeEvent) => void>;
474
468
  onDetailexpandchange: import('vue').PropType<(event: import('.').GridDetailExpandChangeEvent) => void>;
469
+ onContextmenu: import('vue').PropType<(event: import('.').GridContextMenuEvent) => void>;
470
+ onContextmenuitemclick: import('vue').PropType<(event: import('.').GridContextMenuItemClickEvent) => void>;
475
471
  }>> & Readonly<{}>, {
476
472
  size: string;
477
473
  scrollable: string;
@@ -57,6 +57,7 @@ declare const GridCell: import('vue').DefineComponent<import('vue').ExtractPropT
57
57
  cells: PropType<import('../interfaces/GridCellsSettings').GridCellsSettings>;
58
58
  }>, {
59
59
  kendoIntlService: {};
60
+ gridContext: any;
60
61
  }, {}, {
61
62
  tdClass(): {
62
63
  [x: number]: any;
@@ -72,6 +73,7 @@ declare const GridCell: import('vue').DefineComponent<import('vue').ExtractPropT
72
73
  triggerCancel(dataItem: any): void;
73
74
  triggerSave(dataItem: any): void;
74
75
  triggerRemove(dataItem: any): void;
76
+ triggerContextMenu(e: MouseEvent): void;
75
77
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
76
78
  cellclick: any;
77
79
  cellkeydown: any;
package/cells/GridCell.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),p=require("../utils/main.js"),h=require("@progress/kendo-vue-intl"),g=require("@progress/kendo-vue-common"),s=require("@progress/kendo-vue-data-tools"),u=r.defineComponent({name:"GridCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null},props:{id:String,field:String,dataItem:Object,format:String,readFormat:String,className:String,columnType:String,colSpan:Number,columnIndex:Number,columnsCount:Number,dataIndex:Number,rowType:String,level:Number,expanded:Boolean,type:String,editor:String,rowSpan:[Number,Object],isSelected:Boolean,isHighlighted:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,onEdit:Function,onSave:Function,onRemove:Function,onCancel:Function,onChange:Function,onSelectionchange:Function,cells:Object},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:g.noop}},methods:{triggerClick(){this.$emit("cellclick",{dataItem:this.$props.dataItem,field:this.$props.field})},triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)}},created(){this._intl=h.provideIntlService(this)},computed:{tdClass(){const{className:e,isSelected:t,isHighlighted:i}=this.$props;return{"k-table-td":!0,"k-selected":t,"k-highlighted":i,[e]:e}}},setup(){return{kendoIntlService:r.inject("kendoIntlService",{})}},render(){var l,a,d;let e=null;const t=this.getKeyboardNavigationAttributes(this.$props.id);let i={},o=null;if(((l=this.$props.rowSpan)==null?void 0:l.count)===null)return null;if(this.$props.rowType==="groupFooter")i={class:this.tdClass,tabindex:t.tabIndex,"data-keyboardnavlevel":t[s.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[s.KEYBOARD_NAV_DATA_ID]},e=r.createVNode("td",r.mergeProps(i,{onKeydown:this.triggerKeydown,onClick:this.triggerClick}),[o]);else if(this.$props.field!==void 0&&this.$props.rowType!=="groupHeader"){const n=p.getNestedValue(this.$props.field,this.$props.dataItem);let c="";n!=null&&(c=this.$props.format?this.$props.type?this._intl.format(this.$props.format,p.parsers[this.$props.type](n,this._intl,this.$props.readFormat)):this._intl.format(this.$props.format,n):n.toString()),i={style:this.$attrs.style,colspan:this.$props.colSpan,rowspan:(d=(a=this.$props.rowSpan)==null?void 0:a.count)!=null?d:void 0,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[s.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[s.KEYBOARD_NAV_DATA_ID]},o=c,e=r.createVNode("td",r.mergeProps(i,{onKeydown:this.triggerKeydown,onClick:this.triggerClick}),[o])}return g.getTemplate.call(this,{h:r.h,template:this.$props.render,defaultRendering:e,additionalProps:{...this.$props,tdProps:i},additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove},defaultSlots:o})}});exports.GridCell=u;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),c=require("../utils/main.js"),h=require("@progress/kendo-vue-intl"),g=require("@progress/kendo-vue-common"),s=require("@progress/kendo-vue-data-tools"),u=r.defineComponent({name:"GridCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null},props:{id:String,field:String,dataItem:Object,format:String,readFormat:String,className:String,columnType:String,colSpan:Number,columnIndex:Number,columnsCount:Number,dataIndex:Number,rowType:String,level:Number,expanded:Boolean,type:String,editor:String,rowSpan:[Number,Object],isSelected:Boolean,isHighlighted:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean,onEdit:Function,onSave:Function,onRemove:Function,onCancel:Function,onChange:Function,onSelectionchange:Function,cells:Object},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:g.noop}},methods:{triggerClick(){this.$emit("cellclick",{dataItem:this.$props.dataItem,field:this.$props.field})},triggerKeydown(e){this.$emit("cellkeydown",{event:e,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit(e){this.$emit("edit",e)},triggerAdd(e){this.$emit("add",e)},triggerCancel(e){this.$emit("cancel",e)},triggerSave(e){this.$emit("save",e)},triggerRemove(e){this.$emit("remove",e)},triggerContextMenu(e){var t,i;(i=(t=this.gridContext)==null?void 0:t.onContextMenu)==null||i.call(t,e,this.$props.dataItem,this.$props.field)}},created(){this._intl=h.provideIntlService(this)},computed:{tdClass(){const{className:e,isSelected:t,isHighlighted:i}=this.$props;return{"k-table-td":!0,"k-selected":t,"k-highlighted":i,[e]:e}}},setup(){const e=r.inject("kendoIntlService",{}),t=r.inject("gridContext",null);return{kendoIntlService:e,gridContext:t}},render(){var l,d,a;let e=null;const t=this.getKeyboardNavigationAttributes(this.$props.id);let i={},o=null;if(((l=this.$props.rowSpan)==null?void 0:l.count)===null)return null;if(this.$props.rowType==="groupFooter")i={class:this.tdClass,tabindex:t.tabIndex,"data-keyboardnavlevel":t[s.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[s.KEYBOARD_NAV_DATA_ID]},e=r.createVNode("td",r.mergeProps(i,{onKeydown:this.triggerKeydown,onClick:this.triggerClick,onContextmenu:this.triggerContextMenu}),[o]);else if(this.$props.field!==void 0&&this.$props.rowType!=="groupHeader"){const n=c.getNestedValue(this.$props.field,this.$props.dataItem);let p="";n!=null&&(p=this.$props.format?this.$props.type?this._intl.format(this.$props.format,c.parsers[this.$props.type](n,this._intl,this.$props.readFormat)):this._intl.format(this.$props.format,n):n.toString()),i={style:this.$attrs.style,colspan:this.$props.colSpan,rowspan:(a=(d=this.$props.rowSpan)==null?void 0:d.count)!=null?a:void 0,class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:t.tabIndex,"data-keyboardnavlevel":t[s.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[s.KEYBOARD_NAV_DATA_ID]},o=p,e=r.createVNode("td",r.mergeProps(i,{onKeydown:this.triggerKeydown,onClick:this.triggerClick,onContextmenu:this.triggerContextMenu}),[o])}return g.getTemplate.call(this,{h:r.h,template:this.$props.render,defaultRendering:e,additionalProps:{...this.$props,tdProps:i},additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove,contextmenu:this.triggerContextMenu},defaultSlots:o})}});exports.GridCell=u;
@@ -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 h, createVNode as d, mergeProps as p, h as m, inject as u } from "vue";
8
+ import { defineComponent as m, createVNode as a, mergeProps as p, h as u, inject as g } from "vue";
9
9
  import { getNestedValue as $, parsers as f } from "../utils/main.mjs";
10
- import { provideIntlService as S } from "@progress/kendo-vue-intl";
11
- import { noop as v, getTemplate as b } from "@progress/kendo-vue-common";
12
- import { KEYBOARD_NAV_DATA_ID as c, KEYBOARD_NAV_DATA_LEVEL as g } from "@progress/kendo-vue-data-tools";
13
- const A = /* @__PURE__ */ h({
10
+ import { provideIntlService as C } from "@progress/kendo-vue-intl";
11
+ import { noop as S, getTemplate as v } from "@progress/kendo-vue-common";
12
+ import { KEYBOARD_NAV_DATA_ID as c, KEYBOARD_NAV_DATA_LEVEL as h } from "@progress/kendo-vue-data-tools";
13
+ const w = /* @__PURE__ */ m({
14
14
  name: "GridCell",
15
15
  inheritAttrs: !1,
16
16
  emits: {
@@ -53,7 +53,7 @@ const A = /* @__PURE__ */ h({
53
53
  default: null
54
54
  },
55
55
  getKeyboardNavigationAttributes: {
56
- default: v
56
+ default: S
57
57
  }
58
58
  },
59
59
  methods: {
@@ -63,73 +63,80 @@ const A = /* @__PURE__ */ h({
63
63
  field: this.$props.field
64
64
  });
65
65
  },
66
- triggerKeydown(e) {
66
+ triggerKeydown(t) {
67
67
  this.$emit("cellkeydown", {
68
- event: e,
68
+ event: t,
69
69
  dataItem: this.$props.dataItem,
70
70
  field: this.$props.field
71
71
  });
72
72
  },
73
- triggerEdit(e) {
74
- this.$emit("edit", e);
73
+ triggerEdit(t) {
74
+ this.$emit("edit", t);
75
75
  },
76
- triggerAdd(e) {
77
- this.$emit("add", e);
76
+ triggerAdd(t) {
77
+ this.$emit("add", t);
78
78
  },
79
- triggerCancel(e) {
80
- this.$emit("cancel", e);
79
+ triggerCancel(t) {
80
+ this.$emit("cancel", t);
81
81
  },
82
- triggerSave(e) {
83
- this.$emit("save", e);
82
+ triggerSave(t) {
83
+ this.$emit("save", t);
84
84
  },
85
- triggerRemove(e) {
86
- this.$emit("remove", e);
85
+ triggerRemove(t) {
86
+ this.$emit("remove", t);
87
+ },
88
+ triggerContextMenu(t) {
89
+ var e, i;
90
+ (i = (e = this.gridContext) == null ? void 0 : e.onContextMenu) == null || i.call(e, t, this.$props.dataItem, this.$props.field);
87
91
  }
88
92
  },
89
93
  created() {
90
- this._intl = S(this);
94
+ this._intl = C(this);
91
95
  },
92
96
  computed: {
93
97
  tdClass() {
94
98
  const {
95
- className: e,
96
- isSelected: t,
99
+ className: t,
100
+ isSelected: e,
97
101
  isHighlighted: i
98
102
  } = this.$props;
99
103
  return {
100
104
  "k-table-td": !0,
101
- "k-selected": t,
105
+ "k-selected": e,
102
106
  "k-highlighted": i,
103
- [e]: e
107
+ [t]: t
104
108
  };
105
109
  }
106
110
  },
107
111
  setup() {
112
+ const t = g("kendoIntlService", {}), e = g("gridContext", null);
108
113
  return {
109
- kendoIntlService: u("kendoIntlService", {})
114
+ kendoIntlService: t,
115
+ gridContext: e
110
116
  };
111
117
  },
112
118
  render() {
113
119
  var o, s, l;
114
- let e = null;
115
- const t = this.getKeyboardNavigationAttributes(this.$props.id);
120
+ let t = null;
121
+ const e = this.getKeyboardNavigationAttributes(this.$props.id);
116
122
  let i = {}, n = null;
117
123
  if (((o = this.$props.rowSpan) == null ? void 0 : o.count) === null)
118
124
  return null;
119
125
  if (this.$props.rowType === "groupFooter")
120
126
  i = {
121
127
  class: this.tdClass,
122
- tabindex: t.tabIndex,
123
- "data-keyboardnavlevel": t[g],
124
- "data-keyboardnavid": t[c]
125
- }, e = d("td", p(i, {
128
+ tabindex: e.tabIndex,
129
+ "data-keyboardnavlevel": e[h],
130
+ "data-keyboardnavid": e[c]
131
+ }, t = a("td", p(i, {
126
132
  onKeydown: this.triggerKeydown,
127
- onClick: this.triggerClick
133
+ onClick: this.triggerClick,
134
+ onContextmenu: this.triggerContextMenu
128
135
  }), [n]);
129
136
  else if (this.$props.field !== void 0 && this.$props.rowType !== "groupHeader") {
130
137
  const r = $(this.$props.field, this.$props.dataItem);
131
- let a = "";
132
- r != null && (a = this.$props.format ? this.$props.type ? this._intl.format(this.$props.format, f[this.$props.type](r, this._intl, this.$props.readFormat)) : this._intl.format(this.$props.format, r) : r.toString()), i = {
138
+ let d = "";
139
+ r != null && (d = this.$props.format ? this.$props.type ? this._intl.format(this.$props.format, f[this.$props.type](r, this._intl, this.$props.readFormat)) : this._intl.format(this.$props.format, r) : r.toString()), i = {
133
140
  style: this.$attrs.style,
134
141
  colspan: this.$props.colSpan,
135
142
  rowspan: (l = (s = this.$props.rowSpan) == null ? void 0 : s.count) != null ? l : void 0,
@@ -138,18 +145,19 @@ const A = /* @__PURE__ */ h({
138
145
  "aria-colindex": this.$props.ariaColumnIndex,
139
146
  "aria-selected": this.$props.isSelected,
140
147
  "data-grid-col-index": this.$props.columnIndex,
141
- tabindex: t.tabIndex,
142
- "data-keyboardnavlevel": t[g],
143
- "data-keyboardnavid": t[c]
144
- }, n = a, e = d("td", p(i, {
148
+ tabindex: e.tabIndex,
149
+ "data-keyboardnavlevel": e[h],
150
+ "data-keyboardnavid": e[c]
151
+ }, n = d, t = a("td", p(i, {
145
152
  onKeydown: this.triggerKeydown,
146
- onClick: this.triggerClick
153
+ onClick: this.triggerClick,
154
+ onContextmenu: this.triggerContextMenu
147
155
  }), [n]);
148
156
  }
149
- return b.call(this, {
150
- h: m,
157
+ return v.call(this, {
158
+ h: u,
151
159
  template: this.$props.render,
152
- defaultRendering: e,
160
+ defaultRendering: t,
153
161
  additionalProps: {
154
162
  ...this.$props,
155
163
  tdProps: i
@@ -161,12 +169,13 @@ const A = /* @__PURE__ */ h({
161
169
  add: this.triggerAdd,
162
170
  cancel: this.triggerCancel,
163
171
  save: this.triggerSave,
164
- remove: this.triggerRemove
172
+ remove: this.triggerRemove,
173
+ contextmenu: this.triggerContextMenu
165
174
  },
166
175
  defaultSlots: n
167
176
  });
168
177
  }
169
178
  });
170
179
  export {
171
- A as GridCell
180
+ w as GridCell
172
181
  };
@@ -27,7 +27,10 @@ declare const GridDetailCell: import('vue').DefineComponent<import('vue').Extrac
27
27
  id: PropType<string>;
28
28
  }>, {
29
29
  kendoIntlService: {};
30
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
30
+ gridContext: any;
31
+ }, {}, {}, {
32
+ triggerContextMenu(e: MouseEvent): void;
33
+ }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
31
34
  colSpan: PropType<number>;
32
35
  ariaColIndex: PropType<number>;
33
36
  dataItem: PropType<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 e=require("vue"),n=require("@progress/kendo-vue-common"),o=require("@progress/kendo-vue-data-tools"),b=e.defineComponent({props:{colSpan:Number,ariaColIndex:Number,dataItem:[Object,String,Number],dataIndex:Number,detail:[String,Function,Object],id:String},inject:{getKeyboardNavigationAttributes:{default:n.noop}},setup(){return{kendoIntlService:e.inject("kendoIntlService",{})}},render(){const{colSpan:a,ariaColIndex:r,dataItem:d,dataIndex:i,id:l}=this.$props,t=this.getKeyboardNavigationAttributes(l),c={class:"k-table-td k-detail-cell",colspan:a,"aria-colindex":r,role:"gridcell",tabindex:t.tabIndex,"data-keyboardnavlevel":t[o.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":t[o.KEYBOARD_NAV_DATA_ID]},s=function(u){return n.getTemplate.call(this,{h:e.h,template:this.$props.detail,additionalProps:u})}.call(this,{dataItem:d,dataIndex:i});return e.createVNode("td",c,[s])}});exports.GridDetailCell=b;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),r=require("@progress/kendo-vue-common"),i=require("@progress/kendo-vue-data-tools"),p=n.defineComponent({props:{colSpan:Number,ariaColIndex:Number,dataItem:[Object,String,Number],dataIndex:Number,detail:[String,Function,Object],id:String},inject:{getKeyboardNavigationAttributes:{default:r.noop}},setup(){const e=n.inject("kendoIntlService",{}),t=n.inject("gridContext",null);return{kendoIntlService:e,gridContext:t}},methods:{triggerContextMenu(e){var t,a;(a=(t=this.gridContext)==null?void 0:t.onContextMenu)==null||a.call(t,e,this.$props.dataItem)}},render(){const{colSpan:e,ariaColIndex:t,dataItem:a,dataIndex:d,id:l}=this.$props,o=this.getKeyboardNavigationAttributes(l),s={class:"k-table-td k-detail-cell",colspan:e,"aria-colindex":t,role:"gridcell",tabindex:o.tabIndex,"data-keyboardnavlevel":o[i.KEYBOARD_NAV_DATA_LEVEL],"data-keyboardnavid":o[i.KEYBOARD_NAV_DATA_ID],onContextmenu:this.triggerContextMenu},c=function(u){return r.getTemplate.call(this,{h:n.h,template:this.$props.detail,additionalProps:u})}.call(this,{dataItem:a,dataIndex:d});return n.createVNode("td",s,[c])}});exports.GridDetailCell=p;
@@ -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;