@progress/kendo-vue-grid 3.5.0 → 3.5.1-dev.202208100944

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 (231) hide show
  1. package/dist/cdn/js/kendo-vue-grid.js +1 -1
  2. package/dist/es/Grid.js +20 -24
  3. package/dist/es/ScrollMode.js +1 -0
  4. package/dist/es/columnMenu/ColumnMenu.js +2 -2
  5. package/dist/es/columnMenu/GridColumnMenuCheckboxFilter.js +9 -13
  6. package/dist/es/columnMenu/GridColumnMenuFilter.js +423 -107
  7. package/dist/es/columnMenu/GridColumnMenuFilterCell.js +74 -97
  8. package/dist/es/columnMenu/GridColumnMenuFilterOperators.d.ts +36 -0
  9. package/dist/es/columnMenu/GridColumnMenuFilterOperators.js +68 -0
  10. package/dist/es/columnMenu/GridColumnMenuItem.js +2 -2
  11. package/dist/es/filterCommon.d.ts +1 -1
  12. package/dist/es/footer/Footer.js +1 -1
  13. package/dist/es/footer/FooterRow.js +1 -1
  14. package/dist/es/header/FilterRow.js +1 -1
  15. package/dist/es/header/Header.js +1 -1
  16. package/dist/es/header/HeaderRow.js +1 -1
  17. package/dist/es/interfaces/ExtendedColumnProps.js +1 -0
  18. package/dist/es/interfaces/GridCellProps.js +1 -0
  19. package/dist/es/interfaces/GridColumnMenuColumnProps.js +1 -0
  20. package/dist/es/interfaces/GridColumnMenuExtendedFilterProps.js +1 -0
  21. package/dist/es/interfaces/GridColumnMenuFilterBaseProps.js +1 -0
  22. package/dist/es/interfaces/GridColumnMenuFilterProps.js +1 -0
  23. package/dist/es/interfaces/GridColumnMenuFilterUIProps.js +1 -0
  24. package/dist/es/interfaces/GridColumnMenuProps.js +1 -0
  25. package/dist/es/interfaces/GridColumnMenuSortBaseProps.js +1 -0
  26. package/dist/es/interfaces/GridColumnProps.js +1 -0
  27. package/dist/es/interfaces/GridDetailRowProps.js +1 -0
  28. package/dist/es/interfaces/GridFilterCellProps.js +1 -0
  29. package/dist/es/interfaces/GridFilterOperator.js +1 -0
  30. package/dist/es/interfaces/GridFilterOperators.js +1 -0
  31. package/dist/es/interfaces/GridFooterCellProps.js +1 -0
  32. package/dist/es/interfaces/GridGroupableSettings.js +1 -0
  33. package/dist/es/interfaces/GridHeaderCellProps.js +1 -0
  34. package/dist/es/interfaces/GridHeaderSelectionCellProps.js +1 -0
  35. package/dist/es/interfaces/GridNoRecordsProps.js +1 -0
  36. package/dist/es/interfaces/GridProps.js +1 -0
  37. package/dist/es/interfaces/GridRowProps.js +1 -0
  38. package/dist/es/interfaces/GridRowType.js +1 -0
  39. package/dist/es/interfaces/GridSortSettings.js +9 -7
  40. package/dist/es/interfaces/GridToolbarProps.js +1 -0
  41. package/dist/es/interfaces/events.js +1 -0
  42. package/dist/es/package-metadata.js +1 -1
  43. package/dist/es/rows/GridDetailRow.d.ts +2 -1
  44. package/dist/es/utils/index.js +4 -4
  45. package/dist/esm/Grid.d.ts +180 -0
  46. package/dist/esm/Grid.js +2086 -0
  47. package/dist/esm/GridNav.d.ts +46 -0
  48. package/dist/esm/GridNav.js +112 -0
  49. package/dist/esm/GridNoRecords.d.ts +51 -0
  50. package/dist/esm/GridNoRecords.js +83 -0
  51. package/dist/esm/GridToolbar.d.ts +58 -0
  52. package/dist/esm/GridToolbar.js +77 -0
  53. package/dist/esm/ScrollMode.d.ts +1 -0
  54. package/dist/esm/ScrollMode.js +1 -0
  55. package/dist/esm/VirtualScroll.d.ts +41 -0
  56. package/dist/esm/VirtualScroll.js +217 -0
  57. package/dist/esm/additionalTypes.ts +21 -0
  58. package/dist/esm/cells/GridCell.d.ts +30 -0
  59. package/dist/esm/cells/GridCell.js +161 -0
  60. package/dist/esm/cells/GridDetailCell.d.ts +29 -0
  61. package/dist/esm/cells/GridDetailCell.js +82 -0
  62. package/dist/esm/cells/GridDetailHierarchyCell.d.ts +24 -0
  63. package/dist/esm/cells/GridDetailHierarchyCell.js +53 -0
  64. package/dist/esm/cells/GridEditCell.d.ts +40 -0
  65. package/dist/esm/cells/GridEditCell.js +312 -0
  66. package/dist/esm/cells/GridFilterCell.d.ts +26 -0
  67. package/dist/esm/cells/GridFilterCell.js +259 -0
  68. package/dist/esm/cells/GridGroupCell.d.ts +23 -0
  69. package/dist/esm/cells/GridGroupCell.js +179 -0
  70. package/dist/esm/cells/GridHierarchyCell.d.ts +23 -0
  71. package/dist/esm/cells/GridHierarchyCell.js +162 -0
  72. package/dist/esm/cells/GridSelectionCell.d.ts +34 -0
  73. package/dist/esm/cells/GridSelectionCell.js +138 -0
  74. package/dist/esm/columnMenu/ColumnMenu.d.ts +56 -0
  75. package/dist/esm/columnMenu/ColumnMenu.js +252 -0
  76. package/dist/esm/columnMenu/ColumnMenuContent.d.ts +33 -0
  77. package/dist/esm/columnMenu/ColumnMenuContent.js +123 -0
  78. package/dist/esm/columnMenu/GridColumnMenuCheckboxFilter.d.ts +86 -0
  79. package/dist/esm/columnMenu/GridColumnMenuCheckboxFilter.js +709 -0
  80. package/dist/esm/columnMenu/GridColumnMenuFilter.d.ts +339 -0
  81. package/dist/esm/columnMenu/GridColumnMenuFilter.js +1079 -0
  82. package/dist/esm/columnMenu/GridColumnMenuFilterCell.d.ts +45 -0
  83. package/dist/esm/columnMenu/GridColumnMenuFilterCell.js +152 -0
  84. package/dist/esm/columnMenu/GridColumnMenuFilterOperators.d.ts +36 -0
  85. package/dist/esm/columnMenu/GridColumnMenuFilterOperators.js +68 -0
  86. package/dist/esm/columnMenu/GridColumnMenuFilterUI.d.ts +24 -0
  87. package/dist/esm/columnMenu/GridColumnMenuFilterUI.js +155 -0
  88. package/dist/esm/columnMenu/GridColumnMenuItem.d.ts +42 -0
  89. package/dist/esm/columnMenu/GridColumnMenuItem.js +63 -0
  90. package/dist/esm/columnMenu/GridColumnMenuItemContent.d.ts +34 -0
  91. package/dist/esm/columnMenu/GridColumnMenuItemContent.js +51 -0
  92. package/dist/esm/columnMenu/GridColumnMenuItemGroup.d.ts +19 -0
  93. package/dist/esm/columnMenu/GridColumnMenuItemGroup.js +33 -0
  94. package/dist/esm/columnMenu/GridColumnMenuSort.d.ts +283 -0
  95. package/dist/esm/columnMenu/GridColumnMenuSort.js +375 -0
  96. package/dist/esm/drag/ColumnDraggable.d.ts +43 -0
  97. package/dist/esm/drag/ColumnDraggable.js +73 -0
  98. package/dist/esm/drag/ColumnResize.d.ts +31 -0
  99. package/dist/esm/drag/ColumnResize.js +126 -0
  100. package/dist/esm/drag/ColumnResizer.d.ts +40 -0
  101. package/dist/esm/drag/ColumnResizer.js +89 -0
  102. package/dist/esm/drag/CommonDragLogic.d.ts +35 -0
  103. package/dist/esm/drag/CommonDragLogic.js +177 -0
  104. package/dist/esm/drag/DragClue.d.ts +25 -0
  105. package/dist/esm/drag/DragClue.js +52 -0
  106. package/dist/esm/drag/DropClue.d.ts +24 -0
  107. package/dist/esm/drag/DropClue.js +46 -0
  108. package/dist/esm/drag/GroupingIndicator.d.ts +51 -0
  109. package/dist/esm/drag/GroupingIndicator.js +153 -0
  110. package/dist/esm/filterCommon.d.ts +75 -0
  111. package/dist/esm/filterCommon.js +156 -0
  112. package/dist/esm/footer/Footer.d.ts +52 -0
  113. package/dist/esm/footer/Footer.js +103 -0
  114. package/dist/esm/footer/FooterRow.d.ts +30 -0
  115. package/dist/esm/footer/FooterRow.js +73 -0
  116. package/dist/esm/header/FilterRow.d.ts +36 -0
  117. package/dist/esm/header/FilterRow.js +203 -0
  118. package/dist/esm/header/GridHeaderCell.d.ts +21 -0
  119. package/dist/esm/header/GridHeaderCell.js +60 -0
  120. package/dist/esm/header/GridHeaderSelectionCell.d.ts +32 -0
  121. package/dist/esm/header/GridHeaderSelectionCell.js +81 -0
  122. package/dist/esm/header/GroupPanel.d.ts +38 -0
  123. package/dist/esm/header/GroupPanel.js +108 -0
  124. package/dist/esm/header/Header.d.ts +64 -0
  125. package/dist/esm/header/Header.js +123 -0
  126. package/dist/esm/header/HeaderRow.d.ts +86 -0
  127. package/dist/esm/header/HeaderRow.js +517 -0
  128. package/dist/esm/interfaces/ExtendedColumnProps.d.ts +20 -0
  129. package/dist/esm/interfaces/ExtendedColumnProps.js +1 -0
  130. package/dist/esm/interfaces/GridCellProps.d.ts +156 -0
  131. package/dist/esm/interfaces/GridCellProps.js +1 -0
  132. package/dist/esm/interfaces/GridColumnMenuColumnProps.d.ts +13 -0
  133. package/dist/esm/interfaces/GridColumnMenuColumnProps.js +1 -0
  134. package/dist/esm/interfaces/GridColumnMenuExtendedFilterProps.d.ts +42 -0
  135. package/dist/esm/interfaces/GridColumnMenuExtendedFilterProps.js +1 -0
  136. package/dist/esm/interfaces/GridColumnMenuFilterBaseProps.d.ts +49 -0
  137. package/dist/esm/interfaces/GridColumnMenuFilterBaseProps.js +1 -0
  138. package/dist/esm/interfaces/GridColumnMenuFilterProps.d.ts +27 -0
  139. package/dist/esm/interfaces/GridColumnMenuFilterProps.js +1 -0
  140. package/dist/esm/interfaces/GridColumnMenuFilterUIProps.d.ts +55 -0
  141. package/dist/esm/interfaces/GridColumnMenuFilterUIProps.js +1 -0
  142. package/dist/esm/interfaces/GridColumnMenuProps.d.ts +19 -0
  143. package/dist/esm/interfaces/GridColumnMenuProps.js +1 -0
  144. package/dist/esm/interfaces/GridColumnMenuSortBaseProps.d.ts +28 -0
  145. package/dist/esm/interfaces/GridColumnMenuSortBaseProps.js +1 -0
  146. package/dist/esm/interfaces/GridColumnProps.d.ts +147 -0
  147. package/dist/esm/interfaces/GridColumnProps.js +1 -0
  148. package/dist/esm/interfaces/GridDetailRowProps.d.ts +9 -0
  149. package/dist/esm/interfaces/GridDetailRowProps.js +1 -0
  150. package/dist/esm/interfaces/GridFilterCellProps.d.ts +64 -0
  151. package/dist/esm/interfaces/GridFilterCellProps.js +1 -0
  152. package/dist/esm/interfaces/GridFilterOperator.d.ts +7 -0
  153. package/dist/esm/interfaces/GridFilterOperator.js +1 -0
  154. package/dist/esm/interfaces/GridFilterOperators.d.ts +49 -0
  155. package/dist/esm/interfaces/GridFilterOperators.js +1 -0
  156. package/dist/esm/interfaces/GridFooterCellProps.d.ts +7 -0
  157. package/dist/esm/interfaces/GridFooterCellProps.js +1 -0
  158. package/dist/esm/interfaces/GridGroupableSettings.d.ts +15 -0
  159. package/dist/esm/interfaces/GridGroupableSettings.js +1 -0
  160. package/dist/esm/interfaces/GridHeaderCellProps.d.ts +37 -0
  161. package/dist/esm/interfaces/GridHeaderCellProps.js +1 -0
  162. package/dist/esm/interfaces/GridHeaderSelectionCellProps.d.ts +17 -0
  163. package/dist/esm/interfaces/GridHeaderSelectionCellProps.js +1 -0
  164. package/dist/esm/interfaces/GridNoRecordsProps.d.ts +9 -0
  165. package/dist/esm/interfaces/GridNoRecordsProps.js +1 -0
  166. package/dist/esm/interfaces/GridProps.d.ts +311 -0
  167. package/dist/esm/interfaces/GridProps.js +1 -0
  168. package/dist/esm/interfaces/GridRowProps.d.ts +55 -0
  169. package/dist/esm/interfaces/GridRowProps.js +1 -0
  170. package/dist/esm/interfaces/GridRowType.d.ts +9 -0
  171. package/dist/esm/interfaces/GridRowType.js +1 -0
  172. package/dist/esm/interfaces/GridSortSettings.d.ts +26 -0
  173. package/dist/esm/interfaces/GridSortSettings.js +20 -0
  174. package/dist/esm/interfaces/GridToolbarProps.d.ts +9 -0
  175. package/dist/esm/interfaces/GridToolbarProps.js +1 -0
  176. package/dist/esm/interfaces/events.d.ts +248 -0
  177. package/dist/esm/interfaces/events.js +1 -0
  178. package/dist/esm/main.d.ts +38 -0
  179. package/dist/esm/main.js +31 -0
  180. package/dist/esm/messages/index.d.ts +150 -0
  181. package/dist/esm/messages/index.js +151 -0
  182. package/dist/esm/package-metadata.d.ts +5 -0
  183. package/dist/esm/package-metadata.js +11 -0
  184. package/dist/esm/package.json +3 -0
  185. package/dist/esm/rows/GridDetailRow.d.ts +16 -0
  186. package/dist/esm/rows/GridDetailRow.js +29 -0
  187. package/dist/esm/rows/GridRow.d.ts +28 -0
  188. package/dist/esm/rows/GridRow.js +84 -0
  189. package/dist/esm/utils/browser-support.service.d.ts +7 -0
  190. package/dist/esm/utils/browser-support.service.js +26 -0
  191. package/dist/esm/utils/index.d.ts +91 -0
  192. package/dist/esm/utils/index.js +393 -0
  193. package/dist/npm/Grid.js +66 -70
  194. package/dist/npm/GridNav.js +1 -1
  195. package/dist/npm/GridNoRecords.js +2 -2
  196. package/dist/npm/GridToolbar.js +1 -1
  197. package/dist/npm/cells/GridCell.js +2 -2
  198. package/dist/npm/cells/GridEditCell.js +2 -2
  199. package/dist/npm/cells/GridFilterCell.js +4 -4
  200. package/dist/npm/cells/GridHierarchyCell.js +1 -1
  201. package/dist/npm/cells/GridSelectionCell.js +2 -2
  202. package/dist/npm/columnMenu/ColumnMenu.js +5 -5
  203. package/dist/npm/columnMenu/GridColumnMenuCheckboxFilter.js +14 -18
  204. package/dist/npm/columnMenu/GridColumnMenuFilter.js +445 -125
  205. package/dist/npm/columnMenu/GridColumnMenuFilterCell.js +79 -102
  206. package/dist/npm/columnMenu/GridColumnMenuFilterOperators.d.ts +36 -0
  207. package/dist/npm/columnMenu/GridColumnMenuFilterOperators.js +79 -0
  208. package/dist/npm/columnMenu/GridColumnMenuItem.js +2 -2
  209. package/dist/npm/columnMenu/GridColumnMenuItemContent.js +1 -1
  210. package/dist/npm/columnMenu/GridColumnMenuItemGroup.js +1 -1
  211. package/dist/npm/columnMenu/GridColumnMenuSort.js +5 -4
  212. package/dist/npm/drag/ColumnDraggable.js +1 -1
  213. package/dist/npm/drag/CommonDragLogic.js +2 -2
  214. package/dist/npm/drag/GroupingIndicator.js +3 -3
  215. package/dist/npm/filterCommon.d.ts +1 -1
  216. package/dist/npm/filterCommon.js +19 -12
  217. package/dist/npm/footer/Footer.js +6 -6
  218. package/dist/npm/footer/FooterRow.js +2 -2
  219. package/dist/npm/header/FilterRow.js +7 -7
  220. package/dist/npm/header/GridHeaderCell.js +1 -1
  221. package/dist/npm/header/GridHeaderSelectionCell.js +1 -1
  222. package/dist/npm/header/GroupPanel.js +1 -1
  223. package/dist/npm/header/Header.js +8 -8
  224. package/dist/npm/header/HeaderRow.js +2 -2
  225. package/dist/npm/interfaces/GridSortSettings.js +11 -8
  226. package/dist/npm/main.js +6 -2
  227. package/dist/npm/package-metadata.js +1 -1
  228. package/dist/npm/rows/GridDetailRow.d.ts +2 -1
  229. package/dist/npm/rows/GridRow.js +2 -2
  230. package/dist/npm/utils/index.js +6 -5
  231. package/package.json +14 -14
