@progress/kendo-vue-data-tools 3.5.2 → 3.5.4-dev.202209071223

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 (62) hide show
  1. package/dist/cdn/js/kendo-vue-data-tools.js +1 -1
  2. package/dist/es/cells/FilterCell.d.ts +7 -2
  3. package/dist/es/cells/FilterCell.js +32 -21
  4. package/dist/es/filter/Expression.js +33 -17
  5. package/dist/es/filter/filters/EnumFilter.js +10 -5
  6. package/dist/es/filter/filters/TextFilter.d.ts +4 -0
  7. package/dist/es/filter/filters/TextFilter.js +11 -3
  8. package/dist/es/header/FilterRow.d.ts +8 -2
  9. package/dist/es/header/FilterRow.js +14 -6
  10. package/dist/es/header/Header.js +0 -4
  11. package/dist/es/header/HeaderCell.d.ts +1 -1
  12. package/dist/es/header/HeaderCell.js +8 -5
  13. package/dist/es/header/HeaderRow.js +21 -9
  14. package/dist/es/interfaces/FilterCellProps.d.ts +4 -0
  15. package/dist/es/messages/main.d.ts +45 -0
  16. package/dist/es/messages/main.js +45 -0
  17. package/dist/es/package-metadata.js +1 -1
  18. package/dist/es/pager/Pager.js +10 -9
  19. package/dist/es/pager/PagerNavigationButton.d.ts +7 -1
  20. package/dist/es/pager/PagerNavigationButton.js +6 -1
  21. package/dist/es/pager/PagerNumericButtons.js +1 -1
  22. package/dist/esm/cells/FilterCell.d.ts +7 -2
  23. package/dist/esm/cells/FilterCell.js +32 -21
  24. package/dist/esm/filter/Expression.js +33 -17
  25. package/dist/esm/filter/filters/EnumFilter.js +10 -5
  26. package/dist/esm/filter/filters/TextFilter.d.ts +4 -0
  27. package/dist/esm/filter/filters/TextFilter.js +11 -3
  28. package/dist/esm/header/FilterRow.d.ts +8 -2
  29. package/dist/esm/header/FilterRow.js +14 -6
  30. package/dist/esm/header/Header.js +0 -4
  31. package/dist/esm/header/HeaderCell.d.ts +1 -1
  32. package/dist/esm/header/HeaderCell.js +8 -5
  33. package/dist/esm/header/HeaderRow.js +21 -9
  34. package/dist/esm/interfaces/FilterCellProps.d.ts +4 -0
  35. package/dist/esm/messages/main.d.ts +45 -0
  36. package/dist/esm/messages/main.js +45 -0
  37. package/dist/esm/package-metadata.js +1 -1
  38. package/dist/esm/pager/Pager.js +10 -9
  39. package/dist/esm/pager/PagerNavigationButton.d.ts +7 -1
  40. package/dist/esm/pager/PagerNavigationButton.js +6 -1
  41. package/dist/esm/pager/PagerNumericButtons.js +1 -1
  42. package/dist/npm/cells/FilterCell.d.ts +7 -2
  43. package/dist/npm/cells/FilterCell.js +31 -20
  44. package/dist/npm/filter/Expression.js +32 -16
  45. package/dist/npm/filter/filters/EnumFilter.js +9 -4
  46. package/dist/npm/filter/filters/TextFilter.d.ts +4 -0
  47. package/dist/npm/filter/filters/TextFilter.js +13 -3
  48. package/dist/npm/header/FilterRow.d.ts +8 -2
  49. package/dist/npm/header/FilterRow.js +14 -6
  50. package/dist/npm/header/Header.js +0 -4
  51. package/dist/npm/header/HeaderCell.d.ts +1 -1
  52. package/dist/npm/header/HeaderCell.js +8 -5
  53. package/dist/npm/header/HeaderRow.js +21 -9
  54. package/dist/npm/interfaces/FilterCellProps.d.ts +4 -0
  55. package/dist/npm/messages/main.d.ts +45 -0
  56. package/dist/npm/messages/main.js +46 -1
  57. package/dist/npm/package-metadata.js +1 -1
  58. package/dist/npm/pager/Pager.js +10 -9
  59. package/dist/npm/pager/PagerNavigationButton.d.ts +7 -1
  60. package/dist/npm/pager/PagerNavigationButton.js +6 -1
  61. package/dist/npm/pager/PagerNumericButtons.js +1 -1
  62. package/package.json +10 -10
