@guiexpert/table 1.0.3 → 1.0.5

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 (407) hide show
  1. package/esm2022/guiexpert-table.mjs +5 -0
  2. package/esm2022/index.mjs +140 -0
  3. package/esm2022/lib/table/action/action-id.type.mjs +20 -0
  4. package/esm2022/lib/table/action/on-action-triggered.if.mjs +2 -0
  5. package/esm2022/lib/table/action/osx-shortcut-actionId-mapping.mjs +21 -0
  6. package/esm2022/lib/table/action/shortcut-actionid-mapping.type.mjs +2 -0
  7. package/esm2022/lib/table/action/shortcut.service.mjs +114 -0
  8. package/esm2022/lib/table/action/windows-shortcut-actionId-mapping.mjs +19 -0
  9. package/esm2022/lib/table/checkbox/checkbox-model.if.mjs +2 -0
  10. package/esm2022/lib/table/checkbox/checkbox-model.mjs +50 -0
  11. package/esm2022/lib/table/checkbox/tree-checkbox-model.mjs +107 -0
  12. package/esm2022/lib/table/color/color-rgb.if.mjs +2 -0
  13. package/esm2022/lib/table/color/color-rgb.mjs +11 -0
  14. package/esm2022/lib/table/color/ge-css-color-util.mjs +26 -0
  15. package/esm2022/lib/table/color/three-color-gradient-arg.if.mjs +2 -0
  16. package/esm2022/lib/table/color/three-color-gradient-arg.mjs +17 -0
  17. package/esm2022/lib/table/color/two-color-gradient-arg.if.mjs +2 -0
  18. package/esm2022/lib/table/color/two-color-gradient-arg.mjs +13 -0
  19. package/esm2022/lib/table/css-vars.mjs +238 -0
  20. package/esm2022/lib/table/data/chunk/chunk.data-event.if.mjs +2 -0
  21. package/esm2022/lib/table/data/chunk/chunk.data-event.mjs +12 -0
  22. package/esm2022/lib/table/data/chunk/request-chunk.if.mjs +2 -0
  23. package/esm2022/lib/table/data/chunk/request-chunk.mjs +22 -0
  24. package/esm2022/lib/table/data/common/aligns.mjs +19 -0
  25. package/esm2022/lib/table/data/common/area-map-factory.mjs +7 -0
  26. package/esm2022/lib/table/data/common/area-map.mjs +11 -0
  27. package/esm2022/lib/table/data/common/area-map.type.mjs +2 -0
  28. package/esm2022/lib/table/data/common/args-adjust-columns-to-row-parent-params.mjs +2 -0
  29. package/esm2022/lib/table/data/common/args-render-cell-div.mjs +2 -0
  30. package/esm2022/lib/table/data/common/boolean-function.mjs +3 -0
  31. package/esm2022/lib/table/data/common/cell-range.mjs +36 -0
  32. package/esm2022/lib/table/data/common/checkbox-column-def.mjs +13 -0
  33. package/esm2022/lib/table/data/common/checked-type.mjs +2 -0
  34. package/esm2022/lib/table/data/common/event/ge-cell-indices.mjs +9 -0
  35. package/esm2022/lib/table/data/common/event/ge-key-event.mjs +9 -0
  36. package/esm2022/lib/table/data/common/event/ge-model-change-event.mjs +11 -0
  37. package/esm2022/lib/table/data/common/event/ge-mouse-event.mjs +30 -0
  38. package/esm2022/lib/table/data/common/event/input/table-cell-update-event.if.mjs +2 -0
  39. package/esm2022/lib/table/data/common/event/input/table-cell-update-event.mjs +13 -0
  40. package/esm2022/lib/table/data/common/filter-function.mjs +2 -0
  41. package/esm2022/lib/table/data/common/get-t.mjs +2 -0
  42. package/esm2022/lib/table/data/common/index-and-px.mjs +9 -0
  43. package/esm2022/lib/table/data/common/size.if.mjs +2 -0
  44. package/esm2022/lib/table/data/common/size.mjs +9 -0
  45. package/esm2022/lib/table/data/common/sizes.mjs +33 -0
  46. package/esm2022/lib/table/data/common/sort-item.mjs +9 -0
  47. package/esm2022/lib/table/data/common/sort-state.type.mjs +2 -0
  48. package/esm2022/lib/table/data/common/tree-arrow.type.mjs +2 -0
  49. package/esm2022/lib/table/data/common/tree-row-if.mjs +2 -0
  50. package/esm2022/lib/table/data/common/tree-row.mjs +19 -0
  51. package/esm2022/lib/table/data/common/value-label.if.mjs +2 -0
  52. package/esm2022/lib/table/data/common/value-label.mjs +9 -0
  53. package/esm2022/lib/table/data/div-scope.type.mjs +2 -0
  54. package/esm2022/lib/table/data/event/mouse-target-data.mjs +36 -0
  55. package/esm2022/lib/table/data/geo-data.mjs +15 -0
  56. package/esm2022/lib/table/data/options/auto-restore-options.if.mjs +2 -0
  57. package/esm2022/lib/table/data/options/auto-restore-options.mjs +40 -0
  58. package/esm2022/lib/table/data/options/default-row-heights.if.mjs +2 -0
  59. package/esm2022/lib/table/data/options/default-row-heights.mjs +11 -0
  60. package/esm2022/lib/table/data/options/icon.if.mjs +2 -0
  61. package/esm2022/lib/table/data/options/icon.mjs +11 -0
  62. package/esm2022/lib/table/data/options/sorted-options.if.mjs +2 -0
  63. package/esm2022/lib/table/data/options/sorted-options.mjs +12 -0
  64. package/esm2022/lib/table/data/options/table-options.if.mjs +2 -0
  65. package/esm2022/lib/table/data/options/table-options.mjs +44 -0
  66. package/esm2022/lib/table/data/options/tree-options.if.mjs +2 -0
  67. package/esm2022/lib/table/data/options/tree-options.mjs +14 -0
  68. package/esm2022/lib/table/data/side-ident.type.mjs +2 -0
  69. package/esm2022/lib/table/data/table-model-and-options.if.mjs +2 -0
  70. package/esm2022/lib/table/data/table-model-and-options.mjs +9 -0
  71. package/esm2022/lib/table/data/tablemodel/area-ident.type.mjs +14 -0
  72. package/esm2022/lib/table/data/tablemodel/areamodel/abstract-area-model.mjs +137 -0
  73. package/esm2022/lib/table/data/tablemodel/areamodel/area-model-array-of-arrays.mjs +47 -0
  74. package/esm2022/lib/table/data/tablemodel/areamodel/area-model-cell-groups.mjs +163 -0
  75. package/esm2022/lib/table/data/tablemodel/areamodel/area-model-hidden.mjs +84 -0
  76. package/esm2022/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.mjs +15 -0
  77. package/esm2022/lib/table/data/tablemodel/areamodel/area-model-object-array.mjs +88 -0
  78. package/esm2022/lib/table/data/tablemodel/areamodel/area-model-tree.mjs +181 -0
  79. package/esm2022/lib/table/data/tablemodel/areamodel/area-model.if.mjs +2 -0
  80. package/esm2022/lib/table/data/tablemodel/areamodel/area-model.mjs +76 -0
  81. package/esm2022/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.mjs +51 -0
  82. package/esm2022/lib/table/data/tablemodel/areamodel/has-default-row-height-if.mjs +2 -0
  83. package/esm2022/lib/table/data/tablemodel/cellgroup/cell-group-ext.mjs +133 -0
  84. package/esm2022/lib/table/data/tablemodel/cellgroup/cell-group.if.mjs +2 -0
  85. package/esm2022/lib/table/data/tablemodel/cellgroup/cell-group.mjs +18 -0
  86. package/esm2022/lib/table/data/tablemodel/cellgroup/cellgroup-factory.mjs +110 -0
  87. package/esm2022/lib/table/data/tablemodel/column/column-def.if.mjs +2 -0
  88. package/esm2022/lib/table/data/tablemodel/column/column-def.mjs +52 -0
  89. package/esm2022/lib/table/data/tablemodel/padding.mjs +13 -0
  90. package/esm2022/lib/table/data/tablemodel/table-model.if.mjs +2 -0
  91. package/esm2022/lib/table/data/tablemodel/table-model.mjs +308 -0
  92. package/esm2022/lib/table/ele-scope.mjs +199 -0
  93. package/esm2022/lib/table/event-adapter.mjs +17 -0
  94. package/esm2022/lib/table/event-listener.if.mjs +2 -0
  95. package/esm2022/lib/table/factory/table-factory.mjs +186 -0
  96. package/esm2022/lib/table/factory/tree-factory.mjs +32 -0
  97. package/esm2022/lib/table/focus/focus-model.if.mjs +2 -0
  98. package/esm2022/lib/table/focus/focus-model.mjs +33 -0
  99. package/esm2022/lib/table/focus/focus.type.mjs +2 -0
  100. package/esm2022/lib/table/input-handler.mjs +25 -0
  101. package/esm2022/lib/table/mouse-handler.mjs +196 -0
  102. package/esm2022/lib/table/render-scope.mjs +719 -0
  103. package/esm2022/lib/table/renderer/cell-group-ext-cell-renderer.mjs +8 -0
  104. package/esm2022/lib/table/renderer/cell-render.if.mjs +2 -0
  105. package/esm2022/lib/table/renderer/checkbox-boolean-property-cell-renderer.mjs +47 -0
  106. package/esm2022/lib/table/renderer/checkbox-cell-renderer.mjs +22 -0
  107. package/esm2022/lib/table/renderer/date-to-int-date-cell-renderer.mjs +24 -0
  108. package/esm2022/lib/table/renderer/date-to-iso-cell-renderer.mjs +9 -0
  109. package/esm2022/lib/table/renderer/date-to-locale-date-cell-renderer.mjs +9 -0
  110. package/esm2022/lib/table/renderer/date-to-tec-cell-renderer.mjs +12 -0
  111. package/esm2022/lib/table/renderer/edit/edit-cell-renderer.type.mjs +2 -0
  112. package/esm2022/lib/table/renderer/edit/edit-input-pipe-for-number.mjs +4 -0
  113. package/esm2022/lib/table/renderer/edit/edit-input-pipe.if.mjs +2 -0
  114. package/esm2022/lib/table/renderer/edit/input-cell-renderer.mjs +23 -0
  115. package/esm2022/lib/table/renderer/edit/select-cell-renderer.mjs +36 -0
  116. package/esm2022/lib/table/renderer/male-female-to-icon-cell-renderer.mjs +12 -0
  117. package/esm2022/lib/table/renderer/number-cell-renderer.mjs +21 -0
  118. package/esm2022/lib/table/renderer/progress-bar-cell-renderer.mjs +44 -0
  119. package/esm2022/lib/table/renderer/renderer-cleanup-fn.type.mjs +2 -0
  120. package/esm2022/lib/table/renderer/renderer.mjs +7 -0
  121. package/esm2022/lib/table/renderer/star-rating-cell-renderer.mjs +27 -0
  122. package/esm2022/lib/table/renderer/true-false-cell-renderer.mjs +15 -0
  123. package/esm2022/lib/table/selection/selection-model.if.mjs +2 -0
  124. package/esm2022/lib/table/selection/selection-model.mjs +99 -0
  125. package/esm2022/lib/table/selection/selection-service.mjs +101 -0
  126. package/esm2022/lib/table/selection/selection.type.mjs +2 -0
  127. package/esm2022/lib/table/service/abstract-store-state.service.mjs +50 -0
  128. package/esm2022/lib/table/service/convenience-dom.service.mjs +405 -0
  129. package/esm2022/lib/table/service/data/collapsed-expanded.data.mjs +13 -0
  130. package/esm2022/lib/table/service/data/html-style.type.mjs +2 -0
  131. package/esm2022/lib/table/service/dom-service.if.mjs +2 -0
  132. package/esm2022/lib/table/service/ge-filter.service.mjs +98 -0
  133. package/esm2022/lib/table/service/simple-dom-service.mjs +34 -0
  134. package/esm2022/lib/table/service/sorter.service.mjs +27 -0
  135. package/esm2022/lib/table/service/store-state-collapsed-expand.service.mjs +57 -0
  136. package/esm2022/lib/table/service/store-state-scroll-pos.service.mjs +29 -0
  137. package/esm2022/lib/table/service/store-state-sorting.service.mjs +29 -0
  138. package/esm2022/lib/table/service/tree-row.service.mjs +23 -0
  139. package/esm2022/lib/table/table-api.mjs +42 -0
  140. package/esm2022/lib/table/table-scope.mjs +364 -0
  141. package/{src/index.ts → index.d.ts} +4 -24
  142. package/lib/table/action/action-id.type.d.ts +2 -0
  143. package/{src/lib/table/action/on-action-triggered.if.ts → lib/table/action/on-action-triggered.if.d.ts} +1 -4
  144. package/lib/table/action/osx-shortcut-actionId-mapping.d.ts +6 -0
  145. package/lib/table/action/shortcut-actionid-mapping.type.d.ts +4 -0
  146. package/lib/table/action/shortcut.service.d.ts +18 -0
  147. package/lib/table/action/windows-shortcut-actionId-mapping.d.ts +6 -0
  148. package/lib/table/checkbox/checkbox-model.d.ts +12 -0
  149. package/lib/table/checkbox/checkbox-model.if.d.ts +9 -0
  150. package/lib/table/checkbox/tree-checkbox-model.d.ts +17 -0
  151. package/lib/table/color/color-rgb.d.ts +7 -0
  152. package/lib/table/color/color-rgb.if.d.ts +5 -0
  153. package/lib/table/color/ge-css-color-util.d.ts +7 -0
  154. package/lib/table/color/three-color-gradient-arg.d.ts +11 -0
  155. package/lib/table/color/three-color-gradient-arg.if.d.ts +9 -0
  156. package/lib/table/color/two-color-gradient-arg.d.ts +9 -0
  157. package/lib/table/color/two-color-gradient-arg.if.d.ts +7 -0
  158. package/lib/table/css-vars.d.ts +9 -0
  159. package/lib/table/data/chunk/chunk.data-event.d.ts +9 -0
  160. package/lib/table/data/chunk/chunk.data-event.if.d.ts +4 -0
  161. package/lib/table/data/chunk/request-chunk.d.ts +14 -0
  162. package/lib/table/data/chunk/request-chunk.if.d.ts +9 -0
  163. package/lib/table/data/common/aligns.d.ts +24 -0
  164. package/lib/table/data/common/area-map-factory.d.ts +5 -0
  165. package/lib/table/data/common/area-map.d.ts +7 -0
  166. package/lib/table/data/common/area-map.type.d.ts +5 -0
  167. package/{src/lib/table/data/common/args-adjust-columns-to-row-parent-params.ts → lib/table/data/common/args-adjust-columns-to-row-parent-params.d.ts} +10 -11
  168. package/lib/table/data/common/args-render-cell-div.d.ts +17 -0
  169. package/lib/table/data/common/boolean-function.d.ts +3 -0
  170. package/lib/table/data/common/cell-range.d.ts +19 -0
  171. package/lib/table/data/common/checkbox-column-def.d.ts +13 -0
  172. package/lib/table/data/common/event/ge-cell-indices.d.ts +5 -0
  173. package/lib/table/data/common/event/ge-key-event.d.ts +5 -0
  174. package/lib/table/data/common/event/ge-model-change-event.d.ts +6 -0
  175. package/lib/table/data/common/event/ge-mouse-event.d.ts +17 -0
  176. package/lib/table/data/common/event/input/table-cell-update-event.d.ts +9 -0
  177. package/{src/lib/table/data/common/event/input/table-cell-update-event.if.ts → lib/table/data/common/event/input/table-cell-update-event.if.d.ts} +4 -7
  178. package/lib/table/data/common/index-and-px.d.ts +5 -0
  179. package/lib/table/data/common/size.d.ts +6 -0
  180. package/lib/table/data/common/size.if.d.ts +4 -0
  181. package/lib/table/data/common/sizes.d.ts +32 -0
  182. package/lib/table/data/common/sort-item.d.ts +6 -0
  183. package/lib/table/data/common/tree-row-if.d.ts +10 -0
  184. package/lib/table/data/common/tree-row.d.ts +11 -0
  185. package/lib/table/data/common/value-label.d.ts +6 -0
  186. package/lib/table/data/common/value-label.if.d.ts +4 -0
  187. package/lib/table/data/div-scope.type.d.ts +7 -0
  188. package/lib/table/data/event/mouse-target-data.d.ts +15 -0
  189. package/lib/table/data/geo-data.d.ts +8 -0
  190. package/lib/table/data/options/auto-restore-options.d.ts +11 -0
  191. package/lib/table/data/options/auto-restore-options.if.d.ts +16 -0
  192. package/lib/table/data/options/default-row-heights.d.ts +7 -0
  193. package/lib/table/data/options/default-row-heights.if.d.ts +5 -0
  194. package/lib/table/data/options/icon.d.ts +7 -0
  195. package/lib/table/data/options/icon.if.d.ts +5 -0
  196. package/lib/table/data/options/sorted-options.d.ts +8 -0
  197. package/{src/lib/table/data/options/sorted-options.if.ts → lib/table/data/options/sorted-options.if.d.ts} +3 -6
  198. package/lib/table/data/options/table-options.d.ts +41 -0
  199. package/lib/table/data/options/table-options.if.d.ts +42 -0
  200. package/lib/table/data/options/tree-options.d.ts +9 -0
  201. package/lib/table/data/options/tree-options.if.d.ts +7 -0
  202. package/lib/table/data/table-model-and-options.d.ts +8 -0
  203. package/{src/lib/table/data/table-model-and-options.if.ts → lib/table/data/table-model-and-options.if.d.ts} +2 -4
  204. package/{src/lib/table/data/tablemodel/area-ident.type.ts → lib/table/data/tablemodel/area-ident.type.d.ts} +1 -10
  205. package/lib/table/data/tablemodel/areamodel/abstract-area-model.d.ts +47 -0
  206. package/lib/table/data/tablemodel/areamodel/area-model-array-of-arrays.d.ts +19 -0
  207. package/lib/table/data/tablemodel/areamodel/area-model-cell-groups.d.ts +51 -0
  208. package/lib/table/data/tablemodel/areamodel/area-model-hidden.d.ts +41 -0
  209. package/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.d.ts +10 -0
  210. package/lib/table/data/tablemodel/areamodel/area-model-object-array.d.ts +28 -0
  211. package/lib/table/data/tablemodel/areamodel/area-model-tree.d.ts +39 -0
  212. package/lib/table/data/tablemodel/areamodel/area-model.d.ts +37 -0
  213. package/lib/table/data/tablemodel/areamodel/area-model.if.d.ts +158 -0
  214. package/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.d.ts +12 -0
  215. package/{src/lib/table/data/tablemodel/areamodel/has-default-row-height-if.ts → lib/table/data/tablemodel/areamodel/has-default-row-height-if.d.ts} +1 -1
  216. package/lib/table/data/tablemodel/cellgroup/cell-group-ext.d.ts +21 -0
  217. package/lib/table/data/tablemodel/cellgroup/cell-group.d.ts +11 -0
  218. package/lib/table/data/tablemodel/cellgroup/cell-group.if.d.ts +9 -0
  219. package/lib/table/data/tablemodel/cellgroup/cellgroup-factory.d.ts +10 -0
  220. package/lib/table/data/tablemodel/column/column-def.d.ts +52 -0
  221. package/lib/table/data/tablemodel/column/column-def.if.d.ts +25 -0
  222. package/lib/table/data/tablemodel/padding.d.ts +7 -0
  223. package/lib/table/data/tablemodel/table-model.d.ts +88 -0
  224. package/lib/table/data/tablemodel/table-model.if.d.ts +56 -0
  225. package/lib/table/ele-scope.d.ts +37 -0
  226. package/lib/table/event-adapter.d.ts +12 -0
  227. package/lib/table/event-listener.if.d.ts +11 -0
  228. package/lib/table/factory/table-factory.d.ts +65 -0
  229. package/lib/table/factory/tree-factory.d.ts +6 -0
  230. package/lib/table/focus/focus-model.d.ts +15 -0
  231. package/lib/table/focus/focus-model.if.d.ts +8 -0
  232. package/{src/lib/table/focus/focus.type.ts → lib/table/focus/focus.type.d.ts} +0 -3
  233. package/lib/table/input-handler.d.ts +6 -0
  234. package/lib/table/mouse-handler.d.ts +25 -0
  235. package/lib/table/render-scope.d.ts +86 -0
  236. package/lib/table/renderer/cell-group-ext-cell-renderer.d.ts +9 -0
  237. package/{src/lib/table/renderer/cell-render.if.ts → lib/table/renderer/cell-render.if.d.ts} +1 -10
  238. package/lib/table/renderer/checkbox-boolean-property-cell-renderer.d.ts +15 -0
  239. package/lib/table/renderer/checkbox-cell-renderer.d.ts +8 -0
  240. package/lib/table/renderer/date-to-int-date-cell-renderer.d.ts +9 -0
  241. package/lib/table/renderer/date-to-iso-cell-renderer.d.ts +8 -0
  242. package/lib/table/renderer/date-to-locale-date-cell-renderer.d.ts +8 -0
  243. package/lib/table/renderer/date-to-tec-cell-renderer.d.ts +8 -0
  244. package/{src/lib/table/renderer/edit/edit-cell-renderer.type.ts → lib/table/renderer/edit/edit-cell-renderer.type.d.ts} +0 -1
  245. package/lib/table/renderer/edit/edit-input-pipe-for-number.d.ts +2 -0
  246. package/lib/table/renderer/edit/edit-input-pipe.if.d.ts +3 -0
  247. package/lib/table/renderer/edit/input-cell-renderer.d.ts +8 -0
  248. package/lib/table/renderer/edit/select-cell-renderer.d.ts +12 -0
  249. package/lib/table/renderer/male-female-to-icon-cell-renderer.d.ts +8 -0
  250. package/lib/table/renderer/number-cell-renderer.d.ts +11 -0
  251. package/lib/table/renderer/progress-bar-cell-renderer.d.ts +15 -0
  252. package/lib/table/renderer/renderer.d.ts +5 -0
  253. package/lib/table/renderer/star-rating-cell-renderer.d.ts +13 -0
  254. package/lib/table/renderer/true-false-cell-renderer.d.ts +8 -0
  255. package/lib/table/selection/selection-model.d.ts +21 -0
  256. package/lib/table/selection/selection-model.if.d.ts +11 -0
  257. package/lib/table/selection/selection-service.d.ts +17 -0
  258. package/{src/lib/table/selection/selection.type.ts → lib/table/selection/selection.type.d.ts} +0 -3
  259. package/lib/table/service/abstract-store-state.service.d.ts +10 -0
  260. package/lib/table/service/convenience-dom.service.d.ts +46 -0
  261. package/lib/table/service/data/collapsed-expanded.data.d.ts +7 -0
  262. package/lib/table/service/data/html-style.type.d.ts +3 -0
  263. package/lib/table/service/dom-service.if.d.ts +9 -0
  264. package/lib/table/service/ge-filter.service.d.ts +5 -0
  265. package/lib/table/service/simple-dom-service.d.ts +10 -0
  266. package/lib/table/service/sorter.service.d.ts +3 -0
  267. package/lib/table/service/store-state-collapsed-expand.service.d.ts +15 -0
  268. package/lib/table/service/store-state-scroll-pos.service.d.ts +10 -0
  269. package/lib/table/service/store-state-sorting.service.d.ts +11 -0
  270. package/lib/table/service/tree-row.service.d.ts +5 -0
  271. package/lib/table/table-api.d.ts +18 -0
  272. package/lib/table/table-scope.d.ts +56 -0
  273. package/package.json +17 -10
  274. package/.eslintrc.json +0 -42
  275. package/LICENSE +0 -35
  276. package/README.md +0 -102
  277. package/jest.config.ts +0 -18
  278. package/ng-package.json +0 -7
  279. package/project.json +0 -47
  280. package/src/lib/table/action/action-id.type.ts +0 -24
  281. package/src/lib/table/action/osx-shortcut-actionId-mapping.ts +0 -29
  282. package/src/lib/table/action/shortcut-actionid-mapping.type.ts +0 -3
  283. package/src/lib/table/action/shortcut.service.ts +0 -134
  284. package/src/lib/table/action/windows-shortcut-actionId-mapping.ts +0 -27
  285. package/src/lib/table/checkbox/checkbox-model.if.ts +0 -16
  286. package/src/lib/table/checkbox/checkbox-model.ts +0 -62
  287. package/src/lib/table/checkbox/tree-checkbox-model.ts +0 -123
  288. package/src/lib/table/color/color-rgb.if.ts +0 -7
  289. package/src/lib/table/color/color-rgb.ts +0 -10
  290. package/src/lib/table/color/ge-css-color-util.ts +0 -43
  291. package/src/lib/table/color/three-color-gradient-arg.if.ts +0 -10
  292. package/src/lib/table/color/three-color-gradient-arg.ts +0 -14
  293. package/src/lib/table/color/two-color-gradient-arg.if.ts +0 -8
  294. package/src/lib/table/color/two-color-gradient-arg.ts +0 -12
  295. package/src/lib/table/css-vars.ts +0 -243
  296. package/src/lib/table/data/common/aligns.ts +0 -19
  297. package/src/lib/table/data/common/area-map-factory.ts +0 -14
  298. package/src/lib/table/data/common/area-map.ts +0 -11
  299. package/src/lib/table/data/common/area-map.type.ts +0 -5
  300. package/src/lib/table/data/common/args-render-cell-div.ts +0 -18
  301. package/src/lib/table/data/common/boolean-function.ts +0 -4
  302. package/src/lib/table/data/common/cell-range.ts +0 -57
  303. package/src/lib/table/data/common/checkbox-column-def.ts +0 -25
  304. package/src/lib/table/data/common/event/ge-cell-indices.ts +0 -9
  305. package/src/lib/table/data/common/event/ge-key-event.ts +0 -10
  306. package/src/lib/table/data/common/event/ge-model-change-event.ts +0 -13
  307. package/src/lib/table/data/common/event/ge-mouse-event.ts +0 -38
  308. package/src/lib/table/data/common/event/input/table-cell-update-event.ts +0 -14
  309. package/src/lib/table/data/common/index-and-px.ts +0 -9
  310. package/src/lib/table/data/common/size.if.ts +0 -4
  311. package/src/lib/table/data/common/size.ts +0 -9
  312. package/src/lib/table/data/common/sizes.ts +0 -35
  313. package/src/lib/table/data/common/sort-item.ts +0 -11
  314. package/src/lib/table/data/common/tree-row-if.ts +0 -11
  315. package/src/lib/table/data/common/tree-row.ts +0 -16
  316. package/src/lib/table/data/common/value-label.if.ts +0 -6
  317. package/src/lib/table/data/common/value-label.ts +0 -13
  318. package/src/lib/table/data/div-scope.type.ts +0 -5
  319. package/src/lib/table/data/event/mouse-target-data.ts +0 -45
  320. package/src/lib/table/data/geo-data.ts +0 -13
  321. package/src/lib/table/data/options/auto-restore-options.if.ts +0 -21
  322. package/src/lib/table/data/options/auto-restore-options.ts +0 -50
  323. package/src/lib/table/data/options/default-row-heights.if.ts +0 -5
  324. package/src/lib/table/data/options/default-row-heights.ts +0 -10
  325. package/src/lib/table/data/options/icon.if.ts +0 -7
  326. package/src/lib/table/data/options/icon.ts +0 -10
  327. package/src/lib/table/data/options/sorted-options.ts +0 -15
  328. package/src/lib/table/data/options/table-options.if.ts +0 -54
  329. package/src/lib/table/data/options/table-options.ts +0 -66
  330. package/src/lib/table/data/options/tree-options.if.ts +0 -10
  331. package/src/lib/table/data/options/tree-options.ts +0 -32
  332. package/src/lib/table/data/table-model-and-options.ts +0 -13
  333. package/src/lib/table/data/tablemodel/areamodel/abstract-area-model.ts +0 -183
  334. package/src/lib/table/data/tablemodel/areamodel/area-model-array-of-arrays.ts +0 -59
  335. package/src/lib/table/data/tablemodel/areamodel/area-model-cell-groups.ts +0 -210
  336. package/src/lib/table/data/tablemodel/areamodel/area-model-hidden.ts +0 -120
  337. package/src/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.ts +0 -23
  338. package/src/lib/table/data/tablemodel/areamodel/area-model-object-array.ts +0 -105
  339. package/src/lib/table/data/tablemodel/areamodel/area-model-tree.ts +0 -215
  340. package/src/lib/table/data/tablemodel/areamodel/area-model.if.ts +0 -186
  341. package/src/lib/table/data/tablemodel/areamodel/area-model.ts +0 -110
  342. package/src/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.ts +0 -61
  343. package/src/lib/table/data/tablemodel/cellgroup/cell-group-ext.ts +0 -167
  344. package/src/lib/table/data/tablemodel/cellgroup/cell-group.if.ts +0 -12
  345. package/src/lib/table/data/tablemodel/cellgroup/cell-group.ts +0 -18
  346. package/src/lib/table/data/tablemodel/cellgroup/cellgroup-factory.ts +0 -148
  347. package/src/lib/table/data/tablemodel/column/column-def.if.ts +0 -28
  348. package/src/lib/table/data/tablemodel/column/column-def.ts +0 -104
  349. package/src/lib/table/data/tablemodel/padding.ts +0 -9
  350. package/src/lib/table/data/tablemodel/table-model.if.ts +0 -90
  351. package/src/lib/table/data/tablemodel/table-model.ts +0 -352
  352. package/src/lib/table/ele-scope.ts +0 -283
  353. package/src/lib/table/event-adapter.ts +0 -28
  354. package/src/lib/table/event-listener.if.ts +0 -19
  355. package/src/lib/table/factory/table-factory.ts +0 -378
  356. package/src/lib/table/factory/tree-factory.ts +0 -51
  357. package/src/lib/table/focus/focus-model.if.ts +0 -14
  358. package/src/lib/table/focus/focus-model.ts +0 -48
  359. package/src/lib/table/input-handler.ts +0 -34
  360. package/src/lib/table/mouse-handler.ts +0 -236
  361. package/src/lib/table/render-scope.ts +0 -936
  362. package/src/lib/table/renderer/cell-group-ext-cell-renderer.ts +0 -27
  363. package/src/lib/table/renderer/checkbox-boolean-property-cell-renderer.ts +0 -63
  364. package/src/lib/table/renderer/checkbox-cell-renderer.ts +0 -39
  365. package/src/lib/table/renderer/date-to-int-date-cell-renderer.ts +0 -39
  366. package/src/lib/table/renderer/date-to-iso-cell-renderer.ts +0 -25
  367. package/src/lib/table/renderer/date-to-locale-date-cell-renderer.ts +0 -24
  368. package/src/lib/table/renderer/date-to-tec-cell-renderer.ts +0 -28
  369. package/src/lib/table/renderer/edit/edit-input-pipe-for-number.ts +0 -6
  370. package/src/lib/table/renderer/edit/edit-input-pipe.if.ts +0 -7
  371. package/src/lib/table/renderer/edit/input-cell-renderer.ts +0 -41
  372. package/src/lib/table/renderer/edit/select-cell-renderer.ts +0 -60
  373. package/src/lib/table/renderer/male-female-to-icon-cell-renderer.ts +0 -26
  374. package/src/lib/table/renderer/number-cell-renderer.ts +0 -38
  375. package/src/lib/table/renderer/progress-bar-cell-renderer.ts +0 -60
  376. package/src/lib/table/renderer/renderer.ts +0 -11
  377. package/src/lib/table/renderer/star-rating-cell-renderer.ts +0 -45
  378. package/src/lib/table/renderer/true-false-cell-renderer.ts +0 -28
  379. package/src/lib/table/selection/selection-model.if.ts +0 -20
  380. package/src/lib/table/selection/selection-model.ts +0 -109
  381. package/src/lib/table/selection/selection-service.ts +0 -120
  382. package/src/lib/table/service/abstract-store-state.service.ts +0 -105
  383. package/src/lib/table/service/convenience-dom.service.ts +0 -548
  384. package/src/lib/table/service/data/collapsed-expanded.data.ts +0 -11
  385. package/src/lib/table/service/data/html-style.type.ts +0 -1
  386. package/src/lib/table/service/dom-service.if.ts +0 -16
  387. package/src/lib/table/service/ge-filter.service.ts +0 -123
  388. package/src/lib/table/service/simple-dom-service.ts +0 -46
  389. package/src/lib/table/service/sorter.service.ts +0 -30
  390. package/src/lib/table/service/store-state-collapsed-expand.service.ts +0 -76
  391. package/src/lib/table/service/store-state-scroll-pos.service.ts +0 -40
  392. package/src/lib/table/service/store-state-sorting.service.ts +0 -41
  393. package/src/lib/table/service/tree-row.service.ts +0 -31
  394. package/src/lib/table/table-api.ts +0 -61
  395. package/src/lib/table/table-scope.ts +0 -433
  396. package/src/test-setup.ts +0 -1
  397. package/tsconfig.json +0 -22
  398. package/tsconfig.lib.json +0 -19
  399. package/tsconfig.lib.prod.json +0 -7
  400. package/tsconfig.spec.json +0 -20
  401. /package/{src/lib/table/data/common/checked-type.ts → lib/table/data/common/checked-type.d.ts} +0 -0
  402. /package/{src/lib/table/data/common/filter-function.ts → lib/table/data/common/filter-function.d.ts} +0 -0
  403. /package/{src/lib/table/data/common/get-t.ts → lib/table/data/common/get-t.d.ts} +0 -0
  404. /package/{src/lib/table/data/common/sort-state.type.ts → lib/table/data/common/sort-state.type.d.ts} +0 -0
  405. /package/{src/lib/table/data/common/tree-arrow.type.ts → lib/table/data/common/tree-arrow.type.d.ts} +0 -0
  406. /package/{src/lib/table/data/side-ident.type.ts → lib/table/data/side-ident.type.d.ts} +0 -0
  407. /package/{src/lib/table/renderer/renderer-cleanup-fn.type.ts → lib/table/renderer/renderer-cleanup-fn.type.d.ts} +0 -0