@@ -0,0 +1,517 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ import { normalize } from '../interfaces/GridSortSettings.js';
7
+ import { ColumnResizer } from '../drag/ColumnResizer.js';
8
+ import { ColumnDraggable } from '../drag/ColumnDraggable.js';
9
+ import { GridHeaderCell } from './GridHeaderCell'; // import { GridColumnMenuProps } from '../interfaces/GridColumnMenuProps.js';
10
+
11
+ import { ColumnMenu } from '../columnMenu/ColumnMenu.js';
12
+ import { templateRendering, hasListener, getListeners, Keys, noop } from '@progress/kendo-vue-common';
13
+ import { HeaderThElement } from '@progress/kendo-vue-data-tools'; // from '../../../datatools/src/main.js';
14
+
15
+ /**
16
+ * @hidden
17
+ */
18
+
19
+ var ariaSortMap = {
20
+ 'none': 'none',
21
+ 'asc': 'ascending',
22
+ 'desc': 'descending'
23
+ };
24
+ /**
25
+ * @hidden
26
+ */
27
+
28
+ var sortSeqMap = {
29
+ true: {
30
+ 'asc': 'desc',
31
+ 'desc': '',
32
+ '': 'asc'
33
+ },
34
+ false: {
35
+ 'asc': 'desc',
36
+ 'desc': 'asc',
37
+ '': 'asc'
38
+ }
39
+ };
40
+ /**
41
+ * @hidden
42
+ */
43
+
44
+ var HeaderRowVue2 = {
45
+ name: 'KendoHeaderRow',
46
+ props: {
47
+ grid: Object,
48
+ cellRender: [String, Function, Object],
49
+ groupable: [Boolean, Object],
50
+ reorderable: Boolean,
51
+ sortable: [Boolean, Object],
52
+ sort: {
53
+ type: Array
54
+ },
55
+ filter: Object,
56
+ filterable: Boolean,
57
+ filterOperators: Object,
58
+ filterChange: Function,
59
+ filterRow: Object,
60
+ columns: Array,
61
+ columnsMap: Array,
62
+ columnResize: Object,
63
+ columnMenu: [Boolean, String, Function, Object],
64
+ columnMenuAnimate: {
65
+ type: [Boolean, Object],
66
+ default: function _default() {
67
+ return true;
68
+ }
69
+ },
70
+ isRtl: Boolean
71
+ },
72
+ inject: {
73
+ onNavFocus: {
74
+ default: noop
75
+ }
76
+ },
77
+ data: function data() {
78
+ return {
79
+ columnMenuOpened: {}
80
+ };
81
+ },
82
+ created: function created() {
83
+ this.serviceIndex = 0;
84
+ this.index = -1;
85
+ this._element = null;
86
+ this.cellClick = this.cellClick.bind(this);
87
+ },
88
+ methods: {
89
+ pressHandler: function pressHandler(event, element) {
90
+ this.$emit('pressHandler', event, element);
91
+ },
92
+ dragHandler: function dragHandler(event, element) {
93
+ this.$emit('dragHandler', event, element);
94
+ },
95
+ releaseHandler: function releaseHandler(event) {
96
+ this.$emit('releaseHandler', event);
97
+ },
98
+ selectionChangeHandler: function selectionChangeHandler(options) {
99
+ this.$emit('selectionchange', options);
100
+ },
101
+ cellClick: function cellClick(e, column) {
102
+ e.preventDefault();
103
+
104
+ if (!hasListener.call(this, 'sortChange')) {
105
+ return;
106
+ }
107
+
108
+ var _a = normalize(this.$props.sortable || false, column.sortable || false),
109
+ allowUnsort = _a.allowUnsort,
110
+ mode = _a.mode;
111
+
112
+ var oldDescriptor = (this.$props.sort || []).filter(function (d) {
113
+ return d.field === column.field;
114
+ })[0];
115
+ var dir = sortSeqMap[allowUnsort][oldDescriptor && oldDescriptor.dir || ''];
116
+ var newDescriptor = mode === 'single' ? [] : (this.$props.sort || []).filter(function (d) {
117
+ return d.field !== column.field;
118
+ });
119
+
120
+ if (dir !== '' && column.field) {
121
+ newDescriptor.push({
122
+ field: column.field,
123
+ dir: dir
124
+ });
125
+ }
126
+
127
+ this.sortChangeHandler(newDescriptor, {
128
+ event: e,
129
+ field: column.field
130
+ });
131
+ },
132
+ sortChangeHandler: function sortChangeHandler(newDescriptor, e) {
133
+ this.$emit('sortChange', newDescriptor, e);
134
+ },
135
+ filterChangeHandler: function filterChangeHandler(newDescriptor, e) {
136
+ this.$emit('filterChange', newDescriptor, e);
137
+ },
138
+ cellClass: function cellClass(field, headerClassName, locked) {
139
+ var customClass = headerClassName ? ' ' + headerClassName : '';
140
+ var result = "k-header ".concat(locked ? 'k-grid-header-sticky' : '') + customClass;
141
+
142
+ if (this.$props.sort && this.$props.sort.filter(function (descriptor) {
143
+ return descriptor.field === field;
144
+ }).length > 0) {
145
+ result += ' k-sorted';
146
+ }
147
+
148
+ return result;
149
+ },
150
+ cellKeyDown: function cellKeyDown(event, column) {
151
+ var _a;
152
+
153
+ if (event.defaultPrevented) {
154
+ return;
155
+ }
156
+
157
+ if (event.keyCode === Keys.enter) {
158
+ this.cellClick(event, column);
159
+ }
160
+
161
+ if (event.altKey && event.keyCode === Keys.down) {
162
+ if (column.field) {
163
+ event.preventDefault();
164
+ this.columnMenuOpened = (_a = {}, _a[column.field] = true, _a);
165
+ }
166
+ }
167
+ },
168
+ getTemplate: function getTemplate(template) {
169
+ return templateRendering.call(this.$props.grid, template, getListeners.call(this.$props.grid));
170
+ },
171
+ columnMenuClose: function columnMenuClose() {
172
+ this.onNavFocus({});
173
+ this.columnMenuOpened = {};
174
+ }
175
+ },
176
+ computed: {
177
+ element: {
178
+ get: function get() {
179
+ return this._element;
180
+ }
181
+ },
182
+ theadClasses: {
183
+ get: function get() {
184
+ return {
185
+ 'k-grid-header': true
186
+ };
187
+ }
188
+ }
189
+ },
190
+ // @ts-ignore
191
+ setup: !isV3 ? undefined : function () {
192
+ var v3 = !!isV3;
193
+ return {
194
+ v3: v3
195
+ };
196
+ },
197
+ // @ts-ignore
198
+ render: function render(createElement) {
199
+ var h = gh || createElement;
200
+ this.serviceIndex = 0;
201
+ this.index = -1;
202
+
203
+ var cells = function cells(rowIndexes) {
204
+ return rowIndexes.map(function (columnIndex) {
205
+ var _this2 = this;
206
+
207
+ var _this = this;
208
+
209
+ var column = this.$props.columns[columnIndex];
210
+ var sortable = this.$props.sortable && column.sortable;
211
+ var sortIndex = this.$props.sort ? this.$props.sort.findIndex(function (s) {
212
+ return s.field === column.field;
213
+ }) : -1;
214
+ var sortDir = sortIndex >= 0 ? this.$props.sort[sortIndex].dir || 'none' : 'none';
215
+
216
+ var sortIconRenderer = function sortIconRenderer(iconSortIndex) {
217
+ if (!_this.$props.sort) {
218
+ return null;
219
+ }
220
+
221
+ return iconSortIndex >= 0 && [h("span", {
222
+ key: 1,
223
+ "class": 'k-icon k-i-sort-' + _this.$props.sort[iconSortIndex].dir + '-sm'
224
+ }), _this.$props.sort.length > 1 && h("span", {
225
+ key: 2,
226
+ "class": "k-sort-order"
227
+ }, [iconSortIndex + 1])];
228
+ };
229
+
230
+ var sortIcon = sortIconRenderer(sortIndex);
231
+ var className = (column.kFirst ? 'k-first ' : '') + this.cellClass(column.field, column.headerClassName, column.locked);
232
+ var columnMenu = column.columnMenu || column.columnMenu === false ? column.columnMenu : this.$props.columnMenu;
233
+ var columnMenuRender = !columnMenu || typeof columnMenu === 'boolean' ? !!columnMenu : this.getTemplate(columnMenu);
234
+ var style = column.left !== undefined ? !this.$props.isRtl ? {
235
+ left: column.left + 'px',
236
+ right: column.right + 'px'
237
+ } : {
238
+ left: column.right + 'px',
239
+ right: column.left + 'px'
240
+ } : {};
241
+ var ariaAttrs = column.isAccessible ? {
242
+ ariaSort: ariaSortMap[sortDir],
243
+ role: 'columnheader',
244
+ ariaColumnIndex: column.ariaColumnIndex,
245
+ ariaSelected: false
246
+ } : {
247
+ 'role': 'presentation'
248
+ };
249
+ var key = column.declarationIndex >= 0 ? ++this.index : --this.serviceIndex;
250
+ return (// @ts-ignore function children
251
+ h(HeaderThElement, {
252
+ ariaSort: ariaAttrs.ariaSort,
253
+ attrs: this.v3 ? undefined : {
254
+ ariaSort: ariaAttrs.ariaSort,
255
+ role: ariaAttrs.role,
256
+ ariaColumnIndex: ariaAttrs.ariaColumnIndex,
257
+ ariaSelected: ariaAttrs.ariaSelected,
258
+ colSpan: column.colSpan,
259
+ rowSpan: column.rowSpan,
260
+ columnId: column.id,
261
+ navigatable: column.navigatable
262
+ },
263
+ role: ariaAttrs.role,
264
+ ariaColumnIndex: ariaAttrs.ariaColumnIndex,
265
+ ariaSelected: ariaAttrs.ariaSelected,
266
+ key: key,
267
+ colSpan: column.colSpan,
268
+ rowSpan: column.rowSpan,
269
+ "class": className,
270
+ style: style,
271
+ columnId: column.id,
272
+ navigatable: column.navigatable,
273
+ onKeydown: function onKeydown(e) {
274
+ return _this.cellKeyDown(e, column);
275
+ },
276
+ on: this.v3 ? undefined : {
277
+ "keydown": function onKeydown(e) {
278
+ return _this.cellKeyDown(e, column);
279
+ }
280
+ }
281
+ }, this.v3 ? function () {
282
+ return [[// @ts-ignore
283
+ column.children.length === 0 && columnMenu && h(ColumnMenu, {
284
+ key: 0,
285
+ column: {
286
+ field: column.field,
287
+ filter: column.filter
288
+ },
289
+ attrs: _this2.v3 ? undefined : {
290
+ column: {
291
+ field: column.field,
292
+ filter: column.filter
293
+ },
294
+ opened: _this2.columnMenuOpened[column.field],
295
+ animate: _this2.$props.columnMenuAnimate,
296
+ sortable: sortable,
297
+ sort: _this2.$props.sort,
298
+ filter: _this2.$props.filter,
299
+ filterable: _this2.$props.filterable && column.filterable,
300
+ filterOperators: _this2.$props.filterOperators,
301
+ render: columnMenuRender
302
+ },
303
+ opened: _this2.columnMenuOpened[column.field],
304
+ animate: _this2.$props.columnMenuAnimate,
305
+ sortable: sortable,
306
+ sort: _this2.$props.sort,
307
+ onClose: _this2.columnMenuClose,
308
+ on: _this2.v3 ? undefined : {
309
+ "close": _this2.columnMenuClose,
310
+ "sortchange": _this2.sortChangeHandler,
311
+ "filterchange": _this2.filterChangeHandler
312
+ },
313
+ onSortchange: _this2.sortChangeHandler,
314
+ filter: _this2.$props.filter,
315
+ filterable: _this2.$props.filterable && column.filterable,
316
+ filterOperators: _this2.$props.filterOperators,
317
+ onFilterchange: _this2.filterChangeHandler,
318
+ render: columnMenuRender
319
+ }), column.internalHeaderCell && // @ts-ignore function children
320
+ h(column.internalHeaderCell, {
321
+ key: 1,
322
+ field: column.field,
323
+ attrs: _this2.v3 ? undefined : {
324
+ field: column.field,
325
+ sortable: sortable,
326
+ selectionValue: column.headerSelectionValue,
327
+ title: column.title,
328
+ render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
329
+ },
330
+ sortable: sortable,
331
+ onHeadercellclick: function onHeadercellclick(e) {
332
+ return _this.cellClick(e, column);
333
+ },
334
+ on: _this2.v3 ? undefined : {
335
+ "headercellclick": function onHeadercellclick(e) {
336
+ return _this.cellClick(e, column);
337
+ },
338
+ "selectionchange": _this2.selectionChangeHandler
339
+ },
340
+ onSelectionchange: _this2.selectionChangeHandler,
341
+ selectionValue: column.headerSelectionValue,
342
+ title: column.title,
343
+ render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
344
+ }, _this2.v3 ? function () {
345
+ return [sortIcon];
346
+ } : [sortIcon]) || // @ts-ignore function children
347
+ h(GridHeaderCell, {
348
+ key: 1,
349
+ field: column.field,
350
+ attrs: _this2.v3 ? undefined : {
351
+ field: column.field,
352
+ sortable: sortable,
353
+ selectionValue: column.headerSelectionValue,
354
+ title: column.title,
355
+ render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
356
+ },
357
+ sortable: sortable,
358
+ onHeadercellclick: function onHeadercellclick(e) {
359
+ return _this.cellClick(e, column);
360
+ },
361
+ on: _this2.v3 ? undefined : {
362
+ "headercellclick": function onHeadercellclick(e) {
363
+ return _this.cellClick(e, column);
364
+ }
365
+ },
366
+ selectionValue: column.headerSelectionValue,
367
+ title: column.title,
368
+ render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
369
+ }, _this2.v3 ? function () {
370
+ return [sortIcon];
371
+ } : [sortIcon]), _this2.$props.columnResize && _this2.$props.columnResize.resizable // @ts-ignore
372
+ && column.resizable && h(ColumnResizer, {
373
+ key: 2,
374
+ onResize: function onResize(e, element, end) {
375
+ return _this.$props.columnResize && _this.$props.columnResize.dragHandler(e, column, element, end);
376
+ },
377
+ on: _this2.v3 ? undefined : {
378
+ "resize": function onResize(e, element, end) {
379
+ return _this.$props.columnResize && _this.$props.columnResize.dragHandler(e, column, element, end);
380
+ }
381
+ }
382
+ })]];
383
+ } : [[column.children.length === 0 && columnMenu && h(ColumnMenu, {
384
+ key: 0,
385
+ column: {
386
+ field: column.field,
387
+ filter: column.filter
388
+ },
389
+ attrs: _this2.v3 ? undefined : {
390
+ column: {
391
+ field: column.field,
392
+ filter: column.filter
393
+ },
394
+ opened: _this2.columnMenuOpened[column.field],
395
+ animate: _this2.$props.columnMenuAnimate,
396
+ sortable: sortable,
397
+ sort: _this2.$props.sort,
398
+ filter: _this2.$props.filter,
399
+ filterable: _this2.$props.filterable && column.filterable,
400
+ filterOperators: _this2.$props.filterOperators,
401
+ render: columnMenuRender
402
+ },
403
+ opened: _this2.columnMenuOpened[column.field],
404
+ animate: _this2.$props.columnMenuAnimate,
405
+ sortable: sortable,
406
+ sort: _this2.$props.sort,
407
+ onClose: _this2.columnMenuClose,
408
+ on: _this2.v3 ? undefined : {
409
+ "close": _this2.columnMenuClose,
410
+ "sortchange": _this2.sortChangeHandler,
411
+ "filterchange": _this2.filterChangeHandler
412
+ },
413
+ onSortchange: _this2.sortChangeHandler,
414
+ filter: _this2.$props.filter,
415
+ filterable: _this2.$props.filterable && column.filterable,
416
+ filterOperators: _this2.$props.filterOperators,
417
+ onFilterchange: _this2.filterChangeHandler,
418
+ render: columnMenuRender
419
+ }), column.internalHeaderCell && h(column.internalHeaderCell, {
420
+ key: 1,
421
+ field: column.field,
422
+ attrs: _this2.v3 ? undefined : {
423
+ field: column.field,
424
+ sortable: sortable,
425
+ selectionValue: column.headerSelectionValue,
426
+ title: column.title,
427
+ render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
428
+ },
429
+ sortable: sortable,
430
+ onHeadercellclick: function onHeadercellclick(e) {
431
+ return _this.cellClick(e, column);
432
+ },
433
+ on: _this2.v3 ? undefined : {
434
+ "headercellclick": function onHeadercellclick(e) {
435
+ return _this.cellClick(e, column);
436
+ },
437
+ "selectionchange": _this2.selectionChangeHandler
438
+ },
439
+ onSelectionchange: _this2.selectionChangeHandler,
440
+ selectionValue: column.headerSelectionValue,
441
+ title: column.title,
442
+ render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
443
+ }, _this2.v3 ? function () {
444
+ return [sortIcon];
445
+ } : [sortIcon]) || h(GridHeaderCell, {
446
+ key: 1,
447
+ field: column.field,
448
+ attrs: _this2.v3 ? undefined : {
449
+ field: column.field,
450
+ sortable: sortable,
451
+ selectionValue: column.headerSelectionValue,
452
+ title: column.title,
453
+ render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
454
+ },
455
+ sortable: sortable,
456
+ onHeadercellclick: function onHeadercellclick(e) {
457
+ return _this.cellClick(e, column);
458
+ },
459
+ on: _this2.v3 ? undefined : {
460
+ "headercellclick": function onHeadercellclick(e) {
461
+ return _this.cellClick(e, column);
462
+ }
463
+ },
464
+ selectionValue: column.headerSelectionValue,
465
+ title: column.title,
466
+ render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)
467
+ }, _this2.v3 ? function () {
468
+ return [sortIcon];
469
+ } : [sortIcon]), _this2.$props.columnResize && _this2.$props.columnResize.resizable && column.resizable && h(ColumnResizer, {
470
+ key: 2,
471
+ onResize: function onResize(e, element, end) {
472
+ return _this.$props.columnResize && _this.$props.columnResize.dragHandler(e, column, element, end);
473
+ },
474
+ on: _this2.v3 ? undefined : {
475
+ "resize": function onResize(e, element, end) {
476
+ return _this.$props.columnResize && _this.$props.columnResize.dragHandler(e, column, element, end);
477
+ }
478
+ }
479
+ })]])
480
+ );
481
+ }, this);
482
+ };
483
+
484
+ return h("thead", {
485
+ role: "presentation",
486
+ attrs: this.v3 ? undefined : {
487
+ role: "presentation",
488
+ "data-keyboardnavheader": true
489
+ },
490
+ "class": this.theadClasses,
491
+ "data-keyboardnavheader": true
492
+ }, [this.$props.columnsMap.map(function (rowIndexes, index) {
493
+ var _this3 = this;
494
+
495
+ return (this.$props.groupable || this.$props.reorderable) && // @ts-ignore function children
496
+ h(ColumnDraggable, {
497
+ key: index,
498
+ onPressHandler: this.pressHandler,
499
+ on: this.v3 ? undefined : {
500
+ "pressHandler": this.pressHandler,
501
+ "dragHandler": this.dragHandler,
502
+ "releaseHandler": this.releaseHandler
503
+ },
504
+ onDragHandler: this.dragHandler,
505
+ onReleaseHandler: this.releaseHandler
506
+ }, this.v3 ? function () {
507
+ return [cells.call(_this3, rowIndexes)];
508
+ } : [cells.call(_this3, rowIndexes)]) || h("tr", [cells.call(this, rowIndexes)]);
509
+ }, this), this.$props.filterRow]);
510
+ }
511
+ };
512
+ /**
513
+ * @hidden
514
+ */
515
+
516
+ var HeaderRow = HeaderRowVue2;
517
+ export { HeaderRow, HeaderRowVue2 };
@@ -0,0 +1,20 @@
1
+ import { GridColumnProps } from './GridColumnProps';
2
+ /**
3
+ * @hidden
4
+ */
5
+ export interface ExtendedColumnProps extends GridColumnProps {
6
+ id: string;
7
+ declarationIndex: number;
8
+ parentIndex: number;
9
+ colSpan: number;
10
+ rowSpan: number;
11
+ depth: number;
12
+ kFirst?: boolean;
13
+ index: number;
14
+ children: ExtendedColumnProps[];
15
+ left: number;
16
+ right: number;
17
+ rightBorder: boolean;
18
+ ariaColumnIndex: number;
19
+ isAccessible: boolean;
20
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,156 @@
1
+ /**
2
+ * The props of the GridCell component.
3
+ */
4
+ /**
5
+ * @hidden
6
+ */
7
+ export interface GridCellProps {
8
+ /**
9
+ * @hidden
10
+ */
11
+ id: string;
12
+ /**
13
+ * The field to which the cell is bound ([see example]({% slug sorting_grid %})).
14
+ */
15
+ key?: number;
16
+ /**
17
+ * The field to which the cell is bound ([see example]({% slug sorting_grid %})).
18
+ */
19
+ field: string;
20
+ /**
21
+ * The data object that represents the current row.
22
+ */
23
+ dataItem: any;
24
+ /**
25
+ *
26
+ */
27
+ dataIndex?: number;
28
+ /**
29
+ * The format that is applied to the value before the value is displayed. Takes the `{0:format}`
30
+ * form where `format` is any of the following:
31
+ * * A standard number format
32
+ * * A custom number format
33
+ * * A standard date format
34
+ * * A custom date format
35
+ *
36
+ * For more information on the supported date and number formats,
37
+ * refer to the [kendo-intl](https://github.com/telerik/kendo-intl/blob/develop/docs/index.md) documentation.
38
+ */
39
+ format?: string;
40
+ /**
41
+ * The data Item read format.
42
+ */
43
+ readFormat?: string;
44
+ /**
45
+ * The custom CSS classes of the cells.
46
+ */
47
+ className?: string;
48
+ /**
49
+ * The index to be applied to the `aria-colindex` attribute.
50
+ */
51
+ ariaColumnIndex: number;
52
+ /**
53
+ * The index of all rendered columns.
54
+ */
55
+ columnIndex?: number;
56
+ /**
57
+ * The number of rendered columns in the Grid.
58
+ */
59
+ columnsCount?: number;
60
+ /**
61
+ * The type of the row.
62
+ */
63
+ rowType?: string;
64
+ /**
65
+ * @hidden
66
+ */
67
+ level?: number;
68
+ /**
69
+ * The expanded value of the cell when hierarchy or grouping are used.
70
+ */
71
+ expanded?: boolean;
72
+ /**
73
+ * The event that is fired when the cell is selected.
74
+ */
75
+ selectionchange?: (event: any, dataItem: any) => void;
76
+ /**
77
+ * @hidden
78
+ */
79
+ style?: any;
80
+ /**
81
+ * The column span of the cell.
82
+ */
83
+ colSpan?: number;
84
+ /**
85
+ * Indicates if the cell is selected.
86
+ */
87
+ isSelected: boolean;
88
+ /**
89
+ * The event that is fired when the cell value is changed.
90
+ */
91
+ onChange?: (event: {
92
+ dataItem: any;
93
+ event: any;
94
+ field?: string;
95
+ value?: any;
96
+ }) => void;
97
+ /**
98
+ * The event that is fired when the keydown event of the cell is triggered.
99
+ */
100
+ onCellkeydown?: (event: {
101
+ event: any;
102
+ dataItem: any;
103
+ field: string;
104
+ }) => void;
105
+ /**
106
+ * The event that is fired when the cell is clicked.
107
+ */
108
+ onCellclick?: (event: {
109
+ dataItem: any;
110
+ field: string;
111
+ }) => void;
112
+ /**
113
+ * The event that is fired when the cell is about to be added.
114
+ */
115
+ onAdd?: (event: {
116
+ dataItem: any;
117
+ }) => void;
118
+ /**
119
+ * The event that is fired when the cell is about to be edited.
120
+ */
121
+ onEdit?: (event: {
122
+ dataItem: any;
123
+ }) => void;
124
+ /**
125
+ * The event that is fired when the cell is about to be saved.
126
+ */
127
+ save?: (event: {
128
+ dataItem: any;
129
+ }) => void;
130
+ /**
131
+ * The event that is fired when the cell is about to be removed.
132
+ */
133
+ remove?: (event: {
134
+ dataItem: any;
135
+ }) => void;
136
+ /**
137
+ * The event that is fired when the cell is about to be canceled.
138
+ */
139
+ onCancel?: (event: {
140
+ dataItem: any;
141
+ }) => void;
142
+ /**
143
+ * The type of the data which will be used when formatting the cell data.
144
+ * Could be one of the following values 'text' | 'numeric' | 'boolean' | 'date'.
145
+ */
146
+ type?: string;
147
+ /**
148
+ * The type of the editor which will be used when the cell is in edit mode.
149
+ * Could be one of the following values 'text' | 'numeric' | 'boolean' | 'date'.
150
+ */
151
+ editor?: string;
152
+ /**
153
+ * The method for rendering the cell.
154
+ */
155
+ render?: any;
156
+ }
@@ -0,0 +1 @@
1
+ export {};