@@ -50,7 +50,8 @@ var FilterCellVue2 = {
50
50
  operators: Array,
51
51
  booleanValues: Array,
52
52
  onChange: Function,
53
- render: [String, Function, Object]
53
+ render: [String, Function, Object],
54
+ ariaLabel: String
54
55
  },
55
56
  inject: {
56
57
  kendoLocalizationService: {
@@ -102,7 +103,7 @@ var FilterCellVue2 = {
102
103
  var _this = this;
103
104
 
104
105
  var h = gh || createElement;
105
- var localizationService = (0, kendo_vue_intl_1.provideLocalizationService)(this);
106
+ var ls = (0, kendo_vue_intl_1.provideLocalizationService)(this);
106
107
  var selectedOperator = this.$props.operators.find(function (item) {
107
108
  return item.operator === _this.$props.operator;
108
109
  }) || null;
@@ -124,19 +125,21 @@ var FilterCellVue2 = {
124
125
  iconClassName: "k-i-filter k-icon",
125
126
  "data-items": this.$props.operators,
126
127
  textField: "text",
127
- title: localizationService.toLanguageString(main_1.columnMenuFilterChooseOperator, main_1.messages[main_1.columnMenuFilterChooseOperator]),
128
+ title: ls.toLanguageString(main_1.columnMenuFilterChooseOperator, main_1.messages[main_1.columnMenuFilterChooseOperator]),
128
129
  popupSettings: {
129
130
  width: ''
130
- }
131
+ },
132
+ "aria-label": this.ariaLabel || ls.toLanguageString(main_1.filterDropDownOperatorAriaLabel, main_1.messages[main_1.filterDropDownOperatorAriaLabel])
131
133
  },
132
134
  "class": "k-dropdown-operator",
133
135
  iconClassName: "k-i-filter k-icon",
134
136
  "data-items": this.$props.operators,
135
137
  textField: "text",
136
- title: localizationService.toLanguageString(main_1.columnMenuFilterChooseOperator, main_1.messages[main_1.columnMenuFilterChooseOperator]),
138
+ title: ls.toLanguageString(main_1.columnMenuFilterChooseOperator, main_1.messages[main_1.columnMenuFilterChooseOperator]),
137
139
  popupSettings: {
138
140
  width: ''
139
- }
141
+ },
142
+ "aria-label": this.ariaLabel || ls.toLanguageString(main_1.filterDropDownOperatorAriaLabel, main_1.messages[main_1.filterDropDownOperatorAriaLabel])
140
143
  })
141
144
  );
142
145
  };
@@ -151,7 +154,8 @@ var FilterCellVue2 = {
151
154
  value: value,
152
155
  attrs: this.v3 ? undefined : {
153
156
  value: value,
154
- title: this.$props.title
157
+ title: this.$props.title,
158
+ "aria-label": this.ariaLabel || ls.toLanguageString(main_1.filterNumericFilterAriaLabel, main_1.messages[main_1.filterNumericFilterAriaLabel])
155
159
  },
156
160
  onChange: function onChange(e) {
157
161
  _this.inputChange(e.value, e.event);
@@ -161,7 +165,8 @@ var FilterCellVue2 = {
161
165
  _this.inputChange(e.value, e.event);
162
166
  }
163
167
  },
164
- title: this.$props.title
168
+ title: this.$props.title,
169
+ "aria-label": this.ariaLabel || ls.toLanguageString(main_1.filterNumericFilterAriaLabel, main_1.messages[main_1.filterNumericFilterAriaLabel])
165
170
  })
166
171
  );
167
172
 
@@ -171,7 +176,8 @@ var FilterCellVue2 = {
171
176
  value: value,
172
177
  attrs: this.v3 ? undefined : {
173
178
  value: value,
174
- title: this.$props.title
179
+ title: this.$props.title,
180
+ "aria-label": this.ariaLabel || ls.toLanguageString(main_1.filterDateFilterAriaLabel, main_1.messages[main_1.filterDateFilterAriaLabel])
175
181
  },
176
182
  onChange: function onChange(e) {
177
183
  _this.inputChange(e.value, e);
@@ -181,7 +187,8 @@ var FilterCellVue2 = {
181
187
  _this.inputChange(e.value, e);
182
188
  }
183
189
  },
184
- title: this.$props.title
190
+ title: this.$props.title,
191
+ "aria-label": this.ariaLabel || ls.toLanguageString(main_1.filterDateFilterAriaLabel, main_1.messages[main_1.filterDateFilterAriaLabel])
185
192
  })
