@progress/kendo-vue-data-tools 3.7.4-dev.202212020747 → 3.7.4-dev.202212300853

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 (48) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/js/kendo-vue-data-tools.js +1 -1
  3. package/dist/es/columnmenu/ColumnMenu.js +6 -3
  4. package/dist/es/columnmenu/ColumnMenuCheckboxFilter.js +7 -3
  5. package/dist/es/columnmenu/ColumnMenuItem.js +3 -3
  6. package/dist/es/drag/DragClue.js +6 -2
  7. package/dist/es/filter/Filter.js +20 -4
  8. package/dist/es/filter/GroupFilters.js +10 -2
  9. package/dist/es/header/HeaderRow.d.ts +1 -0
  10. package/dist/es/header/HeaderRow.js +69 -6
  11. package/dist/es/header/HeaderSelectionCell.d.ts +1 -0
  12. package/dist/es/header/HeaderSelectionCell.js +43 -13
  13. package/dist/es/messages/main.d.ts +5 -0
  14. package/dist/es/messages/main.js +5 -0
  15. package/dist/es/package-metadata.js +1 -1
  16. package/dist/es/pager/PagerNavigationButton.js +6 -7
  17. package/dist/es/selection/utils.js +6 -8
  18. package/dist/esm/columnmenu/ColumnMenu.js +6 -3
  19. package/dist/esm/columnmenu/ColumnMenuCheckboxFilter.js +7 -3
  20. package/dist/esm/columnmenu/ColumnMenuItem.js +3 -3
  21. package/dist/esm/drag/DragClue.js +6 -2
  22. package/dist/esm/filter/Filter.js +20 -4
  23. package/dist/esm/filter/GroupFilters.js +10 -2
  24. package/dist/esm/header/HeaderRow.d.ts +1 -0
  25. package/dist/esm/header/HeaderRow.js +69 -6
  26. package/dist/esm/header/HeaderSelectionCell.d.ts +1 -0
  27. package/dist/esm/header/HeaderSelectionCell.js +43 -13
  28. package/dist/esm/messages/main.d.ts +5 -0
  29. package/dist/esm/messages/main.js +5 -0
  30. package/dist/esm/package-metadata.js +1 -1
  31. package/dist/esm/pager/PagerNavigationButton.js +6 -7
  32. package/dist/esm/selection/utils.js +6 -8
  33. package/dist/npm/columnmenu/ColumnMenu.js +5 -2
  34. package/dist/npm/columnmenu/ColumnMenuCheckboxFilter.js +6 -2
  35. package/dist/npm/columnmenu/ColumnMenuItem.js +2 -2
  36. package/dist/npm/drag/DragClue.js +6 -2
  37. package/dist/npm/filter/Filter.js +20 -4
  38. package/dist/npm/filter/GroupFilters.js +10 -2
  39. package/dist/npm/header/HeaderRow.d.ts +1 -0
  40. package/dist/npm/header/HeaderRow.js +68 -5
  41. package/dist/npm/header/HeaderSelectionCell.d.ts +1 -0
  42. package/dist/npm/header/HeaderSelectionCell.js +42 -12
  43. package/dist/npm/messages/main.d.ts +5 -0
  44. package/dist/npm/messages/main.js +6 -1
  45. package/dist/npm/package-metadata.js +1 -1
  46. package/dist/npm/pager/PagerNavigationButton.js +6 -7
  47. package/dist/npm/selection/utils.js +5 -7
  48. package/package.json +10 -10
@@ -19,6 +19,8 @@ import { GroupFilter } from './GroupFilters.js';
19
19
  import { GroupToolbar } from './GroupToolbar.js';
20
20
  import { validatePackage, templateRendering, getListeners } from '@progress/kendo-vue-common';
21
21
  import { packageMetadata } from '../package-metadata.js';
22
+ import { provideLocalizationService } from '@progress/kendo-vue-intl';
23
+ import { filterAriaLabel, messages } from '../messages/main.js';
22
24
  /**
23
25
  * @hidden
24
26
  */
