@guiexpert/table 0.0.1 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/.eslintrc.json +42 -0
  2. package/LICENSE +35 -0
  3. package/README.md +102 -0
  4. package/jest.config.ts +18 -0
  5. package/ng-package.json +7 -0
  6. package/package.json +9 -20
  7. package/project.json +47 -0
  8. package/src/index.ts +156 -0
  9. package/src/lib/table/action/action-id.type.ts +24 -0
  10. package/{lib/table/action/on-action-triggered.if.d.ts → src/lib/table/action/on-action-triggered.if.ts} +4 -1
  11. package/src/lib/table/action/osx-shortcut-actionId-mapping.ts +29 -0
  12. package/src/lib/table/action/shortcut-actionid-mapping.type.ts +3 -0
  13. package/src/lib/table/action/shortcut.service.ts +134 -0
  14. package/src/lib/table/action/windows-shortcut-actionId-mapping.ts +27 -0
  15. package/src/lib/table/checkbox/checkbox-model.if.ts +16 -0
  16. package/src/lib/table/checkbox/checkbox-model.ts +62 -0
  17. package/src/lib/table/checkbox/tree-checkbox-model.ts +123 -0
  18. package/src/lib/table/color/color-rgb.if.ts +7 -0
  19. package/src/lib/table/color/color-rgb.ts +10 -0
  20. package/src/lib/table/color/ge-css-color-util.ts +43 -0
  21. package/src/lib/table/color/three-color-gradient-arg.if.ts +10 -0
  22. package/src/lib/table/color/three-color-gradient-arg.ts +14 -0
  23. package/src/lib/table/color/two-color-gradient-arg.if.ts +8 -0
  24. package/src/lib/table/color/two-color-gradient-arg.ts +12 -0
  25. package/src/lib/table/css-vars.ts +243 -0
  26. package/src/lib/table/data/common/aligns.ts +19 -0
  27. package/src/lib/table/data/common/area-map-factory.ts +14 -0
  28. package/src/lib/table/data/common/area-map.ts +11 -0
  29. package/src/lib/table/data/common/area-map.type.ts +5 -0
  30. package/{lib/table/data/common/args-adjust-columns-to-row-parent-params.d.ts → src/lib/table/data/common/args-adjust-columns-to-row-parent-params.ts} +11 -10
  31. package/src/lib/table/data/common/args-render-cell-div.ts +18 -0
  32. package/src/lib/table/data/common/boolean-function.ts +4 -0
  33. package/src/lib/table/data/common/cell-range.ts +57 -0
  34. package/src/lib/table/data/common/checkbox-column-def.ts +25 -0
  35. package/src/lib/table/data/common/checked-type.ts +1 -0
  36. package/src/lib/table/data/common/event/ge-cell-indices.ts +9 -0
  37. package/src/lib/table/data/common/event/ge-key-event.ts +10 -0
  38. package/src/lib/table/data/common/event/ge-model-change-event.ts +13 -0
  39. package/src/lib/table/data/common/event/ge-mouse-event.ts +38 -0
  40. package/src/lib/table/data/common/event/input/table-cell-update-event.if.ts +10 -0
  41. package/src/lib/table/data/common/event/input/table-cell-update-event.ts +14 -0
  42. package/src/lib/table/data/common/filter-function.ts +1 -0
  43. package/src/lib/table/data/common/get-t.ts +1 -0
  44. package/src/lib/table/data/common/index-and-px.ts +9 -0
  45. package/src/lib/table/data/common/size.if.ts +4 -0
  46. package/src/lib/table/data/common/size.ts +9 -0
  47. package/src/lib/table/data/common/sizes.ts +35 -0
  48. package/src/lib/table/data/common/sort-item.ts +11 -0
  49. package/src/lib/table/data/common/sort-state.type.ts +1 -0
  50. package/src/lib/table/data/common/tree-arrow.type.ts +1 -0
  51. package/src/lib/table/data/common/tree-row-if.ts +11 -0
  52. package/src/lib/table/data/common/tree-row.ts +16 -0
  53. package/src/lib/table/data/common/value-label.if.ts +6 -0
  54. package/src/lib/table/data/common/value-label.ts +13 -0
  55. package/src/lib/table/data/div-scope.type.ts +5 -0
  56. package/src/lib/table/data/event/mouse-target-data.ts +45 -0
  57. package/src/lib/table/data/geo-data.ts +13 -0
  58. package/src/lib/table/data/options/auto-restore-options.if.ts +21 -0
  59. package/src/lib/table/data/options/auto-restore-options.ts +50 -0
  60. package/src/lib/table/data/options/default-row-heights.if.ts +5 -0
  61. package/src/lib/table/data/options/default-row-heights.ts +10 -0
  62. package/src/lib/table/data/options/icon.if.ts +7 -0
  63. package/src/lib/table/data/options/icon.ts +10 -0
  64. package/{lib/table/data/options/sorted-options.if.d.ts → src/lib/table/data/options/sorted-options.if.ts} +6 -3
  65. package/src/lib/table/data/options/sorted-options.ts +15 -0
  66. package/src/lib/table/data/options/table-options.if.ts +54 -0
  67. package/src/lib/table/data/options/table-options.ts +66 -0
  68. package/src/lib/table/data/options/tree-options.if.ts +10 -0
  69. package/src/lib/table/data/options/tree-options.ts +32 -0
  70. package/src/lib/table/data/side-ident.type.ts +1 -0
  71. package/src/lib/table/data/table-model-and-options.if.ts +8 -0
  72. package/src/lib/table/data/table-model-and-options.ts +13 -0
  73. package/src/lib/table/data/tablemodel/area-ident.type.ts +18 -0
  74. package/src/lib/table/data/tablemodel/areamodel/abstract-area-model.ts +183 -0
  75. package/src/lib/table/data/tablemodel/areamodel/area-model-array-of-arrays.ts +59 -0
  76. package/src/lib/table/data/tablemodel/areamodel/area-model-cell-groups.ts +210 -0
  77. package/src/lib/table/data/tablemodel/areamodel/area-model-hidden.ts +120 -0
  78. package/src/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.ts +23 -0
  79. package/src/lib/table/data/tablemodel/areamodel/area-model-object-array.ts +105 -0
  80. package/src/lib/table/data/tablemodel/areamodel/area-model-tree.ts +215 -0
  81. package/src/lib/table/data/tablemodel/areamodel/area-model.if.ts +186 -0
  82. package/src/lib/table/data/tablemodel/areamodel/area-model.ts +110 -0
  83. package/src/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.ts +61 -0
  84. package/src/lib/table/data/tablemodel/areamodel/has-default-row-height-if.ts +3 -0
  85. package/src/lib/table/data/tablemodel/cellgroup/cell-group-ext.ts +167 -0
  86. package/src/lib/table/data/tablemodel/cellgroup/cell-group.if.ts +12 -0
  87. package/src/lib/table/data/tablemodel/cellgroup/cell-group.ts +18 -0
  88. package/src/lib/table/data/tablemodel/cellgroup/cellgroup-factory.ts +148 -0
  89. package/src/lib/table/data/tablemodel/column/column-def.if.ts +28 -0
  90. package/src/lib/table/data/tablemodel/column/column-def.ts +104 -0
  91. package/src/lib/table/data/tablemodel/padding.ts +9 -0
  92. package/src/lib/table/data/tablemodel/table-model.if.ts +90 -0
  93. package/src/lib/table/data/tablemodel/table-model.ts +352 -0
  94. package/src/lib/table/ele-scope.ts +283 -0
  95. package/src/lib/table/event-adapter.ts +28 -0
  96. package/src/lib/table/event-listener.if.ts +19 -0
  97. package/src/lib/table/factory/table-factory.ts +378 -0
  98. package/src/lib/table/factory/tree-factory.ts +51 -0
  99. package/src/lib/table/focus/focus-model.if.ts +14 -0
  100. package/src/lib/table/focus/focus-model.ts +48 -0
  101. package/src/lib/table/focus/focus.type.ts +4 -0
  102. package/src/lib/table/input-handler.ts +34 -0
  103. package/src/lib/table/mouse-handler.ts +237 -0
  104. package/src/lib/table/render-scope.ts +936 -0
  105. package/src/lib/table/renderer/cell-group-ext-cell-renderer.ts +27 -0
  106. package/{lib/table/renderer/cell-render.if.d.ts → src/lib/table/renderer/cell-render.if.ts} +10 -1
  107. package/src/lib/table/renderer/checkbox-boolean-property-cell-renderer.ts +58 -0
  108. package/src/lib/table/renderer/checkbox-cell-renderer.ts +39 -0
  109. package/src/lib/table/renderer/date-to-int-date-cell-renderer.ts +34 -0
  110. package/src/lib/table/renderer/date-to-iso-cell-renderer.ts +25 -0
  111. package/src/lib/table/renderer/date-to-locale-date-cell-renderer.ts +24 -0
  112. package/src/lib/table/renderer/date-to-tec-cell-renderer.ts +28 -0
  113. package/src/lib/table/renderer/edit/edit-cell-renderer.type.ts +3 -0
  114. package/src/lib/table/renderer/edit/edit-input-pipe-for-number.ts +6 -0
  115. package/src/lib/table/renderer/edit/edit-input-pipe.if.ts +7 -0
  116. package/src/lib/table/renderer/edit/input-cell-renderer.ts +41 -0
  117. package/src/lib/table/renderer/edit/select-cell-renderer.ts +60 -0
  118. package/src/lib/table/renderer/male-female-to-icon-cell-renderer.ts +26 -0
  119. package/src/lib/table/renderer/number-cell-renderer.ts +38 -0
  120. package/src/lib/table/renderer/renderer-cleanup-fn.type.ts +1 -0
  121. package/src/lib/table/renderer/renderer.ts +11 -0
  122. package/src/lib/table/renderer/true-false-cell-renderer.ts +28 -0
  123. package/src/lib/table/selection/selection-model.if.ts +20 -0
  124. package/src/lib/table/selection/selection-model.ts +109 -0
  125. package/src/lib/table/selection/selection-service.ts +120 -0
  126. package/src/lib/table/selection/selection.type.ts +5 -0
  127. package/src/lib/table/service/abstract-store-state.service.ts +105 -0
  128. package/src/lib/table/service/convenience-dom.service.ts +548 -0
  129. package/src/lib/table/service/data/collapsed-expanded.data.ts +11 -0
  130. package/src/lib/table/service/data/html-style.type.ts +1 -0
  131. package/src/lib/table/service/dom-service.if.ts +16 -0
  132. package/src/lib/table/service/ge-filter.service.ts +123 -0
  133. package/src/lib/table/service/simple-dom-service.ts +46 -0
  134. package/src/lib/table/service/sorter.service.ts +30 -0
  135. package/src/lib/table/service/store-state-collapsed-expand.service.ts +76 -0
  136. package/src/lib/table/service/store-state-scroll-pos.service.ts +40 -0
  137. package/src/lib/table/service/store-state-sorting.service.ts +41 -0
  138. package/src/lib/table/service/tree-row.service.ts +31 -0
  139. package/src/lib/table/table-api.ts +61 -0
  140. package/src/lib/table/table-scope.ts +433 -0
  141. package/src/test-setup.ts +1 -0
  142. package/tsconfig.json +22 -0
  143. package/tsconfig.lib.json +19 -0
  144. package/tsconfig.lib.prod.json +7 -0
  145. package/tsconfig.spec.json +20 -0
  146. package/esm2020/guiexpert-table.mjs +0 -5
  147. package/esm2020/index.mjs +0 -102
  148. package/esm2020/lib/table/action/action-id.type.mjs +0 -20
  149. package/esm2020/lib/table/action/on-action-triggered.if.mjs +0 -2
  150. package/esm2020/lib/table/action/osx-shortcut-actionId-mapping.mjs +0 -17
  151. package/esm2020/lib/table/action/shortcut-actionid-mapping.type.mjs +0 -2
  152. package/esm2020/lib/table/action/shortcut.service.mjs +0 -105
  153. package/esm2020/lib/table/action/windows-shortcut-actionId-mapping.mjs +0 -15
  154. package/esm2020/lib/table/checkbox/checkbox-model.if.mjs +0 -2
  155. package/esm2020/lib/table/checkbox/checkbox-model.mjs +0 -52
  156. package/esm2020/lib/table/checkbox/tree-checkbox-model.mjs +0 -106
  157. package/esm2020/lib/table/data/common/aligns.mjs +0 -19
  158. package/esm2020/lib/table/data/common/area-map-factory.mjs +0 -7
  159. package/esm2020/lib/table/data/common/area-map.mjs +0 -8
  160. package/esm2020/lib/table/data/common/area-map.type.mjs +0 -2
  161. package/esm2020/lib/table/data/common/args-adjust-columns-to-row-parent-params.mjs +0 -2
  162. package/esm2020/lib/table/data/common/args-render-cell-div.mjs +0 -2
  163. package/esm2020/lib/table/data/common/boolean-function.mjs +0 -3
  164. package/esm2020/lib/table/data/common/cell-range.mjs +0 -27
  165. package/esm2020/lib/table/data/common/checkbox-column.mjs +0 -15
  166. package/esm2020/lib/table/data/common/checked-type.mjs +0 -2
  167. package/esm2020/lib/table/data/common/event/ge-cell-indices.mjs +0 -7
  168. package/esm2020/lib/table/data/common/event/ge-key-event.mjs +0 -7
  169. package/esm2020/lib/table/data/common/event/ge-model-change-event.mjs +0 -10
  170. package/esm2020/lib/table/data/common/event/ge-mouse-event.mjs +0 -19
  171. package/esm2020/lib/table/data/common/filter-function.mjs +0 -2
  172. package/esm2020/lib/table/data/common/get-t.mjs +0 -2
  173. package/esm2020/lib/table/data/common/index-and-px.mjs +0 -7
  174. package/esm2020/lib/table/data/common/size.if.mjs +0 -2
  175. package/esm2020/lib/table/data/common/size.mjs +0 -7
  176. package/esm2020/lib/table/data/common/sizes.mjs +0 -33
  177. package/esm2020/lib/table/data/common/sort-item.mjs +0 -7
  178. package/esm2020/lib/table/data/common/sort-state.type.mjs +0 -2
  179. package/esm2020/lib/table/data/common/tree-arrow.type.mjs +0 -2
  180. package/esm2020/lib/table/data/common/tree-row-if.mjs +0 -2
  181. package/esm2020/lib/table/data/common/tree-row.mjs +0 -12
  182. package/esm2020/lib/table/data/common/value-label.if.mjs +0 -2
  183. package/esm2020/lib/table/data/common/value-label.mjs +0 -7
  184. package/esm2020/lib/table/data/div-scope.type.mjs +0 -2
  185. package/esm2020/lib/table/data/geo-data.mjs +0 -10
  186. package/esm2020/lib/table/data/options/auto-restore-options.if.mjs +0 -2
  187. package/esm2020/lib/table/data/options/auto-restore-options.mjs +0 -42
  188. package/esm2020/lib/table/data/options/default-row-heights.if.mjs +0 -2
  189. package/esm2020/lib/table/data/options/default-row-heights.mjs +0 -8
  190. package/esm2020/lib/table/data/options/icon.if.mjs +0 -2
  191. package/esm2020/lib/table/data/options/icon.mjs +0 -8
  192. package/esm2020/lib/table/data/options/sorted-options.if.mjs +0 -2
  193. package/esm2020/lib/table/data/options/sorted-options.mjs +0 -9
  194. package/esm2020/lib/table/data/options/table-options.if.mjs +0 -2
  195. package/esm2020/lib/table/data/options/table-options.mjs +0 -38
  196. package/esm2020/lib/table/data/options/tree-options.if.mjs +0 -2
  197. package/esm2020/lib/table/data/options/tree-options.mjs +0 -10
  198. package/esm2020/lib/table/data/side-ident.type.mjs +0 -2
  199. package/esm2020/lib/table/data/tablemodel/area-ident.type.mjs +0 -10
  200. package/esm2020/lib/table/data/tablemodel/areamodel/abstract-area-model.mjs +0 -108
  201. package/esm2020/lib/table/data/tablemodel/areamodel/area-model-array-array.mjs +0 -34
  202. package/esm2020/lib/table/data/tablemodel/areamodel/area-model-hidden.mjs +0 -76
  203. package/esm2020/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.mjs +0 -11
  204. package/esm2020/lib/table/data/tablemodel/areamodel/area-model-object-array.mjs +0 -79
  205. package/esm2020/lib/table/data/tablemodel/areamodel/area-model-tree.mjs +0 -166
  206. package/esm2020/lib/table/data/tablemodel/areamodel/area-model.if.mjs +0 -2
  207. package/esm2020/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.mjs +0 -48
  208. package/esm2020/lib/table/data/tablemodel/column/column-def.if.mjs +0 -2
  209. package/esm2020/lib/table/data/tablemodel/column/column-def.mjs +0 -32
  210. package/esm2020/lib/table/data/tablemodel/padding.mjs +0 -9
  211. package/esm2020/lib/table/data/tablemodel/table-model.if.mjs +0 -2
  212. package/esm2020/lib/table/data/tablemodel/table-model.mjs +0 -262
  213. package/esm2020/lib/table/ele-scope.mjs +0 -173
  214. package/esm2020/lib/table/event-listener.if.mjs +0 -2
  215. package/esm2020/lib/table/focus/focus-model.if.mjs +0 -2
  216. package/esm2020/lib/table/focus/focus-model.mjs +0 -22
  217. package/esm2020/lib/table/focus/focus.type.mjs +0 -2
  218. package/esm2020/lib/table/input-handler.mjs +0 -24
  219. package/esm2020/lib/table/mouse-handler.mjs +0 -197
  220. package/esm2020/lib/table/render-scope.mjs +0 -575
  221. package/esm2020/lib/table/renderer/cell-render.if.mjs +0 -2
  222. package/esm2020/lib/table/renderer/checkbox-cell-renderer.mjs +0 -22
  223. package/esm2020/lib/table/renderer/date-to-int-date-cell-renderer.mjs +0 -21
  224. package/esm2020/lib/table/renderer/date-to-iso-cell-renderer.mjs +0 -9
  225. package/esm2020/lib/table/renderer/date-to-locale-date-cell-renderer.mjs +0 -9
  226. package/esm2020/lib/table/renderer/edit/edit-cell-renderer.type.mjs +0 -2
  227. package/esm2020/lib/table/renderer/edit/input-cell-renderer.mjs +0 -23
  228. package/esm2020/lib/table/renderer/edit/select-cell-renderer.mjs +0 -35
  229. package/esm2020/lib/table/renderer/male-female-to-icon-cell-renderer.mjs +0 -12
  230. package/esm2020/lib/table/renderer/number-cell-renderer.mjs +0 -19
  231. package/esm2020/lib/table/renderer/renderer-cleanup-fn.type.mjs +0 -2
  232. package/esm2020/lib/table/renderer/renderer.mjs +0 -7
  233. package/esm2020/lib/table/selection/selection-model.if.mjs +0 -2
  234. package/esm2020/lib/table/selection/selection-model.mjs +0 -97
  235. package/esm2020/lib/table/selection/selection-service.mjs +0 -97
  236. package/esm2020/lib/table/selection/selection.type.mjs +0 -2
  237. package/esm2020/lib/table/service/abstract-store-state.service.mjs +0 -49
  238. package/esm2020/lib/table/service/convenience-dom.service.mjs +0 -386
  239. package/esm2020/lib/table/service/data/collapsed-expanded.data.mjs +0 -9
  240. package/esm2020/lib/table/service/data/html-style.type.mjs +0 -2
  241. package/esm2020/lib/table/service/dom-service.if.mjs +0 -2
  242. package/esm2020/lib/table/service/ge-filter.service.mjs +0 -98
  243. package/esm2020/lib/table/service/sorter.service.mjs +0 -27
  244. package/esm2020/lib/table/service/store-state-collapsed-expand.service.mjs +0 -57
  245. package/esm2020/lib/table/service/store-state-scroll-pos.service.mjs +0 -29
  246. package/esm2020/lib/table/service/store-state-sorting.service.mjs +0 -29
  247. package/esm2020/lib/table/service/tree-row.service.mjs +0 -23
  248. package/esm2020/lib/table/table-api.mjs +0 -38
  249. package/esm2020/lib/table/table-model-factory.mjs +0 -125
  250. package/esm2020/lib/table/table-scope.mjs +0 -307
  251. package/index.d.ts +0 -103
  252. package/lib/table/action/action-id.type.d.ts +0 -2
  253. package/lib/table/action/osx-shortcut-actionId-mapping.d.ts +0 -6
  254. package/lib/table/action/shortcut-actionid-mapping.type.d.ts +0 -4
  255. package/lib/table/action/shortcut.service.d.ts +0 -17
  256. package/lib/table/action/windows-shortcut-actionId-mapping.d.ts +0 -6
  257. package/lib/table/checkbox/checkbox-model.d.ts +0 -12
  258. package/lib/table/checkbox/checkbox-model.if.d.ts +0 -9
  259. package/lib/table/checkbox/tree-checkbox-model.d.ts +0 -17
  260. package/lib/table/data/common/aligns.d.ts +0 -24
  261. package/lib/table/data/common/area-map-factory.d.ts +0 -5
  262. package/lib/table/data/common/area-map.d.ts +0 -7
  263. package/lib/table/data/common/area-map.type.d.ts +0 -5
  264. package/lib/table/data/common/args-render-cell-div.d.ts +0 -13
  265. package/lib/table/data/common/boolean-function.d.ts +0 -3
  266. package/lib/table/data/common/cell-range.d.ts +0 -17
  267. package/lib/table/data/common/checkbox-column.d.ts +0 -13
  268. package/lib/table/data/common/checked-type.d.ts +0 -1
  269. package/lib/table/data/common/event/ge-cell-indices.d.ts +0 -5
  270. package/lib/table/data/common/event/ge-key-event.d.ts +0 -5
  271. package/lib/table/data/common/event/ge-model-change-event.d.ts +0 -6
  272. package/lib/table/data/common/event/ge-mouse-event.d.ts +0 -17
  273. package/lib/table/data/common/filter-function.d.ts +0 -1
  274. package/lib/table/data/common/get-t.d.ts +0 -1
  275. package/lib/table/data/common/index-and-px.d.ts +0 -5
  276. package/lib/table/data/common/size.d.ts +0 -6
  277. package/lib/table/data/common/size.if.d.ts +0 -4
  278. package/lib/table/data/common/sizes.d.ts +0 -32
  279. package/lib/table/data/common/sort-item.d.ts +0 -6
  280. package/lib/table/data/common/sort-state.type.d.ts +0 -1
  281. package/lib/table/data/common/tree-arrow.type.d.ts +0 -1
  282. package/lib/table/data/common/tree-row-if.d.ts +0 -10
  283. package/lib/table/data/common/tree-row.d.ts +0 -11
  284. package/lib/table/data/common/value-label.d.ts +0 -6
  285. package/lib/table/data/common/value-label.if.d.ts +0 -4
  286. package/lib/table/data/div-scope.type.d.ts +0 -7
  287. package/lib/table/data/geo-data.d.ts +0 -8
  288. package/lib/table/data/options/auto-restore-options.d.ts +0 -11
  289. package/lib/table/data/options/auto-restore-options.if.d.ts +0 -13
  290. package/lib/table/data/options/default-row-heights.d.ts +0 -7
  291. package/lib/table/data/options/default-row-heights.if.d.ts +0 -5
  292. package/lib/table/data/options/icon.d.ts +0 -7
  293. package/lib/table/data/options/icon.if.d.ts +0 -5
  294. package/lib/table/data/options/sorted-options.d.ts +0 -8
  295. package/lib/table/data/options/table-options.d.ts +0 -36
  296. package/lib/table/data/options/table-options.if.d.ts +0 -37
  297. package/lib/table/data/options/tree-options.d.ts +0 -9
  298. package/lib/table/data/options/tree-options.if.d.ts +0 -7
  299. package/lib/table/data/side-ident.type.d.ts +0 -1
  300. package/lib/table/data/tablemodel/area-ident.type.d.ts +0 -2
  301. package/lib/table/data/tablemodel/areamodel/abstract-area-model.d.ts +0 -43
  302. package/lib/table/data/tablemodel/areamodel/area-model-array-array.d.ts +0 -18
  303. package/lib/table/data/tablemodel/areamodel/area-model-hidden.d.ts +0 -32
  304. package/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.d.ts +0 -10
  305. package/lib/table/data/tablemodel/areamodel/area-model-object-array.d.ts +0 -27
  306. package/lib/table/data/tablemodel/areamodel/area-model-tree.d.ts +0 -39
  307. package/lib/table/data/tablemodel/areamodel/area-model.if.d.ts +0 -33
  308. package/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.d.ts +0 -12
  309. package/lib/table/data/tablemodel/column/column-def.d.ts +0 -46
  310. package/lib/table/data/tablemodel/column/column-def.if.d.ts +0 -22
  311. package/lib/table/data/tablemodel/padding.d.ts +0 -7
  312. package/lib/table/data/tablemodel/table-model.d.ts +0 -60
  313. package/lib/table/data/tablemodel/table-model.if.d.ts +0 -34
  314. package/lib/table/ele-scope.d.ts +0 -37
  315. package/lib/table/event-listener.if.d.ts +0 -11
  316. package/lib/table/focus/focus-model.d.ts +0 -12
  317. package/lib/table/focus/focus-model.if.d.ts +0 -6
  318. package/lib/table/focus/focus.type.d.ts +0 -1
  319. package/lib/table/input-handler.d.ts +0 -6
  320. package/lib/table/mouse-handler.d.ts +0 -27
  321. package/lib/table/render-scope.d.ts +0 -77
  322. package/lib/table/renderer/checkbox-cell-renderer.d.ts +0 -8
  323. package/lib/table/renderer/date-to-int-date-cell-renderer.d.ts +0 -9
  324. package/lib/table/renderer/date-to-iso-cell-renderer.d.ts +0 -8
  325. package/lib/table/renderer/date-to-locale-date-cell-renderer.d.ts +0 -8
  326. package/lib/table/renderer/edit/edit-cell-renderer.type.d.ts +0 -2
  327. package/lib/table/renderer/edit/input-cell-renderer.d.ts +0 -8
  328. package/lib/table/renderer/edit/select-cell-renderer.d.ts +0 -12
  329. package/lib/table/renderer/male-female-to-icon-cell-renderer.d.ts +0 -8
  330. package/lib/table/renderer/number-cell-renderer.d.ts +0 -11
  331. package/lib/table/renderer/renderer-cleanup-fn.type.d.ts +0 -1
  332. package/lib/table/renderer/renderer.d.ts +0 -5
  333. package/lib/table/selection/selection-model.d.ts +0 -21
  334. package/lib/table/selection/selection-model.if.d.ts +0 -11
  335. package/lib/table/selection/selection-service.d.ts +0 -17
  336. package/lib/table/selection/selection.type.d.ts +0 -2
  337. package/lib/table/service/abstract-store-state.service.d.ts +0 -10
  338. package/lib/table/service/convenience-dom.service.d.ts +0 -44
  339. package/lib/table/service/data/collapsed-expanded.data.d.ts +0 -7
  340. package/lib/table/service/data/html-style.type.d.ts +0 -3
  341. package/lib/table/service/dom-service.if.d.ts +0 -9
  342. package/lib/table/service/ge-filter.service.d.ts +0 -5
  343. package/lib/table/service/sorter.service.d.ts +0 -3
  344. package/lib/table/service/store-state-collapsed-expand.service.d.ts +0 -15
  345. package/lib/table/service/store-state-scroll-pos.service.d.ts +0 -10
  346. package/lib/table/service/store-state-sorting.service.d.ts +0 -11
  347. package/lib/table/service/tree-row.service.d.ts +0 -5
  348. package/lib/table/table-api.d.ts +0 -16
  349. package/lib/table/table-model-factory.d.ts +0 -61
  350. package/lib/table/table-scope.d.ts +0 -55
