@progress/kendo-vue-grid 3.7.4-dev.202301091431 → 3.7.4-dev.202301131104

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 (41) hide show
  1. package/dist/cdn/js/kendo-vue-grid.js +1 -1
  2. package/dist/es/Grid.js +28 -4
  3. package/dist/es/cells/GridGroupCell.js +10 -3
  4. package/dist/es/cells/GridHierarchyCell.js +10 -4
  5. package/dist/es/columnMenu/ColumnMenu.js +3 -5
  6. package/dist/es/columnMenu/GridColumnMenuCheckboxFilter.js +9 -5
  7. package/dist/es/columnMenu/GridColumnMenuFilter.js +9 -4
  8. package/dist/es/columnMenu/GridColumnMenuItem.d.ts +9 -0
  9. package/dist/es/columnMenu/GridColumnMenuItem.js +13 -2
  10. package/dist/es/columnMenu/GridColumnMenuSort.js +17 -8
  11. package/dist/es/drag/CommonDragLogic.d.ts +1 -0
  12. package/dist/es/drag/CommonDragLogic.js +20 -9
  13. package/dist/es/header/FilterRow.js +11 -3
  14. package/dist/es/package-metadata.js +1 -1
  15. package/dist/esm/Grid.js +28 -4
  16. package/dist/esm/cells/GridGroupCell.js +10 -3
  17. package/dist/esm/cells/GridHierarchyCell.js +10 -4
  18. package/dist/esm/columnMenu/ColumnMenu.js +3 -5
  19. package/dist/esm/columnMenu/GridColumnMenuCheckboxFilter.js +9 -5
  20. package/dist/esm/columnMenu/GridColumnMenuFilter.js +9 -4
  21. package/dist/esm/columnMenu/GridColumnMenuItem.d.ts +9 -0
  22. package/dist/esm/columnMenu/GridColumnMenuItem.js +13 -2
  23. package/dist/esm/columnMenu/GridColumnMenuSort.js +17 -8
  24. package/dist/esm/drag/CommonDragLogic.d.ts +1 -0
  25. package/dist/esm/drag/CommonDragLogic.js +20 -9
  26. package/dist/esm/header/FilterRow.js +11 -3
  27. package/dist/esm/package-metadata.js +1 -1
  28. package/dist/npm/Grid.js +28 -4
  29. package/dist/npm/cells/GridGroupCell.js +9 -2
  30. package/dist/npm/cells/GridHierarchyCell.js +9 -3
  31. package/dist/npm/columnMenu/ColumnMenu.js +3 -5
  32. package/dist/npm/columnMenu/GridColumnMenuCheckboxFilter.js +8 -4
  33. package/dist/npm/columnMenu/GridColumnMenuFilter.js +9 -4
  34. package/dist/npm/columnMenu/GridColumnMenuItem.d.ts +9 -0
  35. package/dist/npm/columnMenu/GridColumnMenuItem.js +13 -2
  36. package/dist/npm/columnMenu/GridColumnMenuSort.js +17 -8
  37. package/dist/npm/drag/CommonDragLogic.d.ts +1 -0
  38. package/dist/npm/drag/CommonDragLogic.js +20 -9
  39. package/dist/npm/header/FilterRow.js +11 -3
  40. package/dist/npm/package-metadata.js +1 -1
  41. package/package.json +14 -14
