@progress/kendo-vue-treelist 3.6.4 → 3.6.5-dev.202210181442

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 (68) hide show
  1. package/dist/cdn/js/kendo-vue-treelist.js +1 -1
  2. package/dist/es/TreeList.js +343 -363
  3. package/dist/es/TreeListNav.js +4 -4
  4. package/dist/es/cells/EditCells/TreeListBooleanEditor.d.ts +1 -1
  5. package/dist/es/cells/EditCells/TreeListBooleanEditor.js +20 -4
  6. package/dist/es/cells/EditCells/TreeListDateEditor.d.ts +1 -1
  7. package/dist/es/cells/EditCells/TreeListDateEditor.js +12 -5
  8. package/dist/es/cells/EditCells/TreeListNumericEditor.d.ts +1 -1
  9. package/dist/es/cells/EditCells/TreeListNumericEditor.js +12 -5
  10. package/dist/es/cells/EditCells/TreeListTextEditor.d.ts +2 -1
  11. package/dist/es/cells/EditCells/TreeListTextEditor.js +25 -6
  12. package/dist/es/cells/FilterCells/TreeListBooleanFilter.js +4 -17
  13. package/dist/es/cells/FilterCells/TreeListDateFilter.js +4 -17
  14. package/dist/es/cells/FilterCells/TreeListNumericFilter.js +4 -17
  15. package/dist/es/cells/FilterCells/TreeListTextFilter.js +4 -17
  16. package/dist/es/cells/TreeListCell.js +27 -38
  17. package/dist/es/cells/TreeListSelectionCell.js +7 -8
  18. package/dist/es/interfaces/TreeListCellProps.d.ts +4 -0
  19. package/dist/es/interfaces/TreeListProps.d.ts +27 -7
  20. package/dist/es/interfaces/events.d.ts +16 -3
  21. package/dist/es/package-metadata.js +1 -1
  22. package/dist/es/rows/DragClue.js +0 -3
  23. package/dist/es/rows/TreeListRow.js +39 -17
  24. package/dist/esm/TreeList.js +343 -363
  25. package/dist/esm/TreeListNav.js +4 -4
  26. package/dist/esm/cells/EditCells/TreeListBooleanEditor.d.ts +1 -1
  27. package/dist/esm/cells/EditCells/TreeListBooleanEditor.js +20 -4
  28. package/dist/esm/cells/EditCells/TreeListDateEditor.d.ts +1 -1
  29. package/dist/esm/cells/EditCells/TreeListDateEditor.js +12 -5
  30. package/dist/esm/cells/EditCells/TreeListNumericEditor.d.ts +1 -1
  31. package/dist/esm/cells/EditCells/TreeListNumericEditor.js +12 -5
  32. package/dist/esm/cells/EditCells/TreeListTextEditor.d.ts +2 -1
  33. package/dist/esm/cells/EditCells/TreeListTextEditor.js +25 -6
  34. package/dist/esm/cells/FilterCells/TreeListBooleanFilter.js +4 -17
  35. package/dist/esm/cells/FilterCells/TreeListDateFilter.js +4 -17
  36. package/dist/esm/cells/FilterCells/TreeListNumericFilter.js +4 -17
  37. package/dist/esm/cells/FilterCells/TreeListTextFilter.js +4 -17
  38. package/dist/esm/cells/TreeListCell.js +27 -38
  39. package/dist/esm/cells/TreeListSelectionCell.js +7 -8
  40. package/dist/esm/interfaces/TreeListCellProps.d.ts +4 -0
  41. package/dist/esm/interfaces/TreeListProps.d.ts +27 -7
  42. package/dist/esm/interfaces/events.d.ts +16 -3
  43. package/dist/esm/package-metadata.js +1 -1
  44. package/dist/esm/rows/DragClue.js +0 -3
  45. package/dist/esm/rows/TreeListRow.js +39 -17
  46. package/dist/npm/TreeList.js +342 -376
  47. package/dist/npm/TreeListNav.js +6 -9
  48. package/dist/npm/cells/EditCells/TreeListBooleanEditor.d.ts +1 -1
  49. package/dist/npm/cells/EditCells/TreeListBooleanEditor.js +22 -10
  50. package/dist/npm/cells/EditCells/TreeListDateEditor.d.ts +1 -1
  51. package/dist/npm/cells/EditCells/TreeListDateEditor.js +14 -12
  52. package/dist/npm/cells/EditCells/TreeListNumericEditor.d.ts +1 -1
  53. package/dist/npm/cells/EditCells/TreeListNumericEditor.js +14 -12
  54. package/dist/npm/cells/EditCells/TreeListTextEditor.d.ts +2 -1
  55. package/dist/npm/cells/EditCells/TreeListTextEditor.js +27 -12
  56. package/dist/npm/cells/FilterCells/TreeListBooleanFilter.js +4 -22
  57. package/dist/npm/cells/FilterCells/TreeListDateFilter.js +4 -22
  58. package/dist/npm/cells/FilterCells/TreeListNumericFilter.js +4 -22
  59. package/dist/npm/cells/FilterCells/TreeListTextFilter.js +4 -22
  60. package/dist/npm/cells/TreeListCell.js +27 -43
  61. package/dist/npm/cells/TreeListSelectionCell.js +9 -15
  62. package/dist/npm/interfaces/TreeListCellProps.d.ts +4 -0
  63. package/dist/npm/interfaces/TreeListProps.d.ts +27 -7
  64. package/dist/npm/interfaces/events.d.ts +16 -3
  65. package/dist/npm/package-metadata.js +1 -1
  66. package/dist/npm/rows/DragClue.js +2 -6
  67. package/dist/npm/rows/TreeListRow.js +41 -22
  68. package/package.json +12 -11
@@ -4,31 +4,14 @@ var __assign = undefined && undefined.__assign || function () {
4
4
  __assign = Object.assign || function (t) {
5
5
  for (var s, i = 1, n = arguments.length; i < n; i++) {
6
6
  s = arguments[i];
7
-
8
7
  for (var p in s) {
9
8
  if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
10
9
  }
11
10
  }
12
-
13
11
  return t;
14
12
  };
15
-
16
13
  return __assign.apply(this, arguments);
17
14
  };
