@progress/kendo-vue-treelist 3.6.4 → 3.7.0-dev.202210250731

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