package/dist/es/Grid.js CHANGED
@@ -2043,6 +2043,12 @@ var GridVue2 = {
2043
2043
  on: _this3.v3 ? undefined : {
2044
2044
  "scroll": _this3.scrollHandler
2045
2045
  }
2046
+ }, [h("div", {
2047
+ "class": 'k-grid-table-wrap',
2048
+ role: "presentation",
2049
+ attrs: _this3.v3 ? undefined : {
2050
+ role: "presentation"
2051
+ }
2046
2052
  }, [h("table", {
2047
2053
  role: "none",
2048
2054
  attrs: _this3.v3 ? undefined : {
@@ -2059,7 +2065,7 @@ var GridVue2 = {
2059
2065
  },
2060
2066
  "data-keyboardnavbody": true,
2061
2067
  ref: setRef(_this3, 'scrollTableBody')
2062
- }, [body])]), h("div", {
2068
+ }, [body])])]), h("div", {
2063
2069
  "class": "k-height-container",
2064
2070
  role: "presentation",
2065
2071
  attrs: _this3.v3 ? undefined : {
@@ -2099,6 +2105,12 @@ var GridVue2 = {
2099
2105
  on: _this3.v3 ? undefined : {
2100
2106
  "scroll": _this3.scrollHandler
2101
2107
  }
2108
+ }, [h("div", {
2109
+ "class": 'k-grid-table-wrap',
2110
+ role: "presentation",
2111
+ attrs: _this3.v3 ? undefined : {
2112
+ role: "presentation"
2113
+ }
2102
2114
  }, [h("table", {
2103
2115
  role: "none",
2104
2116
  attrs: _this3.v3 ? undefined : {
@@ -2115,7 +2127,7 @@ var GridVue2 = {
2115
2127
  },
2116
2128
  "data-keyboardnavbody": true,
2117
2129
  ref: setRef(_this3, 'scrollTableBody')
2118
- }, [body])]), h("div", {
2130
+ }, [body])])]), h("div", {
2119
2131
  "class": "k-height-container",
2120
2132
  role: "presentation",
2121
2133
  attrs: _this3.v3 ? undefined : {
@@ -2166,6 +2178,12 @@ var GridVue2 = {
2166
2178
  on: _this3.v3 ? undefined : {
2167
2179
  "scroll": _this3.scrollHandler
2168
2180
  }
2181
+ }, [h("div", {
2182
+ "class": 'k-grid-table-wrap',
2183
+ role: "presentation",
2184
+ attrs: _this3.v3 ? undefined : {
2185
+ role: "presentation"
2186
+ }
2169
2187
  }, [h("table", {
2170
2188
  role: "none",
2171
2189
  attrs: _this3.v3 ? undefined : {
@@ -2182,7 +2200,7 @@ var GridVue2 = {
2182
2200
  },
2183
2201
  "data-keyboardnavbody": true,
2184
2202
  ref: setRef(_this3, 'scrollTableBody')
2185
- }, [body])]), h("div", {
2203
+ }, [body])])]), h("div", {
2186
2204
  "class": "k-height-container",
2187
2205
  role: "presentation",
2188
2206
  attrs: _this3.v3 ? undefined : {
@@ -2222,6 +2240,12 @@ var GridVue2 = {
2222
2240
  on: _this3.v3 ? undefined : {
2223
2241
  "scroll": _this3.scrollHandler
2224
2242
  }
2243
+ }, [h("div", {
2244
+ "class": 'k-grid-table-wrap',
2245
+ role: "presentation",
2246
+ attrs: _this3.v3 ? undefined : {
2247
+ role: "presentation"
2248
+ }
2225
2249
  }, [h("table", {
2226
2250
  role: "none",
2227
2251
  attrs: _this3.v3 ? undefined : {
@@ -2238,7 +2262,7 @@ var GridVue2 = {
2238
2262
  },
2239
2263
  "data-keyboardnavbody": true,
2240
2264
  ref: setRef(_this3, 'scrollTableBody')
2241
- }, [body])]), h("div", {
2265
+ }, [body])])]), h("div", {
2242
2266
  "class": "k-height-container",
2243
2267
  role: "presentation",
2244
2268
  attrs: _this3.v3 ? undefined : {
@@ -3,10 +3,11 @@ import * as Vue from 'vue';
3
3
  var allVue = Vue;
4
4
  var gh = allVue.h;
5
5
  var isV3 = allVue.version && allVue.version[0] === '3';
6
- import { getTemplate, Keys, noop } from '@progress/kendo-vue-common';
6
+ import { getTemplate, Icon, Keys, noop } from '@progress/kendo-vue-common';
7
7
  import { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from '@progress/kendo-vue-data-tools';
8
8
  import { messages, groupCaretAriaLabelExpand, groupCaretAriaLabelCollapse } from '../messages/main';
9
9
  import { provideLocalizationService } from '@progress/kendo-vue-intl';
10
+ import { caretAltDownIcon, caretAltRightIcon } from '@progress/kendo-svg-icons';
10
11
  /**
11
12
  * @hidden
12
13
  */
@@ -171,10 +172,16 @@ var GridGroupCellVue2 = {
171
172
  ariaLable: expanded ? groupCaretAriaLabelCollapseValue : groupCaretAriaLabelExpandValue
172
173
  },
173
174
  tabindex: -1,
174
- "class": expanded ? 'k-i-caret-alt-down k-icon' : 'k-i-caret-alt-right k-icon',
175
175
  title: expanded ? groupCaretAriaLabelCollapseValue : groupCaretAriaLabelExpandValue,
176
176
  ariaLable: expanded ? groupCaretAriaLabelCollapseValue : groupCaretAriaLabelExpandValue
177
- }), dataItem[field].toString()])]);
177
+ }, [h(Icon, {
178
+ name: expanded ? 'caret-alt-down' : 'caret-alt-right',
179
+ attrs: this.v3 ? undefined : {
180
+ name: expanded ? 'caret-alt-down' : 'caret-alt-right',
181
+ icon: expanded ? caretAltDownIcon : caretAltRightIcon
182
+ },
183
+ icon: expanded ? caretAltDownIcon : caretAltRightIcon
184
+ })]), dataItem[field].toString()])]);
178
185
  }