186
193
  );
187
194
 
@@ -202,11 +209,13 @@ var FilterCellVue2 = {
202
209
  }),
203
210
  "data-items": booleanValues,
204
211
  textField: "text",
205
- title: this.$props.title
212
+ title: this.$props.title,
213
+ "aria-label": this.ariaLabel || ls.toLanguageString(main_1.filterEnumFilterDropdownAriaLabel, main_1.messages[main_1.filterEnumFilterDropdownAriaLabel])
206
214
  },
207
215
  "data-items": booleanValues,
208
216
  textField: "text",
209
- title: this.$props.title
217
+ title: this.$props.title,
218
+ "aria-label": this.ariaLabel || ls.toLanguageString(main_1.filterEnumFilterDropdownAriaLabel, main_1.messages[main_1.filterEnumFilterDropdownAriaLabel])
210
219
  })
211
220
  );
212
221
 
@@ -229,35 +238,37 @@ var FilterCellVue2 = {
229
238
  },
230
239
  title: this.$props.title,
231
240
  attrs: this.v3 ? undefined : {
232
- title: this.$props.title
233
- }
241
+ title: this.$props.title,
242
+ "aria-label": this.ariaLabel || ls.toLanguageString(main_1.filterTextFilterAriaLabel, main_1.messages[main_1.filterTextFilterAriaLabel])
243
+ },
244
+ "aria-label": this.ariaLabel || ls.toLanguageString(main_1.filterTextFilterAriaLabel, main_1.messages[main_1.filterTextFilterAriaLabel])
234
245
  })]);
235
246
  }
236
247
  };
237
248
 
238
249
  var defaultRendering = h("div", {
239
250
  "class": "k-filtercell"
240
- }, [h("div", {
241
- "class": "k-filtercell-wrapper"
242
- }, [filterComponent.call(this, this.$props.filterType, this.$props.value), renderOperatorEditor.call(this), // @ts-ignore function children
251
+ }, [h("span", [filterComponent.call(this, this.$props.filterType, this.$props.value), h("div", {
252
+ "class": "k-filtercell-operator"
253
+ }, [renderOperatorEditor.call(this), // @ts-ignore function children
243
254
  h(kendo_vue_buttons_1.Button, {
244
255
  type: "button",
245
256
  attrs: this.v3 ? undefined : {
246
257
  type: "button",
247
258
  icon: 'filter-clear',
248
- title: localizationService.toLanguageString(main_1.columnMenuFilterClearButton, main_1.messages[main_1.columnMenuFilterClearButton])
259
+ title: ls.toLanguageString(main_1.columnMenuFilterClearButton, main_1.messages[main_1.columnMenuFilterClearButton])
249
260
  },
250
261
  icon: 'filter-clear',
251
262
  "class": {
252
263
  /* button is always visible if there is either value or operator */
253
264
  'k-disabled': !(!(this.$props.value === null || this.$props.value === '') || this.$props.operator)
254
265
  },
255
- title: localizationService.toLanguageString(main_1.columnMenuFilterClearButton, main_1.messages[main_1.columnMenuFilterClearButton]),
266
+ title: ls.toLanguageString(main_1.columnMenuFilterClearButton, main_1.messages[main_1.columnMenuFilterClearButton]),
256
267
  onClick: this.clear,
257
268
  on: this.v3 ? undefined : {
258
269
  "click": this.clear
259
270
  }
260
- })])]);
271
+ })])])]);
261
272
  var gridListeners = this.$props.grid ? kendo_vue_common_1.getListeners.call(this.$props.grid) : null;
262
273
  var cellRenderFunction = kendo_vue_common_1.templateRendering.call(this.$props.grid, this.$props.render, gridListeners);
263
274
  return kendo_vue_common_1.getTemplate.call(this, {
@@ -205,7 +205,8 @@ var ExpressionVue2 = {
205
205
  textField: "label",
206
206
  value: fields.find(function (f) {
207
207
  return f.name === filter.field;
208
- })
208
+ }),
209
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionDropdownAriaLabel, main_1.messages[main_1.filterExpressionDropdownAriaLabel])
209
210
  },
210
211
  textField: "label",