18
-
19
- var __rest = undefined && undefined.__rest || function (s, e) {
20
- var t = {};
21
-
22
- for (var p in s) {
23
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
24
- }
25
-
26
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
27
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
28
- }
29
- return t;
30
- };
31
-
32
15
  var __spreadArray = undefined && undefined.__spreadArray || function (to, from, pack) {
33
16
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
34
17
  if (ar || !(i in from)) {
@@ -38,46 +21,30 @@ var __spreadArray = undefined && undefined.__spreadArray || function (to, from,
38
21
  }
39
22
  return to.concat(ar || Array.prototype.slice.call(from));
40
23
  };
41
-
42
24
  Object.defineProperty(exports, "__esModule", {
43
25
  value: true
44
26
  });
45
- exports.TreeListVue2 = exports.TreeList = void 0; // @ts-ignore
46
-
27
+ exports.TreeListVue2 = exports.TreeList = void 0;
28
+ // @ts-ignore
47
29
  var Vue = require("vue");
48
-
49
30
  var allVue = Vue;
50
31
  var gh = allVue.h;
51
32
  var isV3 = allVue.version && allVue.version[0] === '3';
52
-
53
33
  var kendo_vue_common_1 = require("@progress/kendo-vue-common");
54
-
55
34
  var kendo_vue_data_tools_1 = require("@progress/kendo-vue-data-tools");
56
-
57
35
  var TreeListNav_1 = require("./TreeListNav");
58
-
59
36
  var main_1 = require("./utils/main");
60
-
61
37
  var data_operations_1 = require("./utils/data-operations");
62
-
63
38
  var TreeListCell_1 = require("./cells/TreeListCell");
64
-
65
39
  var TreeListRow_1 = require("./rows/TreeListRow");
66
-
67
40
  var kendo_vue_common_2 = require("@progress/kendo-vue-common");
68
-
69
41
  var package_metadata_1 = require("./package-metadata");
70
-
71
42
  var kendo_vue_common_3 = require("@progress/kendo-vue-common");
72
-
73
43
  var main_2 = require("./messages/main");
74
-
75
44
  var kendo_vue_intl_1 = require("@progress/kendo-vue-intl");
76
45
  /**
77
46
  * @hidden
78
47
  */
79
-
80
-
81
48
  var TreeListVue2 = {
82
49
  name: 'KendoTreeList',
83
50
  props: {
@@ -90,6 +57,7 @@ var TreeListVue2 = {
90
57
  columnVirtualization: Boolean,
91
58
  filter: [Array, Object],
92
59
  filterable: Boolean,
60
+ filterOperators: Object,
93
61
  filterRow: [String, Function, Object],
94
62
  cellRender: [String, Function, Object],
95
63
  toolbar: [String, Function, Object],
@@ -119,12 +87,8 @@ var TreeListVue2 = {
119
87
  this.element = null;
120
88
  this._treeListId = (0, kendo_vue_common_1.guid)();
121
89
  (0, kendo_vue_common_2.validatePackage)(package_metadata_1.packageMetadata);
122
- this.dragLogic = new kendo_vue_data_tools_1.CommonDragLogic(this.columnReorder, kendo_vue_common_1.noop, kendo_vue_common_1.noop);
123
- this.columnResize = new kendo_vue_data_tools_1.ColumnResize(this.onResize.bind(this)); // tableKeyboardNavigation.onConstructor({
124
- // navigatable: Boolean(props.navigatable),
125
- // contextStateRef: this.contextStateRef,
126
- // navigationStateRef: this.navigationStateRef
127
- // });
90
+ this.dragLogic = new kendo_vue_data_tools_1.CommonDragLogic(this.columnReorder.bind(this), kendo_vue_common_1.noop, kendo_vue_common_1.noop);
91
+ this.columnResize = new kendo_vue_data_tools_1.ColumnResize(this.onResize.bind(this));
128
92
  },
129
93
  inject: {
130
94
  kendoLocalizationService: {
@@ -141,14 +105,6 @@ var TreeListVue2 = {
141
105
  navigation: undefined
142
106
  };
143
107
  },
144
- // private get document(): Document | undefined {
145
- // if (!canUseDOM) { return; }
146
- // // useful only for user actions
147
- // return (this.element && this.element.ownerDocument) || document;
148
- // }
149
- // private contextStateRef: { current?: TableKeyboardNavigationContextType } = { current: undefined };
150
- // private navigationStateRef: { current?: TableKeyboardNavigationStateType } = { current: undefined };
151
-
152
108
  /**
153
109
  * @hidden
154
110
  */
@@ -158,41 +114,15 @@ var TreeListVue2 = {
158
114
  this.isRtl = rtl;
159
115
  var elementString = '$el';
160
116
  var element = (0, kendo_vue_common_1.getRef)(this, 'gridNav');
161
-
117
+ var dropElementClue = (0, kendo_vue_common_1.getRef)(this, 'dropElementClue');
118
+ var dragElementClue = (0, kendo_vue_common_1.getRef)(this, 'dragElementClue');
119
+ this.dragLogic.refDropElementClue(dropElementClue);
120
+ this.dragLogic.refDragElementClue(dragElementClue);
121
+ this.columnResize.colGroupMain = (0, kendo_vue_common_1.getRef)(this, 'colGroup');
162
122
  if (element) {
163
123
  this.element = element[elementString];
164
- } // tableKeyboardNavigation.onComponentDidMount({
165
- // scope: this.element || undefined,
166
- // contextStateRef: this.contextStateRef,
167
- // navigationStateRef: this.navigationStateRef
168
- // });
169
-
170
- },
171
- // /**
172
- // * @hidden
173
- // */
174
- // getSnapshotBeforeUpdate() {
175
- // tableKeyboardNavigation.onGetSnapshotBeforeUpdate({
176
- // document: this.document,
177
- // contextStateRef: this.contextStateRef,
178
- // navigationStateRef: this.navigationStateRef
179
- // });
180
- // return null;
181
- // }
182
-
183
- /**
184
- * @hidden
185
- */
186
- updated: function updated() {// if (prevProps.columns !== this.$props.columns) {
187
- // this.calculateSizes(this.element);
188
- // }
189
- // tableKeyboardNavigation.onComponentDidUpdate({
190
- // scope: this.element || undefined,
191
- // contextStateRef: this.contextStateRef,
192
- // navigationStateRef: this.navigationStateRef
193
- // });
124
+ }
194
125
  },
195
-
196
126
  /**
197
127
  * @hidden
198
128
  */
@@ -215,29 +145,24 @@ var TreeListVue2 = {
215
145
  // @ts-ignore
216
146
  render: function render(createElement) {
217
147
  var _this2 = this;
218
-
219
148
  var _this = this;
220
-
221
149
  var h = gh || createElement;
222
150
  var defaultSlot = (0, kendo_vue_common_1.getDefaultSlots)(this);
223
151
  var _a = this.$props,
224
- _b = _a.columns,
225
- columns = _b === void 0 ? [] : _b,
226
- filterRow = _a.filterRow,
227
- _c = _a.scrollable,
228
- scrollable = _c === void 0 ? 'scrollable' : _c,
229
- _d = _a.resizable,
230
- resizable = _d === void 0 ? false : _d,
231
- _e = _a.reorderable,
232
- reorderable = _e === void 0 ? false : _e,
233
- skip = _a.skip,
234
- take = _a.take;
235
- var filterable = this.filterable || columns.some(function (c) {
236
- return Boolean(c.filter) || Boolean(c.filterCell);
237
- }) || filterRow !== undefined;
152
+ _b = _a.columns,
153
+ columns = _b === void 0 ? [] : _b,
154
+ filterRow = _a.filterRow,
155
+ _c = _a.scrollable,
156
+ scrollable = _c === void 0 ? 'scrollable' : _c,
157
+ _d = _a.resizable,
158
+ resizable = _d === void 0 ? false : _d,
159
+ _e = _a.reorderable,
160
+ reorderable = _e === void 0 ? false : _e,
161
+ skip = _a.skip,
162
+ take = _a.take,
163
+ filterable = _a.filterable;
238
164
  var FilterRow = filterRow || kendo_vue_data_tools_1.FilterRow;
239
165
  var idPrefix = kendo_vue_data_tools_1.tableKeyboardNavigationTools.getIdPrefix(this.navigation);
240
-
241
166
  if (this.prevColumns !== columns) {
242
167
  this.extendedColumn = (0, kendo_vue_data_tools_1.readColumns)(columns, {
243
168
  prevId: 0,
@@ -245,7 +170,6 @@ var TreeListVue2 = {
245
170
  });
246
171
  this.columnsMap = (0, kendo_vue_data_tools_1.mapColumns)(this.extendedColumn);
247
172
  }
248
-
249
173
  this.prevColumns = this.$props.columns;
250
174
  var leafColumns = this.extendedColumn.filter(function (c) {
251
175
  return c.children.length === 0;
@@ -255,24 +179,28 @@ var TreeListVue2 = {
255
179
  this.dragLogic.columns = this.extendedColumn;
256
180
  this.dragLogic.reorderable = reorderable;
257
181
  this.dragLogic.groupable = false;
258
- var header = // @ts-ignore
182
+ var header =
183
+ // @ts-ignore
259
184
  h(kendo_vue_data_tools_1.Header, {
260
- headerRow: // @ts-ignore
185
+ headerRow:
186
+ // @ts-ignore
261
187
  h(kendo_vue_data_tools_1.HeaderRow, {
262
188
  grid: this,
263
189
  attrs: this.v3 ? undefined : {
264
190
  grid: this,
265
191
  sort: this.$props.sort,
266
192
  sortable: this.$props.sortable,
267
- filterable: this.$props.filterable,
193
+ reorderable: reorderable,
194
+ filterable: filterable,
195
+ filterOperators: this.$props.filterOperators || kendo_vue_data_tools_1.operators,
268
196
  columns: this.extendedColumn,
269
197
  columnsMap: this.columnsMap,
270
198
  cellRender: this.$props.headerCellRender,
271
199
  columnResize: this.columnResize,
272
200
  columnMenu: this.$props.columnMenu,
273
201
  columnMenuFilter: this.$props.columnMenuFilter,
274
- columnMenuFilterChange: this.columnMenuFilterChange,
275
- filterRow: filterable ? // @ts-ignore
202
+ filterRow: filterable ?
203
+ // @ts-ignore
276
204
  h(FilterRow, {
277
205
  columns: leafColumns,
278
206
  attrs: this.v3 ? undefined : {
@@ -300,11 +228,14 @@ var TreeListVue2 = {
300
228
  },
301
229
  sort: this.$props.sort,
302
230
  sortable: this.$props.sortable,
303
- filterable: this.$props.filterable,
231
+ reorderable: reorderable,
232
+ filterable: filterable,
233
+ filterOperators: this.$props.filterOperators || kendo_vue_data_tools_1.operators,
304
234
  onSortChange: this.sortChange,
305
235
  on: this.v3 ? undefined : {
306
236
  "sortChange": this.sortChange,
307
237
  "selectionchange": this.onHeaderSelectionChange,
238
+ "filterChange": this.columnMenuFilterChange,
308
239
  "pressHandler": this.dragLogic.pressHandler,
309
240
  "dragHandler": this.dragLogic.dragHandler,
310
241
  "releaseHandler": this.dragLogic.releaseHandler
@@ -316,7 +247,7 @@ var TreeListVue2 = {
316
247
  columnResize: this.columnResize,
317
248
  columnMenu: this.$props.columnMenu,
318
249
  columnMenuFilter: this.$props.columnMenuFilter,
319
- columnMenuFilterChange: this.columnMenuFilterChange,
250
+ onFilterChange: this.columnMenuFilterChange,
320
251
  onPressHandler: this.dragLogic.pressHandler,
321
252
  onDragHandler: this.dragLogic.dragHandler,
322
253
  onReleaseHandler: this.dragLogic.releaseHandler,
@@ -352,14 +283,15 @@ var TreeListVue2 = {
352
283
  grid: this,
353
284
  sort: this.$props.sort,
354
285
  sortable: this.$props.sortable,
355
- filterable: this.$props.filterable,
286
+ reorderable: reorderable,
287
+ filterable: filterable,
288
+ filterOperators: this.$props.filterOperators || kendo_vue_data_tools_1.operators,
356
289
  columns: this.extendedColumn,
357
290
  columnsMap: this.columnsMap,
358
291
  cellRender: this.$props.headerCellRender,
359
292
  columnResize: this.columnResize,
360
293
  columnMenu: this.$props.columnMenu,
361
294
  columnMenuFilter: this.$props.columnMenuFilter,
362
- columnMenuFilterChange: this.columnMenuFilterChange,
363
295
  filterRow: filterable ? h(FilterRow, {
364
296
  columns: leafColumns,
365
297
  attrs: this.v3 ? undefined : {
@@ -387,11 +319,14 @@ var TreeListVue2 = {
387
319
  },
388
320
  sort: this.$props.sort,
389
321
  sortable: this.$props.sortable,
390
- filterable: this.$props.filterable,
322
+ reorderable: reorderable,
323
+ filterable: filterable,
324
+ filterOperators: this.$props.filterOperators || kendo_vue_data_tools_1.operators,
391
325
  onSortChange: this.sortChange,
392
326
  on: this.v3 ? undefined : {
393
327
  "sortChange": this.sortChange,
394
328
  "selectionchange": this.onHeaderSelectionChange,
329
+ "filterChange": this.columnMenuFilterChange,
395
330
  "pressHandler": this.dragLogic.pressHandler,
396
331
  "dragHandler": this.dragLogic.dragHandler,
397
332
  "releaseHandler": this.dragLogic.releaseHandler
@@ -403,7 +338,7 @@ var TreeListVue2 = {
403
338
  columnResize: this.columnResize,
404
339
  columnMenu: this.$props.columnMenu,
405
340
  columnMenuFilter: this.$props.columnMenuFilter,
406
- columnMenuFilterChange: this.columnMenuFilterChange,
341
+ onFilterChange: this.columnMenuFilterChange,
407
342
  onPressHandler: this.dragLogic.pressHandler,
408
343
  onDragHandler: this.dragLogic.dragHandler,
409
344
  onReleaseHandler: this.dragLogic.releaseHandler,
@@ -437,39 +372,59 @@ var TreeListVue2 = {
437
372
  columnResize: this.columnResize
438
373
  });
439
374
  var wrapperStyles = this.$props.wrapperStyle || {};
440
-
441
375
  var _f = (0, kendo_vue_data_tools_1.tableColumnsVirtualization)({
442
- enabled: this.$props.columnVirtualization,
443
- columns: leafColumns,
444
- scrollLeft: this.wrapperScrollLeft,
445
- tableViewPortWidth: parseFloat((wrapperStyles.width || '').toString())
446
- }),
447
- colSpans = _f.colSpans,
448
- hiddenColumns = _f.hiddenColumns;
449
-
376
+ enabled: this.$props.columnVirtualization,
377
+ columns: leafColumns,
378
+ scrollLeft: this.wrapperScrollLeft,
379
+ tableViewPortWidth: parseFloat((wrapperStyles.width || '').toString())
380
+ }),
381
+ colSpans = _f.colSpans,
382
+ hiddenColumns = _f.hiddenColumns;
450
383
  var dataRow = function dataRow(item, inEdit, rowId, isRowExpanded, rowDataIndex, selectedValue) {
451
384
  return leafColumns.map(function (column, columnIndex) {
452
385
  var _this = this;
453
-
454
386
  if (hiddenColumns[columnIndex]) {
455
387
  return null;
456
388
  }
457
-
458
389
  var columnKey = column.id ? column.id : columnIndex;
459
390
  var className = "".concat(column.className ? column.className + ' ' : '') + "".concat(column.locked ? 'k-grid-content-sticky' : '');
460
-
391
+ var cellRenderFunction = kendo_vue_common_1.templateRendering.call(this, this.$props.cellRender || column.cell, kendo_vue_common_1.getListeners.call(this));
461
392
  if (inEdit && column.editCell) {
462
- return h(column.editCell, {
463
- key: columnKey // {...cellProps}
464
- ,
465
- onChange: this.itemChange,
466
- on: this.v3 ? undefined : {
467
- "change": this.itemChange
393
+ var editCell = kendo_vue_common_1.templateRendering.call(this, column.editCell, kendo_vue_common_1.getListeners.call(this));
394
+ return kendo_vue_common_1.getTemplate.call(this, {
395
+ h: h,
396
+ template: editCell,
397
+ additionalProps: {
398
+ id: kendo_vue_data_tools_1.tableKeyboardNavigationTools.generateNavigatableId("".concat(rowId, "-").concat(String(columnIndex)), idPrefix),
399
+ colSpan: colSpans[columnIndex],
400
+ dataItem: item.dataItem,
401
+ field: column.field,
402
+ format: column.format,
403
+ class: className || undefined,
404
+ render: cellRenderFunction,
405
+ level: item.level,
406
+ expandable: column.expandable,
407
+ expanded: isRowExpanded,
408
+ hasChildren: this.hasChildren(item.dataItem),
409
+ colIndex: columnIndex,
410
+ ariaColumnIndex: column.ariaColumnIndex,
411
+ style: column.left !== undefined && {
412
+ left: column.left,
413
+ right: column.right,
414
+ borderRightWidth: column.rightBorder ? '1px' : ''
415
+ } || {},
416
+ isSelected: Array.isArray(selectedValue) && selectedValue.indexOf(columnIndex) > -1
417
+ },
418
+ additionalListeners: {
419
+ change: this.itemChange,
420
+ input: this.itemChange,
421
+ expandchange: this.expandChange,
422
+ selectionchange: function selectionchange(e) {
423
+ return _this.selectionChange(e, item, columnIndex, rowDataIndex);
424
+ }
468
425
  }
469
426
  });
470
427
  }
471
-
472
- var cellRenderFunction = kendo_vue_common_1.templateRendering.call(this, this.$props.cellRender || column.cell, kendo_vue_common_1.getListeners.call(this));
473
428
  return h(TreeListCell_1.TreeListCell, {
474
429
  key: columnKey,
475
430
  id: kendo_vue_data_tools_1.tableKeyboardNavigationTools.generateNavigatableId("".concat(rowId, "-").concat(String(columnIndex)), idPrefix),
@@ -480,14 +435,6 @@ var TreeListVue2 = {
480
435
  field: column.field,
481
436
  format: column.format,
482
437
  render: cellRenderFunction,
483
- selectionChange: this.$props.onSelectionChange ? function (e) {
484
- _this.selectionChange({
485
- event: e,
486
- item: item,
487
- columnIndex: columnIndex,
488
- dataIndex: rowDataIndex
489
- });
490
- } : undefined,
491
438
  level: item.level,
492
439
  expandable: column.expandable,
493
440
  expanded: isRowExpanded,
@@ -502,19 +449,21 @@ var TreeListVue2 = {
502
449
  format: column.format,
503
450
  "class": className || undefined,
504
451
  render: cellRenderFunction,
505
- onChange: this.itemChange,
452
+ onCellclick: this.cellClick,
506
453
  on: this.v3 ? undefined : {
454
+ "cellclick": this.cellClick,
455
+ "cellkeydown": this.cellKeydown,
507
456
  "change": this.itemChange,
457
+ "selectionchange": function selectionchange(e) {
458
+ return _this.selectionChange(e, item, columnIndex, rowDataIndex);
459
+ },
508
460
  "expandchange": this.expandChange
509
461
  },
510
- selectionChange: this.$props.onSelectionChange ? function (e) {
511
- _this.selectionChange({
512
- event: e,
513
- item: item,
514
- columnIndex: columnIndex,
515
- dataIndex: rowDataIndex
516
- });
517
- } : undefined,
462
+ onCellkeydown: this.cellKeydown,
463
+ onChange: this.itemChange,
464
+ onSelectionchange: function selectionchange(e) {
465
+ return _this.selectionChange(e, item, columnIndex, rowDataIndex);
466
+ },
518
467
  level: item.level,
519
468
  expandable: column.expandable,
520
469
  expanded: isRowExpanded,
@@ -531,14 +480,11 @@ var TreeListVue2 = {
531
480
  });
532
481
  }, _this);
533
482
  };
534
-
535
483
  var flattedData = this.flatData();
536
484
  var total = flattedData.length;
537
-
538
485
  if (skip !== undefined && take !== undefined) {
539
486
  flattedData = flattedData.slice(skip, skip + take);
540
487
  }
541
-
542
488
  if (scrollable === 'virtual') {
543
489
  flattedData = (0, main_1.tableRowsVirtualization)({
544
490
  rows: flattedData,
@@ -547,7 +493,6 @@ var TreeListVue2 = {
547
493
  });
548
494
  this.updateOnScroll = false;
549
495
  }
550
-
551
496
  var noRecordsTemplate = kendo_vue_common_1.templateRendering.call(this, this.$props.noRecords, kendo_vue_common_1.getListeners.call(this));
552
497
  var localizationService = (0, kendo_vue_intl_1.provideLocalizationService)(this);
553
498
  var noRecordsMessage = localizationService.toLanguageString(main_2.noRecords, main_2.messages[main_2.noRecords]);
@@ -561,7 +506,6 @@ var TreeListVue2 = {
561
506
  var rowIndexStart = this.columnsMap.length + (filterable ? 1 : 0) + 1;
562
507
  var body = flattedData.length > 0 && flattedData.map(function (item, rowIndex) {
563
508
  var _this = this;
564
-
565
509
  var inEdit = (0, main_1.getNestedValue)(this.$props.editField, item.dataItem);
566
510
  var dataItemKeyValue = this.$props.dataItemKey && (0, kendo_vue_common_1.getter)(this.$props.dataItemKey)(item.dataItem);
567
511
  var rowId = String(dataItemKeyValue ? dataItemKeyValue : item.level.join('.'));
@@ -570,7 +514,87 @@ var TreeListVue2 = {
570
514
  var EditRow = this.$props.editRow;
571
515
  var Row = this.$props.row || TreeListRow_1.TreeListRow;
572
516
  var cells = dataRow(item, inEdit, rowId, isRowExpanded, rowIndex, selectedValue);
573
- return inEdit && EditRow ? h(EditRow, [cells]) : // @ts-ignore function children
517
+ return inEdit && EditRow ? h(EditRow, {
518
+ key: rowId,
519
+ level: item.level,
520
+ attrs: this.v3 ? undefined : {
521
+ level: item.level,
522
+ levels: levels,
523
+ dataItem: item.dataItem,
524
+ selectedField: this.$props.selectedField,
525
+ rowHeight: scrollable === 'virtual' ? item.height : this.$props.rowHeight,
526
+ render: this.$props.rowRender,
527
+ isAltRow: rowIndex % 2 !== 0,
528
+ expanded: isRowExpanded,
529
+ rowIndex: rowIndex,
530
+ ariaRowIndex: rowIndexStart + rowIndex,
531
+ ariaSetSize: item.levelCount,
532
+ ariaPosInSet: item.level[item.level.length - 1] + 1,
533
+ isSelected: typeof selectedValue === 'boolean' && selectedValue
534
+ },
535
+ levels: levels,
536
+ dataItem: item.dataItem,
537
+ selectedField: this.$props.selectedField,
538
+ rowHeight: scrollable === 'virtual' ? item.height : this.$props.rowHeight,
539
+ render: this.$props.rowRender,
540
+ onDrop: this.onRowDrop,
541
+ on: this.v3 ? undefined : {
542
+ "drop": this.onRowDrop,
543
+ "drag": this.onRowDrag,
544
+ "click": function click(e) {
545
+ return _this.emitRowEvent('rowclick', e, item);
546
+ },
547
+ "dblclick": function dblclick(e) {
548
+ return _this.emitRowEvent('rowdoubleclick', e, item);
549
+ },
550
+ "contextMenu": function contextMenu(e) {
551
+ return _this.emitRowEvent('rowcontextmenu', e, item);
552
+ },
553
+ "focus": function focus(e) {
554
+ return _this.emitRowEvent('rowfocus', e, item);
555
+ },
556
+ "blur": function blur(e) {
557
+ return _this.emitRowEvent('rowblur', e, item);
558
+ },
559
+ "mousedown": function mousedown(e) {
560
+ return _this.emitRowEvent('rowmousedown', e, item);
561
+ },
562
+ "mouseup": function mouseup(e) {
563
+ return _this.emitRowEvent('rowmouseup', e, item);
564
+ }
565
+ },
566
+ onDrag: this.onRowDrag,
567
+ onClick: function click(e) {
568
+ return _this.emitRowEvent('rowclick', e, item);
569
+ },
570
+ onDblclick: function dblclick(e) {
571
+ return _this.emitRowEvent('rowdoubleclick', e, item);
572
+ },
573
+ onContextMenu: function contextMenu(e) {
574
+ return _this.emitRowEvent('rowcontextmenu', e, item);
575
+ },
576
+ onFocus: function focus(e) {
577
+ return _this.emitRowEvent('rowfocus', e, item);
578
+ },
579
+ onBlur: function blur(e) {
580
+ return _this.emitRowEvent('rowblur', e, item);
581
+ },
582
+ onMousedown: function mousedown(e) {
583
+ return _this.emitRowEvent('rowmousedown', e, item);
584
+ },
585
+ onMouseup: function mouseup(e) {
586
+ return _this.emitRowEvent('rowmouseup', e, item);
587
+ },
588
+ isAltRow: rowIndex % 2 !== 0,
589
+ expanded: isRowExpanded,
590
+ rowIndex: rowIndex,
591
+ ariaRowIndex: rowIndexStart + rowIndex,
592
+ ariaSetSize: item.levelCount,
593
+ ariaPosInSet: item.level[item.level.length - 1] + 1,
594
+ isSelected: typeof selectedValue === 'boolean' && selectedValue,
595
+ "class": this.$props.rowClass ? this.$props.rowClass(item) : ''
596
+ }, [cells]) :
597
+ // @ts-ignore function children
574
598
  h(Row, {
575
599
  key: rowId,
576
600
  level: item.level,
@@ -598,25 +622,49 @@ var TreeListVue2 = {
598
622
  on: this.v3 ? undefined : {
599
623
  "drop": this.onRowDrop,
600
624
  "drag": this.onRowDrag,
601
- "rowclick": function rowclick(e) {
602
- return _this.rowClick(e, item);
625
+ "click": function click(e) {
626
+ return _this.emitRowEvent('rowclick', e, item);
603
627
  },
604
- "rowdblclick": function rowdblclick(e) {
605
- return _this.rowDoubleClick(e, item);
628
+ "dblclick": function dblclick(e) {
629
+ return _this.emitRowEvent('rowdoubleclick', e, item);
606
630
  },
607
631
  "contextMenu": function contextMenu(e) {
608
- return _this.rowContextMenu(e, item);
632
+ return _this.emitRowEvent('rowcontextmenu', e, item);
633
+ },
634
+ "focus": function focus(e) {
635
+ return _this.emitRowEvent('rowfocus', e, item);
636
+ },
637
+ "blur": function blur(e) {
638
+ return _this.emitRowEvent('rowblur', e, item);
639
+ },
640
+ "mousedown": function mousedown(e) {
641
+ return _this.emitRowEvent('rowmousedown', e, item);
642
+ },
643
+ "mouseup": function mouseup(e) {
644
+ return _this.emitRowEvent('rowmouseup', e, item);
609
645
  }
610
646
  },
611
647
  onDrag: this.onRowDrag,
612
- onRowclick: function rowclick(e) {
613
- return _this.rowClick(e, item);
648
+ onClick: function click(e) {
649
+ return _this.emitRowEvent('rowclick', e, item);
614
650
  },
615
- onRowdblclick: function rowdblclick(e) {
616
- return _this.rowDoubleClick(e, item);
651
+ onDblclick: function dblclick(e) {
652
+ return _this.emitRowEvent('rowdoubleclick', e, item);
617
653
  },
618
654
  onContextMenu: function contextMenu(e) {
619
- return _this.rowContextMenu(e, item);
655
+ return _this.emitRowEvent('rowcontextmenu', e, item);
656
+ },
657
+ onFocus: function focus(e) {
658
+ return _this.emitRowEvent('rowfocus', e, item);
659
+ },
660
+ onBlur: function blur(e) {
661
+ return _this.emitRowEvent('rowblur', e, item);
662
+ },
663
+ onMousedown: function mousedown(e) {
664
+ return _this.emitRowEvent('rowmousedown', e, item);
665
+ },
666
+ onMouseup: function mouseup(e) {
667
+ return _this.emitRowEvent('rowmouseup', e, item);
620
668
  },
621
669
  isAltRow: rowIndex % 2 !== 0,
622
670
  expanded: isRowExpanded,
@@ -637,26 +685,22 @@ var TreeListVue2 = {
637
685
  colSpan: leafColumns.length
638
686
  }
639
687
  }, [this.$props.noRecords ? noRecordsRender : noRecordsMessage])]);
640
-
641
688
  var sorted = function sorted(field) {
642
689
  return _this.$props.sort && _this.$props.sort.some(function (descriptor) {
643
690
  return descriptor.field === field;
644
691
  });
645
692
  };
646
-
647
693
  var colGroups = h("colgroup", {
648
- ref: function ref(c) {
649
- _this.columnResize.colGroupMain = c;
650
- }
651
- }, [leafColumns.map(function (column, index) {
694
+ ref: (0, kendo_vue_common_1.setRef)(this, 'colGroup')
695
+ }, [leafColumns.map(function (column) {
652
696
  return h("col", {
653
- key: index.toString(),
654
697
  "class": sorted(column.field) ? 'k-sorted' : undefined,
655
- style: column.width !== undefined ? {
656
- width: column.width
657
- } : undefined
698
+ width: column.width !== undefined ? Math.floor(parseFloat(column.width.toString())) + 'px' : undefined,
699
+ attrs: this.v3 ? undefined : {
700
+ width: column.width !== undefined ? Math.floor(parseFloat(column.width.toString())) + 'px' : undefined
701
+ }
658
702
  });
659
- })]);
703
+ }, this)]);
660
704
  var virtualScroll = this.$props.columnVirtualization || this.$props.scrollable === 'virtual';
661
705
  var tableUserSelect = this.$props.selectable && this.$props.selectable.drag ? 'none' : undefined;
662
706
  var tableProps = this.$props.tableProps || {};
@@ -665,8 +709,8 @@ var TreeListVue2 = {
665
709
  h: h,
666
710
  template: toolbarTemplate
667
711
  });
668
- var pagerTemplate = kendo_vue_common_1.templateRendering.call(this, this.$props.pager, kendo_vue_common_1.getListeners.call(this)); // @ts-ignore
669
-
712
+ var pagerTemplate = kendo_vue_common_1.templateRendering.call(this, this.$props.pager, kendo_vue_common_1.getListeners.call(this));
713
+ // @ts-ignore
670
714
  var defaultPagerRendering = this.$props.pageable && h(kendo_vue_data_tools_1.Pager, {
671
715
  "class": 'k-grid-pager',
672
716
  onPagesizechange: this.pageChangeHandler,
@@ -701,7 +745,17 @@ var TreeListVue2 = {
701
745
  pagechange: this.pageChangeHandler
702
746
  }
703
747
  });
704
- return (// @ts-ignore function children
748
+ var clues = this.dragLogic.reorderable && kendo_vue_common_1.canUseDOM && document && document.body
749
+ // @ts-ignore
750
+ && [h(kendo_vue_data_tools_1.DropClue, {
751
+ ref: (0, kendo_vue_common_1.setRef)(this, 'dropElementClue')
752
+ }),
753
+ // @ts-ignore
754
+ h(kendo_vue_data_tools_1.DragClue, {
755
+ ref: (0, kendo_vue_common_1.setRef)(this, 'dragElementClue')
756
+ })];
757
+ return (
758
+ // @ts-ignore function children
705
759
  h(kendo_vue_data_tools_1.TableKeyboardNavigationProvider, {
706
760
  ref: 'navRef',
707
761
  id: this._treeListId,
@@ -711,7 +765,8 @@ var TreeListVue2 = {
711
765
  },
712
766
  navigatable: this.$props.navigatable
713
767
  }, this.v3 ? function () {
714
- return [// @ts-ignore function children
768
+ return [
769
+ // @ts-ignore function children
715
770
  h(TreeListNav_1.TreeListNav, {
716
771
  style: _this2.$props.wrapperStyle,
717
772
  "class": (0, kendo_vue_common_1.classNames)('k-widget k-grid', _this2.$props.className, {
@@ -741,7 +796,8 @@ var TreeListVue2 = {
741
796
  }, _this2.v3 ? function () {
742
797
  return [_this2.$props.toolbar && h("div", {
743
798
  "class": "k-toolbar k-grid-toolbar"
744
- }, [toolbar]), // // @ts-ignore
799
+ }, [toolbar]),
800
+ // // @ts-ignore
745
801
  // <TableSelection
746
802
  // selectable={this.$props.selectable}
747
803
  // onRelease={this.selectionRelease}
@@ -762,12 +818,9 @@ var TreeListVue2 = {
762
818
  role: 'presentation'
763
819
  },
764
820
  role: 'presentation'
765
- }, [body])]) // </TableSelection>
766
- , pager, reorderable && h(kendo_vue_data_tools_1.DropClue, {
767
- ref: _this2.dragLogic.refDropElementClue
768
- }), reorderable && h(kendo_vue_data_tools_1.DragClue, {
769
- ref: _this2.dragLogic.refDragElementClue
770
- })];
821
+ }, [body])])
822
+ // </TableSelection>
823
+ , pager, clues];
771
824
  } : [_this2.$props.toolbar && h("div", {
772
825
  "class": "k-toolbar k-grid-toolbar"
773
826
  }, [toolbar]), h("table", {
@@ -785,11 +838,7 @@ var TreeListVue2 = {
785
838
  role: 'presentation'
786
839
  },
787
840
  role: 'presentation'
788
- }, [body])]), pager, reorderable && h(kendo_vue_data_tools_1.DropClue, {
789
- ref: _this2.dragLogic.refDropElementClue
790
- }), reorderable && h(kendo_vue_data_tools_1.DragClue, {
791
- ref: _this2.dragLogic.refDragElementClue
792
- })])];
841
+ }, [body])]), pager, clues])];
793
842
  } : [h(TreeListNav_1.TreeListNav, {
794
843
  style: _this2.$props.wrapperStyle,
795
844
  "class": (0, kendo_vue_common_1.classNames)('k-widget k-grid', _this2.$props.className, {
@@ -834,11 +883,7 @@ var TreeListVue2 = {
834
883
  role: 'presentation'
835
884
  },
836
885
  role: 'presentation'
837
- }, [body])]), pager, reorderable && h(kendo_vue_data_tools_1.DropClue, {
838
- ref: _this2.dragLogic.refDropElementClue
839
- }), reorderable && h(kendo_vue_data_tools_1.DragClue, {
840
- ref: _this2.dragLogic.refDragElementClue
841
- })];
886
+ }, [body])]), pager, clues];
842
887
  } : [_this2.$props.toolbar && h("div", {
843
888
  "class": "k-toolbar k-grid-toolbar"
844
889
  }, [toolbar]), h("table", {
@@ -856,11 +901,7 @@ var TreeListVue2 = {
856
901
  role: 'presentation'
857
902
  },
858
903
  role: 'presentation'
859
- }, [body])]), pager, reorderable && h(kendo_vue_data_tools_1.DropClue, {
860
- ref: _this2.dragLogic.refDropElementClue
861
- }), reorderable && h(kendo_vue_data_tools_1.DragClue, {
862
- ref: _this2.dragLogic.refDragElementClue
863
- })])])
904
+ }, [body])]), pager, clues])])
864
905
  );
865
906
  },
