@progress/kendo-vue-data-tools 3.7.4-dev.202301091431 → 3.7.4-dev.202301120847

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 (32) hide show
  1. package/dist/cdn/js/kendo-vue-data-tools.js +1 -1
  2. package/dist/es/columnmenu/ColumnMenu.js +2 -2
  3. package/dist/es/columnmenu/ColumnMenuCheckboxFilter.js +9 -5
  4. package/dist/es/columnmenu/ColumnMenuFilter.js +9 -4
  5. package/dist/es/columnmenu/ColumnMenuItem.d.ts +9 -0
  6. package/dist/es/columnmenu/ColumnMenuItem.js +12 -1
  7. package/dist/es/columnmenu/ColumnMenuSort.js +17 -8
  8. package/dist/es/drag/CommonDragLogic.d.ts +1 -0
  9. package/dist/es/drag/CommonDragLogic.js +21 -10
  10. package/dist/es/header/FilterRow.js +3 -4
  11. package/dist/es/package-metadata.js +1 -1
  12. package/dist/esm/columnmenu/ColumnMenu.js +2 -2
  13. package/dist/esm/columnmenu/ColumnMenuCheckboxFilter.js +9 -5
  14. package/dist/esm/columnmenu/ColumnMenuFilter.js +9 -4
  15. package/dist/esm/columnmenu/ColumnMenuItem.d.ts +9 -0
  16. package/dist/esm/columnmenu/ColumnMenuItem.js +12 -1
  17. package/dist/esm/columnmenu/ColumnMenuSort.js +17 -8
  18. package/dist/esm/drag/CommonDragLogic.d.ts +1 -0
  19. package/dist/esm/drag/CommonDragLogic.js +21 -10
  20. package/dist/esm/header/FilterRow.js +3 -4
  21. package/dist/esm/package-metadata.js +1 -1
  22. package/dist/npm/columnmenu/ColumnMenu.js +2 -2
  23. package/dist/npm/columnmenu/ColumnMenuCheckboxFilter.js +8 -4
  24. package/dist/npm/columnmenu/ColumnMenuFilter.js +9 -4
  25. package/dist/npm/columnmenu/ColumnMenuItem.d.ts +9 -0
  26. package/dist/npm/columnmenu/ColumnMenuItem.js +12 -1
  27. package/dist/npm/columnmenu/ColumnMenuSort.js +17 -8
  28. package/dist/npm/drag/CommonDragLogic.d.ts +1 -0
  29. package/dist/npm/drag/CommonDragLogic.js +21 -10
  30. package/dist/npm/header/FilterRow.js +3 -4
  31. package/dist/npm/package-metadata.js +1 -1
  32. package/package.json +10 -10