211
212
  value: fields.find(function (f) {
@@ -214,7 +215,8 @@ var ExpressionVue2 = {
214
215
  onChange: _this.onFieldChange,
215
216
  on: _this.v3 ? undefined : {
216
217
  "change": _this.onFieldChange
217
- }
218
+ },
219
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionDropdownAriaLabel, main_1.messages[main_1.filterExpressionDropdownAriaLabel])
218
220
  })];
219
221
  } : [h(kendo_vue_dropdowns_1.DropDownList, {
220
222
  "class": "k-filter-dropdown",
@@ -224,7 +226,8 @@ var ExpressionVue2 = {
224
226
  textField: "label",
225
227
  value: fields.find(function (f) {
226
228
  return f.name === filter.field;
227
- })
229
+ }),
230
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionDropdownAriaLabel, main_1.messages[main_1.filterExpressionDropdownAriaLabel])
228
231
  },
229
232
  textField: "label",
230
233
  value: fields.find(function (f) {
@@ -233,7 +236,8 @@ var ExpressionVue2 = {
233
236
  onChange: _this.onFieldChange,
234
237
  on: _this.v3 ? undefined : {
235
238
  "change": _this.onFieldChange
236
- }
239
+ },
240
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionDropdownAriaLabel, main_1.messages[main_1.filterExpressionDropdownAriaLabel])
237
241
  })]), // @ts-ignore function children
238
242
  h(kendo_vue_buttons_1.ToolbarItem, {
239
243
  "class": "k-filter-operator"
@@ -246,7 +250,8 @@ var ExpressionVue2 = {
246
250
  textField: "text",
247
251
  value: operators.find(function (o) {
248
252
  return o.operator === filter.operator;
249
- })
253
+ }),
254
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionOperatorDropdownAriaLabel, main_1.messages[main_1.filterExpressionOperatorDropdownAriaLabel])
250
255
  },
251
256
  textField: "text",
252
257
  value: operators.find(function (o) {
@@ -255,7 +260,8 @@ var ExpressionVue2 = {
255
260
  onChange: _this.onOperatorChange,
256
261
  on: _this.v3 ? undefined : {
257
262
  "change": _this.onOperatorChange
258
- }
263
+ },
264
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionOperatorDropdownAriaLabel, main_1.messages[main_1.filterExpressionOperatorDropdownAriaLabel])
259
265
  })];
260
266
  } : [h(kendo_vue_dropdowns_1.DropDownList, {
261
267
  dataItems: operators,
@@ -264,7 +270,8 @@ var ExpressionVue2 = {
264
270
  textField: "text",
265
271
  value: operators.find(function (o) {
266
272
  return o.operator === filter.operator;
267
- })
273
+ }),
274
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionOperatorDropdownAriaLabel, main_1.messages[main_1.filterExpressionOperatorDropdownAriaLabel])
268
275
  },
269
276
  textField: "text",
270
277
  value: operators.find(function (o) {
@@ -273,7 +280,8 @@ var ExpressionVue2 = {
273
280
  onChange: _this.onOperatorChange,
274
281
  on: _this.v3 ? undefined : {
275
282
  "change": _this.onOperatorChange
276
- }
283
+ },
284
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionOperatorDropdownAriaLabel, main_1.messages[main_1.filterExpressionOperatorDropdownAriaLabel])
277
285
  })]), // @ts-ignore function children
278
286
  h(kendo_vue_buttons_1.ToolbarItem, {
279
287
  "class": "k-filter-value"
@@ -325,7 +333,8 @@ var ExpressionVue2 = {
325
333
  textField: "label",
326
334
  value: fields.find(function (f) {
327
335
  return f.name === filter.field;
328
- })
336
+ }),
337
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionDropdownAriaLabel, main_1.messages[main_1.filterExpressionDropdownAriaLabel])
329
338
  },
330
339
  textField: "label",
331
340
  value: fields.find(function (f) {
@@ -334,7 +343,8 @@ var ExpressionVue2 = {
334
343
  onChange: _this.onFieldChange,
335
344
  on: _this.v3 ? undefined : {
336
345
  "change": _this.onFieldChange
337
- }
346
+ },
347
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionDropdownAriaLabel, main_1.messages[main_1.filterExpressionDropdownAriaLabel])
338
348
  })];
