@progress/kendo-vue-treelist 5.3.0-dev.202409130647 → 5.3.0-develop.1

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