@@ -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() {
@@ -29,7 +29,7 @@ import { Button } from '@progress/kendo-vue-buttons';
29
29
  import { ColumnMenuItem } from './ColumnMenuItem';
30
30
  import { ColumnMenuItemGroup } from './ColumnMenuItemGroup';
31
31
  import { ColumnMenuItemContent } from './ColumnMenuItemContent';
32
- import { searchIcon } from '@progress/kendo-svg-icons';
32
+ import { filterIcon, searchIcon } from '@progress/kendo-svg-icons';
33
33
  import { Checkbox } from '@progress/kendo-vue-inputs';
34
34
  import { provideLocalizationService } from '@progress/kendo-vue-intl';
35
35
  import { messages, columnMenuFilterClearButton as filterClearButton, columnMenuFilterSubmitButton as filterSubmitButton, columnMenuFilterTitle as filterTitle, searchPlaceholder, filterCheckAll } from '../messages/main';
@@ -217,9 +217,11 @@ var ColumnMenuCheckboxFilterVue2 = {
217
217
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
218
218
  attrs: _this2.v3 ? undefined : {
219
219
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
220
- iconClass: 'k-i-filter'
220
+ icon: 'filter',
221
+ svgIcon: filterIcon
221
222
  },
222
- iconClass: 'k-i-filter',
223
+ icon: 'filter',
224
+ svgIcon: filterIcon,
223
225
  onClick: _this2.onFilterExpand,
224
226
  on: _this2.v3 ? undefined : {
225
227
  "click": _this2.onFilterExpand
@@ -378,9 +380,11 @@ var ColumnMenuCheckboxFilterVue2 = {
378
380
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
379
381
  attrs: _this2.v3 ? undefined : {
380
382
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
381
- iconClass: 'k-i-filter'
383
+ icon: 'filter',
384
+ svgIcon: filterIcon
382
385
  },
383
- iconClass: 'k-i-filter',
386
+ icon: 'filter',
387
+ svgIcon: filterIcon,
384
388
  onClick: _this2.onFilterExpand,
385
389
  on: _this2.v3 ? undefined : {
386
390
  "click": _this2.onFilterExpand
@@ -37,6 +37,7 @@ import { messages, columnMenuFilterClearButton, columnMenuFilterSubmitButton, co
37
37
  import { ColumnMenuFilterCell } from './ColumnMenuFilterCell';
38
38
  import { ColumnMenuFilterOperators } from './ColumnMenuFilterOperators';
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 ColumnMenuFilterVue2 = {
352
353
  title: localizationService.toLanguageString(columnMenuFilterTitle, messages[columnMenuFilterTitle]),
353
354
  attrs: _this2.v3 ? undefined : {
354
355
  title: localizationService.toLanguageString(columnMenuFilterTitle, messages[columnMenuFilterTitle]),
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 ColumnMenuFilterVue2 = {
641
644
  title: localizationService.toLanguageString(columnMenuFilterTitle, messages[columnMenuFilterTitle]),
642
645
  attrs: _this2.v3 ? undefined : {
643
646
  title: localizationService.toLanguageString(columnMenuFilterTitle, messages[columnMenuFilterTitle]),
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 ColumnMenuItem component.
8
9
  */
@@ -19,6 +20,14 @@ export interface ColumnMenuItemProps {
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 ColumnMenuItemVue2 = {
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 ColumnMenuItemVue2 = {
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 : {
@@ -51,6 +55,13 @@ var ColumnMenuItemVue2 = {
51
55
  "class": "k-columnmenu-item ".concat(selected ? 'k-selected' : '')
52
56
  }, [iconClass && h(Icon, {
53
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
  };
@@ -10,6 +10,7 @@ import { normalize } from '../interfaces/SortSettings';
10
10
  import { provideLocalizationService } from '@progress/kendo-vue-intl';
11
11
  import { messages, columnMenuSortAscending as sortAscending, columnMenuSortDescending as sortDescending } from '../messages/main';
12
12
  import { hasListener } from '@progress/kendo-vue-common';
13
+ import { sortAscSmallIcon, sortDescSmallIcon } from '@progress/kendo-svg-icons';
13
14
  /**
14
15
  * @hidden
15
16
  */
@@ -166,10 +167,12 @@ var ColumnMenuSortVue2 = {
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
+ scgIcon: sortAscSmallIcon,
170
172
  selected: sortedAsc(currentSortIndex, sort)
171
173
  },
172
- iconClass: 'k-i-sort-asc-small',
174
+ icon: 'sort-asc-small',
175
+ scgIcon: sortAscSmallIcon,
173
176
  selected: sortedAsc(currentSortIndex, sort),
174
177
  onMenuitemclick: _this.onAscClick,
175
178
  on: _this.v3 ? undefined : {
@@ -181,10 +184,12 @@ var ColumnMenuSortVue2 = {
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 ColumnMenuSortVue2 = {
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
+ scgIcon: sortAscSmallIcon,
199
205
  selected: sortedAsc(currentSortIndex, sort)
200
206
  },
201
- iconClass: 'k-i-sort-asc-small',
207
+ icon: 'sort-asc-small',
208
+ scgIcon: sortAscSmallIcon,
202
209
  selected: sortedAsc(currentSortIndex, sort),
203
210
  onMenuitemclick: _this.onAscClick,
204
211
  on: _this.v3 ? undefined : {
@@ -208,10 +215,12 @@ var ColumnMenuSortVue2 = {
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.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
  };
@@ -151,7 +159,7 @@ var CommonDragLogic = /** @class */ (function () {
151
159
  this.dragElementClue.top = (event.pageY + 10);
152
160
  this.dragElementClue.left = event.pageX;
153
161
  this.dragElementClue.innerText = innerText;
154
- this.dragElementClue.status = (invalidIndex || !targetElement) ? 'k-i-cancel' : 'k-i-add';
162
+ this.dragElementClue.status = (invalidIndex || !targetElement) ? 'k-i-cancel' : 'k-i-plus';
155
163
  };
156
164
  CommonDragLogic.prototype.updateDropElementClue = function (event, element, targetElement, invalidIndex) {
157
165
  if (!this.dropElementClue) {
@@ -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
  }());
@@ -10,7 +10,6 @@ import { provideLocalizationService } from '@progress/kendo-vue-intl';
10
10
  import { filterAriaLabel, messages } from '../messages/main';
11
11
  import { tableKeyboardNavigationTools as navigationTools } from '../navigation/utils';
12
12
  import { HeaderThElement } from './HeaderThElement';
13
- import { classNames } from '@progress/kendo-vue-common';
14
13
  /**
15
14
  * @hidden
16
15
  */
@@ -34,7 +33,7 @@ var FilterRowVue2 = {
34
33
  },
35
34
  methods: {
36
35
  headerCellClassName: function headerCellClassName(field, locked) {
37
- var result = "k-header" + (locked ? ' k-grid-header-sticky' : '');
36
+ var result = "k-table-th k-header" + (locked ? ' k-grid-header-sticky' : '');
38
37
  if (this.$props.sort && this.$props.sort.filter(function (descriptor) {
39
38
  return descriptor.field === field;
40
39
  }).length > 0) {
@@ -161,7 +160,7 @@ var FilterRowVue2 = {
161
160
  },
162
161
  navigatable: column.navigatable,
163
162
  style: style,
164
- "class": classNames('k-table-th', this.headerCellClassName(column.field, column.locked) || undefined),
163
+ "class": this.headerCellClassName(column.field, column.locked) || undefined,
165
164
  ariaLabel: ariaAttrs.ariaLabel,
166
165
  ariaColumnIndex: ariaAttrs.ariaColumnIndex
167
166
  }, this.v3 ? function () {
@@ -180,7 +179,7 @@ var FilterRowVue2 = {
180
179
  },
181
180
  navigatable: column.navigatable,
182
181
  style: style,
183
- "class": classNames('k-table-th', this.headerCellClassName(column.field, column.locked) || undefined),
182
+ "class": this.headerCellClassName(column.field, column.locked) || undefined,
184
183
  ariaLabel: ariaAttrs.ariaLabel,
185
184
  ariaColumnIndex: ariaAttrs.ariaColumnIndex
186
185
  });
@@ -5,7 +5,7 @@ export var packageMetadata = {
5
5
  name: '@progress/kendo-vue-data-tools',
6
6
  productName: 'Kendo UI for Vue',
7
7
  productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
8
- publishDate: 1673273869,
8
+ publishDate: 1673512534,
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
  };
@@ -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() {
@@ -29,7 +29,7 @@ import { Button } from '@progress/kendo-vue-buttons';
29
29
  import { ColumnMenuItem } from './ColumnMenuItem.js';
30
30
  import { ColumnMenuItemGroup } from './ColumnMenuItemGroup.js';
31
31
  import { ColumnMenuItemContent } from './ColumnMenuItemContent.js';
32
- import { searchIcon } from '@progress/kendo-svg-icons';
32
+ import { filterIcon, searchIcon } from '@progress/kendo-svg-icons';
33
33
  import { Checkbox } from '@progress/kendo-vue-inputs';
34
34
  import { provideLocalizationService } from '@progress/kendo-vue-intl';
35
35
  import { messages, columnMenuFilterClearButton as filterClearButton, columnMenuFilterSubmitButton as filterSubmitButton, columnMenuFilterTitle as filterTitle, searchPlaceholder, filterCheckAll } from '../messages/main.js';
@@ -217,9 +217,11 @@ var ColumnMenuCheckboxFilterVue2 = {
217
217
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
218
218
  attrs: _this2.v3 ? undefined : {
219
219
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
220
- iconClass: 'k-i-filter'
220
+ icon: 'filter',
221
+ svgIcon: filterIcon
221
222
  },
222
- iconClass: 'k-i-filter',
223
+ icon: 'filter',
224
+ svgIcon: filterIcon,
223
225
  onClick: _this2.onFilterExpand,
224
226
  on: _this2.v3 ? undefined : {
225
227
  "click": _this2.onFilterExpand
@@ -378,9 +380,11 @@ var ColumnMenuCheckboxFilterVue2 = {
378
380
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
379
381
  attrs: _this2.v3 ? undefined : {
380
382
  title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),
381
- iconClass: 'k-i-filter'
383
+ icon: 'filter',
384
+ svgIcon: filterIcon
382
385
  },
383
- iconClass: 'k-i-filter',
386
+ icon: 'filter',
387
+ svgIcon: filterIcon,
384
388
  onClick: _this2.onFilterExpand,
385
389
  on: _this2.v3 ? undefined : {
386
390
  "click": _this2.onFilterExpand
@@ -37,6 +37,7 @@ import { messages, columnMenuFilterClearButton, columnMenuFilterSubmitButton, co
37
37
  import { ColumnMenuFilterCell } from './ColumnMenuFilterCell.js';
38
38
  import { ColumnMenuFilterOperators } from './ColumnMenuFilterOperators.js';
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 ColumnMenuFilterVue2 = {
352
353
  title: localizationService.toLanguageString(columnMenuFilterTitle, messages[columnMenuFilterTitle]),
353
354
  attrs: _this2.v3 ? undefined : {
354
355
  title: localizationService.toLanguageString(columnMenuFilterTitle, messages[columnMenuFilterTitle]),
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 ColumnMenuFilterVue2 = {
641
644
  title: localizationService.toLanguageString(columnMenuFilterTitle, messages[columnMenuFilterTitle]),
642
645
  attrs: _this2.v3 ? undefined : {
643
646
  title: localizationService.toLanguageString(columnMenuFilterTitle, messages[columnMenuFilterTitle]),
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 ColumnMenuItem component.
8
9
  */
@@ -19,6 +20,14 @@ export interface ColumnMenuItemProps {
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 ColumnMenuItemVue2 = {
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 ColumnMenuItemVue2 = {
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 : {
@@ -51,6 +55,13 @@ var ColumnMenuItemVue2 = {
51
55
  "class": "k-columnmenu-item ".concat(selected ? 'k-selected' : '')
52
56
  }, [iconClass && h(Icon, {
53
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
  };
@@ -10,6 +10,7 @@ import { normalize } from '../interfaces/SortSettings.js';
10
10
  import { provideLocalizationService } from '@progress/kendo-vue-intl';
11
11
  import { messages, columnMenuSortAscending as sortAscending, columnMenuSortDescending as sortDescending } from '../messages/main.js';
12
12
  import { hasListener } from '@progress/kendo-vue-common';
13
+ import { sortAscSmallIcon, sortDescSmallIcon } from '@progress/kendo-svg-icons';
13
14
  /**
14
15
  * @hidden
15
16
  */
@@ -166,10 +167,12 @@ var ColumnMenuSortVue2 = {
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
+ scgIcon: sortAscSmallIcon,
170
172
  selected: sortedAsc(currentSortIndex, sort)
171
173
  },
172
- iconClass: 'k-i-sort-asc-small',
174
+ icon: 'sort-asc-small',
175
+ scgIcon: sortAscSmallIcon,
173
176
  selected: sortedAsc(currentSortIndex, sort),
174
177
  onMenuitemclick: _this.onAscClick,
175
178
  on: _this.v3 ? undefined : {
@@ -181,10 +184,12 @@ var ColumnMenuSortVue2 = {
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 ColumnMenuSortVue2 = {
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
+ scgIcon: sortAscSmallIcon,
199
205
  selected: sortedAsc(currentSortIndex, sort)
200
206
  },
201
- iconClass: 'k-i-sort-asc-small',
207
+ icon: 'sort-asc-small',
208
+ scgIcon: sortAscSmallIcon,
202
209
  selected: sortedAsc(currentSortIndex, sort),
203
210
  onMenuitemclick: _this.onAscClick,
204
211
  on: _this.v3 ? undefined : {
@@ -208,10 +215,12 @@ var ColumnMenuSortVue2 = {
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.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
  };
@@ -151,7 +159,7 @@ var CommonDragLogic = /** @class */ (function () {
151
159
  this.dragElementClue.top = (event.pageY + 10);
152
160
  this.dragElementClue.left = event.pageX;
153
161
  this.dragElementClue.innerText = innerText;
154
- this.dragElementClue.status = (invalidIndex || !targetElement) ? 'k-i-cancel' : 'k-i-add';
162
+ this.dragElementClue.status = (invalidIndex || !targetElement) ? 'k-i-cancel' : 'k-i-plus';
155
163
  };
156
164
  CommonDragLogic.prototype.updateDropElementClue = function (event, element, targetElement, invalidIndex) {
157
165
  if (!this.dropElementClue) {
@@ -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
  }());