339
349
  } : [h(kendo_vue_dropdowns_1.DropDownList, {
340
350
  "class": "k-filter-dropdown",
@@ -344,7 +354,8 @@ var ExpressionVue2 = {
344
354
  textField: "label",
345
355
  value: fields.find(function (f) {
346
356
  return f.name === filter.field;
347
- })
357
+ }),
358
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionDropdownAriaLabel, main_1.messages[main_1.filterExpressionDropdownAriaLabel])
348
359
  },
349
360
  textField: "label",
350
361
  value: fields.find(function (f) {
@@ -353,7 +364,8 @@ var ExpressionVue2 = {
353
364
  onChange: _this.onFieldChange,
354
365
  on: _this.v3 ? undefined : {
355
366
  "change": _this.onFieldChange
356
- }
367
+ },
368
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionDropdownAriaLabel, main_1.messages[main_1.filterExpressionDropdownAriaLabel])
357
369
  })]), h(kendo_vue_buttons_1.ToolbarItem, {
358
370
  "class": "k-filter-operator"
359
371
  }, _this.v3 ? function () {
@@ -364,7 +376,8 @@ var ExpressionVue2 = {
364
376
  textField: "text",
365
377
  value: operators.find(function (o) {
366
378
  return o.operator === filter.operator;
367
- })
379
+ }),
380
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionOperatorDropdownAriaLabel, main_1.messages[main_1.filterExpressionOperatorDropdownAriaLabel])
368
381
  },
369
382
  textField: "text",
370
383
  value: operators.find(function (o) {
@@ -373,7 +386,8 @@ var ExpressionVue2 = {
373
386
  onChange: _this.onOperatorChange,
374
387
  on: _this.v3 ? undefined : {
375
388
  "change": _this.onOperatorChange
376
- }
389
+ },
390
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionOperatorDropdownAriaLabel, main_1.messages[main_1.filterExpressionOperatorDropdownAriaLabel])
377
391
  })];
378
392
  } : [h(kendo_vue_dropdowns_1.DropDownList, {
379
393
  dataItems: operators,
@@ -382,7 +396,8 @@ var ExpressionVue2 = {
382
396
  textField: "text",
383
397
  value: operators.find(function (o) {
384
398
  return o.operator === filter.operator;
385
- })
399
+ }),
400
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionOperatorDropdownAriaLabel, main_1.messages[main_1.filterExpressionOperatorDropdownAriaLabel])
386
401
  },
387
402
  textField: "text",