179
186
  return getTemplate.call(this, {
180
187
  h: h,
@@ -4,10 +4,11 @@ var allVue = Vue;
4
4
  var gh = allVue.h;
5
5
  var isV3 = allVue.version && allVue.version[0] === '3';
6
6
  import { getNestedValue } from '../utils/main';
7
- import { getTemplate, Keys, noop } from '@progress/kendo-vue-common';
7
+ import { getTemplate, Icon, Keys, noop } from '@progress/kendo-vue-common';
8
8
  import { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from '@progress/kendo-vue-data-tools';
9
9
  import { provideLocalizationService } from '@progress/kendo-vue-intl';
10
10
  import { messages, collapseDetailAriaLabel, expandDetailAriaLabel } from '../messages/main';
11
+ import { minusIcon, plusIcon } from '@progress/kendo-svg-icons';
11
12
  /**
12
13
  * @hidden
13
14
  */
@@ -110,7 +111,6 @@ var GridHierarchyCellVue2 = {
110
111
  });
111
112
  } else if (this.$props.rowType !== 'groupHeader') {
112
113
  var expanded_1 = getNestedValue(this.$props.field, this.$props.dataItem);
113
- var className = expanded_1 ? 'k-icon k-i-minus' : 'k-icon k-i-plus';
114
114
  defaultRendering = h("td", {
115
115
  onKeydown: function onKeydown(ev) {
116
116
  _this.triggerKeydown(ev, expanded_1);
@@ -144,7 +144,6 @@ var GridHierarchyCellVue2 = {
144
144
  _this.clickHandler(e, _this.$props.dataItem, expanded_1);
145
145
  }
146
146
  },
147
- "class": className,
148
147
  href: "#",
149
148
  attrs: this.v3 ? undefined : {
150
149
  href: "#",
@@ -155,7 +154,14 @@ var GridHierarchyCellVue2 = {
155
154
  tabindex: -1,
156
155
  title: expanded_1 ? collapseMessage : expandMessage,
157
156
  "aria-label": expanded_1 ? collapseMessage : expandMessage
158
- })]);
157
+ }, [h(Icon, {
158
+ name: expanded_1 ? 'minus' : 'plus',
159
+ attrs: this.v3 ? undefined : {
160
+ name: expanded_1 ? 'minus' : 'plus',
161
+ icon: expanded_1 ? minusIcon : plusIcon
162
+ },
163
+ icon: expanded_1 ? minusIcon : plusIcon
164
+ })])]);
159
165
  }
