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