388
403
  value: operators.find(function (o) {
@@ -391,7 +406,8 @@ var ExpressionVue2 = {
391
406
  onChange: _this.onOperatorChange,
392
407
  on: _this.v3 ? undefined : {
393
408
  "change": _this.onOperatorChange
394
- }
409
+ },
410
+ ariaLabel: locService.toLanguageString(main_1.filterExpressionOperatorDropdownAriaLabel, main_1.messages[main_1.filterExpressionOperatorDropdownAriaLabel])
395
411
  })]), h(kendo_vue_buttons_1.ToolbarItem, {
396
412
  "class": "k-filter-value"
397
413
  }, _this.v3 ? function () {
@@ -45,7 +45,8 @@ var EnumFilterVue2 = {
45
45
  required: true
46
46
  },
47
47
  dataItems: Array,
48
- defaultItem: Object
48
+ defaultItem: Object,
49
+ ariaLabel: String
49
50
  },
50
51
  inject: {
51
52
  kendoLocalizationService: {
@@ -66,7 +67,9 @@ var EnumFilterVue2 = {
66
67
  filter = _a.filter,
67
68
  _b = _a.dataItems,
68
69
  dataItems = _b === void 0 ? [] : _b,
69
- defaultItem = _a.defaultItem;
70
+ defaultItem = _a.defaultItem,
71
+ _c = _a.ariaLabel,
72
+ ariaLabel = _c === void 0 ? locService.toLanguageString(main_1.filterEnumFilterDropdownAriaLabel, main_1.messages[main_1.filterEnumFilterDropdownAriaLabel]) : _c;
70
73
  var locData = dataItems.map(function (item) {
71
74
  return __assign(__assign({}, item), {
72
75
  text: locService.toLanguageString(item.text, main_1.messages[item.text] || item.text)
@@ -83,7 +86,8 @@ var EnumFilterVue2 = {
83
86
  }) || null,
84
87
  defaultItem: defaultItem,
85
88
  dataItems: locData,
86
- textField: "text"
89
+ textField: "text",
90
+ ariaLabel: ariaLabel
87
91
  },
88
92
  onChange: this.onChange,
89
93
  on: this.v3 ? undefined : {
@@ -91,7 +95,8 @@ var EnumFilterVue2 = {
91
95
  },
92
96
  defaultItem: defaultItem,
93
97
  dataItems: locData,
94
- textField: "text"
98
+ textField: "text",
99
+ ariaLabel: ariaLabel
95
100
  })
96
101
  );
97
102
  },
@@ -19,6 +19,10 @@ export interface TextFilterProps {
19
19
  onFilterchange?: (event: {
20
20
  nextFilter: FilterOperator;
21
21
  }) => void;
22
+ /**
23
+ * The accessible label of the component.
24
+ */
25
+ ariaLabel?: string;
22
26
  }
23
27
  /**
24
28
  * @hidden
@@ -28,6 +28,10 @@ var gh = allVue.h;
28
28
  var isV3 = allVue.version && allVue.version[0] === '3';
29
29
 
30
30
  var kendo_vue_inputs_1 = require("@progress/kendo-vue-inputs");
31
+
32
+ var kendo_vue_intl_1 = require("@progress/kendo-vue-intl");
33
+
34
+ var main_1 = require("../../messages/main");
31
35
  /**
32
36
  * @hidden
33
37
  */
@@ -39,7 +43,8 @@ var TextFilterVue2 = {
39
43
  filter: {
40
44
  type: Object,
41
45
  required: true
42
- }
46
+ },
47
+ ariaLabel: String
43
48
  },
44
49
  // @ts-ignore
45
50
  setup: !isV3 ? undefined : function () {
@@ -50,16 +55,21 @@ var TextFilterVue2 = {
50
55
  },
51
56
  render: function render(createElement) {
52
57
  var h = gh || createElement;
58
+ var locService = (0, kendo_vue_intl_1.provideLocalizationService)(this);
59
+ var _a = this.$props.ariaLabel,
60
+ ariaLabel = _a === void 0 ? locService.toLanguageString(main_1.filterTextFilterAriaLabel, main_1.messages[main_1.filterTextFilterAriaLabel]) : _a;
53
61
  return (// @ts-ignore
54
62
  h(kendo_vue_inputs_1.Input, {
55
63
  value: this.$props.filter.value || '',
56
64
  attrs: this.v3 ? undefined : {
57
- value: this.$props.filter.value || ''
65
+ value: this.$props.filter.value || '',
66
+ ariaLabel: ariaLabel
58
67
  },
59
68
  onInput: this.onChange,
60
69
  on: this.v3 ? undefined : {
61
70
  "input": this.onChange
62
- }
71
+ },
72
+ ariaLabel: ariaLabel
63
73
  })
64
74
  );
65
75
  },
@@ -17,18 +17,24 @@ export interface FilterRowProps {
17
17
  sort?: SortDescriptor[];
18
18
  cellRender?: any;
19
19
  isRtl?: boolean;
20
+ ariaRowIndex?: number;
20
21
  }
21
22
  /**
22
23
  * @hidden
23
24
  */
24
- export interface FilterRowMethods extends Vue2type {
25
+ export interface FilterRowMethods {
25
26
  headerCellClassName: (field?: string, locked?: boolean) => string;
26
27
  setFilter: (value: string | number, operator: string | Function, field: string | undefined, e: any) => void;
27
28
  }
28
29
  /**
29
30
  * @hidden
30
31
  */
31
- declare let FilterRowVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<FilterRowMethods>, {}, RecordPropsDefinition<FilterRowProps>>;
32
+ export interface FilterRowAll extends FilterRowProps, FilterRowMethods, Vue2type {
33
+ }
34
+ /**
35
+ * @hidden
36
+ */
37
+ declare let FilterRowVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<FilterRowAll>, {}, RecordPropsDefinition<FilterRowProps>>;
32
38
  /**
33
39
  * @hidden
34
40
  */
@@ -37,7 +37,8 @@ var FilterRowVue2 = {
37
37
  filterOperators: Object,
38
38
  sort: [Object, Array],
39
39
  cellRender: [String, Function, Object],
40
- isRtl: Boolean
40
+ isRtl: Boolean,
41
+ ariaRowIndex: Number
41
42
  },
42
43
  inject: {
43
44
  kendoLocalizationService: {
@@ -57,6 +58,7 @@ var FilterRowVue2 = {
57
58
  return result;
58
59
  },
59
60
  setFilter: function setFilter(value, operator, field, e) {
61
+ var filter = this.$props.filter;
60
62
  var filters = [];
61
63
 
62
64
  if (value !== '' && value !== null || operator !== '') {
@@ -67,10 +69,10 @@ var FilterRowVue2 = {
67
69
  });
68
70
  }
69
71
 
70
- if (this.$props.filter && this.$props.filter.filters) {
71
- var oldFilters = this.$props.filter.filters || [];
72
- oldFilters.forEach(function (filter) {
73
- var descriptor = filter;
72
+ if (filter && (filter.filters || filter.length)) {
73
+ var oldFilters = filter.length ? filter : filter.filters || [];
74
+ oldFilters.forEach(function (f) {
75
+ var descriptor = f;
74
76
 
75
77
  if (descriptor && descriptor.field !== field) {
76
78
  filters.push(descriptor);
@@ -206,7 +208,13 @@ var FilterRowVue2 = {
206
208
  });
207
209
  }, this);
208
210
  return h("tr", {
209
- "class": "k-filter-row"
211
+ "class": "k-filter-row",
212
+ "aria-rowindex": this.ariaRowIndex,
213
+ attrs: this.v3 ? undefined : {
214
+ "aria-rowindex": this.ariaRowIndex,
215
+ role: 'row'
216
+ },
217
+ role: 'row'
210
218
  }, [filterCells]);
211
219
  }
212
220
  };
@@ -115,10 +115,6 @@ var HeaderVue2 = {
115
115
  role: "presentation"
116
116
  }
117
117
  }, [h("colgroup", {
118
- role: "presentation",
119
- attrs: this.v3 ? undefined : {
120
- role: "presentation"
121
- },
122
118
  ref: (0, kendo_vue_common_1.setRef)(this, 'colGroupHeader')
123
119
  }, [this.$props.cols]), this.$props.headerRow])])]);
124
120
  }