160
166
  return getTemplate.call(this, {
161
167
  h: h,
@@ -87,8 +87,8 @@ var ColumnMenuVue2 = {
87
87
  handleFocus: function handleFocus(_) {
88
88
  clearTimeout(this.blurTimeout);
89
89
  },
90
- anchorClick: function anchorClick() {
91
- var that = this;
90
+ anchorClick: function anchorClick(e) {
91
+ e.preventDefault();
92
92
  this.show = !this.show;
93
93
  },
94
94
  closeMenu: function closeMenu() {
@@ -123,13 +123,11 @@ var ColumnMenuVue2 = {
123
123
  }
124
124
  }, [h("a", {
125
125
  "class": 'k-grid-header-menu k-grid-column-menu',
126
- tabindex: 0,
126
+ title: "".concat(this.$props.column.field, " ").concat(ls.toLanguageString(columnMenu, messages[columnMenu])),
127
127
  attrs: this.v3 ? undefined : {
128
- tabindex: 0,
129
128
  title: "".concat(this.$props.column.field, " ").concat(ls.toLanguageString(columnMenu, messages[columnMenu])),
130
129
  href: "#"
131
130
  },
132
- title: "".concat(this.$props.column.field, " ").concat(ls.toLanguageString(columnMenu, messages[columnMenu])),
133
131
  ref: setRef(this, 'kendoAnchor', this._anchor),
134
132
  onClick: this.anchorClick,
135
133
  on: this.v3 ? undefined : {
@@ -35,7 +35,7 @@ import { messages, filterClearButton, filterSubmitButton, filterTitle, searchPla
35
35
  import { filterBy } from '@progress/kendo-data-query';
36
36
  import { clone, getListeners, getTemplate, Icon, templateRendering } from '@progress/kendo-vue-common';
37
37
  import { getNestedValue } from '../utils/main';
38
- import { searchIcon } from '@progress/kendo-svg-icons';
38
+ import { searchIcon, filterIcon } from '@progress/kendo-svg-icons';
39
39
  /**
40
40
  * @hidden
41
41
  */
@@ -218,9 +218,11 @@ var GridColumnMenuCheckboxFilterVue2 = {
218
218
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
219
219
  attrs: _this2.v3 ? undefined : {
220
220
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
221
- iconClass: 'k-i-filter'
221
+ icon: 'filter',
222
+ svgIcon: filterIcon
222
223
  },
223
- iconClass: 'k-i-filter',
224
+ icon: 'filter',
225
+ svgIcon: filterIcon,
224
226
  onClick: _this2.onFilterExpand,
225
227
  on: _this2.v3 ? undefined : {
226
228
  "click": _this2.onFilterExpand
@@ -379,9 +381,11 @@ var GridColumnMenuCheckboxFilterVue2 = {
379
381
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
380
382
  attrs: _this2.v3 ? undefined : {
381
383
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
382
- iconClass: 'k-i-filter'
384
+ icon: 'filter',
385
+ svgIcon: filterIcon
383
386
  },
384
- iconClass: 'k-i-filter',
387
+ icon: 'filter',
388
+ svgIcon: filterIcon,
385
389
  onClick: _this2.onFilterExpand,
386
390
  on: _this2.v3 ? undefined : {
387
391
  "click": _this2.onFilterExpand
@@ -37,6 +37,7 @@ import { messages, filterClearButton, filterSubmitButton, filterTitle } from '..
37
37
  import { GridColumnMenuFilterCell } from './GridColumnMenuFilterCell';
38
38
  import { ColumnMenuFilterOperators } from './GridColumnMenuFilterOperators';
39
39
  import { DropDownList } from '@progress/kendo-vue-dropdowns';
40
+ import { filterIcon } from '@progress/kendo-svg-icons';
40
41
  /**
41
42
  * @hidden
42
43
  */
@@ -352,9 +353,11 @@ var GridColumnMenuFilterVue2 = {
352
353
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
353
354
  attrs: _this2.v3 ? undefined : {
354
355
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
355
- iconClass: 'k-i-filter'
356
+ icon: 'filter',
357
+ svgIcon: filterIcon
356
358
  },
357
- iconClass: 'k-i-filter',
359
+ icon: 'filter',
360
+ svgIcon: filterIcon,
358
361
  onMenuitemclick: _this2.onFilterExpand,
359
362
  on: _this2.v3 ? undefined : {
360
363
  "menuitemclick": _this2.onFilterExpand
@@ -641,9 +644,11 @@ var GridColumnMenuFilterVue2 = {
641
644
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
642
645
  attrs: _this2.v3 ? undefined : {
643
646
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
644
- iconClass: 'k-i-filter'
647
+ icon: 'filter',
648
+ svgIcon: filterIcon
645
649
  },
646
- iconClass: 'k-i-filter',
650
+ icon: 'filter',
651
+ svgIcon: filterIcon,
647
652
  onMenuitemclick: _this2.onFilterExpand,
648
653
  on: _this2.v3 ? undefined : {
649
654
  "menuitemclick": _this2.onFilterExpand
@@ -3,6 +3,7 @@ declare type DefaultData<V> = object | ((this: V) => {});
3
3
  declare type DefaultMethods<V> = {
4
4
  [key: string]: (this: V, ...args: any[]) => any;
5
5
  };
6
+ import { SVGIcon } from '@progress/kendo-svg-icons';
6
7
  /**
7
8
  * The props of the GridColumnMenuItem component.
8
9
  */
@@ -19,6 +20,14 @@ export interface GridColumnMenuItemProps {
19
20
  * The class of the icon rendered next to the title.
20
21
  */
21
22
  iconClass: string;
23
+ /**
24
+ * Defines the name for the icon.
25
+ */
26
+ icon?: string;
27
+ /**
28
+ * Defines the svg icon in a Kendo UI for Vue theme.
29
+ */
30
+ svgIcon?: SVGIcon;
22
31
  /**
23
32
  * The selected state of the component.
24
33
  */
@@ -11,6 +11,8 @@ var GridColumnMenuItemVue2 = {
11
11
  props: {
12
12
  title: String,
13
13
  iconClass: String,
14
+ icon: String,
15
+ svgIcon: Object,
14
16
  selected: Boolean
15
17
  },
16
18
  methods: {
@@ -36,7 +38,9 @@ var GridColumnMenuItemVue2 = {
36
38
  var _a = this.$props,
37
39
  title = _a.title,
38
40
  iconClass = _a.iconClass,
39
- selected = _a.selected;
41
+ selected = _a.selected,
42
+ icon = _a.icon,
43
+ svgIcon = _a.svgIcon;
40
44
  return h("div", {
41
45
  tabindex: 0,
42
46
  attrs: this.v3 ? undefined : {
@@ -50,7 +54,14 @@ var GridColumnMenuItemVue2 = {
50
54
  onClick: this.onClick,
51
55
  "class": "k-columnmenu-item ".concat(selected ? 'k-selected' : '')
52
56
  }, [iconClass && h(Icon, {
53
- "class": "iconClass"
57
+ "class": iconClass
58
+ }), (icon || svgIcon) && h(Icon, {
59
+ name: icon,
60
+ attrs: this.v3 ? undefined : {
61
+ name: icon,
62
+ svg: svgIcon
63
+ },
64
+ svg: svgIcon
54
65
  }), title]);
55
66
  }
56
67
  };
@@ -9,6 +9,7 @@ import { GridColumnMenuItemGroup } from './GridColumnMenuItemGroup';
9
9
  import { normalize } from '../interfaces/GridSortSettings';
10
10
  import { provideLocalizationService } from '@progress/kendo-vue-intl';
11
11
  import { messages, sortAscending, sortDescending } from '../messages/main';
12
+ import { sortAscSmallIcon, sortDescSmallIcon } from '@progress/kendo-svg-icons';
12
13
  import { hasListener } from '@progress/kendo-vue-common';
13
14
  /**
14
15
  * @hidden
@@ -166,10 +167,12 @@ var GridColumnMenuSortVue2 = {
166
167
  title: localizationService.toLanguageString(sortAscending, messages[sortAscending]),
167
168
  attrs: _this.v3 ? undefined : {
168
169
  title: localizationService.toLanguageString(sortAscending, messages[sortAscending]),
169
- iconClass: 'k-i-sort-asc-small',
170
+ icon: 'sort-asc-small',
171
+ svgIcon: sortAscSmallIcon,
170
172
  selected: sortedAsc(currentSortIndex, sort)
171
173
  },
172
- iconClass: 'k-i-sort-asc-small',
174
+ icon: 'sort-asc-small',
175
+ svgIcon: sortAscSmallIcon,
173
176
  selected: sortedAsc(currentSortIndex, sort),
174
177
  onMenuitemclick: _this.onAscClick,
175
178
  on: _this.v3 ? undefined : {
@@ -181,10 +184,12 @@ var GridColumnMenuSortVue2 = {
181
184
  title: localizationService.toLanguageString(sortDescending, messages[sortDescending]),
182
185
  attrs: _this.v3 ? undefined : {
183
186
  title: localizationService.toLanguageString(sortDescending, messages[sortDescending]),
184
- iconClass: 'k-i-sort-desc-small',
187
+ icon: 'sort-desc-small',
188
+ svgIcon: sortDescSmallIcon,
185
189
  selected: sortedDesc(currentSortIndex, sort)
186
190
  },
187
- iconClass: 'k-i-sort-desc-small',
191
+ icon: 'sort-desc-small',
192
+ svgIcon: sortDescSmallIcon,
188
193
  selected: sortedDesc(currentSortIndex, sort),
189
194
  onMenuitemclick: _this.onDescClick,
190
195
  on: _this.v3 ? undefined : {
@@ -195,10 +200,12 @@ var GridColumnMenuSortVue2 = {
195
200
  title: localizationService.toLanguageString(sortAscending, messages[sortAscending]),
196
201
  attrs: _this.v3 ? undefined : {
197
202
  title: localizationService.toLanguageString(sortAscending, messages[sortAscending]),
198
- iconClass: 'k-i-sort-asc-small',
203
+ icon: 'sort-asc-small',
204
+ svgIcon: sortAscSmallIcon,
199
205
  selected: sortedAsc(currentSortIndex, sort)
200
206
  },
201
- iconClass: 'k-i-sort-asc-small',
207
+ icon: 'sort-asc-small',
208
+ svgIcon: sortAscSmallIcon,
202
209
  selected: sortedAsc(currentSortIndex, sort),
203
210
  onMenuitemclick: _this.onAscClick,
204
211
  on: _this.v3 ? undefined : {
@@ -208,10 +215,12 @@ var GridColumnMenuSortVue2 = {
208
215
  title: localizationService.toLanguageString(sortDescending, messages[sortDescending]),
209
216
  attrs: _this.v3 ? undefined : {
210
217
  title: localizationService.toLanguageString(sortDescending, messages[sortDescending]),
211
- iconClass: 'k-i-sort-desc-small',
218
+ icon: 'sort-desc-small',
219
+ svgIcon: sortDescSmallIcon,
212
220
  selected: sortedDesc(currentSortIndex, sort)
213
221
  },
214
- iconClass: 'k-i-sort-desc-small',
222
+ icon: 'sort-desc-small',
223
+ svgIcon: sortDescSmallIcon,
215
224
  selected: sortedDesc(currentSortIndex, sort),
216
225
  onMenuitemclick: _this.onDescClick,
217
226
  on: _this.v3 ? undefined : {
@@ -28,6 +28,7 @@ export declare class CommonDragLogic {
28
28
  dragHandler: (event: any, element: HTMLElement) => void;
29
29
  releaseHandler: (event: any) => void;
30
30
  private getColumnIndex;
31
+ private isTargetGroupingContainer;
31
32
  private getGroupIndex;
32
33
  private isValid;
33
34
  private updateDragElementClue;
@@ -16,7 +16,7 @@ var CommonDragLogic = /** @class */ (function () {
16
16
  this.currentGroup = -1;
17
17
  this.groupPanelDivElement = null;
18
18
  this.refGroupPanelDiv = function (e) {
19
- _this.groupPanelDivElement = e;
19
+ _this.groupPanelDivElement = e.children ? e.children[0] : e;
20
20
  };
21
21
  this.refDropElementClue = function (e) {
22
22
  _this.dropElementClue = e;
@@ -52,10 +52,12 @@ var CommonDragLogic = /** @class */ (function () {
52
52
  return;
53
53
  }
54
54
  _this.currentColumn = _this.getColumnIndex(event, element);
55
- _this.currentGroup = _this.getGroupIndex(event);
56
- if (_this.groupPanelDivElement && _this.startGroup >= 0) {
57
- _this.currentGroup = Math.min(_this.currentGroup, _this.groupPanelDivElement.children.length - 2);
58
- }
55
+ var groupPanelChildren = _this.groupPanelDivElement && _this.groupPanelDivElement.children;
56
+ _this.currentGroup = _this.isTargetGroupingContainer(event)
57
+ ? groupPanelChildren && groupPanelChildren.length
58
+ ? groupPanelChildren.length - 1
59
+ : 0
60
+ : _this.getGroupIndex(event);
59
61
  var invalidIndex = !_this.isValid();
60
62
  if (invalidIndex) {
61
63
  _this.currentColumn = -1;
@@ -63,7 +65,9 @@ var CommonDragLogic = /** @class */ (function () {
63
65
  }
64
66
  var targetElement = (_this.currentColumn >= 0) ?
65
67
  element.children[_this.columns[_this.currentColumn].index] :
66
- _this.groupPanelDivElement && _this.groupPanelDivElement.children[_this.currentGroup];
68
+ _this.isTargetGroupingContainer(event)
69
+ ? event.originalEvent.target
70
+ : _this.groupPanelDivElement && _this.groupPanelDivElement.children[_this.currentGroup];
67
71
  _this.updateDragElementClue(event, element, targetElement, invalidIndex);
68
72
  _this.updateDropElementClue(event, element, targetElement, invalidIndex);
69
73
  };
@@ -118,6 +122,10 @@ var CommonDragLogic = /** @class */ (function () {
118
122
  }
119
123
  return -1;
120
124
  };
125
+ CommonDragLogic.prototype.isTargetGroupingContainer = function (event) {
126
+ var target = event.originalEvent.target;
127
+ return target.className.indexOf('k-grouping-drop-container') !== -1;
128
+ };
121
129
  CommonDragLogic.prototype.getGroupIndex = function (event) {
122
130
  return getIndex(event, this.groupPanelDivElement);
123
131
  };
@@ -162,15 +170,18 @@ var CommonDragLogic = /** @class */ (function () {
162
170
  return;
163
171
  }
164
172
  var rect = targetElement.getBoundingClientRect();
173
+ var groupElement = targetElement.closest('.k-grouping-header');
174
+ var rectParent = (groupElement || targetElement).getBoundingClientRect();
165
175
  var left = rect.left + event.pageX - event.clientX - 6;
166
- if (this.currentColumn > this.startColumn || this.currentGroup > this.startGroup && this.startGroup !== -1) {
176
+ if (!this.isTargetGroupingContainer(event) && (this.currentColumn > this.startColumn
177
+ || this.currentGroup > this.startGroup && this.startGroup !== -1)) {
167
178
  left += rect.width;
168
179
  }
169
- var top = rect.top + event.pageY - event.clientY;
180
+ var top = rectParent.top + event.pageY - event.clientY;
170
181
  this.dropElementClue.visible = true;
171
182
  this.dropElementClue.top = top;
172
183
  this.dropElementClue.left = left;
173
- this.dropElementClue.height = (this.currentColumn >= 0) ? element.clientHeight : rect.height;
184
+ this.dropElementClue.height = (this.currentColumn >= 0) ? element.clientHeight : rectParent.height;
174
185
  };
175
186
  return CommonDragLogic;
176
187
  }());
@@ -9,7 +9,6 @@ import { GridFilterCell } from '../cells/GridFilterCell';
9
9
  import { provideLocalizationService } from '@progress/kendo-vue-intl';
10
10
  import { filterAriaLabel, messages } from '../messages/main';
11
11
  import { tableKeyboardNavigationTools as navigationTools, HeaderTdElement } from '@progress/kendo-vue-data-tools';
12
- import { classNames } from '@progress/kendo-vue-common';
13
12
  /**
14
13
  * @hidden
15
14
  */
@@ -32,6 +31,15 @@ var FilterRowVue2 = {
32
31
  }
33
32
  },
34
33
  methods: {
34
+ headerCellClassName: function headerCellClassName(field, locked) {
35
+ var result = "k-table-th k-header" + (locked ? ' k-grid-header-sticky' : '');
36
+ if (this.$props.sort && this.$props.sort.filter(function (descriptor) {
37
+ return descriptor.field === field;
38
+ }).length > 0) {
39
+ result += ' k-sorted';
40
+ }
41
+ return result;
42
+ },
35
43
  setFilter: function setFilter(value, operator, field, e) {
36
44
  var filters = [];
37
45
  if (value !== '' && value !== null || operator !== '') {
@@ -155,7 +163,7 @@ var FilterRowVue2 = {
155
163
  columnId: navigationTools.getFilterColumnId(column.id),
156
164
  navigatable: column.navigatable,
157
165
  style: style,
158
- "class": classNames('k-table-th', this.headerCellClassName(column.field, column.locked) || undefined),
166
+ "class": this.headerCellClassName(column.field, column.locked) || undefined,
159
167
  ariaColumnIndex: ariaAttrs.ariaColumnIndex,
160
168
  ariaLabel: ariaLabelFilter
161
169
  }, this.v3 ? function () {
@@ -176,7 +184,7 @@ var FilterRowVue2 = {
176
184
  columnId: navigationTools.getFilterColumnId(column.id),
177
185
  navigatable: column.navigatable,
178
186
  style: style,
179
- "class": classNames('k-table-th', this.headerCellClassName(column.field, column.locked) || undefined),
187
+ "class": this.headerCellClassName(column.field, column.locked) || undefined,
180
188
  ariaColumnIndex: ariaAttrs.ariaColumnIndex,
181
189
  ariaLabel: ariaLabelFilter
182
190
  });
@@ -5,7 +5,7 @@ export var packageMetadata = {
5
5
  name: '@progress/kendo-vue-grid',
6
6
  productName: 'Kendo UI for Vue',
7
7
  productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
8
- publishDate: 1673273952,
8
+ publishDate: 1673607254,
9
9
  version: '',
10
10
  licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
11
11
  };
package/dist/esm/Grid.js CHANGED
@@ -2043,6 +2043,12 @@ var GridVue2 = {
2043
2043
  on: _this3.v3 ? undefined : {
2044
2044
  "scroll": _this3.scrollHandler
2045
2045
  }
2046
+ }, [h("div", {
2047
+ "class": 'k-grid-table-wrap',
2048
+ role: "presentation",
2049
+ attrs: _this3.v3 ? undefined : {
2050
+ role: "presentation"
2051
+ }
2046
2052
  }, [h("table", {
2047
2053
  role: "none",
2048
2054
  attrs: _this3.v3 ? undefined : {
@@ -2059,7 +2065,7 @@ var GridVue2 = {
2059
2065
  },
2060
2066
  "data-keyboardnavbody": true,
2061
2067
  ref: setRef(_this3, 'scrollTableBody')
2062
- }, [body])]), h("div", {
2068
+ }, [body])])]), h("div", {
2063
2069
  "class": "k-height-container",
2064
2070
  role: "presentation",
2065
2071
  attrs: _this3.v3 ? undefined : {
@@ -2099,6 +2105,12 @@ var GridVue2 = {
2099
2105
  on: _this3.v3 ? undefined : {
2100
2106
  "scroll": _this3.scrollHandler
2101
2107
  }
2108
+ }, [h("div", {
2109
+ "class": 'k-grid-table-wrap',
2110
+ role: "presentation",
2111
+ attrs: _this3.v3 ? undefined : {
2112
+ role: "presentation"
2113
+ }
2102
2114
  }, [h("table", {
2103
2115
  role: "none",
2104
2116
  attrs: _this3.v3 ? undefined : {
@@ -2115,7 +2127,7 @@ var GridVue2 = {
2115
2127
  },
2116
2128
  "data-keyboardnavbody": true,
2117
2129
  ref: setRef(_this3, 'scrollTableBody')
2118
- }, [body])]), h("div", {
2130
+ }, [body])])]), h("div", {
2119
2131
  "class": "k-height-container",
2120
2132
  role: "presentation",
2121
2133
  attrs: _this3.v3 ? undefined : {
@@ -2166,6 +2178,12 @@ var GridVue2 = {
2166
2178
  on: _this3.v3 ? undefined : {
2167
2179
  "scroll": _this3.scrollHandler
2168
2180
  }
2181
+ }, [h("div", {
2182
+ "class": 'k-grid-table-wrap',
2183
+ role: "presentation",
2184
+ attrs: _this3.v3 ? undefined : {
2185
+ role: "presentation"
2186
+ }
2169
2187
  }, [h("table", {
2170
2188
  role: "none",
2171
2189
  attrs: _this3.v3 ? undefined : {
@@ -2182,7 +2200,7 @@ var GridVue2 = {
2182
2200
  },
2183
2201
  "data-keyboardnavbody": true,
2184
2202
  ref: setRef(_this3, 'scrollTableBody')
2185
- }, [body])]), h("div", {
2203
+ }, [body])])]), h("div", {
2186
2204
  "class": "k-height-container",
2187
2205
  role: "presentation",
2188
2206
  attrs: _this3.v3 ? undefined : {
@@ -2222,6 +2240,12 @@ var GridVue2 = {
2222
2240
  on: _this3.v3 ? undefined : {
2223
2241
  "scroll": _this3.scrollHandler
2224
2242
  }
2243
+ }, [h("div", {
2244
+ "class": 'k-grid-table-wrap',
2245
+ role: "presentation",
2246
+ attrs: _this3.v3 ? undefined : {
2247
+ role: "presentation"
2248
+ }
2225
2249
  }, [h("table", {
2226
2250
  role: "none",
2227
2251
  attrs: _this3.v3 ? undefined : {
@@ -2238,7 +2262,7 @@ var GridVue2 = {
2238
2262
  },
2239
2263
  "data-keyboardnavbody": true,
2240
2264
  ref: setRef(_this3, 'scrollTableBody')
2241
- }, [body])]), h("div", {
2265
+ }, [body])])]), h("div", {
2242
2266
  "class": "k-height-container",
2243
2267
  role: "presentation",
2244
2268
  attrs: _this3.v3 ? undefined : {
@@ -3,10 +3,11 @@ import * as Vue from 'vue';
3
3
  var allVue = Vue;
4
4
  var gh = allVue.h;
5
5
  var isV3 = allVue.version && allVue.version[0] === '3';
6
- import { getTemplate, Keys, noop } from '@progress/kendo-vue-common';
6
+ import { getTemplate, Icon, Keys, noop } from '@progress/kendo-vue-common';
7
7
  import { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from '@progress/kendo-vue-data-tools';
8
8
  import { messages, groupCaretAriaLabelExpand, groupCaretAriaLabelCollapse } from '../messages/main.js';
9
9
  import { provideLocalizationService } from '@progress/kendo-vue-intl';
10
+ import { caretAltDownIcon, caretAltRightIcon } from '@progress/kendo-svg-icons';
10
11
  /**
11
12
  * @hidden
12
13
  */
@@ -171,10 +172,16 @@ var GridGroupCellVue2 = {
171
172
  ariaLable: expanded ? groupCaretAriaLabelCollapseValue : groupCaretAriaLabelExpandValue
172
173
  },
173
174
  tabindex: -1,
174
- "class": expanded ? 'k-i-caret-alt-down k-icon' : 'k-i-caret-alt-right k-icon',
175
175
  title: expanded ? groupCaretAriaLabelCollapseValue : groupCaretAriaLabelExpandValue,
176
176
  ariaLable: expanded ? groupCaretAriaLabelCollapseValue : groupCaretAriaLabelExpandValue
177
- }), dataItem[field].toString()])]);
177
+ }, [h(Icon, {
178
+ name: expanded ? 'caret-alt-down' : 'caret-alt-right',
179
+ attrs: this.v3 ? undefined : {
180
+ name: expanded ? 'caret-alt-down' : 'caret-alt-right',
181
+ icon: expanded ? caretAltDownIcon : caretAltRightIcon
182
+ },
183
+ icon: expanded ? caretAltDownIcon : caretAltRightIcon
184
+ })]), dataItem[field].toString()])]);
178
185
  }
179
186
  return getTemplate.call(this, {
180
187
  h: h,