@guiexpert/table 1.0.2 → 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,186 +0,0 @@
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
-
@@ -1,110 +0,0 @@
1
- import { AreaModelIf } from "./area-model.if";
2
- import { AreaIdent } from "../area-ident.type";
3
- import { CheckboxModelIf } from "../../../checkbox/checkbox-model.if";
4
- import { SortItem } from "../../common/sort-item";
5
- import { FilterFunction } from "../../common/filter-function";
6
- import { CellRendererIf } from "../../../renderer/cell-render.if";
7
- import { CheckedType } from "../../common/checked-type";
8
-
9
-
10
- export class AreaModel implements AreaModelIf {
11
-
12
- areaIdent: AreaIdent = "body";
13
- rowSelectionModel: CheckboxModelIf<any> | undefined = undefined;
14
-
15
- changeColumnOrder(_sourceColumnIndex: number, _targetColumnIndex: number): void {
16
- // ignore
17
- }
18
-
19
- doSort(_sortItems: SortItem[]): boolean {
20
- return false;
21
- }
22
-
23
- externalFilterChanged<T>(_predictFn: FilterFunction<T>): void {
24
- // ignore
25
- }
26
-
27
- getCellRenderer(_rowIndex: number, _columnIndex: number): CellRendererIf | undefined {
28
- return undefined;
29
- }
30
-
31
- getColspanAt(_rowIndex: number, _columnIndex: number): number {
32
- return 0;
33
- }
34
-
35
- getCustomClassesAt(_rowIndex: number, _columnIndex: number): string[] {
36
- return [];
37
- }
38
-
39
- getCustomStyleAt(_rowIndex: number, _columnIndex: number): { [p: string]: string } | undefined {
40
- return undefined;
41
- }
42
-
43
- getMaxColspan(): number {
44
- return 0;
45
- }
46
-
47
- getMaxRowspan(): number {
48
- return 0;
49
- }
50
-
51
- getRowByIndex(_rowIndex: number): any {
52
- }
53
-
54
- getRowCount(): number {
55
- return 0;
56
- }
57
-
58
- getRowHeight(_rowIndex: number): number {
59
- return 0;
60
- }
61
-
62
- getRowspanAt(_rowIndex: number, _columnIndex: number): number {
63
- return 0;
64
- }
65
-
66
- getTooltipAt(_rowIndex: number, _columnIndex: number): any {
67
- return undefined;
68
- }
69
-
70
- getValueAt(_rowIndex: number, _columnIndex: number): any {
71
- return undefined;
72
- }
73
-
74
- getYPosByRowIndex(_rowIndex: number): number {
75
- return 0;
76
- }
77
-
78
- init(): void {
79
- // ignore
80
- }
81
-
82
- isEditable(_rowIndex: number, _columnIndex: number): boolean {
83
- return false;
84
- }
85
-
86
- isFilterable(): boolean {
87
- return false;
88
- }
89
-
90
- isRowCheckable(_rowIndex: number): boolean {
91
- return false;
92
- }
93
-
94
- isRowChecked(_rowIndex: number): CheckedType | undefined {
95
- return undefined;
96
- }
97
-
98
- isSelectable(_rowIndex: number, _columnIndex: number): boolean {
99
- return false;
100
- }
101
-
102
- setRowChecked(_rowIndex: number, _checked: boolean): void {
103
- // ignore
104
- }
105
-
106
- setValue(_rowIndex: number, _columnIndex: number, _value: any): boolean {
107
- return false;
108
- }
109
-
110
- }
@@ -1,61 +0,0 @@
1
- import { CellRange } from "../../common/cell-range";
2
- import { AreaModelIf } from "./area-model.if";
3
- import { TableModelIf } from "../table-model.if";
4
-
5
- export class ColAndRowspanModel {
6
-
7
- protected colAndRowspanRanges: CellRange[] | undefined = undefined;
8
-
9
- constructor(
10
- protected tableModel: TableModelIf,
11
- protected areaModel: AreaModelIf
12
- ) {
13
- }
14
-
15
- init() {
16
- if (this.areaModel.getMaxColspan() < 2 && this.areaModel.getMaxRowspan() < 2) {
17
- return; // sip
18
- }
19
- this.colAndRowspanRanges = [];
20
- const rowCount = this.areaModel.getRowCount();
21
- const colCount = this.tableModel.getColumnCount();
22
- for (let r = 0; r < rowCount; r++) {
23
- for (let c = 0; c < colCount; c++) {
24
- let cs = this.areaModel.getColspanAt(r, c);
25
- let rs = this.areaModel.getRowspanAt(r, c);
26
- if (cs > 1 || rs > 1) {
27
- if (cs === 0) {
28
- cs = 1;
29
- }
30
- if (rs === 0) {
31
- rs = 1;
32
- }
33
-
34
- const gammaRange = this.areaModel.hasOwnProperty('gammaCells');
35
- this.colAndRowspanRanges.push(
36
- new CellRange(r, c, r + rs - 1, c + cs - 1, gammaRange)
37
- );
38
- }
39
- }
40
- }
41
- }
42
-
43
- getRanges(): CellRange[] {
44
- if (this.colAndRowspanRanges) {
45
- return this.colAndRowspanRanges;
46
- }
47
- return [];
48
- }
49
-
50
- isInRange(rowIndex: number, columnIndex: number): boolean {
51
- if (this.colAndRowspanRanges) {
52
- for (const range of this.colAndRowspanRanges) {
53
- if (range.isInRange(rowIndex, columnIndex)) {
54
- return true;
55
- }
56
- }
57
- }
58
- return false;
59
- }
60
-
61
- }
@@ -1,167 +0,0 @@
1
- import { CellGroupIf } from "./cell-group.if";
2
- import { CellGroup } from "./cell-group";
3
-
4
- export class CellGroupExt extends CellGroup {
5
-
6
- public override impl = 'CellGroupExt';
7
-
8
- public override children: CellGroupExt[] | undefined = undefined;
9
- public leftNeighbour: CellGroupExt | undefined = undefined;
10
- public rightNeighbour: CellGroupExt | undefined = undefined;
11
-
12
- constructor(
13
- cellGroup: CellGroupIf,
14
- public rowIndex: number = 0,
15
- public childIndex: number = 0,
16
- public parent?: CellGroupExt
17
- ) {
18
- super(
19
- cellGroup.data,
20
- cellGroup.property,
21
- cellGroup.toggle,
22
- cellGroup.closed,
23
- cellGroup.visibility,
24
- cellGroup.children
25
- );
26
- }
27
-
28
- ownColumn(): boolean {
29
- return !!this.property;
30
- }
31
-
32
- override toString(): string {
33
- return this.data + "";
34
- }
35
-
36
- // TODO hier gehts weiter!!!!!!!!!!!
37
- getColumnIndex(): number {
38
- if (!this.parent) {
39
- // root level (rowIndex=0)
40
- if (this.leftNeighbour) {
41
- // return this.leftNeighbour.getBiggestChildColumnIndex() + 1;
42
- }
43
- return 0;
44
- }
45
- return this.parent.getColumnIndex() + this.childIndex;
46
- }
47
-
48
- //
49
- // getLeftClaimedSpaces(): number{
50
- // if (this.leftNeighbour) {
51
- //
52
- // }
53
- // return 0;
54
- // }
55
-
56
- // getSumOfLeafs(cg: CellGroupExt, sum: number = 0): number {
57
- // if (cg.children?.length) {
58
- // for (let i = 0; i < cg.children.length; i++) {
59
- // const child = cg.children[i];
60
- // if (child.children?.length) {
61
- // sum = this.getSumOfLeafs(child, sum);
62
- // } else {
63
- // sum++;
64
- // }
65
- // }
66
- // }
67
- // if (this.ownColumn()) {
68
- // sum++;
69
- // }
70
- // //console.info(cg.data, sum)
71
- // return sum;
72
- // }
73
- //
74
- // getBiggestChildColumnIndex(): number {
75
- // if (this.children?.length) {
76
- // return Math.max(...this.children.map(c => c.getBiggestChildColumnIndex()));
77
- // }
78
- // return this.childIndex;
79
- // }
80
-
81
- isVisible(): boolean {
82
- if (!this.parent) {
83
- return true;
84
- }
85
- if (this.visibility === "always") {
86
- return this.parent.isVisible();
87
- }
88
- if (this.visibility === "normal" || !this.visibility) {
89
- return this.parent.isVisible() && !this.parent.closed;
90
- }
91
- if (this.visibility === "inverted") {
92
- return this.parent.isVisible() && this.parent.closed;
93
- }
94
- return true;
95
- }
96
-
97
- // should be rendered
98
- claimsSpace(): boolean {
99
- return this.isVisible() && (this.ownColumn() || this.closed);
100
- }
101
-
102
-
103
- getColumnCount(
104
- cg: CellGroupExt = this,
105
- ret: number = 0
106
- ): number {
107
- if (cg?.claimsSpace()) {
108
- ret++;
109
- }
110
- if (cg?.children?.length) {
111
- for (const child of cg.children) {
112
- ret = this.getColumnCount(child, ret);
113
- }
114
- }
115
- return ret;
116
- }
117
-
118
- getRowSpan(
119
- cg: CellGroupExt = this,
120
- maxRowCount: number
121
- ): number {
122
- if (cg?.claimsSpace()) {
123
- return maxRowCount - this.getParentCount(cg, 0);
124
- }
125
- return 1;
126
- }
127
-
128
-
129
- getParentCount(
130
- cg: CellGroupExt = this,
131
- ret: number = 0
132
- ): number {
133
- if (cg.parent) {
134
- ret = ret + 1 + this.getParentCount(cg.parent, ret);
135
- }
136
- return ret;
137
- }
138
-
139
-
140
- log(maxRowCount: number) {
141
- const tabs = "\t\t\t\t\t\t\t\t\t\t\t\t\t".substring(0, 2 * this.rowIndex);
142
- const col = `${this.getColumnIndex()}`;
143
- // const bcol = `${this.getBiggestChildColumnIndex()}`;
144
- const columnCount = `${this.getColumnCount(this)}`;
145
- const rowSpan = `${this.getRowSpan(this, maxRowCount)}`;
146
- const pc = `${this.getParentCount(this)}`;
147
- console.info(`${tabs + this.data}
148
- childIndex:${this.childIndex}
149
- row:${this.rowIndex}
150
- col:${col}
151
- vis:${this.visibility}
152
- closed:${this.closed}
153
- isVisible:${this.isVisible()}
154
- ownColumn:${this.ownColumn()}
155
- claimsSpace:${this.claimsSpace()}
156
- colCount:${columnCount}
157
- rowSpan:${rowSpan}
158
- pc:${pc}`.replace(/[ \n]+/g, " "));
159
- // console.info(`${tabs + this.data}`);
160
- if (this.children) {
161
- for (const child of this.children) {
162
- child.log(maxRowCount);
163
- }
164
- }
165
- }
166
-
167
- }
@@ -1,12 +0,0 @@
1
- export interface CellGroupIf {
2
-
3
- data: any;
4
- property?: string; // if a property is set, then this element has its own column
5
- toggle?: boolean; // toggle control will be displayed
6
- closed?: boolean; // current state
7
- visibility?: "always" | "inverted" | "normal" | undefined;
8
- children?: CellGroupIf[] | undefined;
9
-
10
- impl?:string;
11
-
12
- }
@@ -1,18 +0,0 @@
1
- import { CellGroupIf } from "./cell-group.if";
2
-
3
- export class CellGroup implements CellGroupIf {
4
-
5
- public impl = 'CellGroup';
6
-
7
- constructor(
8
- public data: any,
9
- public property?: string,
10
- public toggle?: boolean,
11
- public closed: boolean = false,
12
- public visibility: "always" | "inverted" | "normal" | undefined = "normal",
13
- public children: CellGroupIf[] | undefined = undefined
14
- ) {
15
- }
16
-
17
-
18
- }
@@ -1,148 +0,0 @@
1
- import { CellGroupIf } from "./cell-group.if";
2
- import { ColumnDefIf } from "../column/column-def.if";
3
- import { ColumnDef } from "../column/column-def";
4
- import { CellGroupExt } from "./cell-group-ext";
5
-
6
- export class CellgroupFactory {
7
-
8
-
9
- static buildColumnDefs(
10
- cellGroups: CellGroupIf[],
11
- ret: ColumnDefIf[] = []
12
- ): ColumnDefIf[] {
13
-
14
- for (const cellGroup of cellGroups) {
15
- if (cellGroup.property) {
16
- ret.push(ColumnDef.create({
17
- property: cellGroup.property,
18
- headerLabel: cellGroup.data ? cellGroup.data : cellGroup.property,
19
- isVisible: () => {
20
- // @ts-ignore
21
- if (typeof cellGroup["isVisible"] === "function") {
22
- const cge = cellGroup as CellGroupExt;
23
- return cge.isVisible();
24
- }
25
- return true;
26
- }
27
- })
28
- );
29
- }
30
- if (cellGroup.children) {
31
- CellgroupFactory.buildColumnDefs(cellGroup.children, ret);
32
- }
33
- }
34
- return ret;
35
- }
36
- /*
37
- static buildDeepMap(
38
- cellGroups: CellGroupIf[],
39
- ret: { [key: string]: number } = {},
40
- deep = 0
41
- ): { [key: string]: number } {
42
-
43
- for (const cellGroup of cellGroups) {
44
- //if (cellGroup.property) {
45
- ret[cellGroup.data] = deep;
46
- //}
47
- if (cellGroup.children) {
48
- CellgroupFactory.buildDeepMap(cellGroup.children, ret, deep + 1);
49
- }
50
- }
51
- return ret;
52
- }
53
- */
54
- static buildGroupExts(
55
- cellGroups: CellGroupIf[],
56
- ret: CellGroupExt[] = [],
57
- deep = 0,
58
- parent?: CellGroupExt
59
- ): CellGroupExt[] {
60
-
61
- let last: CellGroupExt | undefined = undefined;
62
- for (let i = 0; i < cellGroups.length; i++) {
63
- const cellGroup = cellGroups[i];
64
- const cge = new CellGroupExt(cellGroup, deep, i, parent);
65
-
66
- if (last) {
67
- cge.leftNeighbour = last;
68
- last.rightNeighbour = cge;
69
- }
70
- ret.push(cge);
71
- if (cellGroup.children) {
72
- cge.children = CellgroupFactory.buildGroupExts(cellGroup.children, [], deep + 1, cge);
73
- }
74
- last = cge;
75
- }
76
- return ret;
77
- }
78
-
79
-
80
- static flattenGroupExts(
81
- cellGroups: CellGroupExt[],
82
- ret: CellGroupExt[] = []
83
- ): CellGroupExt[] {
84
-
85
- for (const cellGroup of cellGroups) {
86
- ret.push(cellGroup);
87
- if (cellGroup.children) {
88
- CellgroupFactory.flattenGroupExts(cellGroup.children, ret);
89
- }
90
- }
91
- return ret;
92
- }
93
-
94
- /*
95
-
96
- Gold Hohenwarte
97
- Gold AB Gold CD HOH AB HOH CD
98
- . Gold A Gold B Gold C Gold D Gold Sum . HOH Loc HOH A HOH B HOH C HOH D
99
-
100
- */
101
-
102
- static buildArrayOfArrays(
103
- flatten: CellGroupExt[],
104
- arrs: (CellGroupExt | null | undefined)[][]
105
- ): (CellGroupExt | null | undefined)[][] {
106
-
107
- let col = -1;
108
- let lastRowIdx = 99999;
109
- for (const cellGroup of flatten) {
110
- if (cellGroup.rowIndex <= lastRowIdx) {
111
- col++;
112
- for (let r = 0; r < arrs.length; r++) {
113
- arrs[r][col] = null;
114
- }
115
- }
116
-
117
- arrs[cellGroup.rowIndex][col] = cellGroup;
118
- lastRowIdx = cellGroup.rowIndex;
119
-
120
- if (cellGroup.ownColumn() && cellGroup.children?.length) {
121
- for (let r = cellGroup.rowIndex + 1; r < arrs.length; r++) {
122
- arrs[r][col] = undefined;
123
- }
124
- col++;
125
- for (let r = 0; r < arrs.length; r++) {
126
- arrs[r][col] = null;
127
- }
128
- }
129
- }
130
- return arrs;
131
- }
132
-
133
-
134
- static iterateThrowColumns(
135
- sb: string[] = [],
136
- cellGroups: CellGroupExt[]
137
- ) {
138
-
139
- for (const cellGroup of cellGroups) {
140
- sb.push(cellGroup.data + " rowIndex:" + cellGroup.rowIndex);
141
- if (cellGroup.children?.length) {
142
- CellgroupFactory.iterateThrowColumns(sb, cellGroup.children);
143
- }
144
- }
145
- }
146
-
147
- }
148
-