@progress/kendo-react-grid 6.1.1 → 7.0.0-develop.10

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 (328) hide show
  1. package/{dist/es/Grid.d.ts → Grid.d.ts} +5 -1
  2. package/{dist/npm/GridColumn.d.ts → GridColumn.d.ts} +4 -0
  3. package/{dist/npm/GridNoRecords.d.ts → GridNoRecords.d.ts} +4 -0
  4. package/{dist/npm/GridToolbar.d.ts → GridToolbar.d.ts} +5 -1
  5. package/LICENSE.md +1 -1
  6. package/ScrollMode.d.ts +5 -0
  7. package/{dist/es/StatusBar.d.ts → StatusBar.d.ts} +4 -0
  8. package/{dist/npm/VirtualScroll.d.ts → VirtualScroll.d.ts} +4 -0
  9. package/{dist/es/VirtualScrollFixed.d.ts → VirtualScrollFixed.d.ts} +4 -0
  10. package/cells/GridCell.d.ts +6 -0
  11. package/{dist/es/cells → cells}/GridDetailCell.d.ts +5 -1
  12. package/cells/GridDetailHierarchyCell.d.ts +10 -0
  13. package/cells/GridEditCell.d.ts +9 -0
  14. package/cells/GridFilterCell.d.ts +20 -0
  15. package/cells/GridGroupCell.d.ts +9 -0
  16. package/cells/GridHierarchyCell.d.ts +9 -0
  17. package/cells/GridSelectionCell.d.ts +9 -0
  18. package/{dist/npm/columnMenu → columnMenu}/GridColumnMenuCheckboxFilter.d.ts +5 -1
  19. package/{dist/npm/columnMenu → columnMenu}/GridColumnMenuColumnsList.d.ts +4 -0
  20. package/{dist/npm/columnMenu → columnMenu}/GridColumnMenuFilter.d.ts +5 -1
  21. package/{dist/npm/columnMenu → columnMenu}/GridColumnMenuFilterCell.d.ts +5 -1
  22. package/columnMenu/GridColumnMenuFilterUI.d.ts +12 -0
  23. package/{dist/es/columnMenu → columnMenu}/GridColumnMenuGroup.d.ts +5 -1
  24. package/{dist/es/columnMenu → columnMenu}/GridColumnMenuItem.d.ts +5 -1
  25. package/{dist/es/columnMenu → columnMenu}/GridColumnMenuItemContent.d.ts +5 -1
  26. package/{dist/es/columnMenu → columnMenu}/GridColumnMenuItemGroup.d.ts +5 -1
  27. package/{dist/es/columnMenu → columnMenu}/GridColumnMenuSort.d.ts +5 -1
  28. package/{dist/npm/columnMenu → columnMenu}/GridColumnMenuWrapper.d.ts +5 -1
  29. package/{dist/es/constants → constants}/index.d.ts +4 -0
  30. package/dist/cdn/js/kendo-react-grid.js +5 -1
  31. package/{dist/npm/drag → drag}/ColumnDraggable.d.ts +5 -1
  32. package/{dist/es/drag → drag}/ColumnResize.d.ts +4 -0
  33. package/{dist/es/drag → drag}/CommonDragLogic.d.ts +5 -1
  34. package/{dist/npm/drag → drag}/GroupingIndicator.d.ts +5 -1
  35. package/{dist/es/filterCommon.d.ts → filterCommon.d.ts} +5 -1
  36. package/{dist/npm/footer → footer}/Footer.d.ts +5 -1
  37. package/{dist/npm/footer → footer}/FooterRow.d.ts +5 -1
  38. package/{dist/npm/header → header}/FilterRow.d.ts +5 -1
  39. package/{dist/npm/header → header}/GridHeaderCell.d.ts +5 -1
  40. package/header/GridHeaderSelectionCell.d.ts +13 -0
  41. package/{dist/npm/header → header}/GroupPanel.d.ts +5 -1
  42. package/{dist/es/header → header}/Header.d.ts +5 -1
  43. package/{dist/npm/header → header}/HeaderRow.d.ts +6 -2
  44. package/{dist/es/main.d.ts → index.d.ts} +31 -27
  45. package/index.js +5 -0
  46. package/index.mjs +3814 -0
  47. package/{dist/npm/interfaces → interfaces}/GridCellProps.d.ts +4 -1
  48. package/{dist/es/interfaces → interfaces}/GridCellsSettings.d.ts +4 -0
  49. package/interfaces/GridColumnMenuBaseProps.d.ts +18 -0
  50. package/{dist/es/interfaces → interfaces}/GridColumnMenuColumnProps.d.ts +4 -0
  51. package/{dist/es/interfaces → interfaces}/GridColumnMenuFilterBaseProps.d.ts +4 -1
  52. package/{dist/es/interfaces → interfaces}/GridColumnMenuFilterUIProps.d.ts +4 -0
  53. package/{dist/npm/interfaces → interfaces}/GridColumnMenuGroupBaseProps.d.ts +4 -1
  54. package/{dist/es/interfaces → interfaces}/GridColumnMenuProps.d.ts +4 -0
  55. package/{dist/npm/interfaces → interfaces}/GridColumnMenuSortBaseProps.d.ts +4 -1
  56. package/{dist/es/interfaces → interfaces}/GridColumnProps.d.ts +4 -0
  57. package/interfaces/GridDetailRowProps.d.ts +17 -0
  58. package/{dist/npm/interfaces → interfaces}/GridFilterCellProps.d.ts +4 -1
  59. package/interfaces/GridFilterOperator.d.ts +10 -0
  60. package/{dist/es/interfaces → interfaces}/GridFilterOperators.d.ts +4 -0
  61. package/{dist/npm/interfaces → interfaces}/GridFooterCellProps.d.ts +4 -1
  62. package/{dist/es/interfaces → interfaces}/GridGroupableSettings.d.ts +4 -0
  63. package/{dist/npm/interfaces → interfaces}/GridHeaderCellProps.d.ts +4 -1
  64. package/interfaces/GridNoRecordsProps.d.ts +13 -0
  65. package/{dist/npm/interfaces → interfaces}/GridProps.d.ts +4 -0
  66. package/{dist/es/interfaces → interfaces}/GridRowProps.d.ts +4 -1
  67. package/interfaces/GridRowType.d.ts +13 -0
  68. package/{dist/npm/interfaces → interfaces}/GridSelectableSettings.d.ts +5 -1
  69. package/interfaces/GridSortSettings.d.ts +17 -0
  70. package/{dist/es/interfaces → interfaces}/GridToolbarProps.d.ts +4 -1
  71. package/{dist/es/interfaces → interfaces}/VirtualScrollInterface.d.ts +4 -0
  72. package/{dist/npm/interfaces → interfaces}/events.d.ts +4 -1
  73. package/{dist/npm/messages → messages}/index.d.ts +4 -0
  74. package/package-metadata.d.ts +9 -0
  75. package/package.json +36 -59
  76. package/{dist/es/paging → paging}/GridPagerSettings.d.ts +6 -2
  77. package/paging/Page.d.ts +17 -0
  78. package/{dist/npm/rows → rows}/GridDetailRow.d.ts +4 -0
  79. package/rows/GridRow.d.ts +15 -0
  80. package/{dist/es/utils → utils}/index.d.ts +11 -7
  81. package/about.md +0 -3
  82. package/dist/es/Grid.js +0 -1042
  83. package/dist/es/GridColumn.d.ts +0 -24
  84. package/dist/es/GridColumn.js +0 -54
  85. package/dist/es/GridNoRecords.d.ts +0 -36
  86. package/dist/es/GridNoRecords.js +0 -63
  87. package/dist/es/GridToolbar.d.ts +0 -50
  88. package/dist/es/GridToolbar.js +0 -78
  89. package/dist/es/ScrollMode.d.ts +0 -1
  90. package/dist/es/ScrollMode.js +0 -1
  91. package/dist/es/StatusBar.js +0 -109
  92. package/dist/es/VirtualScroll.d.ts +0 -47
  93. package/dist/es/VirtualScroll.js +0 -243
  94. package/dist/es/VirtualScrollFixed.js +0 -153
  95. package/dist/es/cells/GridCell.d.ts +0 -3
  96. package/dist/es/cells/GridCell.js +0 -59
  97. package/dist/es/cells/GridDetailCell.js +0 -25
  98. package/dist/es/cells/GridDetailHierarchyCell.d.ts +0 -7
  99. package/dist/es/cells/GridDetailHierarchyCell.js +0 -18
  100. package/dist/es/cells/GridEditCell.d.ts +0 -6
  101. package/dist/es/cells/GridEditCell.js +0 -96
  102. package/dist/es/cells/GridFilterCell.d.ts +0 -16
  103. package/dist/es/cells/GridFilterCell.js +0 -102
  104. package/dist/es/cells/GridGroupCell.d.ts +0 -6
  105. package/dist/es/cells/GridGroupCell.js +0 -114
  106. package/dist/es/cells/GridHierarchyCell.d.ts +0 -6
  107. package/dist/es/cells/GridHierarchyCell.js +0 -77
  108. package/dist/es/cells/GridSelectionCell.d.ts +0 -6
  109. package/dist/es/cells/GridSelectionCell.js +0 -44
  110. package/dist/es/columnMenu/GridColumnMenuCheckboxFilter.d.ts +0 -118
  111. package/dist/es/columnMenu/GridColumnMenuCheckboxFilter.js +0 -328
  112. package/dist/es/columnMenu/GridColumnMenuColumnsList.d.ts +0 -27
  113. package/dist/es/columnMenu/GridColumnMenuColumnsList.js +0 -57
  114. package/dist/es/columnMenu/GridColumnMenuFilter.d.ts +0 -161
  115. package/dist/es/columnMenu/GridColumnMenuFilter.js +0 -377
  116. package/dist/es/columnMenu/GridColumnMenuFilterCell.d.ts +0 -33
  117. package/dist/es/columnMenu/GridColumnMenuFilterCell.js +0 -72
  118. package/dist/es/columnMenu/GridColumnMenuFilterUI.d.ts +0 -8
  119. package/dist/es/columnMenu/GridColumnMenuFilterUI.js +0 -48
  120. package/dist/es/columnMenu/GridColumnMenuGroup.js +0 -125
  121. package/dist/es/columnMenu/GridColumnMenuItem.js +0 -37
  122. package/dist/es/columnMenu/GridColumnMenuItemContent.js +0 -36
  123. package/dist/es/columnMenu/GridColumnMenuItemGroup.js +0 -35
  124. package/dist/es/columnMenu/GridColumnMenuSort.js +0 -189
  125. package/dist/es/columnMenu/GridColumnMenuWrapper.d.ts +0 -45
  126. package/dist/es/columnMenu/GridColumnMenuWrapper.js +0 -120
  127. package/dist/es/constants/index.js +0 -7
  128. package/dist/es/drag/ColumnDraggable.d.ts +0 -34
  129. package/dist/es/drag/ColumnDraggable.js +0 -62
  130. package/dist/es/drag/ColumnResize.js +0 -234
  131. package/dist/es/drag/CommonDragLogic.js +0 -209
  132. package/dist/es/drag/GroupingIndicator.d.ts +0 -37
  133. package/dist/es/drag/GroupingIndicator.js +0 -107
  134. package/dist/es/filterCommon.js +0 -165
  135. package/dist/es/footer/Footer.d.ts +0 -34
  136. package/dist/es/footer/Footer.js +0 -70
  137. package/dist/es/footer/FooterRow.d.ts +0 -21
  138. package/dist/es/footer/FooterRow.js +0 -75
  139. package/dist/es/header/FilterRow.d.ts +0 -34
  140. package/dist/es/header/FilterRow.js +0 -139
  141. package/dist/es/header/GridHeaderCell.d.ts +0 -52
  142. package/dist/es/header/GridHeaderCell.js +0 -101
  143. package/dist/es/header/GridHeaderSelectionCell.d.ts +0 -9
  144. package/dist/es/header/GridHeaderSelectionCell.js +0 -59
  145. package/dist/es/header/GroupPanel.d.ts +0 -22
  146. package/dist/es/header/GroupPanel.js +0 -57
  147. package/dist/es/header/Header.js +0 -112
  148. package/dist/es/header/HeaderRow.d.ts +0 -47
  149. package/dist/es/header/HeaderRow.js +0 -180
  150. package/dist/es/interfaces/GridCellProps.d.ts +0 -70
  151. package/dist/es/interfaces/GridCellProps.js +0 -2
  152. package/dist/es/interfaces/GridCellsSettings.js +0 -1
  153. package/dist/es/interfaces/GridColumnMenuBaseProps.d.ts +0 -14
  154. package/dist/es/interfaces/GridColumnMenuBaseProps.js +0 -1
  155. package/dist/es/interfaces/GridColumnMenuColumnProps.js +0 -1
  156. package/dist/es/interfaces/GridColumnMenuFilterBaseProps.js +0 -1
  157. package/dist/es/interfaces/GridColumnMenuFilterUIProps.js +0 -1
  158. package/dist/es/interfaces/GridColumnMenuGroupBaseProps.d.ts +0 -20
  159. package/dist/es/interfaces/GridColumnMenuGroupBaseProps.js +0 -1
  160. package/dist/es/interfaces/GridColumnMenuProps.js +0 -1
  161. package/dist/es/interfaces/GridColumnMenuSortBaseProps.d.ts +0 -21
  162. package/dist/es/interfaces/GridColumnMenuSortBaseProps.js +0 -1
  163. package/dist/es/interfaces/GridColumnProps.js +0 -2
  164. package/dist/es/interfaces/GridDetailRowProps.d.ts +0 -13
  165. package/dist/es/interfaces/GridDetailRowProps.js +0 -1
  166. package/dist/es/interfaces/GridFilterCellProps.d.ts +0 -65
  167. package/dist/es/interfaces/GridFilterCellProps.js +0 -1
  168. package/dist/es/interfaces/GridFilterOperator.d.ts +0 -6
  169. package/dist/es/interfaces/GridFilterOperator.js +0 -1
  170. package/dist/es/interfaces/GridFilterOperators.js +0 -1
  171. package/dist/es/interfaces/GridFooterCellProps.d.ts +0 -23
  172. package/dist/es/interfaces/GridFooterCellProps.js +0 -1
  173. package/dist/es/interfaces/GridGroupableSettings.js +0 -1
  174. package/dist/es/interfaces/GridHeaderCellProps.d.ts +0 -17
  175. package/dist/es/interfaces/GridHeaderCellProps.js +0 -1
  176. package/dist/es/interfaces/GridNoRecordsProps.d.ts +0 -10
  177. package/dist/es/interfaces/GridNoRecordsProps.js +0 -1
  178. package/dist/es/interfaces/GridProps.d.ts +0 -317
  179. package/dist/es/interfaces/GridProps.js +0 -2
  180. package/dist/es/interfaces/GridRowProps.js +0 -2
  181. package/dist/es/interfaces/GridRowType.d.ts +0 -9
  182. package/dist/es/interfaces/GridRowType.js +0 -1
  183. package/dist/es/interfaces/GridSelectableSettings.d.ts +0 -18
  184. package/dist/es/interfaces/GridSelectableSettings.js +0 -2
  185. package/dist/es/interfaces/GridSortSettings.d.ts +0 -13
  186. package/dist/es/interfaces/GridSortSettings.js +0 -19
  187. package/dist/es/interfaces/GridToolbarProps.js +0 -1
  188. package/dist/es/interfaces/VirtualScrollInterface.js +0 -1
  189. package/dist/es/interfaces/events.d.ts +0 -229
  190. package/dist/es/interfaces/events.js +0 -1
  191. package/dist/es/main.js +0 -33
  192. package/dist/es/messages/index.d.ts +0 -190
  193. package/dist/es/messages/index.js +0 -191
  194. package/dist/es/package-metadata.d.ts +0 -5
  195. package/dist/es/package-metadata.js +0 -11
  196. package/dist/es/paging/GridPagerSettings.js +0 -21
  197. package/dist/es/paging/Page.d.ts +0 -13
  198. package/dist/es/paging/Page.js +0 -1
  199. package/dist/es/rows/GridDetailRow.d.ts +0 -51
  200. package/dist/es/rows/GridDetailRow.js +0 -75
  201. package/dist/es/rows/GridRow.d.ts +0 -11
  202. package/dist/es/rows/GridRow.js +0 -64
  203. package/dist/es/utils/index.js +0 -263
  204. package/dist/npm/Grid.d.ts +0 -255
  205. package/dist/npm/Grid.js +0 -1045
  206. package/dist/npm/GridColumn.js +0 -58
  207. package/dist/npm/GridNoRecords.js +0 -66
  208. package/dist/npm/GridToolbar.js +0 -81
  209. package/dist/npm/ScrollMode.d.ts +0 -1
  210. package/dist/npm/ScrollMode.js +0 -2
  211. package/dist/npm/StatusBar.d.ts +0 -47
  212. package/dist/npm/StatusBar.js +0 -115
  213. package/dist/npm/VirtualScroll.js +0 -246
  214. package/dist/npm/VirtualScrollFixed.d.ts +0 -49
  215. package/dist/npm/VirtualScrollFixed.js +0 -156
  216. package/dist/npm/cells/GridCell.d.ts +0 -3
  217. package/dist/npm/cells/GridCell.js +0 -63
  218. package/dist/npm/cells/GridDetailCell.d.ts +0 -14
  219. package/dist/npm/cells/GridDetailCell.js +0 -29
  220. package/dist/npm/cells/GridDetailHierarchyCell.d.ts +0 -7
  221. package/dist/npm/cells/GridDetailHierarchyCell.js +0 -22
  222. package/dist/npm/cells/GridEditCell.d.ts +0 -6
  223. package/dist/npm/cells/GridEditCell.js +0 -100
  224. package/dist/npm/cells/GridFilterCell.d.ts +0 -16
  225. package/dist/npm/cells/GridFilterCell.js +0 -105
  226. package/dist/npm/cells/GridGroupCell.d.ts +0 -6
  227. package/dist/npm/cells/GridGroupCell.js +0 -118
  228. package/dist/npm/cells/GridHierarchyCell.d.ts +0 -6
  229. package/dist/npm/cells/GridHierarchyCell.js +0 -81
  230. package/dist/npm/cells/GridSelectionCell.d.ts +0 -6
  231. package/dist/npm/cells/GridSelectionCell.js +0 -48
  232. package/dist/npm/columnMenu/GridColumnMenuCheckboxFilter.js +0 -331
  233. package/dist/npm/columnMenu/GridColumnMenuColumnsList.js +0 -61
  234. package/dist/npm/columnMenu/GridColumnMenuFilter.js +0 -382
  235. package/dist/npm/columnMenu/GridColumnMenuFilterCell.js +0 -75
  236. package/dist/npm/columnMenu/GridColumnMenuFilterUI.d.ts +0 -8
  237. package/dist/npm/columnMenu/GridColumnMenuFilterUI.js +0 -51
  238. package/dist/npm/columnMenu/GridColumnMenuGroup.d.ts +0 -73
  239. package/dist/npm/columnMenu/GridColumnMenuGroup.js +0 -128
  240. package/dist/npm/columnMenu/GridColumnMenuItem.d.ts +0 -36
  241. package/dist/npm/columnMenu/GridColumnMenuItem.js +0 -40
  242. package/dist/npm/columnMenu/GridColumnMenuItemContent.d.ts +0 -20
  243. package/dist/npm/columnMenu/GridColumnMenuItemContent.js +0 -39
  244. package/dist/npm/columnMenu/GridColumnMenuItemGroup.d.ts +0 -16
  245. package/dist/npm/columnMenu/GridColumnMenuItemGroup.js +0 -38
  246. package/dist/npm/columnMenu/GridColumnMenuSort.d.ts +0 -85
  247. package/dist/npm/columnMenu/GridColumnMenuSort.js +0 -192
  248. package/dist/npm/columnMenu/GridColumnMenuWrapper.js +0 -123
  249. package/dist/npm/constants/index.d.ts +0 -6
  250. package/dist/npm/constants/index.js +0 -10
  251. package/dist/npm/drag/ColumnDraggable.js +0 -65
  252. package/dist/npm/drag/ColumnResize.d.ts +0 -33
  253. package/dist/npm/drag/ColumnResize.js +0 -237
  254. package/dist/npm/drag/CommonDragLogic.d.ts +0 -40
  255. package/dist/npm/drag/CommonDragLogic.js +0 -212
  256. package/dist/npm/drag/GroupingIndicator.js +0 -110
  257. package/dist/npm/filterCommon.d.ts +0 -69
  258. package/dist/npm/filterCommon.js +0 -175
  259. package/dist/npm/footer/Footer.js +0 -73
  260. package/dist/npm/footer/FooterRow.js +0 -78
  261. package/dist/npm/header/FilterRow.js +0 -142
  262. package/dist/npm/header/GridHeaderCell.js +0 -104
  263. package/dist/npm/header/GridHeaderSelectionCell.d.ts +0 -9
  264. package/dist/npm/header/GridHeaderSelectionCell.js +0 -62
  265. package/dist/npm/header/GroupPanel.js +0 -60
  266. package/dist/npm/header/Header.d.ts +0 -42
  267. package/dist/npm/header/Header.js +0 -115
  268. package/dist/npm/header/HeaderRow.js +0 -183
  269. package/dist/npm/interfaces/GridCellProps.js +0 -3
  270. package/dist/npm/interfaces/GridCellsSettings.d.ts +0 -111
  271. package/dist/npm/interfaces/GridCellsSettings.js +0 -3
  272. package/dist/npm/interfaces/GridColumnMenuBaseProps.d.ts +0 -14
  273. package/dist/npm/interfaces/GridColumnMenuBaseProps.js +0 -2
  274. package/dist/npm/interfaces/GridColumnMenuColumnProps.d.ts +0 -25
  275. package/dist/npm/interfaces/GridColumnMenuColumnProps.js +0 -2
  276. package/dist/npm/interfaces/GridColumnMenuFilterBaseProps.d.ts +0 -25
  277. package/dist/npm/interfaces/GridColumnMenuFilterBaseProps.js +0 -2
  278. package/dist/npm/interfaces/GridColumnMenuFilterUIProps.d.ts +0 -31
  279. package/dist/npm/interfaces/GridColumnMenuFilterUIProps.js +0 -2
  280. package/dist/npm/interfaces/GridColumnMenuGroupBaseProps.js +0 -2
  281. package/dist/npm/interfaces/GridColumnMenuProps.d.ts +0 -8
  282. package/dist/npm/interfaces/GridColumnMenuProps.js +0 -2
  283. package/dist/npm/interfaces/GridColumnMenuSortBaseProps.js +0 -2
  284. package/dist/npm/interfaces/GridColumnProps.d.ts +0 -88
  285. package/dist/npm/interfaces/GridColumnProps.js +0 -3
  286. package/dist/npm/interfaces/GridDetailRowProps.d.ts +0 -13
  287. package/dist/npm/interfaces/GridDetailRowProps.js +0 -2
  288. package/dist/npm/interfaces/GridFilterCellProps.js +0 -2
  289. package/dist/npm/interfaces/GridFilterOperator.d.ts +0 -6
  290. package/dist/npm/interfaces/GridFilterOperator.js +0 -2
  291. package/dist/npm/interfaces/GridFilterOperators.d.ts +0 -49
  292. package/dist/npm/interfaces/GridFilterOperators.js +0 -2
  293. package/dist/npm/interfaces/GridFooterCellProps.js +0 -2
  294. package/dist/npm/interfaces/GridGroupableSettings.d.ts +0 -13
  295. package/dist/npm/interfaces/GridGroupableSettings.js +0 -2
  296. package/dist/npm/interfaces/GridHeaderCellProps.js +0 -2
  297. package/dist/npm/interfaces/GridNoRecordsProps.d.ts +0 -10
  298. package/dist/npm/interfaces/GridNoRecordsProps.js +0 -2
  299. package/dist/npm/interfaces/GridProps.js +0 -3
  300. package/dist/npm/interfaces/GridRowProps.d.ts +0 -64
  301. package/dist/npm/interfaces/GridRowProps.js +0 -3
  302. package/dist/npm/interfaces/GridRowType.d.ts +0 -9
  303. package/dist/npm/interfaces/GridRowType.js +0 -2
  304. package/dist/npm/interfaces/GridSelectableSettings.js +0 -3
  305. package/dist/npm/interfaces/GridSortSettings.d.ts +0 -13
  306. package/dist/npm/interfaces/GridSortSettings.js +0 -23
  307. package/dist/npm/interfaces/GridToolbarProps.d.ts +0 -34
  308. package/dist/npm/interfaces/GridToolbarProps.js +0 -2
  309. package/dist/npm/interfaces/VirtualScrollInterface.d.ts +0 -27
  310. package/dist/npm/interfaces/VirtualScrollInterface.js +0 -2
  311. package/dist/npm/interfaces/events.js +0 -2
  312. package/dist/npm/main.d.ts +0 -51
  313. package/dist/npm/main.js +0 -90
  314. package/dist/npm/messages/index.js +0 -195
  315. package/dist/npm/package-metadata.d.ts +0 -5
  316. package/dist/npm/package-metadata.js +0 -14
  317. package/dist/npm/paging/GridPagerSettings.d.ts +0 -67
  318. package/dist/npm/paging/GridPagerSettings.js +0 -25
  319. package/dist/npm/paging/Page.d.ts +0 -13
  320. package/dist/npm/paging/Page.js +0 -2
  321. package/dist/npm/rows/GridDetailRow.js +0 -78
  322. package/dist/npm/rows/GridRow.d.ts +0 -11
  323. package/dist/npm/rows/GridRow.js +0 -67
  324. package/dist/npm/utils/index.d.ts +0 -69
  325. package/dist/npm/utils/index.js +0 -275
  326. package/dist/systemjs/kendo-react-grid.js +0 -1
  327. package/e2e-legacy/snapshots/column-menu.png +0 -0
  328. package/e2e-next/basic.tests.ts +0 -25