866
907
  methods: {
@@ -873,19 +914,16 @@ var TreeListVue2 = {
873
914
  if (!this.element) {
874
915
  return;
875
916
  }
876
-
877
917
  var _a = options.rowIndex,
878
- rowIndex = _a === void 0 ? 0 : _a;
918
+ rowIndex = _a === void 0 ? 0 : _a;
879
919
  var _b = this.$props,
880
- scrollable = _b.scrollable,
881
- _c = _b.rowHeight,
882
- rowHeight = _c === void 0 ? 0 : _c;
883
-
920
+ scrollable = _b.scrollable,
921
+ _c = _b.rowHeight,
922
+ rowHeight = _c === void 0 ? 0 : _c;
884
923
  if (scrollable === 'virtual' || rowHeight) {
885
924
  this.element.scroll(0, (rowIndex - 1) * rowHeight);
886
925
  } else {
887
926
  var selectedRow = this.element.querySelector("tbody > tr:nth-child(".concat(rowIndex, ")"));
888
-
889
927
  if (selectedRow) {
890
928
  var offsetTop = selectedRow.offsetTop - this.tbodyOffsetTop;
891
929
  this.element.scroll(0, offsetTop);
@@ -893,44 +931,24 @@ var TreeListVue2 = {
893
931
  }
894
932
  },
895
933
  getColumns: function getColumns() {
896
- var _this = this;
897
-
898
934
  var shuffledColumns = this.extendedColumn.filter(function (q) {
899
935
  return q.declarationIndex >= 0 && q.parentIndex === -1;
900
936
  });
901
-
902
937
  var sanitize = function sanitize(columns) {
903
938
  columns.sort(function (a, b) {
904
939
  return a.declarationIndex - b.declarationIndex;
905
940
  });
906
- return columns.map(function (column) {
907
- var declarationIndex = column.declarationIndex,
908
- parentIndex = column.parentIndex,
909
- depth = column.depth,
910
- colSpan = column.colSpan,
911
- rowSpan = column.rowSpan,
912
- index = column.index,
913
- kFirst = column.kFirst,
914
- groupable = column.groupable,
915
- children = column.children,
916
- $props = __rest(column, ["declarationIndex", "parentIndex", "depth", "colSpan", "rowSpan", "index", "kFirst", "groupable", "children"]);
917
-
918
- return children.length ? __assign({
919
- children: sanitize(children)
920
- }, $props) : _this.$props;
921
- });
941
+ return columns;
922
942
  };
923
-
924
943
  return sanitize(shuffledColumns);
925
944
  },
926
945
  flatData: function flatData() {
927
946
  var _a = this.$props,
928
- _b = _a.dataItems,
929
- dataItems = _b === void 0 ? [] : _b,
930
- _c = _a.rowHeight,
931
- rowHeight = _c === void 0 ? 0 : _c;
947
+ _b = _a.dataItems,
948
+ dataItems = _b === void 0 ? [] : _b,
949
+ _c = _a.rowHeight,
950
+ rowHeight = _c === void 0 ? 0 : _c;
932
951
  var offsetTop = 0;
933
-
934
952
  var itemDataMap = function itemDataMap(_item) {
935
953
  var result = {
936
954
  height: rowHeight,
@@ -939,7 +957,6 @@ var TreeListVue2 = {
939
957
  offsetTop += result.height;
940
958
  return result;
941
959
  };
942
-
943
960
  var flattedData = this.updateOnScroll && this.prevData === dataItems && this.tbodyOffsetTop > 0 && this.flattedData.length ? this.flattedData : (0, data_operations_1.flatData)(dataItems, this.expandedSubItems, itemDataMap);
944
961
  this.prevData = dataItems;
945
962
  this.flattedData = flattedData;
@@ -948,11 +965,13 @@ var TreeListVue2 = {
948
965
  onKeyDown: function onKeyDown(event) {
949
966
  this.$emit('keydown', event);
950
967
  },
951
- onFocus: function onFocus(_event) {// tableKeyboardNavigation.onFocus(event, {
968
+ onFocus: function onFocus(_event) {
969
+ // tableKeyboardNavigation.onFocus(event, {
952
970
  // contextStateRef: this.contextStateRef
953
971
  // });
954
972
  },
955
- onRowDrag: function onRowDrag(_event) {// if (this.$props.onRowDrag) {
973
+ onRowDrag: function onRowDrag(_event) {
974
+ // if (this.$props.onRowDrag) {
956
975
  // this.$props.onRowDrag.call(undefined, { ...event, target: this });
957
976
  // }
958
977
  },
@@ -965,94 +984,83 @@ var TreeListVue2 = {
965
984
  },
966
985
  columnReorder: function columnReorder(prev, next, nativeEvent) {
967
986
  var _a;
968
-
969
987
  var _this = this;
970
-
971
988
  var depth = this.extendedColumn[prev].depth;
972
-
973
989
  var end = function end(index) {
974
990
  do {
975
991
  index++;
976
992
  } while (index < _this.extendedColumn.length && _this.extendedColumn[index].depth > depth);
977
-
978
993
  return index;
979
994
  };
980
-
981
995
  var spliced = this.extendedColumn.splice(prev, end(prev) - prev);
982
-
983
996
  (_a = this.extendedColumn).splice.apply(_a, __spreadArray([prev < next ? end(next - spliced.length) : next, 0], spliced, false));
984
-
985
997
  this.extendedColumn.filter(function (q) {
986
998
  return q.declarationIndex >= 0;
987
999
  }).forEach(function (c, i) {
988
1000
  return c.orderIndex = i;
989
1001
  });
990
-
991
- if (this.$props.onColumnReorder) {
992
- var event_1 = {
993
- target: this,
994
- columns: this.columns,
995
- event: nativeEvent
996
- };
997
- this.$props.onColumnReorder.call(undefined, event_1);
998
- }
1002
+ var event = {
1003
+ component: this,
1004
+ columns: this.getColumns(),
1005
+ event: nativeEvent
1006
+ };
1007
+ this.$emit('columnreorder', event);
999
1008
  },
1000
1009
  onResize: function onResize(index, newWidth, oldWidth, nativeEvent, end) {
1001
- if (this.$props.onColumnResize) {
1002
- var sumWidth = this.extendedColumn.filter(function (c) {
1003
- return c.children.length === 0;
1004
- }).reduce(function (acc, column) {
1005
- return acc += parseFloat(String(column.width));
1006
- }, 0);
1007
- var event_2 = {
1008
- columns: this.columns,
1009
- totalWidth: sumWidth,
1010
- index: index,
1011
- event: nativeEvent,
1012
- newWidth: newWidth,
1013
- oldWidth: oldWidth,
1014
- end: end,
1015
- target: this
1016
- };
1017
-
1018
- if (end) {
1019
- this.prevColumns = undefined;
1020
- }
1021
-
1022
- this.$props.onColumnResize.call(undefined, event_2);
1010
+ var sumWidth = this.extendedColumn.filter(function (c) {
1011
+ return c.children.length === 0;
1012
+ }).reduce(function (acc, column) {
1013
+ return acc += parseFloat(String(column.width));
1014
+ }, 0);
1015
+ if (this.extendedColumn && this.columns) {
1016
+ var colWidth = this.columns[index].width;
1017
+ var hasPx = colWidth && colWidth.toString().indexOf('px') > 0;
1018
+ this.extendedColumn[index].width = hasPx ? newWidth + 'px' : newWidth;
1019
+ }
1020
+ var event = {
1021
+ columns: this.getColumns(),
1022
+ totalWidth: sumWidth,
1023
+ index: index,
1024
+ event: nativeEvent,
1025
+ newWidth: newWidth,
1026
+ oldWidth: oldWidth,
1027
+ end: end,
1028
+ component: this
1029
+ };
1030
+ if (end) {
1031
+ this.prevColumns = undefined;
1023
1032
  }
1033
+ this.$emit('columnresize', event);
1024
1034
  },
1025
1035
  handleOnScroll: function handleOnScroll(event) {
1026
1036
  var scrollLeft = event.currentTarget.scrollLeft;
1027
1037
  var scrollTop = event.currentTarget.scrollTop;
1028
1038
  var _a = this.$props,
1029
- columnVirtualization = _a.columnVirtualization,
1030
- scrollable = _a.scrollable,
1031
- _b = _a.rowHeight,
1032
- rowHeight = _b === void 0 ? 0 : _b;
1039
+ columnVirtualization = _a.columnVirtualization,
1040
+ scrollable = _a.scrollable,
1041
+ _b = _a.rowHeight,
1042
+ rowHeight = _b === void 0 ? 0 : _b;
1033
1043
  var minTopChange = rowHeight;
1034
1044
  var minLeftChange = 0;
1035
1045
  var shouldForceUpdate = false;
1036
-
1037
1046
  if (columnVirtualization && Math.abs(this.wrapperScrollLeft - scrollLeft) > minLeftChange) {
1038
1047
  this.wrapperScrollLeft = scrollLeft;
1039
1048
  shouldForceUpdate = true;
1040
1049
  }
1041
-
1042
1050
  if (scrollable === 'virtual' && Math.abs(this.wrapperScrollTop - scrollTop) > minTopChange) {
1043
1051
  this.wrapperScrollTop = scrollTop;
1044
1052
  shouldForceUpdate = true;
1045
1053
  }
1046
-
1047
1054
  if (shouldForceUpdate) {
1048
- this.updateOnScroll = true; // this.forceUpdate();
1055
+ this.updateOnScroll = true;
1056
+ // this.forceUpdate();
1049
1057
  }
1050
1058
  },
1059
+
1051
1060
  calculateSizes: function calculateSizes(div) {
1052
1061
  if (!div || this.$props.scrollable === 'none') {
1053
1062
  return;
1054
1063
  }
1055
-
1056
1064
  var children = Array.from(div.childNodes);
1057
1065
  var table = children.find(function (n) {
1058
1066
  return n.nodeName === 'TABLE';
@@ -1061,90 +1069,81 @@ var TreeListVue2 = {
1061
1069
  return n.nodeType === 1 && n.classList.contains('k-grid-toolbar');
1062
1070
  });
1063
1071
  var toolbarHeight = 0;
1064
-
1065
1072
  if (toolbar) {
1066
1073
  var boxSizing = toolbar.style.boxSizing;
1067
1074
  toolbar.style.boxSizing = 'border-box';
1068
1075
  toolbarHeight = parseFloat(String(window.getComputedStyle(toolbar).height)) || toolbar.offsetHeight;
1069
1076
  toolbar.style.boxSizing = boxSizing;
1070
-
1071
1077
  if (!toolbar.getAttribute('style')) {
1072
1078
  toolbar.removeAttribute('style');
1073
1079
  }
1074
1080
  }
1075
-
1076
1081
  this.tbodyOffsetTop = table.tBodies[0].offsetTop;
1077
1082
  (0, main_1.setHeaderRowsTop)(table, toolbarHeight);
1078
1083
  },
1084
+ cellClick: function cellClick(event) {
1085
+ this.$emit('cellclick', event);
1086
+ },
1087
+ cellKeydown: function cellKeydown(event) {
1088
+ this.$emit('cellkeydown', event);
1089
+ },
1079
1090
  itemChange: function itemChange(event) {
1080
- var itemChange = this.$props.onItemChange;
1081
-
1082
1091
  if (event.field === this.$props.expandField) {
1083
1092
  var expandChange = this.$props.onExpandChange;
1084
-
1085
1093
  if (expandChange) {
1086
1094
  var expandEvent = __assign(__assign({}, this.getArguments(event.event)), {
1087
1095
  dataItem: event.dataItem,
1088
1096
  level: event.level,
1089
1097
  value: event.value
1090
1098
  });
1091
-
1092
1099
  expandChange.call(undefined, expandEvent);
1093
1100
  }
1094
-
1095
1101
  return;
1096
1102
  }
1097
-
1098
- if (itemChange) {
1099
- var itemChangeEvent = __assign(__assign({}, this.getArguments(event.event)), {
1100
- dataItem: event.dataItem,
1101
- level: event.level,
1102
- field: event.field,
1103
- value: event.value
1104
- });
1105
-
1106
- itemChange.call(undefined, itemChangeEvent);
1103
+ var itemChangeEvent = __assign(__assign({}, this.getArguments(event.event)), {
1104
+ dataItem: event.dataItem,
1105
+ level: event.level,
1106
+ field: event.field,
1107
+ value: event.value
1108
+ });
1109
+ if (event.dataItem) {
1110
+ this.$emit('itemchange', itemChangeEvent);
1107
1111
  }
1108
1112
  },
1109
1113
  selectionChange: function selectionChange(options) {
1110
- if (this.$props.onSelectionChange) {
1111
- var event_3 = options.event,
1112
- item = options.item,
1113
- dataIndex = options.dataIndex,
1114
- columnIndex = options.columnIndex;
1115
-
1116
- var _a = (0, kendo_vue_data_tools_1.getSelectionOptions)(this.$props.selectable),
1117
- mode = _a.mode,
1118
- cell = _a.cell;
1119
-
1120
- var selectionEvent = __assign(__assign({}, this.getArguments(event_3.event)), {
1121
- dataItem: item.dataItem,
1122
- level: item.level,
1123
- startColIndex: columnIndex,
1124
- endColIndex: columnIndex,
1125
- startRowIndex: dataIndex,
1126
- endRowIndex: dataIndex,
1127
- dataItems: this.getLeafDataItems(),
1128
- altKey: false,
1129
- ctrlKey: false,
1130
- shiftKey: false,
1131
- metaKey: false,
1132
- mode: mode,
1133
- cell: cell,
1134
- isDrag: false,
1135
- componentId: this._treeListId,
1136
- selectedField: this.$props.selectedField || ''
1137
- });
1138
-
1139
- this.$emit('selectionchange', selectionEvent);
1140
- }
1114
+ var event = options.event,
1115
+ item = options.item,
1116
+ dataIndex = options.dataIndex,
1117
+ columnIndex = options.columnIndex;
1118
+ var _a = (0, kendo_vue_data_tools_1.getSelectionOptions)(this.$props.selectable),
1119
+ mode = _a.mode,
1120
+ cell = _a.cell;
1121
+ var selectionEvent = __assign(__assign({}, this.getArguments(event.event)), {
1122
+ dataItem: item.dataItem,
1123
+ level: item.level,
1124
+ startColIndex: columnIndex,
1125
+ endColIndex: columnIndex,
1126
+ startRowIndex: dataIndex,
1127
+ endRowIndex: dataIndex,
1128
+ dataItems: this.getLeafDataItems(),
1129
+ altKey: false,
1130
+ ctrlKey: false,
1131
+ shiftKey: false,
1132
+ metaKey: false,
1133
+ mode: mode,
1134
+ cell: cell,
1135
+ isDrag: false,
1136
+ componentId: this._treeListId,
1137
+ selectedField: this.$props.selectedField || ''
1138
+ });
1139
+ this.$emit('selectionchange', selectionEvent);
1141
1140
  },
1142
1141
  onHeaderSelectionChange: function onHeaderSelectionChange(event) {
1143
1142
  if (this.$props.onHeaderSelectionChange) {
1144
1143
  var selectionEvent = {
1145
1144
  field: event.field,
1146
1145
  event: event.event,
1147
- target: this,
1146
+ component: this,
1148
1147
  dataItems: this.getLeafDataItems()
1149
1148
  };
1150
1149
  this.$emit('headerselectionchange', selectionEvent);
@@ -1154,14 +1153,13 @@ var TreeListVue2 = {
1154
1153
  if (this.$props.onSelectionChange) {
1155
1154
  var selectionEvent = __assign({
1156
1155
  event: undefined,
1157
- target: this,
1156
+ component: this,
1158
1157
  selectedField: this.$props.selectedField || '',
1159
1158
  componentId: this._treeListId,
1160
1159
  dataItems: this.getLeafDataItems(),
1161
1160
  dataItem: null,
1162
1161
  level: []
1163
1162
  }, event);
1164
-
1165
1163
  this.$emit('selectionchange', selectionEvent);
1166
1164
  }
1167
1165
  },
@@ -1180,62 +1178,32 @@ var TreeListVue2 = {
1180
1178
  skip: 0
1181
1179
  }, event);
1182
1180
  },
1183
- columnMenuFilterChange: function columnMenuFilterChange(event, filter, field) {
1184
- var onColumnMenuFilterChange = this.$props.onColumnMenuFilterChange;
1185
-
1186
- if (!onColumnMenuFilterChange) {
1187
- return;
1188
- }
1189
-
1190
- var currentEvent = {
1191
- event: event,
1192
- filter: filter,
1193
- field: field,
1194
- target: this
1195
- };
1196
- onColumnMenuFilterChange.call(undefined, currentEvent);
1181
+ columnMenuFilterChange: function columnMenuFilterChange(filter, event) {
1182
+ var filters = filter ? filter.filters : [];
1183
+ var currentEvent = __assign(__assign({}, event), {
1184
+ filter: filters,
1185
+ component: this
1186
+ });
1187
+ this.$emit('columnmenufilterchange', currentEvent);
1197
1188
  },
1198
1189
  expandChange: function expandChange(event, dataItem, level) {
1199
1190
  var expandField = this.$props.expandField;
1200
-
1201
1191
  if (expandField) {
1202
1192
  var expandEvent = __assign(__assign({}, this.getArguments(event)), {
1203
1193
  dataItem: dataItem,
1204
1194
  level: level,
1205
1195
  value: this.expanded(dataItem)
1206
1196
  });
1207
-
1208
1197
  this.$emit('expandchange', expandEvent);
1209
1198
  }
1210
1199
  },
1211
- rowClick: function rowClick(e, item) {
1212
- if (e.target.nodeName === 'TD') {
1213
- var rowClickEvent = __assign({
1214
- dataItem: item.dataItem,
1215
- level: item.level
1216
- }, this.getArguments(e));
1217
-
1218
- this.$emit('rowclick', rowClickEvent);
1219
- }
1220
- },
1221
- rowDoubleClick: function rowDoubleClick(e, item) {
1200
+ emitRowEvent: function emitRowEvent(name, e, item) {
1222
1201
  if (e.target.nodeName === 'TD') {
1223
- var rowDoubleClickEvent = __assign({
1224
- dataItem: item.dataItem,
1225
- level: item.level
1226
- }, this.getArguments(e));
1227
-
1228
- this.$emit('rowdoubleclick', rowDoubleClickEvent);
1229
- }
1230
- },
1231
- rowContextMenu: function rowContextMenu(e, item) {
1232
- if (this.$props.onRowContextMenu && e.target.nodeName === 'TD') {
1233
- var rowContextMenuEvent = __assign({
1202
+ var rowEvent = __assign({
1234
1203
  dataItem: item.dataItem,
1235
1204
  level: item.level
1236
1205
  }, this.getArguments(e));
1237
-
1238
- this.$props.onRowContextMenu.call(undefined, rowContextMenuEvent);
1206
+ this.$emit(name, rowEvent);
1239
1207
  }
1240
1208
  },
1241
1209
  pageChangeHandler: function pageChangeHandler(page, event) {
@@ -1272,11 +1240,9 @@ var TreeListVue2 = {
1272
1240
  },
1273
1241
  expandedSubItems: function expandedSubItems(dataItem) {
1274
1242
  var items = [];
1275
-
1276
1243
  if (this.expanded(dataItem) && this.hasChildren(dataItem)) {
1277
1244
  items.push.apply(items, (0, main_1.getNestedValue)(this.$props.subItemsField, dataItem));
1278
1245
  }
1279
-
1280
1246
  return items;
1281
1247
  },
1282
1248
  getLeafDataItems: function getLeafDataItems() {