@@ -45,6 +47,11 @@ var FilterVue2 = {
45
47
  value: Object,
46
48
  defaultGroupFilter: Object
47
49
  },
50
+ inject: {
51
+ kendoLocalizationService: {
52
+ default: null
53
+ }
54
+ },
48
55
  created: function created() {
49
56
  validatePackage(packageMetadata);
50
57
  },
@@ -67,6 +74,7 @@ var FilterVue2 = {
67
74
  }
68
75
  },
69
76
  render: function render(createElement) {
77
+ var locService = provideLocalizationService(this);
70
78
  var h = gh || createElement;
71
79
  var fields = this.$props.fields.map(function (field) {
72
80
  return __assign(__assign({}, field), {
@@ -76,13 +84,22 @@ var FilterVue2 = {
76
84
  return h("div", {
77
85
  "class": 'k-widget k-filter'
78
86
  }, [h("ul", {
79
- "class": "k-filter-container"
87
+ "class": "k-filter-container",
88
+ role: "tree",
89
+ attrs: this.v3 ? undefined : {
90
+ role: "tree",
91
+ ariaLabel: locService.toLanguageString(filterAriaLabel, messages[filterAriaLabel])
92
+ },
93
+ ariaLabel: locService.toLanguageString(filterAriaLabel, messages[filterAriaLabel])
80
94
  }, [h("li", {
81
- "class": "k-filter-group-main"
95
+ "class": "k-filter-group-main",
96
+ role: "treeitem",
97
+ attrs: this.v3 ? undefined : {
98
+ role: "treeitem"
99
+ }
82
100
  }, [
83
101
  // @ts-ignore function children
84
102
  h(GroupToolbar, {
85
- "class": "k-filter-group-main",
86
103
  filter: this.computedValue,
87
104
  attrs: this.v3 ? undefined : {
88
105
  filter: this.computedValue,
@@ -106,7 +123,6 @@ var FilterVue2 = {
106
123
  }),
107
124
  // @ts-ignore function children
108
125
  h(GroupFilter, {
109
- "class": "k-filter-group-main",
110
126
  filter: this.computedValue,
111
127
  attrs: this.v3 ? undefined : {
112
128
  filter: this.computedValue,
@@ -61,11 +61,19 @@ var GroupFilterVue2 = {
61
61
  filter = _a.filter,
62
62
  filterRender = _a.filterRender;
63
63
  return filter.filters.length > 0 ? h("ul", {
64
- "class": "k-filter-lines"
64
+ "class": "k-filter-lines",
65
+ role: "group",
66
+ attrs: this.v3 ? undefined : {
67
+ role: "group"
68
+ }
65
69
  }, [filter.filters.map(function (f, idx) {
66
70
  return h("li", {
67
71
  key: idx,
68
- "class": "k-filter-item"
72
+ "class": "k-filter-item",
73
+ role: "treeitem",
74
+ attrs: this.v3 ? undefined : {
75
+ role: "treeitem"
76
+ }
69
77
  }, [isCompositeFilterDescriptor(f) ? [
70
78
  // @ts-ignore
71
79
  h(GroupToolbar, {
@@ -21,6 +21,7 @@ export interface HeaderRowProps extends ColumnDraggableProps {
21
21
  reorderable?: boolean;
22
22
  onSortChange?: (descriptors: SortDescriptor[], e: any) => void;
23
23
  sort?: any;
24
+ selectedField?: string;
24
25
  filter?: CompositeFilterDescriptor;
25
26
  filterOperators: FilterOperators;
26
27
  filterable?: boolean | undefined;
@@ -8,7 +8,8 @@ import { ColumnResizer } from '../drag/ColumnResizer.js';
8
8
  import { ColumnDraggable } from '../drag/ColumnDraggable.js';
9
9
  import { HeaderCell } from './HeaderCell.js';
10
10
  import { ColumnMenu } from '../columnmenu/ColumnMenu.js';
11
- import { templateRendering, hasListener, getListeners, Keys, noop } from '@progress/kendo-vue-common';
11
+ import { HeaderSelectionCell } from './HeaderSelectionCell.js';
12
+ import { templateRendering, hasListener, getListeners, Keys, noop, Icon } from '@progress/kendo-vue-common';
12
13
  import { HeaderThElement } from './HeaderThElement.js';
13
14
  /**
14
15
  * @hidden
@@ -47,6 +48,7 @@ var HeaderRowVue2 = {
47
48
  sort: {
48
49
  type: Array
49
50
  },
51
+ selectedField: String,
50
52
  filter: Object,
51
53
  filterable: Boolean,
52
54
  filterOperators: Object,
@@ -195,18 +197,21 @@ var HeaderRowVue2 = {
195
197
  }) : -1;
196
198
  var sortDir = sortIndex >= 0 ? this.$props.sort[sortIndex].dir || 'none' : 'none';
197
199
  var sortIconRenderer = function sortIconRenderer(iconSortIndex) {
198
- if (!_this.$props.sort) {
200
+ if (!this.$props.sort) {
199
201
  return null;
200
202
  }
201
- return iconSortIndex >= 0 && [h("span", {
203
+ return iconSortIndex >= 0 && [h(Icon, {
202
204
  key: 1,
203
- "class": 'k-icon k-i-sort-' + _this.$props.sort[iconSortIndex].dir + '-sm'
204
- }), _this.$props.sort.length > 1 && h("span", {
205
+ name: "sort-".concat(this.$props.sort[iconSortIndex].dir, "-small"),
206
+ attrs: this.v3 ? undefined : {
207
+ name: "sort-".concat(this.$props.sort[iconSortIndex].dir, "-small")
208
+ }
209
+ }), this.$props.sort.length > 1 && h("span", {
205
210
  key: 2,
206
211
  "class": "k-sort-order"
207
212
  }, [iconSortIndex + 1])];
208
213
  };
209
- var sortIcon = sortIconRenderer(sortIndex);
214
+ var sortIcon = sortIconRenderer.call(this, sortIndex);
210
215
  var className = (column.kFirst ? 'k-first ' : '') + this.cellClass(column.field, column.headerClassName, column.locked);
211
216
  var columnMenu = column.columnMenu || column.columnMenu === false ? column.columnMenu : this.$props.columnMenu;
212
217
  var columnMenuRender = !columnMenu || typeof columnMenu === 'boolean' ? !!columnMenu : this.getTemplate(columnMenu);
@@ -327,6 +332,36 @@ var HeaderRowVue2 = {
327
332
  render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
328
333
  }, _this2.v3 ? function () {
329
334
  return [sortIcon];
335
+ } : [sortIcon])]) || column.field === _this2.$props.selectedField && h("span", {
336
+ "class": 'k-cell-inner'
337
+ }, [
338
+ // @ts-ignore function children
339
+ h(HeaderSelectionCell, {
340
+ key: 1,
341
+ field: column.field,
342
+ attrs: _this2.v3 ? undefined : {
343
+ field: column.field,
344
+ sortable: sortable,
345
+ selectionValue: column.headerSelectionValue,
346
+ title: column.title,
347
+ render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
348
+ },
349
+ sortable: sortable,
350
+ onHeadercellclick: function onHeadercellclick(e) {
351
+ return _this.cellClick(e, column);
352
+ },
353
+ on: _this2.v3 ? undefined : {
354
+ "headercellclick": function onHeadercellclick(e) {
355
+ return _this.cellClick(e, column);
356
+ },
357
+ "selectionchange": _this2.selectionChangeHandler
358
+ },
359
+ onSelectionchange: _this2.selectionChangeHandler,
360
+ selectionValue: column.headerSelectionValue,
361
+ title: column.title,
362
+ render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
363
+ }, _this2.v3 ? function () {
364
+ return [sortIcon];
330
365
  } : [sortIcon])]) || h("span", {
331
366
  "class": 'k-cell-inner'
332
367
  }, [
@@ -432,6 +467,34 @@ var HeaderRowVue2 = {
432
467
  render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
433
468
  }, _this2.v3 ? function () {
434
469
  return [sortIcon];
470
+ } : [sortIcon])]) || column.field === _this2.$props.selectedField && h("span", {
471
+ "class": 'k-cell-inner'
472
+ }, [h(HeaderSelectionCell, {
473
+ key: 1,
474
+ field: column.field,
475
+ attrs: _this2.v3 ? undefined : {
476
+ field: column.field,
477
+ sortable: sortable,
478
+ selectionValue: column.headerSelectionValue,
479
+ title: column.title,
480
+ render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
481
+ },
482
+ sortable: sortable,
483
+ onHeadercellclick: function onHeadercellclick(e) {
484
+ return _this.cellClick(e, column);
485
+ },
486
+ on: _this2.v3 ? undefined : {
487
+ "headercellclick": function onHeadercellclick(e) {
488
+ return _this.cellClick(e, column);
489
+ },
490
+ "selectionchange": _this2.selectionChangeHandler
491
+ },
492
+ onSelectionchange: _this2.selectionChangeHandler,
493
+ selectionValue: column.headerSelectionValue,
494
+ title: column.title,
495
+ render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
496
+ }, _this2.v3 ? function () {
497
+ return [sortIcon];
435
498
  } : [sortIcon])]) || h("span", {
436
499
  "class": 'k-cell-inner'
437
500
  }, [h(HeaderCell, {
@@ -9,6 +9,7 @@ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } fr
9
9
  */
10
10
  export interface HeaderSelectionCellMethods extends Vue2type {
11
11
  changeHandle: (e: any) => void;
12
+ clickHandler: (e: any) => void;
12
13
  }
13
14
  /**
14
15
  * @hidden
@@ -3,7 +3,9 @@ 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 { guid, getTemplate } from '@progress/kendo-vue-common';
6
+ import { guid, getTemplate, getDefaultSlots } from '@progress/kendo-vue-common';
7
+ import { provideLocalizationService } from '@progress/kendo-vue-intl';
8
+ import { messages, selectAllRows } from '../messages/main.js';
7
9
  /**
8
10
  * @hidden
9
11
  */
@@ -11,9 +13,20 @@ var HeaderSelectionCellVue2 = {
11
13
  props: {
12
14
  field: String,
13
15
  title: String,
16
+ sortable: [Boolean, Object],
14
17
  selectionValue: Boolean,
15
18
  render: [Object, Function, String]
16
19
  },
20
+ // @ts-ignore
21
+ emits: {
22
+ selectionchange: null,
23
+ headercellclick: null
24
+ },
25
+ inject: {
26
+ kendoLocalizationService: {
27
+ default: null
28
+ }
29
+ },
17
30
  created: function created() {
18
31
  this.inputId = guid();
19
32
  },
@@ -23,6 +36,11 @@ var HeaderSelectionCellVue2 = {
23
36
  field: this.$props.field,
24
37
  event: e
25
38
  });
39
+ },
40
+ clickHandler: function clickHandler(event) {
41
+ if (this.$props.sortable) {
42
+ this.$emit('headercellclick', event);
43
+ }
26
44
  }
27
45
  },
28
46
  // @ts-ignore
@@ -35,8 +53,11 @@ var HeaderSelectionCellVue2 = {
35
53
  // @ts-ignore
36
54
  render: function render(createElement) {
37
55
  var h = gh || createElement;
56
+ var defaultSlot = getDefaultSlots(this);
38
57
  var renderTemplate = this.$props.render;
39
- var defaultRendering = h("span", [[h("input", {
58
+ var ls = provideLocalizationService(this);
59
+ var selectAllRowsMessage = ls.toLanguageString(selectAllRows, messages[selectAllRows]);
60
+ var input = h("input", {
40
61
  key: 0,
41
62
  checked: this.v3 ? this.$props.selectionValue : null,
42
63
  domProps: this.v3 ? undefined : {
@@ -45,31 +66,40 @@ var HeaderSelectionCellVue2 = {
45
66
  id: this.inputId,
46
67
  attrs: this.v3 ? undefined : {
47
68
  id: this.inputId,
48
- type: "checkbox"
69
+ type: "checkbox",
70
+ "aria-label": selectAllRowsMessage
49
71
  },
50
72
  type: "checkbox",
51
73
  "class": "k-checkbox k-checkbox-md k-rounded-md",
74
+ "aria-label": selectAllRowsMessage,
52
75
  onChange: this.changeHandle,
53
76
  on: this.v3 ? undefined : {
54
77
  "change": this.changeHandle
55
78
  }
56
- }), h("label", {
57
- key: 1,
58
- "class": "k-checkbox-label",
59
- "for": this.inputId,
60
- attrs: this.v3 ? undefined : {
61
- "for": this.inputId
62
- }
63
- })]]);
64
- return getTemplate.call(this, {
79
+ });
80
+ var defaultRendering = getTemplate.call(this, {
65
81
  h: h,
66
82
  template: renderTemplate,
67
- defaultRendering: defaultRendering,
83
+ defaultRendering: input,
68
84
  additionalProps: this.$props,
69
85
  additionalListeners: {
86
+ click: this.clickHandler,
70
87
  selectionchange: this.changeHandle
71
88
  }
72
89
  });
90
+ return h("span", {
91
+ "class": "k-link",
92
+ onClick: this.clickHandler,
93
+ on: this.v3 ? undefined : {
94
+ "click": this.clickHandler
95
+ }
96
+ }, [h("span", {
97
+ "class": "k-column-title",
98
+ title: this.$props.title,
99
+ attrs: this.v3 ? undefined : {
100
+ title: this.$props.title
101
+ }
102
+ }, [defaultRendering]), defaultSlot]);
73
103
  }
74
104
  };
75
105
  /**
@@ -254,6 +254,10 @@ export declare const columnMenuFilterOrLogic = "columnMenu.filterOrLogic";
254
254
  * @hidden
255
255
  */
256
256
  export declare const searchPlaceholder = "grid.searchPlaceholder";
257
+ /**
258
+ * @hidden
259
+ */
260
+ export declare const selectAllRows = "grid.selectAllRows";
257
261
  /**
258
262
  * @hidden
259
263
  */
@@ -317,6 +321,7 @@ export declare const messages: {
317
321
  "pager.of": string;
318
322
  "pager.totalPages": string;
319
323
  "grid.searchPlaceholder": string;
324
+ "grid.selectAllRows": string;
320
325
  "grid.filterCheckAll": string;
321
326
  "sort.ariaLabel": string;
322
327
  "filter.ariaLabel": string;
@@ -255,6 +255,10 @@ export var columnMenuFilterOrLogic = 'columnMenu.filterOrLogic';
255
255
  * @hidden
256
256
  */
257
257
  export var searchPlaceholder = 'grid.searchPlaceholder';
258
+ /**
259
+ * @hidden
260
+ */
261
+ export var selectAllRows = 'grid.selectAllRows';
258
262
  /**
259
263
  * @hidden
260
264
  */
@@ -318,6 +322,7 @@ export var messages = (_a = {},
318
322
  _a[pagerOf] = 'Of',
319
323
  _a[pagerTotalPages] = '{0}',
320
324
  _a[searchPlaceholder] = 'Search',
325
+ _a[selectAllRows] = 'Select All Rows',
321
326
  _a[filterCheckAll] = 'Check All',
322
327
  _a[sortAriaLabel] = 'Sortable',
323
328
  _a[filterAriaLabel] = 'Filter',
@@ -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: 1669966763,
8
+ publishDate: 1672389924,
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
  };
@@ -3,6 +3,7 @@ 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 { Icon } from '@progress/kendo-vue-common';
6
7
  /**
7
8
  * @hidden
8
9
  */
@@ -13,11 +14,6 @@ var PagerNavigationButtonVue2 = {
13
14
  icon: String,
14
15
  page: Number
15
16
  },
16
- computed: {
17
- iconClass: function iconClass() {
18
- return 'k-icon k-i-' + this.icon;
19
- }
20
- },
21
17
  inject: {
22
18
  kendoLocalizationService: {
23
19
  default: null
@@ -58,8 +54,11 @@ var PagerNavigationButtonVue2 = {
58
54
  role: "button",
59
55
  title: this.$props.title,
60
56
  "aria-label": this.$props.title
61
- }, [h("span", {
62
- "class": this.iconClass
57
+ }, [h(Icon, {
58
+ name: this.icon,
59
+ attrs: this.v3 ? undefined : {
60
+ name: this.icon
61
+ }
63
62
  })]);
64
63
  }
65
64
  };
@@ -18,7 +18,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
18
  }
19
19
  return to.concat(ar || Array.prototype.slice.call(from));
20
20
  };
21
- import { extendDataItem, getter, Keys, mapTree, hasRelativeStackingContext } from '@progress/kendo-vue-common';
21
+ import { extendDataItem, Keys, mapTree, hasRelativeStackingContext } from '@progress/kendo-vue-common';
22
22
  import { TABLE_COL_INDEX_ATTRIBUTE, TABLE_ROW_INDEX_ATTRIBUTE } from './constants.js';
23
23
  var GROUP_SUBITEMS_COLLECTION = 'items';
24
24
  var LAST_SELECTION_STATE = {};
@@ -76,11 +76,10 @@ export var getColumnIndex = function (element) {
76
76
  */
77
77
  export var setSelectedState = function (options) {
78
78
  var subItemsField = options.subItemsField || GROUP_SUBITEMS_COLLECTION;
79
- var idGetter = getter(options.dataItemKey);
80
79
  return mapTree(options.data, subItemsField, function (item) {
81
80
  var _a;
82
81
  return extendDataItem(item, subItemsField, (_a = {},
83
- _a[options.selectedField] = options.selectedState[idGetter(item)],
82
+ _a[options.selectedField] = options.selectedState[item[options.dataItemKey]],
84
83
  _a));
85
84
  });
86
85
  };
@@ -135,12 +134,11 @@ export var getSelectedStateFromKeyDown = function (options) {
135
134
  export var getSelectedState = function (options) {
136
135
  var event = options.event, dataItemKey = options.dataItemKey, prevSelectedState = options.selectedState;
137
136
  var dataItems = event.dataItems, startRowIndex = event.startRowIndex, endRowIndex = event.endRowIndex, startColIndex = event.startColIndex, endColIndex = event.endColIndex, cell = event.cell, isDrag = event.isDrag, ctrlKey = event.ctrlKey, shiftKey = event.shiftKey, metaKey = event.metaKey, componentId = event.componentId, mode = event.mode, dataItem = event.dataItem;
138
- var idGetter = getter(dataItemKey);
139
137
  var selectionState = {};
140
138
  var isInputEvent = dataItem !== null;
141
139
  if (mode === 'single') {
142
140
  var currentDataItem = dataItems.slice(startRowIndex, startRowIndex + 1)[0];
143
- var itemId = idGetter(currentDataItem);
141
+ var itemId = currentDataItem[dataItemKey];
144
142
  LAST_SELECTION_STATE[componentId] = {
145
143
  rowIndex: startRowIndex,
146
144
  colIndex: startColIndex
@@ -160,7 +158,7 @@ export var getSelectedState = function (options) {
160
158
  }
161
159
  var selectedDataItems = dataItems.slice(startRowIndex, endRowIndex + 1);
162
160
  selectedDataItems.forEach(function (currentItem) {
163
- var itemId = idGetter(currentItem);
161
+ var itemId = currentItem[dataItemKey];
164
162
  selectionState[itemId] = cell ? __spreadArray([], selectedColumns_1, true) : true;
165
163
  });
166
164
  }
@@ -172,7 +170,7 @@ export var getSelectedState = function (options) {
172
170
  };
173
171
  var selectedDataItems = dataItems.slice(startRowIndex, endRowIndex + 1);
174
172
  var currentDataItem = selectedDataItems[0];
175
- var itemId = idGetter(currentDataItem);
173
+ var itemId = currentDataItem[dataItemKey];
176
174
  selectionState = __assign({}, prevSelectedState);
177
175
  selectionState[itemId] = cell && !isInputEvent
178
176
  ? getCellSelection(selectionState[itemId], startColIndex)
@@ -191,7 +189,7 @@ export var getSelectedState = function (options) {
191
189
  }
192
190
  var selectedDataItems = dataItems.slice(currentStartRowIndex, currentEndRowIndex + 1);
193
191
  selectedDataItems.forEach(function (currentItem) {
194
- var itemId = idGetter(currentItem);
192
+ var itemId = currentItem[dataItemKey];
195
193
  selectionState[itemId] = cell ? __spreadArray([], selectedColumns_2, true) : true;
196
194
  });
197
195
  }
@@ -139,8 +139,11 @@ var ColumnMenuVue2 = {
139
139
  on: this.v3 ? undefined : {
140
140
  "click": this.anchorClick
141
141
  }
142
- }, [h("span", {
143
- "class": 'k-icon k-i-more-vertical'
142
+ }, [h(kendo_vue_common_1.Icon, {
143
+ name: 'more-vertical',
144
+ attrs: this.v3 ? undefined : {
145
+ name: 'more-vertical'
146
+ }
144
147
  })]),
145
148
  // @ts-ignore function children
146
149
  h(kendo_vue_popup_1.Popup, {
@@ -150,8 +150,12 @@ var ColumnMenuCheckboxFilterVue2 = {
150
150
  "class": "k-list-filter"
151
151
  }, [h("span", {
152
152
  "class": "k-textbox k-input k-input-md k-rounded-md k-input-solid"
153
- }, [h("span", {
154
- "class": "k-input-icon k-icon k-i-search"
153
+ }, [h(kendo_vue_common_1.Icon, {
154
+ name: 'search',
155
+ attrs: this.v3 ? undefined : {
156
+ name: 'search'
157
+ },
158
+ "class": "k-input-icon"
155
159
  }), h("input", {
156
160
  ref: 'searchBox',
157
161
  placeholder: localizationService.toLanguageString(main_1.searchPlaceholder, main_1.messages[main_1.searchPlaceholder]),
@@ -55,8 +55,8 @@ var ColumnMenuItemVue2 = {
55
55
  },
56
56
  onClick: this.onClick,
57
57
  "class": "k-columnmenu-item ".concat(selected ? 'k-selected' : '')
58
- }, [iconClass && h("span", {
59
- "class": "k-icon ".concat(iconClass)
58
+ }, [iconClass && h(kendo_vue_common_1.Icon, {
59
+ "class": iconClass
60
60
  }), title]);
61
61
  }
62
62
  };
@@ -9,6 +9,7 @@ var Vue = require("vue");
9
9
  var allVue = Vue;
10
10
  var gh = allVue.h;
11
11
  var isV3 = allVue.version && allVue.version[0] === '3';
12
+ var kendo_vue_common_1 = require("@progress/kendo-vue-common");
12
13
  /**
13
14
  * @hidden
14
15
  */
@@ -44,8 +45,11 @@ var DragClueVue2 = {
44
45
  }
45
46
  }, [h("span", {
46
47
  "class": 'k-icon k-drag-status ' + this.status + ' k-icon-with-modifier'
47
- }, [h("span", {
48
- "class": "k-icon k-icon-modifier"
48
+ }, [h(kendo_vue_common_1.Icon, {
49
+ name: "modifier",
50
+ attrs: this.v3 ? undefined : {
51
+ name: "modifier"
52
+ }
49
53
  })]), this.innerText]);
50
54
  }
51
55
  };
@@ -25,6 +25,8 @@ var GroupFilters_1 = require("./GroupFilters");
25
25
  var GroupToolbar_1 = require("./GroupToolbar");
26
26
  var kendo_vue_common_1 = require("@progress/kendo-vue-common");
27
27
  var package_metadata_1 = require("../package-metadata");
28
+ var kendo_vue_intl_1 = require("@progress/kendo-vue-intl");
29
+ var main_1 = require("../messages/main");
28
30
  /**
29
31
  * @hidden
30
32
  */
@@ -51,6 +53,11 @@ var FilterVue2 = {
51
53
  value: Object,
52
54
  defaultGroupFilter: Object
53
55
  },
56
+ inject: {
57
+ kendoLocalizationService: {
58
+ default: null
59
+ }
60
+ },
54
61
  created: function created() {
55
62
  (0, kendo_vue_common_1.validatePackage)(package_metadata_1.packageMetadata);
56
63
  },
@@ -73,6 +80,7 @@ var FilterVue2 = {
73
80
  }
74
81
  },
75
82
  render: function render(createElement) {
83
+ var locService = (0, kendo_vue_intl_1.provideLocalizationService)(this);
76
84
  var h = gh || createElement;
77
85
  var fields = this.$props.fields.map(function (field) {
78
86
  return __assign(__assign({}, field), {
@@ -82,13 +90,22 @@ var FilterVue2 = {
82
90
  return h("div", {
83
91
  "class": 'k-widget k-filter'
84
92
  }, [h("ul", {
85
- "class": "k-filter-container"
93
+ "class": "k-filter-container",
94
+ role: "tree",
95
+ attrs: this.v3 ? undefined : {
96
+ role: "tree",
97
+ ariaLabel: locService.toLanguageString(main_1.filterAriaLabel, main_1.messages[main_1.filterAriaLabel])
98
+ },
99
+ ariaLabel: locService.toLanguageString(main_1.filterAriaLabel, main_1.messages[main_1.filterAriaLabel])
86
100
  }, [h("li", {
87
- "class": "k-filter-group-main"
101
+ "class": "k-filter-group-main",
102
+ role: "treeitem",
103
+ attrs: this.v3 ? undefined : {
104
+ role: "treeitem"
105
+ }
88
106
  }, [
89
107
  // @ts-ignore function children
90
108
  h(GroupToolbar_1.GroupToolbar, {
91
- "class": "k-filter-group-main",
92
109
  filter: this.computedValue,
93
110
  attrs: this.v3 ? undefined : {
94
111
  filter: this.computedValue,
@@ -112,7 +129,6 @@ var FilterVue2 = {
112
129
  }),
113
130
  // @ts-ignore function children
114
131
  h(GroupFilters_1.GroupFilter, {
115
- "class": "k-filter-group-main",
116
132
  filter: this.computedValue,
117
133
  attrs: this.v3 ? undefined : {
118
134
  filter: this.computedValue,
@@ -67,11 +67,19 @@ var GroupFilterVue2 = {
67
67
  filter = _a.filter,
68
68
  filterRender = _a.filterRender;
69
69
  return filter.filters.length > 0 ? h("ul", {
70
- "class": "k-filter-lines"
70
+ "class": "k-filter-lines",
71
+ role: "group",
72
+ attrs: this.v3 ? undefined : {
73
+ role: "group"
74
+ }
71
75
  }, [filter.filters.map(function (f, idx) {
72
76
  return h("li", {
73
77
  key: idx,
74
- "class": "k-filter-item"
78
+ "class": "k-filter-item",
79
+ role: "treeitem",
80
+ attrs: this.v3 ? undefined : {
81
+ role: "treeitem"
82
+ }
75
83
  }, [(0, kendo_data_query_1.isCompositeFilterDescriptor)(f) ? [
76
84
  // @ts-ignore
77
85
  h(GroupToolbar_1.GroupToolbar, {
@@ -21,6 +21,7 @@ export interface HeaderRowProps extends ColumnDraggableProps {
21
21
  reorderable?: boolean;
22
22
  onSortChange?: (descriptors: SortDescriptor[], e: any) => void;
23
23
  sort?: any;
24
+ selectedField?: string;
24
25
  filter?: CompositeFilterDescriptor;
25
26
  filterOperators: FilterOperators;
26
27
  filterable?: boolean | undefined;