package/dist/npm/Grid.js DELETED
@@ -1,1045 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
29
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
- if (ar || !(i in from)) {
31
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
32
- ar[i] = from[i];
33
- }
34
- }
35
- return to.concat(ar || Array.prototype.slice.call(from));
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.Grid = void 0;
39
- var React = require("react");
40
- var PropTypes = require("prop-types");
41
- var kendo_react_common_1 = require("@progress/kendo-react-common");
42
- var kendo_react_data_tools_1 = require("@progress/kendo-react-data-tools");
43
- var GridSelectionCell_1 = require("./cells/GridSelectionCell");
44
- var GridHierarchyCell_1 = require("./cells/GridHierarchyCell");
45
- var GridEditCell_1 = require("./cells/GridEditCell");
46
- var Header_1 = require("./header/Header");
47
- var HeaderRow_1 = require("./header/HeaderRow");
48
- var FilterRow_1 = require("./header/FilterRow");
49
- var GroupPanel_1 = require("./header/GroupPanel");
50
- var Footer_1 = require("./footer/Footer");
51
- var VirtualScroll_1 = require("./VirtualScroll");
52
- var VirtualScrollFixed_1 = require("./VirtualScrollFixed");
53
- var ColumnResize_1 = require("./drag/ColumnResize");
54
- var CommonDragLogic_1 = require("./drag/CommonDragLogic");
55
- var index_1 = require("./utils/index");
56
- var GridCell_1 = require("./cells/GridCell");
57
- var GridGroupCell_1 = require("./cells/GridGroupCell");
58
- var GridRow_1 = require("./rows/GridRow");
59
- var GridHeaderSelectionCell_1 = require("./header/GridHeaderSelectionCell");
60
- var GridNoRecords_1 = require("./GridNoRecords");
61
- var filterCommon_1 = require("./filterCommon");
62
- var FooterRow_1 = require("./footer/FooterRow");
63
- var GridPagerSettings_1 = require("./paging/GridPagerSettings");
64
- var messages_1 = require("./messages");
65
- var kendo_react_common_2 = require("@progress/kendo-react-common");
66
- var package_metadata_1 = require("./package-metadata");
67
- var GridDetailCell_1 = require("./cells/GridDetailCell");
68
- var GridDetailHierarchyCell_1 = require("./cells/GridDetailHierarchyCell");
69
- /**
70
- * Represents the [KendoReact Grid component]({% slug overview_grid %}).
71
- *
72
- * @example
73
- * ```jsx
74
- * class App extends React.Component {
75
- * constructor(props) {
76
- * super(props);
77
- * this.state = {
78
- * data: [
79
- * { 'foo': 'A1', 'bar': 'B1' },
80
- * { 'foo': 'A2', 'bar': 'B2' },
81
- * { 'foo': 'A3', 'bar': 'B2' }
82
- * ]
83
- * };
84
- * }
85
- * render() {
86
- * return (
87
- * <Grid
88
- * data={this.state.data}
89
- * reorderable={true}
90
- * >
91
- * <GridColumn field="foo" />
92
- * <GridColumn field="bar" />
93
- * </Grid>
94
- * );
95
- * }
96
- * }
97
- * ReactDOM.render(<App />, document.querySelector('my-app'));
98
- * ```
99
- */
100
- var Grid = /** @class */ (function (_super) {
101
- __extends(Grid, _super);
102
- function Grid(props) {
103
- var _this = _super.call(this, props) || this;
104
- _this._columns = [];
105
- _this._columnsMap = [[]];
106
- _this._columnsMutations = 0;
107
- _this._resized = false;
108
- _this._shouldUpdateLeftRight = true;
109
- _this.contextStateRef = { current: undefined };
110
- _this.navigationStateRef = { current: undefined };
111
- _this._data = [];
112
- _this._slicedData = undefined;
113
- _this.wrapperScrollTop = 0;
114
- _this.showLicenseWatermark = false;
115
- _this.headerRef = React.createRef();
116
- _this.headerElementRef = React.createRef();
117
- _this._element = null;
118
- _this.tableElement = null;
119
- _this.containerRef = React.createRef();
120
- _this.tableBodyRef = React.createRef();
121
- _this._footer = null;
122
- _this.forceUpdateTimeout = undefined;
123
- _this.isRtl = false;
124
- _this._gridId = (0, kendo_react_common_1.guid)();
125
- _this._gridRoleElementId = (0, kendo_react_common_1.guid)(); // Needed for aria-control accessibility attribute
126
- _this.observer = null;
127
- _this.handleIntersection = function (entries) {
128
- var options = { rowIndex: _this.rowIndex };
129
- entries.forEach(function (entry) {
130
- if (!entry.isIntersecting) {
131
- _this.setCurrentOnTop(options);
132
- }
133
- });
134
- };
135
- _this.setCurrentOnTop = function (options) {
136
- if (!_this.vs.container || _this.props.scrollable === 'none') {
137
- return;
138
- }
139
- if (_this.observer) {
140
- _this.observer.disconnect();
141
- }
142
- var rowIndex = options.rowIndex;
143
- if (_this.props.scrollable === 'virtual') {
144
- _this.vs.askedSkip = rowIndex;
145
- _this.vs.container.scroll(0, Math.round(_this.vs.askedSkip / _this.vs.total * _this.vs.container.scrollHeight));
146
- }
147
- else if (_this.element) {
148
- var selectedRow = rowIndex < 1
149
- ? _this.element.querySelector("tbody > tr:nth-child(".concat(1, ")"))
150
- : _this.element.querySelector("tbody > tr:nth-child(".concat(rowIndex + 1, ")"));
151
- if (selectedRow && _this.containerRef.current) {
152
- _this.containerRef.current.scrollTop = selectedRow.offsetTop;
153
- }
154
- }
155
- };
156
- /**
157
- * Method to allow the scroll to be set to a specific row index when the Grid is scrollable. It is zero based.
158
- *
159
- * @param options - Object, containing the rowIndex to which is going to be scrolled.
160
- */
161
- _this.scrollIntoView = function (options) {
162
- if (!_this.vs.container || _this.props.scrollable === 'none') {
163
- return;
164
- }
165
- _this.rowIndex = options.rowIndex;
166
- var rowIndex = options.rowIndex;
167
- var element = _this.element;
168
- if (_this.observer && element) {
169
- _this.observer.disconnect();
170
- var target = element.querySelector("[absolute-row-index=\"".concat(rowIndex, "\"]"));
171
- if (target) {
172
- _this.observer.observe(target);
173
- }
174
- else {
175
- _this.setCurrentOnTop(options);
176
- }
177
- }
178
- };
179
- /**
180
- * Method to fit columns according to their content.
181
- *
182
- * @param columnIds - Array of column ids to be fitted.
183
- */
184
- _this.fitColumns = function (columnIds) {
185
- _this.columnResize.dblClickHandler(null, columnIds);
186
- };
187
- _this.onContextMenu = function (event, dataItem, field) {
188
- if (_this.props.onContextMenu) {
189
- var ev = {
190
- target: _this,
191
- syntheticEvent: event,
192
- nativeEvent: event.nativeEvent,
193
- dataItem: dataItem,
194
- field: field
195
- };
196
- _this.props.onContextMenu.call(undefined, ev);
197
- }
198
- };
199
- _this.getVirtualScroll = function (props) {
200
- var rowHeight = props.rowHeight, detailRowHeight = props.detailRowHeight, detail = props.detail, expandField = props.expandField, groupable = props.groupable;
201
- var hasAllData = _this.isAllData();
202
- var hasRowHeight = rowHeight !== undefined && rowHeight > 0;
203
- var hasDetailRowHeight = detailRowHeight !== undefined && detailRowHeight > 0;
204
- var isGroupable = groupable === true || (typeof groupable === 'object' && groupable.enabled !== false);
205
- var hasDetails = Boolean(detail && expandField);
206
- if (!hasRowHeight ||
207
- (isGroupable && !hasAllData) ||
208
- (hasDetails && (!hasDetailRowHeight || !hasAllData))) {
209
- return VirtualScroll_1.VirtualScroll;
210
- }
211
- return VirtualScrollFixed_1.VirtualScrollFixed;
212
- };
213
- _this.isAllData = function () {
214
- var _a = _this.props, data = _a.data, total = _a.total;
215
- if (Array.isArray(data)) {
216
- return data.length === total;
217
- }
218
- else if (data) {
219
- return total === data.total;
220
- }
221
- return false;
222
- };
223
- _this.initializeVirtualization = function (total, groupable) {
224
- _this.reInitVirtualization(_this.props.scrollable === 'virtual', _this.props.total, _this.props.filter, _this.props.group, _this.props.sort, groupable || _this.props.rowHeight === undefined || _this.props.rowHeight === 0);
225
- _this.vs.fixedScroll = _this.props.fixedScroll || false;
226
- _this.vs.PageChange = _this.pageChange;
227
- _this.vs.realSkip = _this.props.skip || 0;
228
- _this.vs.pageSize = (_this.props.take !== undefined ? _this.props.take : _this.props.pageSize) || 0;
229
- _this.vs.scrollableVirtual = (_this.props.scrollable === 'virtual');
230
- _this.vs.total = total;
231
- _this.vs.propsSkip = (_this.props.skip || 0) + (_this.props.scrollable === 'virtual' ?
232
- _this.vs.topCacheCount + (_this.vs.attendedSkip - (_this.props.skip || 0)) : 0);
233
- if (_this.props.rowHeight !== undefined && _this.props.rowHeight > 0 && !groupable) {
234
- var containerHeight = _this.props.rowHeight * total;
235
- _this.vs.containerHeight = index_1.firefox ? Math.min(index_1.firefoxMaxHeight, containerHeight) : containerHeight;
236
- }
237
- else {
238
- _this.vs.containerHeight = 1533915;
239
- }
240
- _this.vs.containerRef = _this.containerRef;
241
- _this.vs.tableBodyRef = _this.tableBodyRef;
242
- _this.vs.table = _this.tableElement;
243
- _this._slicedData = undefined;
244
- if (_this.vs instanceof VirtualScrollFixed_1.VirtualScrollFixed) {
245
- var _a = _this.props, _b = _a.rowHeight, rowHeight = _b === void 0 ? 0 : _b, detail = _a.detail, expandField = _a.expandField;
246
- var _c = _this.props.detailRowHeight, detailRowHeight = _c === void 0 ? 0 : _c;
247
- detailRowHeight = Boolean(detail && expandField) ? detailRowHeight : rowHeight;
248
- if (_this.isAllData()) {
249
- _this.vs.total = _this._data.length;
250
- _this._slicedData = _this._data.slice(_this.vs.realSkip, _this.vs.realSkip + _this.vs.pageSize);
251
- _this.vs.rowHeightService = _this.rowHeightService(_this.vs, _this._data.length, rowHeight, detailRowHeight, _this._data);
252
- }
253
- else {
254
- _this.vs.rowHeightService = new VirtualScrollFixed_1.RowHeightService(total, rowHeight, detailRowHeight);
255
- }
256
- var containerHeight = _this.vs.rowHeightService.totalHeight();
257
- _this.vs.containerHeight = index_1.firefox ? Math.min(index_1.firefoxMaxHeight, containerHeight) : containerHeight;
258
- }
259
- };
260
- _this.scrollHandler = function (event) {
261
- if (event.target !== event.currentTarget) {
262
- return;
263
- }
264
- clearTimeout(_this.forceUpdateTimeout);
265
- _this.vs.table = _this.tableElement;
266
- var scrollLeft = event.currentTarget.scrollLeft;
267
- var scrollTop = event.currentTarget.scrollTop;
268
- if (_this.props.columnVirtualization && (!_this.vs.scrollableVirtual || scrollTop === _this.wrapperScrollTop)) {
269
- _this.forceUpdateTimeout = window.setTimeout(function () { _this.forceUpdate(); }, 0);
270
- }
271
- if (_this._header) {
272
- _this._header.setScrollLeft(scrollLeft);
273
- }
274
- if (_this._footer) {
275
- _this._footer.setScrollLeft(scrollLeft);
276
- }
277
- if (_this.vs && scrollTop !== _this.wrapperScrollTop) {
278
- _this.vs.scrollHandler(event);
279
- }
280
- (0, kendo_react_common_1.dispatchEvent)(_this.props.onScroll, event, _this, undefined);
281
- _this.wrapperScrollTop = scrollTop;
282
- };
283
- _this.onKeyDown = function (event) {
284
- kendo_react_data_tools_1.tableKeyboardNavigation.onKeyDown(event, {
285
- contextStateRef: _this.contextStateRef,
286
- navigationStateRef: _this.navigationStateRef,
287
- onNavigationAction: _this.onNavigationAction
288
- });
289
- if (_this.props.onKeyDown) {
290
- var _a = (0, kendo_react_data_tools_1.getSelectionOptions)(_this.props.selectable), mode = _a.mode, cell = _a.cell;
291
- var ev = __assign({ dataItems: _this.getLeafDataItems(), mode: mode, cell: cell, componentId: _this._gridId, selectedField: _this.props.selectedField }, _this.getArguments(event));
292
- _this.props.onKeyDown.call(undefined, ev);
293
- }
294
- };
295
- _this.onFocus = function (event) {
296
- kendo_react_data_tools_1.tableKeyboardNavigation.onFocus(event, {
297
- contextStateRef: _this.contextStateRef
298
- });
299
- };
300
- _this.onNavigationAction = function (options) {
301
- if (_this.props.onNavigationAction) {
302
- var ev = __assign({ focusElement: options.focusElement }, _this.getArguments(options.event));
303
- _this.props.onNavigationAction.call(undefined, ev);
304
- }
305
- };
306
- _this.rowClick = function (e, item) {
307
- if (_this.props.onRowClick && e.target.nodeName === 'TD') {
308
- _this.props.onRowClick.call(undefined, __assign({ dataItem: item.dataItem }, _this.getArguments(e)));
309
- }
310
- };
311
- _this.rowDblClick = function (e, item) {
312
- if (_this.props.onRowDoubleClick && e.target.nodeName === 'TD') {
313
- _this.props.onRowDoubleClick.call(undefined, __assign({ dataItem: item.dataItem }, _this.getArguments(e)));
314
- }
315
- };
316
- _this.itemChange = function (event) {
317
- var itemChange = _this.props.onItemChange;
318
- if (event.field === _this.props.expandField || _this.props.group && event.field === undefined) {
319
- var expandChange = _this.props.onExpandChange;
320
- if (expandChange) {
321
- expandChange.call(undefined, __assign(__assign({}, _this.getArguments(event.syntheticEvent)), { dataItem: event.dataItem, dataIndex: event.dataIndex, value: event.value }));
322
- }
323
- return;
324
- }
325
- if (itemChange) {
326
- itemChange.call(undefined, __assign(__assign({}, _this.getArguments(event.syntheticEvent)), { dataItem: event.dataItem, field: event.field, value: event.value }));
327
- }
328
- };
329
- _this.onHeaderSelectionChange = function (event) {
330
- if (_this.props.onHeaderSelectionChange) {
331
- _this.props.onHeaderSelectionChange.call(undefined, {
332
- field: event.field,
333
- nativeEvent: event.syntheticEvent && event.syntheticEvent.nativeEvent,
334
- syntheticEvent: event.syntheticEvent,
335
- target: _this,
336
- dataItems: _this.getLeafDataItems(),
337
- selectedField: _this.props.selectedField
338
- });
339
- }
340
- };
341
- _this.selectionRelease = function (event) {
342
- if (_this.props.onSelectionChange) {
343
- var selectionEvent = __assign({ syntheticEvent: undefined, target: _this, selectedField: _this.props.selectedField || '', componentId: _this._gridId, dataItems: _this.getLeafDataItems(), dataItem: null }, event);
344
- _this.props.onSelectionChange.call(undefined, selectionEvent);
345
- }
346
- };
347
- _this.pageChange = function (page, syntheticEvent, targetEvent) {
348
- _this.raiseDataEvent(_this.props.onPageChange, { page: page }, { skip: page.skip, take: page.take }, syntheticEvent, targetEvent);
349
- };
350
- _this.pagerPageChange = function (event) {
351
- _this.pageChange({ skip: event.skip, take: event.take }, event.syntheticEvent, event.targetEvent);
352
- };
353
- _this.sortChange = function (sort, syntheticEvent) {
354
- _this.raiseDataEvent(_this.props.onSortChange, { sort: sort }, __assign({ sort: sort }, (_this.props.scrollable === 'virtual' ? { skip: 0 } : {})), syntheticEvent);
355
- };
356
- _this.filterChange = function (filter, syntheticEvent) {
357
- _this.raiseDataEvent(_this.props.onFilterChange, { filter: filter }, { filter: filter || undefined, skip: 0 }, syntheticEvent);
358
- };
359
- _this.groupChange = function (groups, event) {
360
- var syntheticEvent = event.nativeEvent ?
361
- event : { nativeEvent: event.nativeEvent || event.originalEvent };
362
- _this.raiseDataEvent(_this.props.onGroupChange, { group: groups }, { group: groups, skip: 0 }, syntheticEvent);
363
- };
364
- _this.onResize = function (index, newWidth, oldWidth, nativeEvent, end, targetId) {
365
- _this.resetTableWidth();
366
- _this._shouldUpdateLeftRight = true;
367
- _this._resized = true;
368
- _this._columnsMutations++;
369
- if (_this.props.onColumnResize) {
370
- _this.props.onColumnResize.call(undefined, {
371
- columns: _this.columns,
372
- nativeEvent: nativeEvent,
373
- targetColumnId: targetId,
374
- index: index,
375
- newWidth: newWidth,
376
- oldWidth: oldWidth,
377
- end: end,
378
- target: _this
379
- });
380
- }
381
- };
382
- _this.reInitVirtualization = (0, kendo_react_common_1.memoizeOne)(function (_vScrolling, _total, _filter, _group, _sort, useCached) {
383
- _this.vs.reset();
384
- var VS = _this.getVirtualScroll(_this.props);
385
- _this.vs = new VS(useCached);
386
- });
387
- _this.flatData = (0, kendo_react_common_1.memoizeOne)(function (propsData, groupingFooter, skip, group, expandField, _filter, _sort) {
388
- var flattedData = [];
389
- var resolvedGroupsCount = (0, index_1.flatData)(flattedData, propsData, groupingFooter, { index: skip }, group !== undefined, expandField);
390
- return { flattedData: flattedData, resolvedGroupsCount: resolvedGroupsCount };
391
- });
392
- _this.rowHeightService = (0, kendo_react_common_1.memoizeOne)(function (_vs, total, rowHeight, detailRowHeight, data) {
393
- return new VirtualScrollFixed_1.RowHeightService(total, rowHeight, detailRowHeight, data);
394
- });
395
- _this.childrenToArray = (0, kendo_react_common_1.memoizeOne)(function (children) {
396
- return React.Children.toArray(children);
397
- });
398
- _this.readColumns = (0, kendo_react_common_1.memoizeOne)(function (children, idPrefix, _mutationsCount) {
399
- var columnElements = children.filter(function (child) { return child && child.type && child.type.displayName === 'KendoReactGridColumn'; });
400
- return (0, index_1.readColumns)(columnElements, _this.columns, { prevId: 0, idPrefix: idPrefix });
401
- });
402
- _this.mapColumns = (0, kendo_react_common_1.memoizeOne)(function (columns) {
403
- return (0, kendo_react_data_tools_1.mapColumns)(columns);
404
- });
405
- _this.configureColumns = (0, kendo_react_common_1.memoizeOne)(function (columns, groupCount, idPrefix) {
406
- if (_this.props.selectedField) {
407
- columns.filter(function (c) { return c.field === _this.props.selectedField; }).forEach(function (c) {
408
- c.width = c.width || '50px';
409
- c.cell = c.cell || GridSelectionCell_1.GridSelectionCell;
410
- c.headerCell = c.headerCell || GridHeaderSelectionCell_1.GridHeaderSelectionCell;
411
- });
412
- }
413
- var defaultServiceProps = {
414
- id: '',
415
- resizable: true,
416
- width: '32px',
417
- title: ' ',
418
- declarationIndex: -1,
419
- orderIndex: -1,
420
- children: [],
421
- parentIndex: -1,
422
- depth: 0,
423
- colSpan: 0,
424
- rowSpan: 0,
425
- left: 0,
426
- right: 0,
427
- index: 0,
428
- rightBorder: false,
429
- ariaColumnIndex: 0,
430
- isAccessible: true
431
- };
432
- var columnIndexOffset = 0;
433
- if (_this.props.expandField && (_this.props.onExpandChange) && _this.props.detail) {
434
- columns.unshift(__assign(__assign({}, defaultServiceProps), { cell: GridHierarchyCell_1.GridHierarchyCell, field: _this.props.expandField, headerClassName: 'k-hierarchy-cell k-header', id: kendo_react_data_tools_1.tableKeyboardNavigationTools.generateNavigatableId("".concat(_this._columns.length), idPrefix, 'column') }));
435
- columnIndexOffset++;
436
- }
437
- for (var i = 0; i < groupCount; i++) {
438
- columns.unshift(__assign(__assign({}, defaultServiceProps), { isAccessible: false, cell: GridGroupCell_1.GridGroupCell, field: 'value', locked: _this.props.lockGroups }));
439
- columnIndexOffset++;
440
- }
441
- columns.slice(columnIndexOffset).forEach(function (c) { return c.parentIndex >= 0 && (c.parentIndex += columnIndexOffset); });
442
- });
443
- _this.getHeaderRow = (0, kendo_react_common_1.memoizeOne)(function (sort, sortable, group, groupable, filter, filterable, filterOperators, headerCellRender, columnMenu, columns, columnsMap, isHeaderRtl) {
444
- return (React.createElement(HeaderRow_1.HeaderRow, { cells: _this.props.cells, sort: sort, sortable: sortable, sortChange: _this.sortChange, group: group || [], groupable: groupable, groupChange: _this.groupChange, filter: filter, filterable: filterable, filterOperators: filterOperators, filterChange: _this.filterChange, columnMenu: columnMenu, selectionChange: _this.onHeaderSelectionChange, columns: columns, columnResize: _this.columnResize, pressHandler: _this.dragLogic.pressHandler, dragHandler: _this.dragLogic.dragHandler, releaseHandler: _this.dragLogic.releaseHandler, columnsMap: columnsMap, cellRender: headerCellRender, isRtl: isHeaderRtl, dragClue: _this.dragLogic.dragClueRef, headerRef: _this.headerElementRef, containerRef: _this.containerRef }));
445
- });
446
- _this.resolveTitle = function (field) {
447
- var column = _this._columns.find(function (c) { return c.field === field; });
448
- var title = column && (column.title || column.field);
449
- return title === undefined ? field : title;
450
- };
451
- _this.getLeafDataItems = function () {
452
- return _this._data.filter(function (item) { return item.rowType === 'data'; }).map(function (item) { return item.dataItem; });
453
- };
454
- (0, kendo_react_common_2.validatePackage)(package_metadata_1.packageMetadata);
455
- _this.showLicenseWatermark = (0, kendo_react_common_2.shouldShowValidationUI)(package_metadata_1.packageMetadata);
456
- var groupable = _this.props.groupable === true ||
457
- (typeof _this.props.groupable === 'object') && _this.props.groupable.enabled !== false;
458
- var VS = _this.getVirtualScroll(props);
459
- _this.vs = new VS(groupable || props.rowHeight === undefined || props.rowHeight === 0);
460
- _this.dragLogic = new CommonDragLogic_1.CommonDragLogic(_this.columnReorder.bind(_this), _this.groupReorder.bind(_this), _this.columnToGroup.bind(_this));
461
- _this.columnResize = new ColumnResize_1.ColumnResize(_this.onResize);
462
- kendo_react_data_tools_1.tableKeyboardNavigation.onConstructor({
463
- navigatable: Boolean(props.navigatable),
464
- contextStateRef: _this.contextStateRef,
465
- navigationStateRef: _this.navigationStateRef,
466
- idPrefix: _this._gridId
467
- });
468
- return _this;
469
- }
470
- Object.defineProperty(Grid.prototype, "columns", {
471
- /* eslint-disable max-len */
472
- /**
473
- * A getter of the current columns. Gets the current column width or current columns, or any other [`GridColumnProps`]({% slug api_grid_gridcolumnprops %}) for each defined column. Can be used on each Grid instance. To obtain the instance of the rendered Grid, use the `ref` callback. The following example demonstrates how to reorder the columns by dragging their handlers and check the properties afterwards. You can check the result in the browser console.
474
- *
475
- * @example
476
- * ```jsx
477
- * class App extends React.Component {
478
- * constructor(props) {
479
- * super(props);
480
- * this.state = {
481
- * data: [
482
- * { 'foo': 'A1', 'bar': 'B1' },
483
- * { 'foo': 'A2', 'bar': 'B2' },
484
- * { 'foo': 'A3', 'bar': 'B2' }
485
- * ]
486
- * };
487
- * this.grid = null;
488
- * }
489
- * render() {
490
- * return (
491
- * <div>
492
- * <Grid
493
- * data={this.state.data}
494
- * reorderable={true}
495
- * ref={(g) => { this.grid = g; }}
496
- * >
497
- * <GridColumn field="foo" />
498
- * <GridColumn field="bar" />
499
- * </Grid>
500
- * <button onClick={() => console.log(JSON.stringify(this.grid.columns))}>
501
- * log current properties into browser console.
502
- * </button>
503
- * </div>
504
- * );
505
- * }
506
- * }
507
- * ReactDOM.render(<App />, document.querySelector('my-app'));
508
- * ```
509
- */
510
- // tslint:enable:max-line-length
511
- get: function () {
512
- var shuffledColumns = this._columns.filter(function (q) { return q.declarationIndex >= 0 && q.parentIndex === -1; });
513
- return (0, index_1.sanitizeColumns)(shuffledColumns);
514
- },
515
- enumerable: false,
516
- configurable: true
517
- });
518
- Object.defineProperty(Grid.prototype, "element", {
519
- /**
520
- * Returns the HTML element of the Grid component.
521
- */
522
- get: function () {
523
- return this._element;
524
- },
525
- enumerable: false,
526
- configurable: true
527
- });
528
- Object.defineProperty(Grid.prototype, "document", {
529
- get: function () {
530
- if (!kendo_react_common_1.canUseDOM) {
531
- return;
532
- }
533
- // useful only for user actions
534
- return (this.element && this.element.ownerDocument) || document;
535
- },
536
- enumerable: false,
537
- configurable: true
538
- });
539
- Object.defineProperty(Grid.prototype, "_header", {
540
- get: function () {
541
- return this.headerRef.current;
542
- },
543
- enumerable: false,
544
- configurable: true
545
- });
546
- /**
547
- * @hidden
548
- */
549
- Grid.prototype.componentDidMount = function () {
550
- this.resetTableWidth();
551
- (0, kendo_react_common_1.setScrollbarWidth)();
552
- var rtl = (0, kendo_react_data_tools_1.isRtl)(this.element);
553
- this.isRtl = rtl;
554
- kendo_react_data_tools_1.tableKeyboardNavigation.onComponentDidMount({
555
- scope: this.element || undefined,
556
- contextStateRef: this.contextStateRef,
557
- navigationStateRef: this.navigationStateRef
558
- });
559
- if (this.isRtl) {
560
- this.forceUpdate();
561
- }
562
- var observerOptions = {
563
- rootMargin: '0px',
564
- threshold: 0.9
565
- };
566
- this.observer = (kendo_react_common_1.canUseDOM && window.IntersectionObserver &&
567
- new window.IntersectionObserver(this.handleIntersection, observerOptions) || null);
568
- };
569
- /**
570
- * @hidden
571
- */
572
- Grid.prototype.getSnapshotBeforeUpdate = function () {
573
- kendo_react_data_tools_1.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({
574
- document: this.document,
575
- contextStateRef: this.contextStateRef,
576
- navigationStateRef: this.navigationStateRef
577
- });
578
- return null;
579
- };
580
- /**
581
- * @hidden
582
- */
583
- Grid.prototype.componentDidUpdate = function () {
584
- this.resetTableWidth();
585
- (0, kendo_react_common_1.setScrollbarWidth)();
586
- if (this.vs.tableTransform && this.vs.table) {
587
- this.vs.table.style.transform = this.vs.tableTransform;
588
- this.vs.tableTransform = '';
589
- }
590
- kendo_react_data_tools_1.tableKeyboardNavigation.onComponentDidUpdate({
591
- scope: this.element || undefined,
592
- contextStateRef: this.contextStateRef,
593
- navigationStateRef: this.navigationStateRef
594
- });
595
- };
596
- /**
597
- * @hidden
598
- */
599
- Grid.prototype.componentWillUnmount = function () {
600
- clearTimeout(this.forceUpdateTimeout);
601
- };
602
- /**
603
- * @hidden
604
- */
605
- Grid.prototype.render = function () {
606
- var _a, _b, _c, _d;
607
- var _this = this;
608
- var _e;
609
- var total = this.props.total || 0;
610
- var idPrefix = kendo_react_data_tools_1.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);
611
- var propsData = [];
612
- if (Array.isArray(this.props.data)) {
613
- propsData = this.props.data;
614
- total = total || this.props.data.length;
615
- }
616
- else if (this.props.data) {
617
- propsData = this.props.data.data;
618
- total = total || this.props.data.total;
619
- }
620
- var groupingFooter = (typeof this.props.groupable === 'object') && this.props.groupable.footer || 'none';
621
- var _f = this.flatData(propsData, groupingFooter, this.props.skip || 0, this.props.group, this.props.expandField, this.props.filter, this.props.sort), resolvedGroupsCount = _f.resolvedGroupsCount, flattedData = _f.flattedData;
622
- this._data = flattedData;
623
- var groupable = this.props.groupable === true ||
624
- (typeof this.props.groupable === 'object') && this.props.groupable.enabled !== false;
625
- this.columnResize.resizable = this.props.resizable || false;
626
- this.dragLogic.reorderable = this.props.reorderable || false;
627
- this.dragLogic.groupable = groupable;
628
- var tableUserSelect = this.props.selectable && this.props.selectable.drag ? 'none' : undefined;
629
- this.initializeVirtualization(total, groupable);
630
- var children = this.childrenToArray(this.props.children);
631
- this.initColumns(children, resolvedGroupsCount);
632
- var toolbar = children.map(function (child) {
633
- if (child && child.type && child.type.displayName === 'KendoReactGridToolbar') {
634
- return React.cloneElement(child, __assign(__assign({}, child.props), { ariaControls: _this._gridRoleElementId }));
635
- }
636
- return null;
637
- });
638
- var noRecords = children.filter(function (child) { return child && child.type &&
639
- child.type.displayName === 'KendoReactGridNoRecords'; });
640
- var statusBar = children.filter(function (child) { return child && child.type &&
641
- child.type.displayName === 'KendoReactGridStatusBar'; });
642
- var leafColumns = this._columns.filter(function (c) { return c.children.length === 0; });
643
- var groupingPanel = groupable && (React.createElement(GroupPanel_1.GroupPanel, { group: this.props.group || [], groupChange: this.groupChange, pressHandler: this.dragLogic.pressHandler, dragHandler: this.dragLogic.dragHandler, releaseHandler: this.dragLogic.releaseHandler, refCallback: this.dragLogic.refGroupPanelDiv, resolveTitle: this.resolveTitle, ariaControls: this._gridRoleElementId, onContextMenu: this.onContextMenu }));
644
- var _g = this.props, sort = _g.sort, sortable = _g.sortable, group = _g.group, filter = _g.filter, filterable = _g.filterable, _h = _g.filterOperators, filterOperators = _h === void 0 ? filterCommon_1.operators : _h, headerCellRender = _g.headerCellRender, columnMenu = _g.columnMenu;
645
- var header = (React.createElement(Header_1.Header, { size: this.props.size, columnResize: this.columnResize, staticHeaders: this.props.scrollable !== 'none', scrollableDataElement: function () { return _this.vs.container; }, draggable: this.props.reorderable || groupable, ref: this.headerRef, elemRef: this.headerElementRef, headerRow: this.getHeaderRow(sort, sortable, group, groupable, filter, filterable, filterOperators, headerCellRender, columnMenu, this._columns, this._columnsMap, this.isRtl), filterRow: this.props.filterable && React.createElement(FilterRow_1.FilterRow, { cells: this.props.cells, size: this.props.size, columns: this._columns, filter: this.props.filter, filterOperators: this.props.filterOperators || filterCommon_1.operators, filterChange: this.filterChange, sort: this.props.sort, cellRender: this.props.filterCellRender, isRtl: this.isRtl, ariaRowIndex: this._columnsMap.length + 1 }) || undefined, cols: leafColumns.map(function (column, index) { return (React.createElement("col", { key: index.toString(), width: (0, index_1.getColumnWidth)(column) })); }) }));
646
- var scrollLeft = this.vs && this.vs.container && this.vs.container.scrollLeft || 0;
647
- var tableWidth = parseFloat(((this.props.style || {}).width || '').toString());
648
- var _j = (0, kendo_react_data_tools_1.tableColumnsVirtualization)({
649
- enabled: this.props.columnVirtualization,
650
- columns: leafColumns,
651
- tableViewPortWidth: tableWidth,
652
- scrollLeft: scrollLeft
653
- }), colSpans = _j.colSpans, isColHidden = _j.hiddenColumns;
654
- var dataRow = function (item, rowId, rowDataIndex) {
655
- var isInEdit = false;
656
- var selectedValue = _this.props.selectedField ? (0, index_1.getNestedValue)(_this.props.selectedField, item.dataItem) : undefined;
657
- return {
658
- row: leafColumns.map(function (column, columnIndex) {
659
- if (isColHidden[columnIndex]) {
660
- return null;
661
- }
662
- var columnKey = column.id ? column.id : columnIndex;
663
- var className = "".concat(column.className ? column.className + ' ' : '')
664
- + "".concat(column.locked ? 'k-grid-content-sticky' : '');
665
- var style = column.left !== undefined
666
- ? !_this.isRtl
667
- ? { left: column.left, right: column.right }
668
- : { left: column.right, right: column.left }
669
- : {};
670
- var currentColumnIsInEdit = false;
671
- if (column.editable && _this.props.editField) {
672
- var inEdit = (0, index_1.getNestedValue)(_this.props.editField, item.dataItem);
673
- if (inEdit && (inEdit === true || inEdit === column.field)) {
674
- isInEdit = true;
675
- currentColumnIsInEdit = true;
676
- }
677
- }
678
- var Cell = column.cell || (currentColumnIsInEdit && GridEditCell_1.GridEditCell) || GridCell_1.GridCell;
679
- return (React.createElement(Cell, { onContextMenu: _this.onContextMenu, key: columnKey, locked: _this.props.lockGroups, id: kendo_react_data_tools_1.tableKeyboardNavigationTools.generateNavigatableId("".concat(rowId, "-").concat(String(columnIndex)), idPrefix), colSpan: colSpans[columnIndex], dataItem: item.dataItem, field: column.field, editor: column.editor, format: column.format, className: className, render: _this.props.cellRender, cells: (0, index_1.resolveCells)(_this.props.cells, column.cells), onChange: _this.itemChange, selectionChange: (_this.props.onSelectionChange) ?
680
- (function (e) { _this.selectionChange({ event: e, dataItem: item.dataItem, dataIndex: rowDataIndex, columnIndex: columnIndex }); }) :
681
- undefined, columnIndex: columnIndex, columnsCount: leafColumns.length, rowType: item.rowType, level: item.level, expanded: item.expanded, dataIndex: item.dataIndex, style: style, ariaColumnIndex: column.ariaColumnIndex, isSelected: Array.isArray(selectedValue) && selectedValue.indexOf(columnIndex) > -1 }));
682
- }),
683
- isInEdit: isInEdit,
684
- isSelected: typeof selectedValue === 'boolean' && selectedValue
685
- };
686
- };
687
- var hiddenRows = 0;
688
- if (this.props.scrollable === 'virtual') {
689
- for (var i = 0; i < this.vs.topCacheCount + this.vs.attendedSkip - (this.props.skip || 0); i++) {
690
- var item = this._data.shift();
691
- if (item) {
692
- this._data.push(item);
693
- hiddenRows++;
694
- if (item.rowType === 'groupHeader') {
695
- i--;
696
- }
697
- }
698
- else {
699
- break;
700
- }
701
- }
702
- }
703
- var hidden = function (index) {
704
- return (index >= _this._data.length - hiddenRows);
705
- };
706
- var absoluteDataIndex = this.vs.realSkip || 0;
707
- var body = [];
708
- var rowIndexStart = this._columnsMap.length + (this.props.filterable ? 1 : 0) + 1;
709
- var currentAriaRowIndex = 0;
710
- if (this._data.length) {
711
- var dataIndex_1 = -1;
712
- var detailRowCount_1 = 0;
713
- (this._slicedData || this._data).forEach(function (item, rowIndex) {
714
- if (item.rowType === 'data') {
715
- absoluteDataIndex++;
716
- dataIndex_1++;
717
- }
718
- var isAlt = absoluteDataIndex % 2 === 0;
719
- var dataItemKey = _this.props.dataItemKey && (0, kendo_react_common_1.getter)(_this.props.dataItemKey)(item.dataItem);
720
- var absoluteIndex = rowIndex + (_this.vs.realSkip || 0);
721
- var rowId = dataItemKey ? dataItemKey : 'ai' + absoluteIndex;
722
- var detailRowId = rowId + '_1';
723
- var gridRow = dataRow(item, rowId, dataIndex_1);
724
- currentAriaRowIndex = absoluteIndex + rowIndexStart + detailRowCount_1;
725
- body.push((React.createElement(GridRow_1.GridRow, { key: rowId, dataItem: item.dataItem, isAltRow: isAlt, isInEdit: gridRow.isInEdit, rowType: item.rowType, isHidden: hidden(rowIndex), onClick: function (e) { return _this.rowClick(e, item); }, onDoubleClick: function (e) { return _this.rowDblClick(e, item); }, selectedField: _this.props.selectedField, rowHeight: _this.props.rowHeight, render: _this.props.rowRender, ariaRowIndex: currentAriaRowIndex, absoluteRowIndex: absoluteIndex, dataIndex: dataIndex_1, isSelected: gridRow.isSelected }, gridRow.row)));
726
- if (_this.props.detail && item.rowType === 'data' && item.expanded) {
727
- var detailColspan = (leafColumns.length
728
- - (_this.props.expandField ? 1 : 0)
729
- - (_this.props.group ? _this.props.group.length : 0)) || 1;
730
- detailRowCount_1++;
731
- currentAriaRowIndex = absoluteIndex + rowIndexStart + detailRowCount_1;
732
- body.push((React.createElement("tr", { key: detailRowId, className: (0, kendo_react_common_1.classNames)('k-table-row', isAlt ? 'k-detail-row k-table-alt-row k-alt' : 'k-detail-row'), style: { visibility: hidden(rowIndex) ? 'hidden' : '', height: _this.props.detailRowHeight }, role: "row", "aria-rowindex": currentAriaRowIndex },
733
- _this.props.group && _this.props.group.map(function (gr, idx) {
734
- var _a;
735
- var columnStyle = (_a = gridRow === null || gridRow === void 0 ? void 0 : gridRow.row[idx]) === null || _a === void 0 ? void 0 : _a.props.style;
736
- var style = columnStyle
737
- ? !_this.isRtl
738
- ? { left: columnStyle.left, right: columnStyle.right }
739
- : { left: columnStyle.right, right: columnStyle.left }
740
- : {};
741
- return (React.createElement(GridGroupCell_1.GridGroupCell, { id: '', dataIndex: item.dataIndex, field: gr.field, dataItem: item.dataItem, key: idx, style: style, ariaColumnIndex: 1 + idx, isSelected: false, locked: _this.props.lockGroups, isRtl: _this.isRtl, cells: _this.props.cells }));
742
- }),
743
- _this.props.expandField &&
744
- React.createElement(GridDetailHierarchyCell_1.GridDetailHierarchyCell, { id: kendo_react_data_tools_1.tableKeyboardNavigationTools.generateNavigatableId("".concat(detailRowId, "-dhcell"), idPrefix) }),
745
- React.createElement(GridDetailCell_1.GridDetailCell, { onContextMenu: _this.onContextMenu, dataItem: item.dataItem, dataIndex: item.dataIndex, colSpan: detailColspan, ariaColIndex: 2 + (_this.props.group ? _this.props.group.length : 0), detail: _this.props.detail, id: kendo_react_data_tools_1.tableKeyboardNavigationTools.generateNavigatableId("".concat(detailRowId, "-dcell"), idPrefix) }))));
746
- }
747
- });
748
- }
749
- else {
750
- body.push((React.createElement("tr", { key: "no-records", className: "k-table-row k-grid-norecords", role: 'row', "aria-rowindex": rowIndexStart },
751
- React.createElement("td", { className: 'k-table-td', colSpan: leafColumns.length, role: 'gridcell' }, noRecords.length ? noRecords : React.createElement(GridNoRecords_1.GridNoRecords, null)))));
752
- }
753
- var pagerProps = __assign({ size: this.props.size, onPageChange: this.pagerPageChange, total: total, dir: this.isRtl ? 'rtl' : undefined, skip: this.vs.propsSkip || 0, take: (this.props.take !== undefined ? this.props.take : this.props.pageSize) || 10, messagesMap: messages_1.pagerMessagesMap }, ((0, GridPagerSettings_1.normalize)(this.props.pageable || {})));
754
- var pager = this.props.pager ? React.createElement(this.props.pager, __assign({}, pagerProps)) : React.createElement(kendo_react_data_tools_1.Pager, __assign({ className: "k-grid-pager" }, pagerProps));
755
- var sorted = function (field) {
756
- return _this.props.sort && _this.props.sort.filter(function (descriptor) { return descriptor.field === field; }).length > 0;
757
- };
758
- var footerCols = function (column, index) {
759
- return (React.createElement("col", { key: index.toString(), width: (0, index_1.getColumnWidth)(column) }));
760
- };
761
- var footer = (Boolean((_e = this.props.cells) === null || _e === void 0 ? void 0 : _e.footerCell)
762
- || this._columns.some(function (c) { var _a; return Boolean(c.footerCell || Boolean((_a = c.cells) === null || _a === void 0 ? void 0 : _a.footerCell)); }))
763
- ? (React.createElement(Footer_1.Footer, { size: this.props.size, columnResize: this.columnResize, staticHeaders: this.props.scrollable !== 'none', ref: function (f) { return _this._footer = f; }, row: React.createElement(FooterRow_1.FooterRow, { cells: this.props.cells, columns: this._columns, isRtl: this.isRtl, ariaRowIndex: currentAriaRowIndex + 1 }), cols: leafColumns.map(footerCols) })) : null;
764
- var colGroups = (React.createElement("colgroup", { ref: function (c) {
765
- _this.columnResize.colGroupMain = c;
766
- } }, leafColumns.map(function (column, index) { return (React.createElement("col", { key: index.toString(), className: sorted(column.field) ? 'k-sorted' : undefined, width: (0, index_1.getColumnWidth)(column) })); })));
767
- var enableDragClues = this.dragLogic.reorderable || this.dragLogic.groupable;
768
- var tableDisplay = this.props.columnVirtualization ? 'block' : 'table';
769
- if (this.props.scrollable === 'none') {
770
- return (React.createElement(kendo_react_data_tools_1.TableKeyboardNavigationContext.Provider, { value: this.contextStateRef.current },
771
- React.createElement("div", __assign({ id: this.props.id, style: this.props.style, className: (0, kendo_react_common_1.classNames)('k-grid', (_a = {
772
- 'k-grid-md': !this.props.size
773
- },
774
- _a["k-grid-".concat(kendo_react_common_1.kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size,
775
- _a), this.props.className), ref: function (el) { _this._element = el; }, "aria-label": this.props.ariaLabel, onKeyDown: this.onKeyDown, onFocus: this.onFocus }, kendo_react_data_tools_1.tableKeyboardNavigationScopeAttributes),
776
- toolbar,
777
- groupingPanel,
778
- React.createElement(kendo_react_data_tools_1.TableSelection, { selectable: this.props.selectable, onRelease: this.selectionRelease, childRef: function (table) { _this.tableElement = table; } },
779
- React.createElement("table", { className: (0, kendo_react_common_1.classNames)('k-table k-grid-table', (_b = {}, _b["k-table-".concat(kendo_react_common_1.kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size, _b)), style: { userSelect: tableUserSelect, display: tableDisplay } },
780
- colGroups,
781
- header,
782
- React.createElement("tbody", __assign({ role: 'rowgroup', className: 'k-table-tbody' }, kendo_react_data_tools_1.tableKeyboardNavigationBodyAttributes), body),
783
- footer)),
784
- enableDragClues && (React.createElement(React.Fragment, null,
785
- React.createElement(kendo_react_data_tools_1.DropClue, { ref: this.dragLogic.refDropElementClue }),
786
- React.createElement(kendo_react_data_tools_1.DragClue, { ref: this.dragLogic.refDragElementClue })))),
787
- statusBar,
788
- this.props.pageable && pager));
789
- }
790
- var wrapperStyle = this.props.style || {};
791
- if (this.props.scrollable === 'virtual') {
792
- // Set the default height for vs if not existing.
793
- if (!wrapperStyle.height) {
794
- wrapperStyle = Object.assign({}, wrapperStyle, { height: '450px' });
795
- }
796
- }
797
- return (React.createElement(kendo_react_data_tools_1.TableKeyboardNavigationContext.Provider, { value: this.contextStateRef.current },
798
- React.createElement("div", __assign({ id: this.props.id, style: wrapperStyle, className: (0, kendo_react_common_1.classNames)('k-grid', (_c = {
799
- 'k-grid-md': !this.props.size
800
- },
801
- _c["k-grid-".concat(kendo_react_common_1.kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size,
802
- _c['k-grid-virtual'] = this.props.scrollable === 'virtual',
803
- _c), this.props.className), ref: function (el) {
804
- _this._element = el;
805
- }, "aria-label": this.props.ariaLabel, onKeyDown: this.onKeyDown, onFocus: this.onFocus }, kendo_react_data_tools_1.tableKeyboardNavigationScopeAttributes),
806
- toolbar,
807
- groupingPanel,
808
- React.createElement("div", { className: 'k-grid-aria-root', role: "grid", "aria-colcount": leafColumns.length, "aria-rowcount": total, id: this._gridRoleElementId },
809
- header,
810
- React.createElement("div", { className: "k-grid-container", role: "presentation" },
811
- React.createElement("div", { ref: this.containerRef, className: "k-grid-content k-virtual-content", onScroll: this.scrollHandler, role: "presentation" },
812
- React.createElement("div", { className: 'k-grid-table-wrap', role: "presentation" },
813
- React.createElement(kendo_react_data_tools_1.TableSelection, { selectable: this.props.selectable, onRelease: this.selectionRelease, childRef: function (table) {
814
- _this.tableElement = table;
815
- } },
816
- React.createElement("table", { className: (0, kendo_react_common_1.classNames)('k-table k-grid-table', (_d = {
817
- 'k-table-md': !this.props.size
818
- },
819
- _d["k-table-".concat(kendo_react_common_1.kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size,
820
- _d)), role: "presentation", style: { userSelect: tableUserSelect, display: tableDisplay } },
821
- colGroups,
822
- React.createElement("tbody", __assign({ className: 'k-table-tbody', ref: this.tableBodyRef, role: 'rowgroup' }, kendo_react_data_tools_1.tableKeyboardNavigationBodyAttributes), body)))),
823
- React.createElement("div", { className: "k-height-container", role: "presentation" },
824
- React.createElement("div", { style: this.props.scrollable === 'virtual' ?
825
- { 'height': (this.vs.containerHeight) + 'px' } : {} })))),
826
- footer,
827
- enableDragClues && (React.createElement(React.Fragment, null,
828
- React.createElement(kendo_react_data_tools_1.DropClue, { ref: this.dragLogic.refDropElementClue }),
829
- React.createElement(kendo_react_data_tools_1.DragClue, { ref: this.dragLogic.refDragElementClue }))),
830
- this.showLicenseWatermark && React.createElement(kendo_react_common_2.WatermarkOverlay, null)),
831
- statusBar,
832
- this.props.pageable && pager)));
833
- };
834
- Grid.prototype.selectionChange = function (options) {
835
- if (this.props.onSelectionChange) {
836
- var event_1 = options.event, dataItem = options.dataItem, dataIndex = options.dataIndex, columnIndex = options.columnIndex;
837
- var _a = (0, kendo_react_data_tools_1.getSelectionOptions)(this.props.selectable), mode = _a.mode, cell = _a.cell;
838
- var selectionEvent = __assign(__assign({}, this.getArguments(event_1.syntheticEvent)), { dataItem: dataItem, startColIndex: columnIndex, endColIndex: columnIndex, startRowIndex: dataIndex, endRowIndex: dataIndex, dataItems: this.getLeafDataItems(), altKey: false, ctrlKey: false, shiftKey: false, metaKey: false, mode: mode, cell: cell, isDrag: false, componentId: this._gridId, selectedField: this.props.selectedField || '' });
839
- this.props.onSelectionChange.call(undefined, selectionEvent);
840
- }
841
- };
842
- Grid.prototype.raiseDataEvent = function (handler, data, moreData, syntheticEvent, targetEvent) {
843
- var dataStateChange = this.props.onDataStateChange;
844
- if (handler) {
845
- var ev = __assign(__assign(__assign({}, this.getArguments(syntheticEvent)), data), { targetEvent: targetEvent });
846
- handler.call(undefined, ev);
847
- }
848
- else if (dataStateChange) {
849
- dataStateChange.call(undefined, __assign(__assign({}, this.getArguments(syntheticEvent)), { targetEvent: targetEvent || {}, dataState: __assign(__assign({}, this.getDataState()), moreData) }));
850
- }
851
- };
852
- Grid.prototype.columnReorder = function (prev, next, nativeEvent) {
853
- var _a;
854
- var _this = this;
855
- var column = this._columns[prev];
856
- var depth = column.depth;
857
- var end = function (index) {
858
- do {
859
- index++;
860
- } while (index < _this._columns.length && _this._columns[index].depth > depth);
861
- return index;
862
- };
863
- var spliced = this._columns.splice(prev, end(prev) - prev);
864
- (_a = this._columns).splice.apply(_a, __spreadArray([prev < next ? end(next - spliced.length) : next, 0], spliced, false));
865
- this._columns.filter(function (q) { return q.declarationIndex >= 0; }).forEach(function (c, i) { return c.orderIndex = i; });
866
- this._columnsMutations++;
867
- var shouldUpdateRL = this._columns[prev].locked && this._columns[next].locked;
868
- (0, kendo_react_data_tools_1.updateLeft)(this._columnsMap, this._columns, shouldUpdateRL || this._shouldUpdateLeftRight);
869
- (0, kendo_react_data_tools_1.updateRight)(this._columnsMap, this._columns, shouldUpdateRL || this._shouldUpdateLeftRight);
870
- if (this._resized) {
871
- this._shouldUpdateLeftRight = false;
872
- this._resized = false;
873
- }
874
- var eventColumnProps = this.columns;
875
- this.forceUpdate();
876
- if (this.props.onColumnReorder) {
877
- var reorderEvent = {
878
- target: this,
879
- columns: eventColumnProps,
880
- columnId: column.id,
881
- nativeEvent: nativeEvent
882
- };
883
- this.props.onColumnReorder.call(undefined, reorderEvent);
884
- }
885
- };
886
- Grid.prototype.groupReorder = function (prevIndex, nextIndex, nativeEvent) {
887
- if (this.props.group === undefined) {
888
- return;
889
- }
890
- var group = this.props.group.slice();
891
- group.splice.apply(group, __spreadArray([nextIndex, 0], group.splice(prevIndex, 1), false));
892
- this.groupChange(group, nativeEvent);
893
- };
894
- Grid.prototype.columnToGroup = function (columnIndex, groupIndex, nativeEvent) {
895
- var field = this._columns[columnIndex].field;
896
- if (!field) {
897
- return;
898
- }
899
- var group = (this.props.group || []).slice();
900
- group.splice(groupIndex, 0, { field: field });
901
- this.groupChange(group, nativeEvent);
902
- };
903
- Grid.prototype.resetTableWidth = function () {
904
- var totalWidth = 0;
905
- if (!this.columnResize.colGroupMain) {
906
- return;
907
- }
908
- var colElements = this.columnResize.colGroupMain.children;
909
- for (var i = 0; i < colElements.length; i++) {
910
- var width = colElements[i].width;
911
- if (!width) {
912
- return;
913
- }
914
- totalWidth += parseFloat(width.toString());
915
- }
916
- totalWidth = Math.round(totalWidth);
917
- if (this._header) {
918
- this._header.setWidth(totalWidth);
919
- }
920
- if (this._footer) {
921
- this._footer.setWidth(totalWidth);
922
- }
923
- if (this.tableElement) {
924
- this.tableElement.style.width = totalWidth + 'px';
925
- }
926
- };
927
- Grid.prototype.initColumns = function (children, groupCount) {
928
- var idPrefix = kendo_react_data_tools_1.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);
929
- this._columns = this.readColumns(children, idPrefix, this._columnsMutations);
930
- if (this._columns.length === 0) {
931
- this._columns = (0, index_1.autoGenerateColumns)(this.props.data, this.props.group, this.props.expandField, { prevId: 0, idPrefix: idPrefix });
932
- }
933
- this.configureColumns(this._columns, groupCount, idPrefix);
934
- this._columnsMap = this.mapColumns(this._columns);
935
- this.columnResize.columns = this._columns;
936
- this.dragLogic.columns = this._columns;
937
- };
938
- Grid.prototype.getDataState = function () {
939
- return {
940
- filter: this.props.filter,
941
- sort: this.props.sort,
942
- skip: this.props.skip,
943
- take: (this.props.take !== undefined ? this.props.take : this.props.pageSize),
944
- group: this.props.group
945
- };
946
- };
947
- Grid.prototype.getArguments = function (syntheticEvent) {
948
- return {
949
- nativeEvent: syntheticEvent && syntheticEvent.nativeEvent,
950
- syntheticEvent: syntheticEvent,
951
- target: this
952
- };
953
- };
954
- /**
955
- * @hidden
956
- */
957
- Grid.displayName = 'KendoReactGrid';
958
- /**
959
- * @hidden
960
- */
961
- Grid.defaultProps = {
962
- // never use this
963
- };
964
- /**
965
- * @hidden
966
- */
967
- Grid.propTypes = {
968
- data: PropTypes.oneOfType([
969
- PropTypes.array,
970
- PropTypes.shape({
971
- data: PropTypes.array,
972
- total: PropTypes.number
973
- })
974
- ]),
975
- sortable: PropTypes.oneOfType([
976
- PropTypes.bool,
977
- PropTypes.shape({
978
- mode: PropTypes.oneOf(['single', 'multiple']),
979
- allowUnsort: PropTypes.bool
980
- })
981
- ]),
982
- onSortChange: PropTypes.func,
983
- sort: PropTypes.array,
984
- filterable: PropTypes.bool,
985
- filter: PropTypes.any,
986
- onFilterChange: PropTypes.func,
987
- pageable: PropTypes.oneOfType([
988
- PropTypes.bool,
989
- PropTypes.shape({
990
- buttonCount: PropTypes.number,
991
- info: PropTypes.bool,
992
- type: PropTypes.oneOf(['numeric', 'input']),
993
- pageSizes: PropTypes.oneOfType([
994
- PropTypes.bool,
995
- PropTypes.arrayOf(PropTypes.oneOfType([
996
- PropTypes.string,
997
- PropTypes.number
998
- ]))
999
- ]),
1000
- previousNext: PropTypes.bool
1001
- })
1002
- ]),
1003
- pageSize: PropTypes.number,
1004
- onPageChange: PropTypes.func,
1005
- total: PropTypes.number,
1006
- skip: PropTypes.number,
1007
- take: PropTypes.number,
1008
- fixedScroll: PropTypes.bool,
1009
- onExpandChange: PropTypes.func,
1010
- expandField: PropTypes.string,
1011
- selectedField: PropTypes.string,
1012
- onSelectionChange: PropTypes.func,
1013
- onHeaderSelectionChange: PropTypes.func,
1014
- resizable: PropTypes.bool,
1015
- reorderable: PropTypes.bool,
1016
- group: PropTypes.any,
1017
- groupable: PropTypes.oneOfType([
1018
- PropTypes.bool,
1019
- PropTypes.shape({
1020
- enabled: PropTypes.bool,
1021
- footer: PropTypes.oneOf(['always', 'visible', 'none'])
1022
- })
1023
- ]),
1024
- onGroupChange: PropTypes.func,
1025
- onRowClick: PropTypes.func,
1026
- onRowDoubleClick: PropTypes.func,
1027
- onItemChange: PropTypes.func,
1028
- editField: PropTypes.string,
1029
- scrollable: PropTypes.oneOf(['none', 'scrollable', 'virtual']),
1030
- rowHeight: PropTypes.number,
1031
- detailRowHeight: PropTypes.number,
1032
- detail: PropTypes.any,
1033
- style: PropTypes.object,
1034
- onDataStateChange: PropTypes.func,
1035
- onColumnResize: PropTypes.func,
1036
- onColumnReorder: PropTypes.func,
1037
- dataItemKey: PropTypes.string,
1038
- navigatable: PropTypes.bool,
1039
- size: PropTypes.oneOf(['small', 'medium'])
1040
- };
1041
- /** @hidden */
1042
- Grid.contextType = kendo_react_data_tools_1.TableKeyboardNavigationContext;
1043
- return Grid;
1044
- }(React.Component));
1045
- exports.Grid = Grid;