@@ -7,7 +7,7 @@ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } fr
7
7
  /**
8
8
  * @hidden
9
9
  */
10
- export interface HeaderCellMethods extends Vue2type {
10
+ export interface HeaderCellMethods extends HeaderCellProps, Vue2type {
11
11
  clickHandler: (event: any) => void;
12
12
  }
13
13
  /**
@@ -27,7 +27,9 @@ var HeaderCellVue2 = {
27
27
  },
28
28
  methods: {
29
29
  clickHandler: function clickHandler(event) {
30
- this.$emit('headercellclick', event);
30
+ if (this.sortable) {
31
+ this.$emit('headercellclick', event);
32
+ }
31
33
  }
32
34
  },
33
35
  // @ts-ignore
@@ -43,14 +45,15 @@ var HeaderCellVue2 = {
43
45
  var defaultSlot = (0, kendo_vue_common_1.getDefaultSlots)(this);
44
46
  var renderTemplate = this.$props.render;
45
47
  var textInCell = this.$props.title || this.$props.field || "\xA0";
46
- var defaultRendering = this.$props.sortable ? h("span", {
47
- "class": "k-link",
48
+ var defaultRendering = h("span", {
49
+ "class": 'k-link',
48
50
  onClick: this.clickHandler,
49
51
  on: this.v3 ? undefined : {
50
52
  "click": this.clickHandler
51
53
  }
52
- }, [textInCell, defaultSlot]) : defaultSlot ? h("span", [textInCell, defaultSlot]) // @ts-ignore
53
- : this.v3 ? textInCell : this._v(textInCell);
54
+ }, [h("span", {
55
+ "class": 'k-column-title'
56
+ }, [textInCell]), defaultSlot]);
54
57
  return kendo_vue_common_1.getTemplate.call(this, {
55
58
  h: h,
56
59
  template: renderTemplate,
@@ -17,8 +17,7 @@ var ColumnResizer_1 = require("../drag/ColumnResizer");
17
17
 
18
18
  var ColumnDraggable_1 = require("../drag/ColumnDraggable");
19
19
 
20
- var HeaderCell_1 = require("./HeaderCell"); // import { ColumnMenuProps } from '../interfaces/GridColumnMenuProps';
21
-
20
+ var HeaderCell_1 = require("./HeaderCell");
22
21
 
23
22
  var ColumnMenu_1 = require("../columnmenu/ColumnMenu");
24
23
 
@@ -330,7 +329,9 @@ var HeaderRowVue2 = {
330
329
  filterOperators: _this2.$props.filterOperators,
331
330
  onFilterchange: _this2.filterChangeHandler,
332
331
  render: columnMenuRender
333
- }), column.internalHeaderCell && // @ts-ignore function children
332
+ }), column.internalHeaderCell && h("span", {
333
+ "class": 'k-cell-inner'
334
+ }, [// @ts-ignore function children
334
335
  h(column.internalHeaderCell, {
335
336
  key: 1,
336
337
  field: column.field,
@@ -357,7 +358,9 @@ var HeaderRowVue2 = {
357
358
  render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
358
359
  }, _this2.v3 ? function () {
359
360
  return [sortIcon];
360
- } : [sortIcon]) || // @ts-ignore function children
361
+ } : [sortIcon])]) || h("span", {
362
+ "class": 'k-cell-inner'
363
+ }, [// @ts-ignore function children
361
364
  h(HeaderCell_1.HeaderCell, {
362
365
  key: 1,
363
366
  field: column.field,
@@ -382,7 +385,7 @@ var HeaderRowVue2 = {
382
385
  render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
383
386
  }, _this2.v3 ? function () {
384
387
  return [sortIcon];
385
- } : [sortIcon]), _this2.$props.columnResize && _this2.$props.columnResize.resizable // @ts-ignore
388
+ } : [sortIcon])]), _this2.$props.columnResize && _this2.$props.columnResize.resizable // @ts-ignore
386
389
  && column.resizable && h(ColumnResizer_1.ColumnResizer, {
387
390
  key: 2,
388
391
  onResize: function onResize(e, element, end) {
@@ -430,7 +433,9 @@ var HeaderRowVue2 = {
430
433
  filterOperators: _this2.$props.filterOperators,
431
434
  onFilterchange: _this2.filterChangeHandler,
432
435
  render: columnMenuRender
433
- }), column.internalHeaderCell && h(column.internalHeaderCell, {
436
+ }), column.internalHeaderCell && h("span", {
437
+ "class": 'k-cell-inner'
438
+ }, [h(column.internalHeaderCell, {
434
439
  key: 1,
435
440
  field: column.field,
436
441
  attrs: _this2.v3 ? undefined : {
@@ -456,7 +461,9 @@ var HeaderRowVue2 = {
456
461
  render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
457
462
  }, _this2.v3 ? function () {
458
463
  return [sortIcon];
459
- } : [sortIcon]) || h(HeaderCell_1.HeaderCell, {
464
+ } : [sortIcon])]) || h("span", {
465
+ "class": 'k-cell-inner'
466
+ }, [h(HeaderCell_1.HeaderCell, {
460
467
  key: 1,
461
468
  field: column.field,
462
469
  attrs: _this2.v3 ? undefined : {
@@ -480,7 +487,7 @@ var HeaderRowVue2 = {
480
487
  render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
481
488
  }, _this2.v3 ? function () {
482
489
  return [sortIcon];
483
- } : [sortIcon]), _this2.$props.columnResize && _this2.$props.columnResize.resizable && column.resizable && h(ColumnResizer_1.ColumnResizer, {
490
+ } : [sortIcon])]), _this2.$props.columnResize && _this2.$props.columnResize.resizable && column.resizable && h(ColumnResizer_1.ColumnResizer, {
484
491
  key: 2,
485
492
  onResize: function onResize(e, element, end) {
486
493
  return _this.$props.columnResize && _this.$props.columnResize.dragHandler(e, column, element, end);
@@ -519,7 +526,12 @@ var HeaderRowVue2 = {
519
526
  onReleaseHandler: this.releaseHandler
520
527
  }, this.v3 ? function () {
521
528
  return [cells.call(_this3, rowIndexes)];
522
- } : [cells.call(_this3, rowIndexes)]) || h("tr", [cells.call(this, rowIndexes)]);
529
+ } : [cells.call(_this3, rowIndexes)]) || h("tr", {
530
+ role: 'row',
531
+ attrs: this.v3 ? undefined : {
532
+ role: 'row'
533
+ }
534
+ }, [cells.call(this, rowIndexes)]);
523
535
  }, this), this.$props.filterRow]);
524
536
  }
525
537
  };
@@ -65,4 +65,8 @@ export interface FilterCellProps {
65
65
  * The title of the clear button.
66
66
  */
67
67
  clearButtonTitle?: string;
68
+ /**
69
+ * The ariaLabel of the filter editor.
70
+ */
71
+ ariaLabel?: string;
68
72
  }