@@ -0,0 +1,120 @@
1
+ import { AreaModelIf } from "./area-model.if";
2
+ import { CellRendererIf } from "../../../renderer/cell-render.if";
3
+ import { CheckedType } from "../../common/checked-type";
4
+ import { CheckboxModelIf } from "../../../checkbox/checkbox-model.if";
5
+ import { FilterFunction } from "../../common/filter-function";
6
+ import { SortItem } from "../../common/sort-item";
7
+ import { AreaIdent } from "../area-ident.type";
8
+
9
+ /**
10
+ * An unvisible model, which is used internally for hiding a header.
11
+ */
12
+ export class AreaModelHidden implements AreaModelIf {
13
+
14
+ rowSelectionModel: CheckboxModelIf<any> | undefined = undefined;
15
+
16
+ constructor(
17
+ public areaIdent: AreaIdent = "body"
18
+ ) {
19
+ }
20
+
21
+ getRowCount(): number {
22
+ return 0;
23
+ }
24
+
25
+ getValueAt(_rowIndex: number, _columnIndex: number): any {
26
+ return "";
27
+ }
28
+
29
+ getCellRenderer(_rowIndex: number, _columnIndex: number): CellRendererIf | undefined {
30
+ return undefined;
31
+ }
32
+
33
+ getRowHeight(_rowIndex: number): number {
34
+ return 0;
35
+ }
36
+
37
+ getColspanAt(_rowIndex: number, _columnIndex: number): number {
38
+ return 0;
39
+ }
40
+
41
+ getCustomClassesAt(_rowIndex: number, _columnIndex: number): string[] {
42
+ return [];
43
+ }
44
+
45
+ getCustomStyleAt(_rowIndex: number, _columnIndex: number): { [key: string]: string } | undefined {
46
+ return undefined;
47
+ }
48
+
49
+ getRowspanAt(_rowIndex: number, _columnIndex: number): number {
50
+ return 0;
51
+ }
52
+
53
+ getRowByIndex(_idx: number): any {
54
+ return undefined;
55
+ }
56
+
57
+ isRowCheckable(_rowIndex: number): boolean {
58
+ return false;
59
+ }
60
+
61
+ isRowChecked(_rowIndex: number): CheckedType | undefined {
62
+ return undefined;
63
+ }
64
+
65
+ setRowChecked(_rowIndex: number, _checked: boolean): void {
66
+ // nothing
67
+ }
68
+
69
+ getTooltipAt(_rowIndex: number, _columnIndex: number): any {
70
+ return "";
71
+ }
72
+
73
+ getMaxColspan(): number {
74
+ return 0;
75
+ }
76
+
77
+ getMaxRowspan(): number {
78
+ return 0;
79
+ }
80
+
81
+
82
+ getYPosByRowIndex(_rowIndex: number): number {
83
+ return 0;
84
+ }
85
+
86
+ init(): void {
87
+ // nothing
88
+ }
89
+
90
+ externalFilterChanged(_predictFn: FilterFunction<any>): void {
91
+ // nothing
92
+ }
93
+
94
+ isFilterable(): boolean {
95
+ return false;
96
+ }
97
+
98
+ doSort(_sortItems: SortItem[]): boolean {
99
+ // do nothing
100
+ return false;
101
+ }
102
+
103
+ isEditable(_rowIndex: number, _columnIndex: number): boolean {
104
+ return false;
105
+ }
106
+
107
+ setValue(_rowIndex: number, _columnIndex: number, _value: string): boolean {
108
+ return false;
109
+ }
110
+
111
+ isSelectable(_rowIndex: number, _columnIndex: number): boolean {
112
+ return false;
113
+ }
114
+
115
+ changeColumnOrder(_sourceColumnIndex: number, _targetColumnIndex: number): void {
116
+ // skip
117
+ }
118
+
119
+ }
120
+
@@ -0,0 +1,23 @@
1
+ import { AreaModelObjectyArray } from "./area-model-object-array";
2
+ import { ColumnDefIf } from "../column/column-def.if";
3
+ import { AreaIdent } from "../area-ident.type";
4
+
5
+ export class AreaModelObjectArrayWithColumndefs<T> extends AreaModelObjectyArray<T> {
6
+
7
+
8
+ constructor(
9
+ public override areaIdent: AreaIdent,
10
+ protected override readonly rows: T[],
11
+ protected override readonly columnDefs: ColumnDefIf[],
12
+ public override defaultRowHeight: number
13
+ ) {
14
+ super(
15
+ areaIdent,
16
+ rows,
17
+ defaultRowHeight,
18
+ columnDefs
19
+ );
20
+ }
21
+
22
+ }
23
+
@@ -0,0 +1,105 @@
1
+ import { AbstractAreaModel } from "./abstract-area-model";
2
+ import { TreeRow } from "../../common/tree-row";
3
+ import { ColumnDefIf } from "../column/column-def.if";
4
+ import { AreaIdent } from "../area-ident.type";
5
+ import { FilterFunction } from "../../common/filter-function";
6
+ import { SorterService } from "../../../service/sorter.service";
7
+ import { SortItem } from "../../common/sort-item";
8
+
9
+ export class AreaModelObjectyArray<T> extends AbstractAreaModel<T> {
10
+
11
+ protected readonly properties: string[];
12
+ protected filteredRows: T[];
13
+ protected sorterService: SorterService = new SorterService();
14
+
15
+ constructor(
16
+ public override areaIdent: AreaIdent,
17
+ protected readonly rows: T[],
18
+ public override defaultRowHeight: number,
19
+ protected override columnDefs: ColumnDefIf[] = []
20
+ ) {
21
+ super(areaIdent, columnDefs, defaultRowHeight);
22
+ this.filteredRows = [...rows];
23
+ this.properties = columnDefs.map(def => def.property);
24
+ }
25
+
26
+ getRowCount(): number {
27
+ return this.filteredRows?.length ?? 0;
28
+ }
29
+
30
+ getValueAt(rowIndex: number, columnIndex: number): any {
31
+ const property = this.properties[columnIndex];
32
+ let t = this.filteredRows[rowIndex];
33
+ if (t instanceof TreeRow) {
34
+ t = t.data;
35
+ }
36
+ if (t) {
37
+ return this.getValueByT(t, property);
38
+ }
39
+ return "";
40
+ }
41
+
42
+ getFilteredRows(): T[] {
43
+ return this.filteredRows;
44
+ }
45
+
46
+ getAllRows(): T[] {
47
+ return this.rows;
48
+ }
49
+
50
+ getRowHeight(_rowIndex: number): number {
51
+ return this.defaultRowHeight;
52
+ }
53
+
54
+ override getRowByIndex(rowIndex: number): any {
55
+ return this.filteredRows[rowIndex];
56
+ }
57
+
58
+ externalFilterChanged(predictFn: FilterFunction<any>): void {
59
+ this.filteredRows = (this.rows ? this.rows.filter(predictFn) : []);
60
+ }
61
+
62
+ override doSort(sortItems: SortItem[]): boolean {
63
+ for (const sortItem of sortItems) {
64
+ const { columnIndex, sortState } = sortItem;
65
+ const f = sortState === "asc" ? 1 :
66
+ sortState === "desc" ? -1 : 0;
67
+ const property = this.properties[columnIndex];
68
+ this.filteredRows = this.filteredRows.sort(this.genericFlatTableSortComparator(property, f));
69
+ }
70
+ return true;
71
+ }
72
+
73
+ getValueByT(t: T, property: string) {
74
+ if (property.includes(".")) {
75
+ return this.getPropertyValue(t, property.split("."));
76
+ }
77
+ // @ts-ignore
78
+ return t[property];
79
+ }
80
+
81
+ override changeColumnOrder(sourceColumnIndex: number, targetColumnIndex: number): void {
82
+ this.arrayMove(this.properties, sourceColumnIndex, targetColumnIndex);
83
+ super.changeColumnOrder(sourceColumnIndex, targetColumnIndex);
84
+ }
85
+
86
+ protected genericFlatTableSortComparator(property: string, f: number) {
87
+ return (a: T, b: T) => {
88
+ const va = this.getValueByT(a, property);
89
+ const vb = this.getValueByT(b, property);
90
+ return this.sorterService.genericSortComparator(va, vb, f);
91
+ };
92
+ }
93
+
94
+
95
+ private getPropertyValue(o: any, props: string[]): any {
96
+ const prop = props.shift();
97
+ // @ts-ignore
98
+ let o2 = o[prop];
99
+ if (o2 && props.length) {
100
+ return this.getPropertyValue(o2, props);
101
+ }
102
+ return o2;
103
+ }
104
+ }
105
+
@@ -0,0 +1,215 @@
1
+ import { TreeRow } from "../../common/tree-row";
2
+ import { TreeRowService } from "../../../service/tree-row.service";
3
+ import { AbstractAreaModel } from "./abstract-area-model";
4
+ import { AreaIdent } from "../area-ident.type";
5
+ import { ColumnDefIf } from "../column/column-def.if";
6
+ import { FilterFunction } from "../../common/filter-function";
7
+ import { SorterService } from "../../../service/sorter.service";
8
+ import { SortItem } from "../../common/sort-item";
9
+
10
+ export class AreaModelTree<S> extends AbstractAreaModel<TreeRow<S>> {
11
+
12
+ protected readonly properties: string[];
13
+ protected sorterService: SorterService = new SorterService();
14
+
15
+ private readonly service = new TreeRowService();
16
+ private filteredFlattenRows: TreeRow<S>[];
17
+ private flattenRows: TreeRow<S>[];
18
+ private lastPredictFn?: FilterFunction<any>;
19
+
20
+ constructor(
21
+ public override areaIdent: AreaIdent,
22
+ public readonly rows: TreeRow<S>[],
23
+ public override defaultRowHeight: number,
24
+ protected override columnDefs: ColumnDefIf[] = []
25
+ ) {
26
+ super(areaIdent, columnDefs, defaultRowHeight);
27
+ this.properties = columnDefs.map(def => def.property);
28
+ this.flattenRows = this.service.flattenTree(rows);
29
+ this.filteredFlattenRows = [...this.flattenRows];
30
+ }
31
+
32
+ override changeColumnOrder(sourceColumnIndex: number, targetColumnIndex: number): void {
33
+ // not this! this.arrayMove(this.columnDefs...)
34
+ this.arrayMove(this.properties, sourceColumnIndex, targetColumnIndex);
35
+ super.changeColumnOrder(sourceColumnIndex, targetColumnIndex);
36
+ }
37
+
38
+ recalcVisibleTreeRows() {
39
+ this.filteredFlattenRows = this.service.flattenTree(this.rows);
40
+ }
41
+
42
+ getFilteredFlattenRows(): TreeRow<S>[] {
43
+ return this.filteredFlattenRows;
44
+ }
45
+
46
+ getRowCount(): number {
47
+ let n = 0;
48
+ for (const r of this.filteredFlattenRows) {
49
+ if (this.service.isVisible(r)) {
50
+ n++;
51
+ }
52
+ }
53
+ return n;
54
+ }
55
+
56
+ getValueAt(rowIndex: number, columnIndex: number): any {
57
+ const row = this.getRowByIndex(rowIndex);
58
+ if (row) {
59
+ const prop = this.properties[columnIndex];
60
+ if (prop) {
61
+ if (prop.includes(".")) {
62
+ return this.getPropertyValue(row.data, prop.split("."));
63
+ }
64
+ // @ts-ignore
65
+ return row.data[prop];
66
+ }
67
+ }
68
+ return "";
69
+ }
70
+
71
+ getRowHeight(_rowIndex: number): number {
72
+ return this.defaultRowHeight;
73
+ }
74
+
75
+ override getCustomClassesAt(rowIndex: number, _columnIndex: number): string[] {
76
+ const row = this.filteredFlattenRows[rowIndex];
77
+ return ["ge-table-tree-cell", "ge-table-tree-deep-" + row.deep];
78
+ }
79
+
80
+ override getRowByIndex(idx: number): TreeRow<S> | undefined {
81
+ return this.filteredFlattenRows[idx];
82
+ }
83
+
84
+ getValueByT(t: S, property: string) {
85
+ if (property.includes(".")) {
86
+ return this.getPropertyValue(t, property.split("."));
87
+ }
88
+ // @ts-ignore
89
+ return t[property];
90
+ }
91
+
92
+ externalFilterChanged<S>(predictFn: FilterFunction<S>): void {
93
+ this.lastPredictFn = predictFn;
94
+ this.doFiltering();
95
+ }
96
+
97
+ override doSort(sortItems: SortItem[]): boolean {
98
+ const { columnIndex, sortState } = sortItems[sortItems.length - 1];
99
+ const f = sortState === "asc" ? 1 :
100
+ sortState === "desc" ? -1 : 0;
101
+
102
+ const property = this.properties[columnIndex];
103
+ this.treeSort(this.rows, property, f);
104
+
105
+ this.flattenRows = this.service.flattenTree(this.rows);
106
+ this.filteredFlattenRows = [...this.flattenRows];
107
+ return true;
108
+ }
109
+
110
+ toggleExpandCollapseAll(expanded: boolean) {
111
+ this.expandAllRecursive(this.rows, expanded);
112
+
113
+ this.flattenRows = this.service.flattenTree(this.rows);
114
+ this.doFiltering();
115
+ }
116
+
117
+ setAllParentsOk(item: TreeRow<any>) {
118
+ if (item.parent) {
119
+ item.parent.keep = true;
120
+ this.setAllParentsOk(item.parent);
121
+ }
122
+ return false;
123
+ }
124
+
125
+ override setValue(rowIndex: number, columnIndex: number, value: any): boolean {
126
+ const editInputPipe = this.columnDefs[columnIndex]?.editInputPipe;
127
+ if (editInputPipe) {
128
+ value = editInputPipe(value, rowIndex, columnIndex);
129
+ }
130
+ const treeRow: TreeRow<S> | undefined = this.getRowByIndex(rowIndex);
131
+ if (treeRow) {
132
+ const row: S = treeRow.data;
133
+ const property = this.columnDefs[columnIndex].property;
134
+ if (property.includes(".")) {
135
+ return this.setPropertyValue(row, property.split("."), value);
136
+ }
137
+ // @ts-ignore
138
+ row[property] = value;
139
+ return true;
140
+ }
141
+ return false;
142
+ }
143
+
144
+ protected genericTreeTableSortComparator(property: string, f: number) {
145
+ return (a: TreeRow<S>, b: TreeRow<S>) => {
146
+ const va = this.getValueByT(a.data, property);
147
+ const vb = this.getValueByT(b.data, property);
148
+ return this.sorterService.genericSortComparator(va, vb, f);
149
+ };
150
+ }
151
+
152
+ private expandAllRecursive(arr: TreeRow<S>[], expanded: boolean) {
153
+ for (const row of arr) {
154
+ row.expanded = expanded;
155
+ if (row.children) {
156
+ this.expandAllRecursive(row.children, expanded);
157
+ }
158
+ }
159
+ }
160
+
161
+ private doFiltering() {
162
+ if (!this.lastPredictFn) {
163
+ this.filteredFlattenRows = [...(this.flattenRows ? this.flattenRows : [])];
164
+ } else {
165
+
166
+ if (!this.flattenRows) {
167
+ this.flattenRows = [];
168
+ }
169
+
170
+ let maxDeep = 0;
171
+ this.flattenRows.forEach(v => {
172
+ maxDeep = Math.max(maxDeep, v.deep);
173
+ });
174
+
175
+ const okRows = this.flattenRows.filter(
176
+ (value, index, array) => {
177
+ // @ts-ignore
178
+ return this.lastPredictFn(value, index, array);
179
+ }
180
+ );
181
+ this.flattenRows.forEach(v => v.keep = false);
182
+ this.flattenRows.forEach(v => {
183
+ if (okRows.includes(v)) {
184
+ v.keep = true;
185
+ this.setAllParentsOk(v);
186
+ }
187
+ });
188
+
189
+ this.filteredFlattenRows = this.flattenRows.filter(
190
+ (value, _index, _array) => {
191
+ return value.keep;
192
+ }
193
+ );
194
+ }
195
+ }
196
+
197
+ private getPropertyValue(o: any, props: string[]): any {
198
+ const prop = props.shift();
199
+ // @ts-ignore
200
+ let o2 = o[prop];
201
+ if (o2 && props.length) {
202
+ return this.getPropertyValue(o2, props);
203
+ }
204
+ return o2;
205
+ }
206
+
207
+ private treeSort(rows: TreeRow<S>[], property: string, f: number) {
208
+ rows.sort(this.genericTreeTableSortComparator(property, f));
209
+ for (const row of rows) {
210
+ if (row.children) {
211
+ this.treeSort(row.children, property, f);
212
+ }
213
+ }
214
+ }
215
+ }
@@ -0,0 +1,186 @@
1
+ import { CellRendererIf } from "../../../renderer/cell-render.if";
2
+ import { CheckedType } from "../../common/checked-type";
3
+ import { CheckboxModelIf } from "../../../checkbox/checkbox-model.if";
4
+ import { FilterFunction } from "../../common/filter-function";
5
+ import { SortItem } from "../../common/sort-item";
6
+ import { AreaIdent } from "../area-ident.type";
7
+
8
+ /**
9
+ * This is the model interface for an area model. A table can have three of these models, one for the header,
10
+ * one for the body , and one for the footer.
11
+ * An AreaModelIf gives you information about the rows and cell contents.
12
+ * The column information is given by the TableModelIf.
13
+ */
14
+ export interface AreaModelIf {
15
+
16
+
17
+ /**
18
+ * The identifier for one of the areas: header, body, footer.
19
+ */
20
+ areaIdent: AreaIdent;
21
+
22
+ /**
23
+ * A model and controller for a row checkbox selection
24
+ */
25
+ rowSelectionModel: CheckboxModelIf<any> | undefined;
26
+
27
+ /**
28
+ * Method for moving a column from position sourceColumnIndex to targetColumnIndex.
29
+ */
30
+ changeColumnOrder(sourceColumnIndex: number, targetColumnIndex: number): void;
31
+
32
+ /**
33
+ * Method for changing a cell value.
34
+ */
35
+ setValue(rowIndex: number, columnIndex: number, value: any): boolean;
36
+
37
+ /**
38
+ * Internally used by TableModel.
39
+ */
40
+ init(): void;
41
+
42
+ /**
43
+ * Returns the number of rows of the area
44
+ */
45
+ getRowCount(): number;
46
+
47
+ /**
48
+ * Returns the value of the cell at position rowIndex/columnIndex.
49
+ */
50
+ getValueAt(rowIndex: number, columnIndex: number): any;
51
+
52
+ /**
53
+ * Returns the value of a colspan of the cell at position rowIndex/columnIndex.
54
+ * A value below 2 is ignored.
55
+ */
56
+ getColspanAt(rowIndex: number, columnIndex: number): number;
57
+
58
+ /**
59
+ * This return value is internally used to optimize the render performance.
60
+ * Set this value to the lowest possible value. If the model has no colspan,
61
+ * a value of 0 would be good. The dafault is 32. If your model has a colspan
62
+ * cell greater 32, don't forget to increase this value.
63
+ */
64
+ getMaxColspan(): number;
65
+
66
+ /**
67
+ * Returns the value of a rowspan of the cell at position rowIndex/columnIndex.
68
+ * A value below 2 is ignored.
69
+ */
70
+ getRowspanAt(rowIndex: number, columnIndex: number): number;
71
+
72
+ /**
73
+ * This return value is internally used to optimize the render performance.
74
+ * Set this value to the lowest possible value. If the model has no rowspan,
75
+ * a value of 0 would be good. The dafault is 32. If your model has a rowspan
76
+ * cell greater 32, don't forget to increase this value.
77
+ */
78
+ getMaxRowspan(): number;
79
+
80
+ /**
81
+ * This method can be used to return a list of css classes for the given cell
82
+ * @param rowIndex row index of the cell
83
+ * @param columnIndex column index of the cell
84
+ */
85
+ getCustomClassesAt(rowIndex: number, columnIndex: number): string[];
86
+
87
+ /**
88
+ * This method can be used to return an object with css style information for the given cell
89
+ * @param rowIndex row index of the cell
90
+ * @param columnIndex column index of the cell
91
+ */
92
+ getCustomStyleAt(rowIndex: number, columnIndex: number): { [key: string]: string } | undefined;
93
+
94
+ /**
95
+ * Returns the cell value of the given cell. This value will be rendered
96
+ * directly in the cell or rendered by a cell renderer: see {@link getCellRenderer}.
97
+ * @param rowIndex
98
+ * @param columnIndex
99
+ */
100
+ getValueAt(rowIndex: number, columnIndex: number): any;
101
+
102
+ /**
103
+ * Returns the value of a tooltip of the given cell (rowIndex/columnIndex).
104
+ * @param rowIndex
105
+ * @param columnIndex
106
+ */
107
+ getTooltipAt(rowIndex: number, columnIndex: number): any;
108
+
109
+ /**
110
+ * Returns a cell renderer class for the given cell (rowIndex/columnIndex).
111
+ * If the return value is undefined, no renderer is used and the model value will be rendered directly in the cell.
112
+ * @param rowIndex
113
+ * @param columnIndex
114
+ */
115
+ getCellRenderer(rowIndex: number, columnIndex: number): CellRendererIf | undefined;
116
+
117
+ /**
118
+ * Returns the row height in pixel of the given row (rowIndex).
119
+ * @param rowIndex
120
+ */
121
+ getRowHeight(rowIndex: number): number;
122
+
123
+ /**
124
+ * Returns the row of the model, which correspond to the rowIndex.
125
+ * @param rowIndex
126
+ */
127
+ getRowByIndex(rowIndex: number): any;
128
+
129
+ /**
130
+ * Return the y-position in pixel of the top of the row on the scrollpane.
131
+ * For big tables it can be a big value (greate than the height of the viewport).
132
+ * @param rowIndex
133
+ */
134
+ getYPosByRowIndex(rowIndex: number): number;
135
+
136
+ /**
137
+ * If this method returns true, the cell can be edited by the user.
138
+ * @param rowIndex
139
+ * @param columnIndex
140
+ */
141
+ isEditable(rowIndex: number, columnIndex: number): boolean;
142
+
143
+ /**
144
+ * If true, the cell is selectable.
145
+ * @param rowIndex
146
+ * @param columnIndex
147
+ */
148
+ isSelectable(rowIndex: number, columnIndex: number): boolean;
149
+
150
+ /**
151
+ * If true, the row is checkable and a checkbox is rendered at the beginning of the row.
152
+ * @param rowIndex
153
+ */
154
+ isRowCheckable(rowIndex: number): boolean;
155
+
156
+ /**
157
+ * Returns the checked state of an row.
158
+ * @param rowIndex
159
+ */
160
+ isRowChecked(rowIndex: number): CheckedType | undefined;
161
+
162
+ /**
163
+ * Set the checked state of the row (rowIndex) to #checked.
164
+ * @param rowIndex
165
+ * @param checked
166
+ */
167
+ setRowChecked(rowIndex: number, checked: boolean): void;
168
+
169
+ /**
170
+ * If true, the table is filterable. Rows can be filtered with help of {@link #externalFilterChanged()}
171
+ */
172
+ isFilterable(): boolean;
173
+
174
+ /**
175
+ * Will be called internally, when a filtering is trigger.
176
+ * @param predictFn Defines, what row are invisible or visible after filtering.
177
+ */
178
+ externalFilterChanged<T>(predictFn: FilterFunction<T>): void;
179
+
180
+ /**
181
+ * If the 'restore sort' option is set (see), this method will be triggered automatically by the table,
182
+ * @param sortItems
183
+ */
184
+ doSort(sortItems: SortItem[]): boolean;
185
+ }
186
+