@@ -1,28 +0,0 @@
1
- import { SizeIf } from "../../common/size.if";
2
- import { CellRendererIf } from "../../../renderer/cell-render.if";
3
- import { AreaObjectMapType } from "../../common/area-map.type";
4
- import { BooleanFunction } from "../../common/boolean-function";
5
- import { SortState } from "../../common/sort-state.type";
6
- import { GetEditRenderer } from "../../../renderer/edit/edit-cell-renderer.type";
7
- import { editInputPipe } from "../../../renderer/edit/edit-input-pipe.if";
8
-
9
-
10
- export interface ColumnDefIf {
11
- property: string;
12
- headerLabel: string;
13
- width: SizeIf;
14
- minWidth: SizeIf;
15
- maxWidth: SizeIf;
16
- rendererMap: AreaObjectMapType<CellRendererIf>;
17
- classes: AreaObjectMapType<string[]>;
18
- sortable?: BooleanFunction,
19
- sortIconVisible?: BooleanFunction,
20
- sortComparator?: <T>(a: T, b: T) => number,
21
- sortState?: SortState,
22
- sortStatesOrder?: SortState[],
23
- editable?: BooleanFunction,
24
- isVisible?: BooleanFunction,
25
- getEditRenderer?: GetEditRenderer,
26
- editInputPipe?: editInputPipe
27
- }
28
-
@@ -1,104 +0,0 @@
1
- import { Size } from "../../common/size";
2
- import { SizeIf } from "../../common/size.if";
3
- import { ColumnDefIf } from "./column-def.if";
4
- import { CellRendererIf } from "../../../renderer/cell-render.if";
5
- import { AreaObjectMapType } from "../../common/area-map.type";
6
- import { AreaObjectMap } from "../../common/area-map";
7
- import { BooleanFunction, FalseFn, TrueFn } from "../../common/boolean-function";
8
- import { SortState } from "../../common/sort-state.type";
9
- import { GetEditRenderer } from "../../../renderer/edit/edit-cell-renderer.type";
10
- import { editInputPipe } from "../../../renderer/edit/edit-input-pipe.if";
11
-
12
-
13
- export class ColumnDef implements ColumnDefIf {
14
-
15
- public visible = true;
16
-
17
- constructor(
18
- public property: string,
19
- public headerLabel: string,
20
- public width: SizeIf = new Size(100, "px"),
21
- public classes: AreaObjectMapType<string[]> = new AreaObjectMap<string[]>(),
22
- public rendererMap: AreaObjectMapType<CellRendererIf> = new AreaObjectMap<CellRendererIf>(),
23
- public minWidth: SizeIf = new Size(100, "px"),
24
- public maxWidth: SizeIf = new Size(100, "px"),
25
- public sortable?: BooleanFunction,
26
- public sortComparator?: <T>(a: T, b: T) => number,
27
- public sortState?: SortState,
28
- public sortStatesOrder?: SortState[],
29
- public sortIconVisible?: BooleanFunction,
30
- public editable?: BooleanFunction,
31
- public getEditRenderer?: GetEditRenderer,
32
- public editInputPipe?: editInputPipe,
33
- public isVisible: BooleanFunction = ()=>this.visible
34
- ) {
35
- }
36
-
37
- static bodyRenderer(bodyRenderer: CellRendererIf) {
38
- return new AreaObjectMap<CellRendererIf>(
39
- undefined,
40
- bodyRenderer,
41
- undefined
42
- );
43
- }
44
-
45
- static create(param: {
46
- property?: string,
47
- headerLabel?: string,
48
- width?: SizeIf,
49
- minWidth?: SizeIf,
50
- maxWidth?: SizeIf,
51
- headerRenderer?: CellRendererIf,
52
- bodyRenderer?: CellRendererIf,
53
- footerRenderer?: CellRendererIf,
54
- headerClasses?: string[]
55
- bodyClasses?: string[]
56
- footerClasses?: string[],
57
- sortable?: BooleanFunction,
58
- sortIconVisible?: BooleanFunction,
59
- sortComparator?: <T>(a: T, b: T) => number,
60
- sortState?: SortState,
61
- sortStatesOrder?: SortState[],
62
- editable?: BooleanFunction,
63
- isVisible?: BooleanFunction,
64
- getEditRenderer?: GetEditRenderer,
65
- editInputPipe?: editInputPipe,
66
- }): ColumnDefIf {
67
-
68
- const am = new AreaObjectMap<CellRendererIf>(
69
- param.headerRenderer,
70
- param.bodyRenderer,
71
- param.footerRenderer
72
- );
73
-
74
- const cm = new AreaObjectMap<string[]>(
75
- param.headerClasses,
76
- param.bodyClasses,
77
- param.footerClasses
78
- );
79
-
80
- const sortIconVisible = param.sortIconVisible ?? param.sortable ?? FalseFn;
81
- const editable = param.editable ?? param.editable ?? FalseFn;
82
- const isVisible = param.isVisible ?? param.isVisible ?? TrueFn;
83
-
84
- return new ColumnDef(
85
- param.property ?? "",
86
- param.headerLabel ?? "",
87
- param.width ?? new Size(100, "px"),
88
- cm,
89
- am,
90
- param.minWidth ?? new Size(100, "px"),
91
- param.maxWidth ?? new Size(100, "px"),
92
- param.sortable,
93
- param.sortComparator,
94
- param.sortState,
95
- param.sortStatesOrder,
96
- sortIconVisible,
97
- editable,
98
- param.getEditRenderer,
99
- param.editInputPipe,
100
- isVisible,
101
- );
102
- }
103
-
104
- }
@@ -1,9 +0,0 @@
1
- export class Padding {
2
- constructor(
3
- public top: number = 0,
4
- public right: number = 0,
5
- public bottom: number = 0,
6
- public left: number = 0
7
- ) {
8
- }
9
- }
@@ -1,90 +0,0 @@
1
- import { Padding } from "./padding";
2
- import { AreaIdent } from "./area-ident.type";
3
- import { ColumnDefIf } from "./column/column-def.if";
4
- import { AreaModelIf } from "./areamodel/area-model.if";
5
- import { FilterFunction } from "../common/filter-function";
6
- import { SortItem } from "../common/sort-item";
7
- import { SelectionModelIf } from "../../selection/selection-model.if";
8
-
9
- /**
10
- * The TableModelIf is on one hand a container for the header, body, and footer models
11
- * (see : #getAreaModel, and #AreaModelIf), and on the other hand the master of
12
- * the column information (#getColumnCount(), #getColumnWidth(columnIndex: number)).
13
- *
14
- * If getFixedLeftColumnCount() returns a value greater than 0, a fixed west area will be rendered in the
15
- * header, body, and footer. A value greater than 0 for getFixedLeftColumnCount()
16
- * will result in the presence of an east area.
17
- * <pre>
18
- * +----------------+-------------------+--------------+
19
- * | header/west | header/center | header/east |
20
- * +----------------+-------------------+--------------+
21
- * | body/west | body/center | body/east |
22
- * +----------------+-------------------+--------------+
23
- * | footer/west | footer/center | footer/east |
24
- * +----------------+-------------------+--------------+</pre>
25
- *
26
- */
27
- export interface TableModelIf {
28
-
29
- changeColumnOrder(sourceColumnIndex: number, targetColumnIndex: number): void;
30
-
31
- isSortable(colIdx: number): boolean;
32
-
33
- init(): void;
34
-
35
- getColumnCount(): number;
36
-
37
- getColumnWidth(columnIndex: number): number;
38
-
39
- getXPosByColumnIndex(columnIndex: number): number;
40
-
41
- getAreaModel(rowAreaIdent: AreaIdent): AreaModelIf;
42
-
43
- getBodyModel(): AreaModelIf;
44
-
45
- getFixedLeftColumnCount(): number;
46
-
47
- getFixedRightColumnCount(): number;
48
-
49
- isHeaderVisibe(): boolean;
50
-
51
- isFooterVisibe(): boolean;
52
-
53
- isRowCheckboxVisible(): boolean;
54
-
55
- getRowHeight(rowAreaIdent: AreaIdent, rowIndex: number): number;
56
-
57
- getColumnDef(index: number): ColumnDefIf | undefined;
58
-
59
- getColumnDefs(): ColumnDefIf[] | undefined;
60
-
61
- getColumnProperty(columnIndex: number): string;
62
-
63
- getBodyRowByIndex(rowIndex: number): any;
64
-
65
- getColumnWidth(columnIndex: number): number;
66
-
67
- setColumnWidth(columnIndex: number, width: number): void;
68
-
69
-
70
- // ----------------------------------
71
- recalcSize(clientWidth: number): void;
72
-
73
- recalcPadding(): void;
74
-
75
- recalcHeightAndPadding(): void;
76
-
77
- getPadding(): Padding;
78
-
79
- getContentHeightInPixel(): number;
80
-
81
- getContentWidthInPixel(): number;
82
-
83
-
84
- // ----------------------------------
85
- externalFilterChanged<T>(predictFn: FilterFunction<T>): void;
86
-
87
- doSort(sortItems: SortItem[]): boolean;
88
-
89
- getSelectionModel(): SelectionModelIf|undefined;
90
- }
@@ -1,352 +0,0 @@
1
- import { TableModelIf } from "./table-model.if";
2
- import { Padding } from "./padding";
3
- import { AreaIdent } from "./area-ident.type";
4
- import { AreaModelIf } from "./areamodel/area-model.if";
5
- import { SideIdent } from "../side-ident.type";
6
- import { DefaultRowHeightsIf } from "../options/default-row-heights.if";
7
- import { DefaultRowHeights } from "../options/default-row-heights";
8
- import { ColumnDefIf } from "./column/column-def.if";
9
- import { FilterFunction } from "../common/filter-function";
10
- import { SortItem } from "../common/sort-item";
11
- import { SelectionModelIf } from "../../selection/selection-model.if";
12
- import { GetT } from "../common/get-t";
13
- import { CheckboxColumnDef } from "../common/checkbox-column-def";
14
- import { CheckboxModel } from "../../checkbox/checkbox-model";
15
-
16
-
17
- /**
18
- * This is a default implementation of TableModelIf.
19
- * Ths TableModel is on one hand a container for the header, body, and footer models
20
- * (see : #getAreaModel, and #AreaModelIf), and on the other hand the master of
21
- * the column information (#getColumnCount(), #getColumnWidth(columnIndex: number)).
22
- *
23
- * If getFixedLeftColumnCount() returns a value greater than 0, a fixed west area will be rendered in the
24
- * header, body, and footer. A value greater than 0 for getFixedLeftColumnCount()
25
- * will result in the presence of an east area.
26
- *
27
- * <pre>
28
- * +----------------+-------------------+--------------+
29
- * | header/west | header/center | header/east |
30
- * +----------------+-------------------+--------------+
31
- * | body/west | body/center | body/east |
32
- * +----------------+-------------------+--------------+
33
- * | footer/west | footer/center | footer/east |
34
- * +----------------+-------------------+--------------+ </pre>
35
- *
36
- */
37
- export class TableModel implements TableModelIf {
38
-
39
- protected rowCount = 0;
40
- protected contentHeightInPx = 0;
41
- protected contentWidthInPx = 0;
42
-
43
- // in case of a fixed header, left or right column, footer:
44
- protected padding = new Padding(0, 0, 0, 0); // the dimension of the 'body/center'
45
- protected xPositions: number[] = [];
46
-
47
- constructor(
48
- public readonly headerAreaModel: AreaModelIf,
49
- public readonly bodyAreaModel: AreaModelIf,
50
- public readonly footerAreaModel: AreaModelIf,
51
- public readonly fixedLeftColumnCount: number = 0,
52
- public readonly fixedRightColumnCount: number = 0,
53
- public readonly rowCheckboxVisible: boolean = false,
54
- public readonly defaultRowHeights: DefaultRowHeightsIf = new DefaultRowHeights(),
55
- public columnDefs: ColumnDefIf[] = [],
56
- public columnSizes: number[] = [],
57
- protected overridingColumnWidth: number = -1,
58
- protected columnCount: number = 0,
59
- protected parentSize: number = 400, // can be important when we have percentage widthes,
60
- public readonly getSelectionModel: GetT<SelectionModelIf> = () => undefined
61
- ) {
62
- headerAreaModel.areaIdent = "header";
63
- bodyAreaModel.areaIdent = "body";
64
- footerAreaModel.areaIdent = "footer";
65
- if (!this.columnCount) {
66
- if (this.columnDefs?.length) {
67
- this.columnCount = this.columnDefs.length;
68
- } else if (this.columnSizes?.length) {
69
- this.columnCount = this.columnSizes?.length;
70
- }
71
- }
72
- if (this.columnDefs?.length
73
- && this.columnDefs[0] instanceof CheckboxColumnDef
74
- && !bodyAreaModel.rowSelectionModel) {
75
- bodyAreaModel.rowSelectionModel = new CheckboxModel();
76
- }
77
- }
78
-
79
- init() {
80
- this.recalcSize(this.parentSize);
81
- if (this.overridingColumnWidth === -1) {
82
- this.calcXPositions();
83
- }
84
- if (this.headerAreaModel) {
85
- this.headerAreaModel.init();
86
- }
87
- if (this.bodyAreaModel) {
88
- this.bodyAreaModel.init();
89
- }
90
- if (this.footerAreaModel) {
91
- this.footerAreaModel.init();
92
- }
93
- }
94
-
95
- getColumnCount(): number {
96
- return this.columnCount;
97
- };
98
-
99
- setColumnWidth(columnIndex: number, width: number): void {
100
- width = Math.max(0, width);
101
- if (this.overridingColumnWidth !== -1) {
102
- this.overridingColumnWidth = width;
103
- }
104
- if (columnIndex > -1 && columnIndex < this.columnSizes?.length) {
105
- this.columnSizes[columnIndex] = width;
106
- }
107
- this.recalcContentWidthInPx();
108
- }
109
-
110
- getColumnWidth(columnIndex: number): number {
111
- const cd = this.getColumnDef(columnIndex);
112
- if (cd && cd.isVisible && !cd.isVisible()) {
113
- return 0;
114
- }
115
- if (this.overridingColumnWidth !== -1) {
116
- return this.overridingColumnWidth;
117
- }
118
- if (columnIndex > -1 && columnIndex < this.columnSizes?.length) {
119
- return this.columnSizes[columnIndex];
120
- }
121
- return 0;
122
- };
123
-
124
- getXPosByColumnIndex(columnIndex: number): number {
125
- if (columnIndex === 0) {
126
- return 0;
127
- }
128
- if (this.overridingColumnWidth > -1) {
129
- return this.overridingColumnWidth * columnIndex;
130
- }
131
- return this.xPositions[columnIndex];
132
- }
133
-
134
- recalcSize(clientWidth: number) {
135
- this.recalcColumnWidthes(clientWidth);
136
- this.recalcHeightAndPadding();
137
- }
138
-
139
- recalcHeightAndPadding() {
140
- const bodyModel = this.getAreaModel("body");
141
- this.rowCount = bodyModel.getRowCount();
142
- this.contentHeightInPx = this.getAreaHeight("body");
143
- this.recalcContentWidthInPx();
144
-
145
- this.recalcPadding();
146
- }
147
-
148
- recalcPadding() {
149
- const westWidth = this.getSideAreaWidth("west");
150
- const eastWidth = this.getSideAreaWidth("east");
151
- const headerHeight = this.getAreaHeight("header");
152
- const footerHeight = this.getAreaHeight("footer");
153
-
154
- this.padding = new Padding(
155
- headerHeight,
156
- eastWidth,
157
- footerHeight,
158
- westWidth);
159
- }
160
-
161
- getPadding(): Padding {
162
- return this.padding;
163
- }
164
-
165
- getContentHeightInPixel(): number {
166
- return this.contentHeightInPx;
167
- }
168
-
169
- getContentWidthInPixel(): number {
170
- return this.contentWidthInPx;
171
- }
172
-
173
- getRowHeight(rowAreaIdent: AreaIdent, rowIndex: number): number {
174
- return this.getAreaModel(rowAreaIdent).getRowHeight(rowIndex);
175
- }
176
-
177
- getModel(rowAreaIdent: AreaIdent): AreaModelIf {
178
- return this.getAreaModel(rowAreaIdent);
179
- }
180
-
181
- getAreaHeight(areaIdent: AreaIdent): number {
182
- const model = this.getModel(areaIdent);
183
- const rowCount = model.getRowCount();
184
- if (this.defaultRowHeights[areaIdent]) {
185
- return rowCount * this.defaultRowHeights[areaIdent];
186
- }
187
-
188
- let ret = 0;
189
- for (let i = 0; i < rowCount; i++) {
190
- ret = ret + model.getRowHeight(i);
191
- }
192
- return ret;
193
- }
194
-
195
- getSideAreaWidth(sideIdent: SideIdent): number {
196
- const [cStart, cEnd] = this.getSideStartAndEndColumnIndex(sideIdent);
197
- let ret = 0;
198
- for (let i = cStart; i <= cEnd; i++) {
199
- ret = ret + this.getColumnWidth(i);
200
- }
201
- return ret;
202
- }
203
-
204
- getSideStartAndEndColumnIndex(sideIdent: SideIdent): [number, number] {
205
- const c1 = this.getFixedLeftColumnCount();
206
- const c2 = this.getFixedRightColumnCount();
207
-
208
- let cStart = 0;
209
- let cEnd = this.columnCount - 1;
210
- if (sideIdent === "west") {
211
- cEnd = c1 - 1;
212
- } else if (sideIdent === "east") {
213
- cStart = this.columnCount - c2;
214
- } else {
215
- // center:
216
- cStart = c1;
217
- cEnd = this.columnCount - c2 - 1;
218
- }
219
- return [cStart, cEnd];
220
- }
221
-
222
- getColumnDef(index: number): ColumnDefIf | undefined {
223
- if (index < this.columnDefs.length) {
224
- return this.columnDefs[index];
225
- }
226
- return undefined;
227
- }
228
-
229
- getFixedLeftColumnCount(): number {
230
- return this.fixedLeftColumnCount;
231
- }
232
-
233
- getFixedRightColumnCount(): number {
234
- return this.fixedRightColumnCount;
235
- }
236
-
237
- getAreaModel(area: AreaIdent): AreaModelIf {
238
- if (area === "header") {
239
- return this.headerAreaModel;
240
- }
241
- if (area === "body") {
242
- return this.bodyAreaModel;
243
- }
244
- if (area === "footer") {
245
- return this.footerAreaModel;
246
- }
247
- throw new Error("Wrong ident.");
248
- }
249
-
250
- getBodyModel(): AreaModelIf {
251
- return this.bodyAreaModel;
252
- }
253
-
254
- isFooterVisibe(): boolean {
255
- return (this.footerAreaModel?.getRowCount() ?? 0) > 0;
256
- }
257
-
258
- isHeaderVisibe(): boolean {
259
- return (this.headerAreaModel?.getRowCount() ?? 0) > 0;
260
- }
261
-
262
- isRowCheckboxVisible(): boolean {
263
- return this.rowCheckboxVisible;
264
- }
265
-
266
- externalFilterChanged<T>(predictFn: FilterFunction<T>): void {
267
- this.getAreaModel("body").externalFilterChanged(predictFn);
268
- }
269
-
270
- doSort(sortItems: SortItem[]): boolean {
271
- return this.getAreaModel("body").doSort(sortItems);
272
- }
273
-
274
- getColumnDefs(): ColumnDefIf[] | undefined {
275
- return this.columnDefs;
276
- }
277
-
278
- getColumnProperty(columnIndex: number): string {
279
- return this.columnDefs[columnIndex].property;
280
- }
281
-
282
- getBodyRowByIndex(rowIndex: number): any {
283
- return this.getBodyModel().getRowByIndex(rowIndex);
284
- }
285
-
286
- isSortable(columnIndex: number): boolean {
287
- if (this.columnDefs
288
- && columnIndex < this.columnDefs.length
289
- && this.columnDefs[columnIndex].sortable) {
290
- // @ts-ignore
291
- return this.columnDefs[columnIndex].sortable();
292
- }
293
- return false;
294
- }
295
-
296
- changeColumnOrder(sourceColumnIndex: number, targetColumnIndex: number): void {
297
- this.arrayMove(this.columnDefs, sourceColumnIndex, targetColumnIndex);
298
- this.arrayMove(this.columnSizes, sourceColumnIndex, targetColumnIndex);
299
- this.headerAreaModel?.changeColumnOrder(sourceColumnIndex, targetColumnIndex);
300
- this.bodyAreaModel?.changeColumnOrder(sourceColumnIndex, targetColumnIndex);
301
- this.footerAreaModel?.changeColumnOrder(sourceColumnIndex, targetColumnIndex);
302
- this.calcXPositions();
303
- }
304
-
305
-
306
- private recalcColumnWidthes(clientWidth: number) {
307
- if (!this.columnDefs?.length && !this.columnSizes?.length) {
308
- this.columnSizes = new Array(this.getColumnCount()).fill(this.overridingColumnWidth);
309
- }
310
- if (this.columnDefs?.length) {
311
- this.columnSizes = this.columnDefs.map(def => {
312
- if (def.width.unit === "%" && clientWidth) {
313
- // only for a % value we have to check min and max:
314
- let px = Math.floor(def.width.value * clientWidth / 100);
315
- if (def.minWidth) {
316
- let pxMin = def.minWidth.unit === "px" ? def.minWidth.value : Math.floor(def.minWidth.value * clientWidth / 100);
317
- px = Math.max(pxMin, px);
318
- }
319
- if (def.maxWidth) {
320
- let pxMax = def.maxWidth.unit === "px" ? def.maxWidth.value : Math.floor(def.maxWidth.value * clientWidth / 100);
321
- px = Math.min(pxMax, px);
322
- }
323
- return px;
324
- }
325
- return def.width.value;
326
- });
327
- }
328
- }
329
-
330
- private arrayMove(arr: any[], fromIndex: number, toIndex: number) {
331
- const element = arr.splice(fromIndex, 1)[0];
332
- arr.splice(toIndex, 0, element);
333
- return arr;
334
- }
335
-
336
- private recalcContentWidthInPx() {
337
- this.contentWidthInPx = this.getSideAreaWidth("center");
338
- }
339
-
340
- private calcXPositions() {
341
- const columnCount = this.getColumnCount();
342
- this.xPositions = new Array(columnCount + 1);
343
- this.xPositions[0] = 0;
344
- for (let i = 0; i < columnCount; i++) {
345
- this.xPositions[i + 1] = this.getColumnWidth(i) + this.xPositions[i];
346
- }
347
- }
348
-
349
-
350
- }
351
-
352
-