@guiexpert/table 1.1.17 → 1.1.20

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 (326) hide show
  1. package/.eslintrc.json +16 -0
  2. package/dist/README.md +101 -0
  3. package/dist/css/main.css +350 -0
  4. package/dist/css/table-classes.css +42 -0
  5. package/dist/css/table-color-classes.css +98 -0
  6. package/dist/css/table-color-vars.css +158 -0
  7. package/dist/css/table-tree.css +53 -0
  8. package/dist/index.cjs +351 -0
  9. package/{index.d.ts → dist/index.d.ts} +3 -0
  10. package/{index.js → dist/index.js} +902 -831
  11. package/dist/lib/common/decorator/avoid-double-execution.decorator.d.ts +7 -0
  12. package/{lib → dist/lib}/table/event-listener.if.d.ts +3 -1
  13. package/dist/lib/table/focus/event-focus-changed-listener.if.d.ts +4 -0
  14. package/{lib → dist/lib}/table/focus/focus-model.d.ts +6 -0
  15. package/dist/lib/table/focus/focus-model.if.d.ts +12 -0
  16. package/dist/lib/table/renderer/positive-and-negative-number-renderer.d.ts +8 -0
  17. package/dist/lib/table/selection/event-selection-changed-listener.if.d.ts +4 -0
  18. package/{lib → dist/lib}/table/selection/multi-rows-selection-model.d.ts +9 -0
  19. package/{lib → dist/lib}/table/selection/selection-model.d.ts +7 -0
  20. package/{lib → dist/lib}/table/selection/selection-model.if.d.ts +4 -0
  21. package/{lib → dist/lib}/table/table-scope.d.ts +6 -2
  22. package/dist/package.json +51 -0
  23. package/doc.css +1565 -0
  24. package/package.json +27 -8
  25. package/patch.js +16 -0
  26. package/src/index.ts +176 -0
  27. package/src/lib/common/decorator/avoid-double-execution.decorator.ts +21 -0
  28. package/src/lib/table/action/action-id.type.ts +36 -0
  29. package/src/lib/table/action/on-action-triggered.if.ts +14 -0
  30. package/src/lib/table/action/osx-shortcut-actionId-mapping.ts +39 -0
  31. package/src/lib/table/action/shortcut-actionid-mapping.type.ts +7 -0
  32. package/src/lib/table/action/shortcut.service.ts +162 -0
  33. package/src/lib/table/action/windows-shortcut-actionId-mapping.ts +35 -0
  34. package/src/lib/table/checkbox/checkbox-model.if.ts +16 -0
  35. package/src/lib/table/checkbox/checkbox-model.ts +62 -0
  36. package/src/lib/table/checkbox/tree-checkbox-model.ts +123 -0
  37. package/src/lib/table/color/color-rgb.if.ts +12 -0
  38. package/src/lib/table/color/color-rgb.ts +10 -0
  39. package/src/lib/table/color/ge-css-color-util.ts +43 -0
  40. package/src/lib/table/color/three-color-gradient-arg.if.ts +15 -0
  41. package/src/lib/table/color/three-color-gradient-arg.ts +14 -0
  42. package/src/lib/table/color/two-color-gradient-arg.if.ts +12 -0
  43. package/src/lib/table/color/two-color-gradient-arg.ts +12 -0
  44. package/src/lib/table/css-vars.ts +243 -0
  45. package/src/lib/table/data/chunk/chunk.data-event.if.ts +8 -0
  46. package/src/lib/table/data/chunk/chunk.data-event.ts +27 -0
  47. package/src/lib/table/data/chunk/request-chunk.if.ts +9 -0
  48. package/src/lib/table/data/chunk/request-chunk.ts +15 -0
  49. package/src/lib/table/data/common/aligns.ts +42 -0
  50. package/src/lib/table/data/common/area-map-factory.ts +20 -0
  51. package/src/lib/table/data/common/area-map.ts +18 -0
  52. package/src/lib/table/data/common/area-map.type.ts +5 -0
  53. package/src/lib/table/data/common/args-adjust-columns-to-row-parent-params.ts +21 -0
  54. package/src/lib/table/data/common/args-render-cell-div.ts +34 -0
  55. package/src/lib/table/data/common/boolean-function.ts +16 -0
  56. package/src/lib/table/data/common/cell-range.ts +66 -0
  57. package/src/lib/table/data/common/checkbox-column-def.ts +31 -0
  58. package/src/lib/table/data/common/checked-type.ts +6 -0
  59. package/src/lib/table/data/common/event/ge-cell-indices.ts +12 -0
  60. package/src/lib/table/data/common/event/ge-key-event.ts +15 -0
  61. package/src/lib/table/data/common/event/ge-model-change-event.ts +16 -0
  62. package/src/lib/table/data/common/event/ge-mouse-event.ts +41 -0
  63. package/src/lib/table/data/common/event/input/table-cell-update-event.if.ts +58 -0
  64. package/src/lib/table/data/common/event/input/table-cell-update-event.ts +27 -0
  65. package/src/lib/table/data/common/filter-function.ts +9 -0
  66. package/src/lib/table/data/common/get-t.ts +7 -0
  67. package/src/lib/table/data/common/index-and-px.ts +12 -0
  68. package/src/lib/table/data/common/size.if.ts +8 -0
  69. package/src/lib/table/data/common/size.ts +9 -0
  70. package/src/lib/table/data/common/sizes.ts +35 -0
  71. package/src/lib/table/data/common/sort-item.ts +14 -0
  72. package/src/lib/table/data/common/sort-state.type.ts +7 -0
  73. package/src/lib/table/data/common/tree-arrow.type.ts +8 -0
  74. package/src/lib/table/data/common/tree-row-if.ts +15 -0
  75. package/src/lib/table/data/common/tree-row.ts +22 -0
  76. package/src/lib/table/data/common/value-label.if.ts +6 -0
  77. package/src/lib/table/data/common/value-label.ts +13 -0
  78. package/src/lib/table/data/div-scope.type.ts +14 -0
  79. package/src/lib/table/data/event/mouse-target-data.ts +48 -0
  80. package/src/lib/table/data/geo-data.ts +16 -0
  81. package/src/lib/table/data/options/auto-restore-options.if.ts +21 -0
  82. package/src/lib/table/data/options/auto-restore-options.ts +50 -0
  83. package/src/lib/table/data/options/default-row-heights.if.ts +5 -0
  84. package/src/lib/table/data/options/default-row-heights.ts +10 -0
  85. package/src/lib/table/data/options/header-group-options.if.ts +9 -0
  86. package/src/lib/table/data/options/header-group-options.ts +23 -0
  87. package/src/lib/table/data/options/icon.if.ts +20 -0
  88. package/src/lib/table/data/options/icon.ts +10 -0
  89. package/src/lib/table/data/options/sorted-options.if.ts +13 -0
  90. package/src/lib/table/data/options/sorted-options.ts +15 -0
  91. package/src/lib/table/data/options/table-options.if.ts +240 -0
  92. package/src/lib/table/data/options/table-options.ts +68 -0
  93. package/src/lib/table/data/options/tree-options.if.ts +10 -0
  94. package/src/lib/table/data/options/tree-options.ts +32 -0
  95. package/src/lib/table/data/side-ident.type.ts +4 -0
  96. package/src/lib/table/data/table-model-and-options.if.ts +11 -0
  97. package/src/lib/table/data/table-model-and-options.ts +16 -0
  98. package/src/lib/table/data/tablemodel/area-ident.type.ts +18 -0
  99. package/src/lib/table/data/tablemodel/areamodel/abstract-area-model.ts +184 -0
  100. package/src/lib/table/data/tablemodel/areamodel/area-model-array-of-arrays.ts +63 -0
  101. package/src/lib/table/data/tablemodel/areamodel/area-model-cell-groups.ts +236 -0
  102. package/src/lib/table/data/tablemodel/areamodel/area-model-hidden.ts +126 -0
  103. package/src/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.ts +28 -0
  104. package/src/lib/table/data/tablemodel/areamodel/area-model-object-array.ts +120 -0
  105. package/src/lib/table/data/tablemodel/areamodel/area-model-tree.ts +224 -0
  106. package/src/lib/table/data/tablemodel/areamodel/area-model.if.ts +192 -0
  107. package/src/lib/table/data/tablemodel/areamodel/area-model.ts +117 -0
  108. package/src/lib/table/data/tablemodel/areamodel/async-area-model-object-array.ts +110 -0
  109. package/src/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.ts +64 -0
  110. package/src/lib/table/data/tablemodel/areamodel/has-default-row-height-if.ts +3 -0
  111. package/src/lib/table/data/tablemodel/areamodel/object-array-holder.if.ts +8 -0
  112. package/src/lib/table/data/tablemodel/cellgroup/cell-group-ext.ts +172 -0
  113. package/src/lib/table/data/tablemodel/cellgroup/cell-group.if.ts +12 -0
  114. package/src/lib/table/data/tablemodel/cellgroup/cell-group.ts +18 -0
  115. package/src/lib/table/data/tablemodel/cellgroup/cellgroup-factory.ts +148 -0
  116. package/src/lib/table/data/tablemodel/column/column-def.if.ts +141 -0
  117. package/src/lib/table/data/tablemodel/column/column-def.ts +108 -0
  118. package/src/lib/table/data/tablemodel/padding.ts +12 -0
  119. package/src/lib/table/data/tablemodel/table-model.if.ts +256 -0
  120. package/src/lib/table/data/tablemodel/table-model.ts +542 -0
  121. package/src/lib/table/ele-scope.ts +309 -0
  122. package/src/lib/table/event-adapter.ts +43 -0
  123. package/src/lib/table/event-listener.if.ts +32 -0
  124. package/src/lib/table/factory/table-factory.ts +379 -0
  125. package/src/lib/table/factory/tree-factory.ts +52 -0
  126. package/src/lib/table/focus/event-focus-changed-listener.if.ts +8 -0
  127. package/src/lib/table/focus/focus-model.if.ts +20 -0
  128. package/src/lib/table/focus/focus-model.ts +76 -0
  129. package/src/lib/table/focus/focus.type.ts +4 -0
  130. package/src/lib/table/input-handler.ts +48 -0
  131. package/src/lib/table/instanceof-workaround.ts +41 -0
  132. package/src/lib/table/license-manager.ts +47 -0
  133. package/src/lib/table/mouse-handler.ts +307 -0
  134. package/src/lib/table/render-scope.ts +1440 -0
  135. package/src/lib/table/renderer/cell-group-ext-cell-renderer.ts +123 -0
  136. package/src/lib/table/renderer/cell-render.if.ts +16 -0
  137. package/src/lib/table/renderer/checkbox-boolean-property-cell-renderer.ts +63 -0
  138. package/src/lib/table/renderer/checkbox-cell-renderer.ts +39 -0
  139. package/src/lib/table/renderer/date-to-int-date-cell-renderer.ts +39 -0
  140. package/src/lib/table/renderer/date-to-iso-cell-renderer.ts +25 -0
  141. package/src/lib/table/renderer/date-to-locale-date-cell-renderer.ts +24 -0
  142. package/src/lib/table/renderer/date-to-tec-cell-renderer.ts +28 -0
  143. package/src/lib/table/renderer/edit/edit-cell-renderer.type.ts +3 -0
  144. package/src/lib/table/renderer/edit/edit-input-pipe-for-number.ts +6 -0
  145. package/src/lib/table/renderer/edit/edit-input-pipe.if.ts +15 -0
  146. package/src/lib/table/renderer/edit/input-cell-renderer.ts +41 -0
  147. package/src/lib/table/renderer/edit/select-cell-renderer.ts +60 -0
  148. package/src/lib/table/renderer/male-female-to-icon-cell-renderer.ts +26 -0
  149. package/src/lib/table/renderer/number-cell-progress-bar-cell-renderer.ts +57 -0
  150. package/src/lib/table/renderer/number-cell-renderer.ts +38 -0
  151. package/src/lib/table/renderer/positive-and-negative-number-renderer.ts +45 -0
  152. package/src/lib/table/renderer/progress-bar-cell-renderer.ts +60 -0
  153. package/src/lib/table/renderer/renderer-cleanup-fn.type.ts +1 -0
  154. package/src/lib/table/renderer/renderer.ts +11 -0
  155. package/src/lib/table/renderer/star-rating-cell-renderer.ts +45 -0
  156. package/src/lib/table/renderer/true-false-cell-renderer.ts +28 -0
  157. package/src/lib/table/selection/event-selection-changed-listener.if.ts +8 -0
  158. package/src/lib/table/selection/multi-rows-selection-model.ts +118 -0
  159. package/src/lib/table/selection/selection-model.if.ts +56 -0
  160. package/src/lib/table/selection/selection-model.ts +182 -0
  161. package/src/lib/table/selection/selection-service.ts +129 -0
  162. package/src/lib/table/selection/selection.type.ts +6 -0
  163. package/src/lib/table/service/abstract-store-state.service.ts +105 -0
  164. package/src/lib/table/service/convenience-dom.service.ts +574 -0
  165. package/src/lib/table/service/copy-service.if.ts +45 -0
  166. package/src/lib/table/service/copy-service.ts +130 -0
  167. package/src/lib/table/service/data/collapsed-expanded.data.ts +11 -0
  168. package/src/lib/table/service/data/html-style.type.ts +1 -0
  169. package/src/lib/table/service/dom-service.if.ts +18 -0
  170. package/src/lib/table/service/ge-filter.service.ts +123 -0
  171. package/src/lib/table/service/simple-dom-service.ts +55 -0
  172. package/src/lib/table/service/sorter.service.ts +30 -0
  173. package/src/lib/table/service/store-state-collapsed-expand.service.ts +76 -0
  174. package/src/lib/table/service/store-state-scroll-pos.service.ts +40 -0
  175. package/src/lib/table/service/store-state-sorting.service.ts +41 -0
  176. package/src/lib/table/service/tree-row.service.ts +32 -0
  177. package/src/lib/table/table-api.ts +234 -0
  178. package/src/lib/table/table-scope.ts +770 -0
  179. package/tsconfig.json +21 -0
  180. package/tsconfig.lib.json +10 -0
  181. package/tsconfig.spec.json +25 -0
  182. package/vite.config.ts +56 -0
  183. package/index.cjs +0 -351
  184. package/lib/table/focus/focus-model.if.d.ts +0 -8
  185. package/lib/table/renderer/positive-and-negative-number-renderer.d.ts +0 -4
  186. /package/{lib → dist/lib}/table/action/action-id.type.d.ts +0 -0
  187. /package/{lib → dist/lib}/table/action/on-action-triggered.if.d.ts +0 -0
  188. /package/{lib → dist/lib}/table/action/osx-shortcut-actionId-mapping.d.ts +0 -0
  189. /package/{lib → dist/lib}/table/action/shortcut-actionid-mapping.type.d.ts +0 -0
  190. /package/{lib → dist/lib}/table/action/shortcut.service.d.ts +0 -0
  191. /package/{lib → dist/lib}/table/action/windows-shortcut-actionId-mapping.d.ts +0 -0
  192. /package/{lib → dist/lib}/table/checkbox/checkbox-model.d.ts +0 -0
  193. /package/{lib → dist/lib}/table/checkbox/checkbox-model.if.d.ts +0 -0
  194. /package/{lib → dist/lib}/table/checkbox/tree-checkbox-model.d.ts +0 -0
  195. /package/{lib → dist/lib}/table/color/color-rgb.d.ts +0 -0
  196. /package/{lib → dist/lib}/table/color/color-rgb.if.d.ts +0 -0
  197. /package/{lib → dist/lib}/table/color/ge-css-color-util.d.ts +0 -0
  198. /package/{lib → dist/lib}/table/color/three-color-gradient-arg.d.ts +0 -0
  199. /package/{lib → dist/lib}/table/color/three-color-gradient-arg.if.d.ts +0 -0
  200. /package/{lib → dist/lib}/table/color/two-color-gradient-arg.d.ts +0 -0
  201. /package/{lib → dist/lib}/table/color/two-color-gradient-arg.if.d.ts +0 -0
  202. /package/{lib → dist/lib}/table/css-vars.d.ts +0 -0
  203. /package/{lib → dist/lib}/table/data/chunk/chunk.data-event.d.ts +0 -0
  204. /package/{lib → dist/lib}/table/data/chunk/chunk.data-event.if.d.ts +0 -0
  205. /package/{lib → dist/lib}/table/data/chunk/request-chunk.d.ts +0 -0
  206. /package/{lib → dist/lib}/table/data/chunk/request-chunk.if.d.ts +0 -0
  207. /package/{lib → dist/lib}/table/data/common/aligns.d.ts +0 -0
  208. /package/{lib → dist/lib}/table/data/common/area-map-factory.d.ts +0 -0
  209. /package/{lib → dist/lib}/table/data/common/area-map.d.ts +0 -0
  210. /package/{lib → dist/lib}/table/data/common/area-map.type.d.ts +0 -0
  211. /package/{lib → dist/lib}/table/data/common/args-adjust-columns-to-row-parent-params.d.ts +0 -0
  212. /package/{lib → dist/lib}/table/data/common/args-render-cell-div.d.ts +0 -0
  213. /package/{lib → dist/lib}/table/data/common/boolean-function.d.ts +0 -0
  214. /package/{lib → dist/lib}/table/data/common/cell-range.d.ts +0 -0
  215. /package/{lib → dist/lib}/table/data/common/checkbox-column-def.d.ts +0 -0
  216. /package/{lib → dist/lib}/table/data/common/checked-type.d.ts +0 -0
  217. /package/{lib → dist/lib}/table/data/common/event/ge-cell-indices.d.ts +0 -0
  218. /package/{lib → dist/lib}/table/data/common/event/ge-key-event.d.ts +0 -0
  219. /package/{lib → dist/lib}/table/data/common/event/ge-model-change-event.d.ts +0 -0
  220. /package/{lib → dist/lib}/table/data/common/event/ge-mouse-event.d.ts +0 -0
  221. /package/{lib → dist/lib}/table/data/common/event/input/table-cell-update-event.d.ts +0 -0
  222. /package/{lib → dist/lib}/table/data/common/event/input/table-cell-update-event.if.d.ts +0 -0
  223. /package/{lib → dist/lib}/table/data/common/filter-function.d.ts +0 -0
  224. /package/{lib → dist/lib}/table/data/common/get-t.d.ts +0 -0
  225. /package/{lib → dist/lib}/table/data/common/index-and-px.d.ts +0 -0
  226. /package/{lib → dist/lib}/table/data/common/size.d.ts +0 -0
  227. /package/{lib → dist/lib}/table/data/common/size.if.d.ts +0 -0
  228. /package/{lib → dist/lib}/table/data/common/sizes.d.ts +0 -0
  229. /package/{lib → dist/lib}/table/data/common/sort-item.d.ts +0 -0
  230. /package/{lib → dist/lib}/table/data/common/sort-state.type.d.ts +0 -0
  231. /package/{lib → dist/lib}/table/data/common/tree-arrow.type.d.ts +0 -0
  232. /package/{lib → dist/lib}/table/data/common/tree-row-if.d.ts +0 -0
  233. /package/{lib → dist/lib}/table/data/common/tree-row.d.ts +0 -0
  234. /package/{lib → dist/lib}/table/data/common/value-label.d.ts +0 -0
  235. /package/{lib → dist/lib}/table/data/common/value-label.if.d.ts +0 -0
  236. /package/{lib → dist/lib}/table/data/div-scope.type.d.ts +0 -0
  237. /package/{lib → dist/lib}/table/data/event/mouse-target-data.d.ts +0 -0
  238. /package/{lib → dist/lib}/table/data/geo-data.d.ts +0 -0
  239. /package/{lib → dist/lib}/table/data/options/auto-restore-options.d.ts +0 -0
  240. /package/{lib → dist/lib}/table/data/options/auto-restore-options.if.d.ts +0 -0
  241. /package/{lib → dist/lib}/table/data/options/default-row-heights.d.ts +0 -0
  242. /package/{lib → dist/lib}/table/data/options/default-row-heights.if.d.ts +0 -0
  243. /package/{lib → dist/lib}/table/data/options/header-group-options.d.ts +0 -0
  244. /package/{lib → dist/lib}/table/data/options/header-group-options.if.d.ts +0 -0
  245. /package/{lib → dist/lib}/table/data/options/icon.d.ts +0 -0
  246. /package/{lib → dist/lib}/table/data/options/icon.if.d.ts +0 -0
  247. /package/{lib → dist/lib}/table/data/options/sorted-options.d.ts +0 -0
  248. /package/{lib → dist/lib}/table/data/options/sorted-options.if.d.ts +0 -0
  249. /package/{lib → dist/lib}/table/data/options/table-options.d.ts +0 -0
  250. /package/{lib → dist/lib}/table/data/options/table-options.if.d.ts +0 -0
  251. /package/{lib → dist/lib}/table/data/options/tree-options.d.ts +0 -0
  252. /package/{lib → dist/lib}/table/data/options/tree-options.if.d.ts +0 -0
  253. /package/{lib → dist/lib}/table/data/side-ident.type.d.ts +0 -0
  254. /package/{lib → dist/lib}/table/data/table-model-and-options.d.ts +0 -0
  255. /package/{lib → dist/lib}/table/data/table-model-and-options.if.d.ts +0 -0
  256. /package/{lib → dist/lib}/table/data/tablemodel/area-ident.type.d.ts +0 -0
  257. /package/{lib → dist/lib}/table/data/tablemodel/areamodel/abstract-area-model.d.ts +0 -0
  258. /package/{lib → dist/lib}/table/data/tablemodel/areamodel/area-model-array-of-arrays.d.ts +0 -0
  259. /package/{lib → dist/lib}/table/data/tablemodel/areamodel/area-model-cell-groups.d.ts +0 -0
  260. /package/{lib → dist/lib}/table/data/tablemodel/areamodel/area-model-hidden.d.ts +0 -0
  261. /package/{lib → dist/lib}/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.d.ts +0 -0
  262. /package/{lib → dist/lib}/table/data/tablemodel/areamodel/area-model-object-array.d.ts +0 -0
  263. /package/{lib → dist/lib}/table/data/tablemodel/areamodel/area-model-tree.d.ts +0 -0
  264. /package/{lib → dist/lib}/table/data/tablemodel/areamodel/area-model.d.ts +0 -0
  265. /package/{lib → dist/lib}/table/data/tablemodel/areamodel/area-model.if.d.ts +0 -0
  266. /package/{lib → dist/lib}/table/data/tablemodel/areamodel/async-area-model-object-array.d.ts +0 -0
  267. /package/{lib → dist/lib}/table/data/tablemodel/areamodel/col-and-rowspan-model.d.ts +0 -0
  268. /package/{lib → dist/lib}/table/data/tablemodel/areamodel/has-default-row-height-if.d.ts +0 -0
  269. /package/{lib → dist/lib}/table/data/tablemodel/areamodel/object-array-holder.if.d.ts +0 -0
  270. /package/{lib → dist/lib}/table/data/tablemodel/cellgroup/cell-group-ext.d.ts +0 -0
  271. /package/{lib → dist/lib}/table/data/tablemodel/cellgroup/cell-group.d.ts +0 -0
  272. /package/{lib → dist/lib}/table/data/tablemodel/cellgroup/cell-group.if.d.ts +0 -0
  273. /package/{lib → dist/lib}/table/data/tablemodel/cellgroup/cellgroup-factory.d.ts +0 -0
  274. /package/{lib → dist/lib}/table/data/tablemodel/column/column-def.d.ts +0 -0
  275. /package/{lib → dist/lib}/table/data/tablemodel/column/column-def.if.d.ts +0 -0
  276. /package/{lib → dist/lib}/table/data/tablemodel/padding.d.ts +0 -0
  277. /package/{lib → dist/lib}/table/data/tablemodel/table-model.d.ts +0 -0
  278. /package/{lib → dist/lib}/table/data/tablemodel/table-model.if.d.ts +0 -0
  279. /package/{lib → dist/lib}/table/ele-scope.d.ts +0 -0
  280. /package/{lib → dist/lib}/table/event-adapter.d.ts +0 -0
  281. /package/{lib → dist/lib}/table/factory/table-factory.d.ts +0 -0
  282. /package/{lib → dist/lib}/table/factory/tree-factory.d.ts +0 -0
  283. /package/{lib → dist/lib}/table/focus/focus.type.d.ts +0 -0
  284. /package/{lib → dist/lib}/table/input-handler.d.ts +0 -0
  285. /package/{lib → dist/lib}/table/instanceof-workaround.d.ts +0 -0
  286. /package/{lib → dist/lib}/table/license-manager.d.ts +0 -0
  287. /package/{lib → dist/lib}/table/mouse-handler.d.ts +0 -0
  288. /package/{lib → dist/lib}/table/render-scope.d.ts +0 -0
  289. /package/{lib → dist/lib}/table/renderer/cell-group-ext-cell-renderer.d.ts +0 -0
  290. /package/{lib → dist/lib}/table/renderer/cell-render.if.d.ts +0 -0
  291. /package/{lib → dist/lib}/table/renderer/checkbox-boolean-property-cell-renderer.d.ts +0 -0
  292. /package/{lib → dist/lib}/table/renderer/checkbox-cell-renderer.d.ts +0 -0
  293. /package/{lib → dist/lib}/table/renderer/date-to-int-date-cell-renderer.d.ts +0 -0
  294. /package/{lib → dist/lib}/table/renderer/date-to-iso-cell-renderer.d.ts +0 -0
  295. /package/{lib → dist/lib}/table/renderer/date-to-locale-date-cell-renderer.d.ts +0 -0
  296. /package/{lib → dist/lib}/table/renderer/date-to-tec-cell-renderer.d.ts +0 -0
  297. /package/{lib → dist/lib}/table/renderer/edit/edit-cell-renderer.type.d.ts +0 -0
  298. /package/{lib → dist/lib}/table/renderer/edit/edit-input-pipe-for-number.d.ts +0 -0
  299. /package/{lib → dist/lib}/table/renderer/edit/edit-input-pipe.if.d.ts +0 -0
  300. /package/{lib → dist/lib}/table/renderer/edit/input-cell-renderer.d.ts +0 -0
  301. /package/{lib → dist/lib}/table/renderer/edit/select-cell-renderer.d.ts +0 -0
  302. /package/{lib → dist/lib}/table/renderer/male-female-to-icon-cell-renderer.d.ts +0 -0
  303. /package/{lib → dist/lib}/table/renderer/number-cell-progress-bar-cell-renderer.d.ts +0 -0
  304. /package/{lib → dist/lib}/table/renderer/number-cell-renderer.d.ts +0 -0
  305. /package/{lib → dist/lib}/table/renderer/progress-bar-cell-renderer.d.ts +0 -0
  306. /package/{lib → dist/lib}/table/renderer/renderer-cleanup-fn.type.d.ts +0 -0
  307. /package/{lib → dist/lib}/table/renderer/renderer.d.ts +0 -0
  308. /package/{lib → dist/lib}/table/renderer/star-rating-cell-renderer.d.ts +0 -0
  309. /package/{lib → dist/lib}/table/renderer/true-false-cell-renderer.d.ts +0 -0
  310. /package/{lib → dist/lib}/table/selection/selection-service.d.ts +0 -0
  311. /package/{lib → dist/lib}/table/selection/selection.type.d.ts +0 -0
  312. /package/{lib → dist/lib}/table/service/abstract-store-state.service.d.ts +0 -0
  313. /package/{lib → dist/lib}/table/service/convenience-dom.service.d.ts +0 -0
  314. /package/{lib → dist/lib}/table/service/copy-service.d.ts +0 -0
  315. /package/{lib → dist/lib}/table/service/copy-service.if.d.ts +0 -0
  316. /package/{lib → dist/lib}/table/service/data/collapsed-expanded.data.d.ts +0 -0
  317. /package/{lib → dist/lib}/table/service/data/html-style.type.d.ts +0 -0
  318. /package/{lib → dist/lib}/table/service/dom-service.if.d.ts +0 -0
  319. /package/{lib → dist/lib}/table/service/ge-filter.service.d.ts +0 -0
  320. /package/{lib → dist/lib}/table/service/simple-dom-service.d.ts +0 -0
  321. /package/{lib → dist/lib}/table/service/sorter.service.d.ts +0 -0
  322. /package/{lib → dist/lib}/table/service/store-state-collapsed-expand.service.d.ts +0 -0
  323. /package/{lib → dist/lib}/table/service/store-state-scroll-pos.service.d.ts +0 -0
  324. /package/{lib → dist/lib}/table/service/store-state-sorting.service.d.ts +0 -0
  325. /package/{lib → dist/lib}/table/service/tree-row.service.d.ts +0 -0
  326. /package/{lib → dist/lib}/table/table-api.d.ts +0 -0
@@ -0,0 +1,123 @@
1
+ import { CheckedType } from "../data/common/checked-type";
2
+ import { CheckboxModelIf } from "./checkbox-model.if";
3
+ import { TreeRowIf } from "../data/common/tree-row-if";
4
+
5
+
6
+ export class TreeCheckboxModel<T extends TreeRowIf<any>> implements CheckboxModelIf<T> {
7
+
8
+
9
+ constructor(
10
+ protected allRootNodes: T[] = []
11
+ ) {
12
+ }
13
+
14
+ checkRow(row: T, sel: boolean): void {
15
+ row.checked = sel;
16
+ if (row.children) {
17
+ for (const child of row.children) {
18
+ this.checkRow(child as T, sel);
19
+ }
20
+ }
21
+ this.autoCheckParent(row.parent as T);
22
+ }
23
+
24
+ checkAll(_arr: T[]): void {
25
+ for (const node of this.allRootNodes) {
26
+ node.checked = false;
27
+ if (node.children) {
28
+ this.checkAll(node.children as T[]);
29
+ }
30
+ }
31
+ }
32
+
33
+ getCheckedRows(): T[] {
34
+ const ret: T[] = [];
35
+ this.addSelectedRecursive(this.allRootNodes, ret);
36
+ return ret;
37
+ }
38
+
39
+ isRowChecked(row: T): CheckedType {
40
+ if (row.checked) {
41
+ return "full";
42
+ }
43
+ const b1 = this.areAllChildrenChecked(row as T);
44
+ const b2 = this.areAllChildrenUnchecked(row as T);
45
+ if (!b1 && !b2) {
46
+ return "semi";
47
+ }
48
+ return "none";
49
+ }
50
+
51
+ setCheckedRows(rows: T[]): void {
52
+ this.addCheckedRows(rows);
53
+ }
54
+
55
+
56
+ addCheckedRows(rows: T[]): void {
57
+ for (const t of rows) {
58
+ t.checked = true;
59
+ }
60
+ }
61
+
62
+ private autoCheckParent(parent: T | undefined): void {
63
+ if (parent) {
64
+ const b1 = this.areAllChildrenChecked(parent as T);
65
+ const b2 = this.areAllChildrenUnchecked(parent as T);
66
+ if (b1) {
67
+ parent.checked = true;
68
+ } else if (b2) {
69
+ parent.checked = false;
70
+ } else {
71
+ // nur semi:
72
+ parent.checked = false;
73
+ }
74
+ this.autoCheckParent(parent.parent as T);
75
+ }
76
+ }
77
+
78
+ private areAllChildrenChecked(row: T): boolean {
79
+ if (row.children?.length) {
80
+ for (const child of row.children) {
81
+ if (!child.checked) {
82
+ return false;
83
+ }
84
+ if (child.children?.length) {
85
+ const b = this.areAllChildrenChecked(child as T);
86
+ if (!b) {
87
+ return false;
88
+ }
89
+ }
90
+ }
91
+ }
92
+ return true;
93
+ }
94
+
95
+ private areAllChildrenUnchecked(row: T): boolean {
96
+ if (row.children?.length) {
97
+ for (const child of row.children) {
98
+ if (child.checked) {
99
+ return false;
100
+ }
101
+ if (child.children?.length) {
102
+ const b = this.areAllChildrenUnchecked(child as T);
103
+ if (!b) {
104
+ return false;
105
+ }
106
+ }
107
+ }
108
+ }
109
+ return true;
110
+ }
111
+
112
+
113
+ private addSelectedRecursive(nodes: T[], ret: T[]) {
114
+ for (const n of nodes) {
115
+ if (n.checked) {
116
+ ret.push(n);
117
+ }
118
+ if (n.children) {
119
+ this.addSelectedRecursive(n.children as T[], ret);
120
+ }
121
+ }
122
+ }
123
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Represents a color in RGB format.
3
+ *
4
+ * @interface
5
+ */
6
+ export interface ColorRgbIf {
7
+
8
+ r: number;
9
+ g: number;
10
+ b: number;
11
+
12
+ }
@@ -0,0 +1,10 @@
1
+ import { ColorRgbIf } from "./color-rgb.if";
2
+
3
+ export class ColorRgb implements ColorRgbIf {
4
+ constructor(
5
+ public r: number,
6
+ public g: number,
7
+ public b: number
8
+ ) {
9
+ }
10
+ }
@@ -0,0 +1,43 @@
1
+ import { TwoColorGradientArgIf } from "./two-color-gradient-arg.if";
2
+ import { ThreeColorGradientArgIf } from "./three-color-gradient-arg.if";
3
+ import { TwoColorGradientArg } from "./two-color-gradient-arg";
4
+
5
+ export class GeCssColorUtil {
6
+
7
+
8
+ static normalize(
9
+ value: number,
10
+ fromSource: number,
11
+ toSource: number,
12
+ fromTarget: number = 0,
13
+ toTarget: number = 1) {
14
+ return (value - fromSource) / (toSource - fromSource) * (toTarget - fromTarget) + fromTarget;
15
+ }
16
+
17
+
18
+ static getTwoColorGradientRGB(value: number, para: TwoColorGradientArgIf): string {
19
+ const factor = GeCssColorUtil.normalize(value, para.minValue, para.maxValue, 0, 1);
20
+
21
+ const diffRed = para.maxColor.r - para.minColor.r;
22
+ const diffGreen = para.maxColor.g - para.minColor.g;
23
+ const diffBlue = para.maxColor.b - para.minColor.b;
24
+
25
+ const r = (diffRed * factor) + para.minColor.r;
26
+ const g = (diffGreen * factor) + para.minColor.g;
27
+ const b = (diffBlue * factor) + para.minColor.b;
28
+
29
+ return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;
30
+ }
31
+
32
+
33
+ static getThreeColorGradientRGB(value: number, para: ThreeColorGradientArgIf): string {
34
+ if (value < para.middleValue) {
35
+ return GeCssColorUtil.getTwoColorGradientRGB(value, new TwoColorGradientArg(para.minValue, para.minColor, para.middleValue, para.middleColor));
36
+ }
37
+ if (value > para.middleValue) {
38
+ return GeCssColorUtil.getTwoColorGradientRGB(value, new TwoColorGradientArg(para.middleValue, para.middleColor, para.maxValue, para.maxColor));
39
+ }
40
+ return `rgb(${para.middleColor.r}, ${para.middleColor.g}, ${para.middleColor.b})`;
41
+ }
42
+
43
+ }
@@ -0,0 +1,15 @@
1
+ import { ColorRgbIf } from "./color-rgb.if";
2
+
3
+ /**
4
+ * Interface for defining the arguments of a three-color gradient.
5
+ *
6
+ * @interface
7
+ */
8
+ export interface ThreeColorGradientArgIf {
9
+ minValue: number;
10
+ minColor: ColorRgbIf;
11
+ middleValue: number;
12
+ middleColor: ColorRgbIf;
13
+ maxValue: number;
14
+ maxColor: ColorRgbIf;
15
+ }
@@ -0,0 +1,14 @@
1
+ import { ColorRgbIf } from "./color-rgb.if";
2
+ import { ThreeColorGradientArgIf } from "./three-color-gradient-arg.if";
3
+
4
+ export class ThreeColorGradientArg implements ThreeColorGradientArgIf {
5
+ constructor(
6
+ public minValue: number,
7
+ public minColor: ColorRgbIf,
8
+ public middleValue: number,
9
+ public middleColor: ColorRgbIf,
10
+ public maxValue: number,
11
+ public maxColor: ColorRgbIf
12
+ ) {
13
+ }
14
+ }
@@ -0,0 +1,12 @@
1
+ import { ColorRgbIf } from "./color-rgb.if";
2
+
3
+ /**
4
+ * Interface representing arguments for a two-color gradient.
5
+ * @interface
6
+ */
7
+ export interface TwoColorGradientArgIf {
8
+ minValue: number;
9
+ minColor: ColorRgbIf;
10
+ maxValue: number;
11
+ maxColor: ColorRgbIf;
12
+ }
@@ -0,0 +1,12 @@
1
+ import { ColorRgbIf } from "./color-rgb.if";
2
+ import { TwoColorGradientArgIf } from "./two-color-gradient-arg.if";
3
+
4
+ export class TwoColorGradientArg implements TwoColorGradientArgIf {
5
+ constructor(
6
+ public minValue: number,
7
+ public minColor: ColorRgbIf,
8
+ public maxValue: number,
9
+ public maxColor: ColorRgbIf
10
+ ) {
11
+ }
12
+ }
@@ -0,0 +1,243 @@
1
+
2
+ export class CssVars {
3
+
4
+ public static readonly themes = ['light', 'combat', 'paper', 'blackboard'];
5
+
6
+ public static readonly vars = {
7
+ light: `html[data-theme="light"] {
8
+ --ge-table-bg: rgba(255,255,255, 0.5);
9
+ --ge-table-header-west-bg: rgba(233, 233, 233, 0.5);
10
+ --ge-table-header-center-bg: rgba(233, 233, 233, 0.5);
11
+ --ge-table-header-east-bg: rgba(233, 233, 233, 0.5);
12
+ --ge-table-header-west-text: #000;
13
+ --ge-table-header-center-text: #000;
14
+ --ge-table-header-east-text: #000;
15
+ --ge-table-header-west-horizontal-border: #ddd;
16
+ --ge-table-header-west-vertical-border: #ccc;
17
+ --ge-table-header-center-horizontal-border: #ddd;
18
+ --ge-table-header-center-vertical-border: #ccc;
19
+ --ge-table-header-east-horizontal-border: #ddd;
20
+ --ge-table-header-east-vertical-border: #ccc;
21
+ --ge-table-body-west-bg: rgba(233, 233, 233, 0.5);
22
+ --ge-table-body-center-bg: rgba(255,255,255, 0.5);
23
+ --ge-table-body-east-bg: rgba(233, 233, 233, 0.5);
24
+ --ge-table-body-west-text: #000;
25
+ --ge-table-body-center-text: #000;
26
+ --ge-table-body-east-text: #000;
27
+ --ge-table-body-west-horizontal-border: #ddd;
28
+ --ge-table-body-west-vertical-border: #ccc;
29
+ --ge-table-body-center-horizontal-border: #bbb;
30
+ --ge-table-body-center-vertical-border: #ddd;
31
+ --ge-table-body-east-horizontal-border: #ddd;
32
+ --ge-table-body-east-vertical-border: #ccc;
33
+ --ge-table-body-west-selected-range-bg: rgba(0, 152, 219, 0.4);
34
+ --ge-table-body-center-selected-range-bg: rgba(0, 152, 219, 0.4);
35
+ --ge-table-body-east-selected-range-bg: rgba(0, 152, 219, 0.4);
36
+ --ge-table-body-west-selected-range-text: #000;
37
+ --ge-table-body-center-selected-range-text: #000;
38
+ --ge-table-body-east-selected-range-text: #000;
39
+ --ge-table-footer-west-bg: rgba(233, 233, 233, 0.5);
40
+ --ge-table-footer-center-bg: rgba(233, 233, 233, 0.5);
41
+ --ge-table-footer-east-bg: rgba(233, 233, 233, 0.5);
42
+ --ge-table-footer-west-text: #000;
43
+ --ge-table-footer-center-text: #000;
44
+ --ge-table-footer-east-text: #000;
45
+ --ge-table-footer-west-horizontal-border: #ddd;
46
+ --ge-table-footer-west-vertical-border: #ccc;
47
+ --ge-table-footer-center-horizontal-border: #ddd;
48
+ --ge-table-footer-center-vertical-border: #ccc;
49
+ --ge-table-footer-east-horizontal-border: #ddd;
50
+ --ge-table-footer-east-vertical-border: #ccc;
51
+ --ge-table-border: #ccc;
52
+ --ge-table-row-odd-bg: transparent;
53
+ --ge-table-row-even-bg: transparent;
54
+ --ge-table-column-odd-bg: transparent;
55
+ --ge-table-column-even-bg: transparent;
56
+ --ge-table-hover-column-bg: rgba(0, 224, 255, 0.27);
57
+ --ge-table-hover-row-bg: rgba(0, 224, 255, 0.27);
58
+ --ge-table-focus-border: rgb(0, 255, 255);
59
+ --ge-table-color-error-text: #e00034;
60
+ --ge-table-tree-arrow-collapsed-color: #e00034;
61
+ --ge-table-column-resize-handle-border: rgb(0, 255, 255);
62
+ --ge-table-dragged-col-div-bg: lightcyan;
63
+ --ge-table-drop-zone-bg: rgba(244, 255, 242, 0.6);
64
+ }`,
65
+
66
+ combat:`html[data-theme="combat"] {
67
+ --ge-table-bg: #101010;
68
+ --ge-table-header-west-bg: #101010;
69
+ --ge-table-header-center-bg: #101010;
70
+ --ge-table-header-east-bg: #101010;
71
+ --ge-table-header-west-text: oklch(100% 0 0);
72
+ --ge-table-header-center-text: oklch(100% 0 0);
73
+ --ge-table-header-east-text: oklch(100% 0 0);
74
+ --ge-table-header-west-horizontal-border: oklch(100% 0 0 / 0%);
75
+ --ge-table-header-west-vertical-border: oklch(100% 0 0 / 0%);
76
+ --ge-table-header-center-horizontal-border: oklch(100% 0 0 / 0%);
77
+ --ge-table-header-center-vertical-border: oklch(100% 0 0 / 0%);
78
+ --ge-table-header-east-horizontal-border: oklch(100% 0 0 / 0%);
79
+ --ge-table-header-east-vertical-border: oklch(100% 0 0 / 0%);
80
+ --ge-table-body-west-bg: #101010;
81
+ --ge-table-body-center-bg: #101010;
82
+ --ge-table-body-east-bg: #101010;
83
+ --ge-table-body-west-text: #b6b4b4;
84
+ --ge-table-body-center-text: #b6b4b4;
85
+ --ge-table-body-east-text: #b6b4b4;
86
+ --ge-table-body-west-horizontal-border: oklch(100% 0 0 / 0%);
87
+ --ge-table-body-west-vertical-border: oklch(100% 0 0 / 0%);
88
+ --ge-table-body-center-horizontal-border: oklch(100% 0 0 / 0%);
89
+ --ge-table-body-center-vertical-border: oklch(100% 0 0 / 0%);
90
+ --ge-table-body-east-horizontal-border: oklch(100% 0 0 / 0%);
91
+ --ge-table-body-east-vertical-border: oklch(100% 0 0 / 0%);
92
+ --ge-table-body-west-selected-range-bg: oklch(20% 0.2 39.6 / 37%);
93
+ --ge-table-body-center-selected-range-bg: oklch(20% 0.2 39.6 / 37%);
94
+ --ge-table-body-east-selected-range-bg: oklch(20% 0.2 39.6 / 37%);
95
+ --ge-table-body-west-selected-range-text: #f00032;
96
+ --ge-table-body-center-selected-range-text: #f00032;
97
+ --ge-table-body-east-selected-range-text: #f00032;
98
+ --ge-table-footer-west-bg: #101010;
99
+ --ge-table-footer-center-bg: #101010;
100
+ --ge-table-footer-east-bg: #101010;
101
+ --ge-table-footer-west-text: oklch(100% 0 0);
102
+ --ge-table-footer-center-text: oklch(100% 0 0);
103
+ --ge-table-footer-east-text: oklch(100% 0 0);
104
+ --ge-table-footer-west-horizontal-border: oklch(100% 0 0 / 0%);
105
+ --ge-table-footer-west-vertical-border: oklch(100% 0 0 / 0%);
106
+ --ge-table-footer-center-horizontal-border: oklch(100% 0 0 / 0%);
107
+ --ge-table-footer-center-vertical-border: oklch(100% 0 0 / 0%);
108
+ --ge-table-footer-east-horizontal-border: oklch(100% 0 0 / 0%);
109
+ --ge-table-footer-east-vertical-border: oklch(100% 0 0 / 0%);
110
+ --ge-table-border: oklch(100% 0 0 / 0%);
111
+ --ge-table-row-odd-bg: oklch(100% 0 0 / 0%);
112
+ --ge-table-row-even-bg: oklch(100% 0 0 / 0%);
113
+ --ge-table-column-odd-bg: oklch(100% 0 0 / 0%);
114
+ --ge-table-column-even-bg: oklch(100% 0 0 / 0%);
115
+ --ge-table-hover-column-bg: oklch(34% 0.25 3.6 / 27%);
116
+ --ge-table-hover-row-bg: oklch(34% 0.25 3.6 / 27%);
117
+ --ge-table-focus-border: oklch(40% 0.25 3.6);
118
+ --ge-table-color-error-text: oklch(65% 0.31 43.2);
119
+ --ge-table-tree-arrow-collapsed-color: #e00034;
120
+ --ge-table-column-resize-handle-border: oklch(63% 0.31 43.2);
121
+ --ge-table-dragged-col-div-bg: #2c2e33;
122
+ --ge-table-drop-zone-bg: #101010;
123
+ }`,
124
+
125
+ paper: `html[data-theme="paper"] {
126
+ --ge-table-bg: #e7e5df;
127
+ --ge-table-header-west-bg: oklch(80% 0.02 99 / 48%);
128
+ --ge-table-header-center-bg: oklch(80% 0.02 99 / 48%);
129
+ --ge-table-header-east-bg: oklch(80% 0.02 99 / 48%);
130
+ --ge-table-header-west-text: #111;
131
+ --ge-table-header-center-text: #111;
132
+ --ge-table-header-east-text: #111;
133
+ --ge-table-header-west-horizontal-border: oklch(100% 0 0 / 0%);
134
+ --ge-table-header-west-vertical-border: oklch(100% 0 0 / 0%);
135
+ --ge-table-header-center-horizontal-border: oklch(100% 0 0 / 0%);
136
+ --ge-table-header-center-vertical-border: oklch(100% 0 0 / 0%);
137
+ --ge-table-header-east-horizontal-border: oklch(100% 0 0 / 0%);
138
+ --ge-table-header-east-vertical-border: oklch(100% 0 0 / 0%);
139
+ --ge-table-body-west-bg: oklch(80% 0.02 99 / 48%);
140
+ --ge-table-body-center-bg: #e7e5df;
141
+ --ge-table-body-east-bg: oklch(80% 0.02 99 / 48%);
142
+ --ge-table-body-west-text: #000;
143
+ --ge-table-body-center-text: #000;
144
+ --ge-table-body-east-text: #000;
145
+ --ge-table-body-west-horizontal-border: oklch(100% 0 0 / 0%);
146
+ --ge-table-body-west-vertical-border: oklch(100% 0 0 / 0%);
147
+ --ge-table-body-center-horizontal-border: oklch(100% 0 0 / 0%);
148
+ --ge-table-body-center-vertical-border: oklch(100% 0 0 / 0%);
149
+ --ge-table-body-east-horizontal-border: oklch(100% 0 0 / 0%);
150
+ --ge-table-body-east-vertical-border: oklch(100% 0 0 / 0%);
151
+ --ge-table-body-west-selected-range-bg: #cfcdc2;
152
+ --ge-table-body-center-selected-range-bg: #cfcdc2;
153
+ --ge-table-body-east-selected-range-bg: #cfcdc2;
154
+ --ge-table-body-west-selected-range-text: #000;
155
+ --ge-table-body-center-selected-range-text: #000;
156
+ --ge-table-body-east-selected-range-text: #000;
157
+ --ge-table-footer-west-bg: oklch(80% 0.02 99 / 48%);
158
+ --ge-table-footer-center-bg: oklch(80% 0.02 99 / 48%);
159
+ --ge-table-footer-east-bg: oklch(80% 0.02 99 / 48%);
160
+ --ge-table-footer-west-text: #111;
161
+ --ge-table-footer-center-text: #111;
162
+ --ge-table-footer-east-text: #111;
163
+ --ge-table-footer-west-horizontal-border: oklch(100% 0 0 / 0%);
164
+ --ge-table-footer-west-vertical-border: oklch(100% 0 0 / 0%);
165
+ --ge-table-footer-center-horizontal-border: oklch(100% 0 0 / 0%);
166
+ --ge-table-footer-center-vertical-border: oklch(100% 0 0 / 0%);
167
+ --ge-table-footer-east-horizontal-border: oklch(100% 0 0 / 0%);
168
+ --ge-table-footer-east-vertical-border: oklch(100% 0 0 / 0%);
169
+ --ge-table-border: oklch(100% 0 0 / 0%);
170
+ --ge-table-row-odd-bg: oklch(100% 0 0 / 0%);
171
+ --ge-table-row-even-bg: oklch(100% 0 0 / 0%);
172
+ --ge-table-column-odd-bg: oklch(100% 0 0 / 0%);
173
+ --ge-table-column-even-bg: oklch(100% 0 0 / 0%);
174
+ --ge-table-hover-column-bg: oklch(5% 0.2 266.40000000000003 / 9%);
175
+ --ge-table-hover-row-bg: oklch(5% 0.2 266.40000000000003 / 9%);
176
+ --ge-table-focus-border: oklch(100% 0.19 205.20000000000002);
177
+ --ge-table-color-error-text: oklch(45% 0.25 43.2);
178
+ --ge-table-tree-arrow-collapsed-color: #e00034;
179
+ --ge-table-column-resize-handle-border: oklch(100% 0.19 205.20000000000002 / 71%);
180
+ --ge-table-dragged-col-div-bg: #2c2e33;
181
+ --ge-table-drop-zone-bg: #e7e5df;
182
+ }`,
183
+ blackboard:`html[data-theme="dark"] {
184
+ --ge-table-bg: #0c1021;
185
+ --ge-table-header-west-bg: #0c1021;
186
+ --ge-table-header-center-bg: #0c1021;
187
+ --ge-table-header-east-bg: #0c1021;
188
+ --ge-table-header-west-text: #e0df85;
189
+ --ge-table-header-center-text: #e0df85;
190
+ --ge-table-header-east-text: #e0df85;
191
+ --ge-table-header-west-horizontal-border: transparent;
192
+ --ge-table-header-west-vertical-border: transparent;
193
+ --ge-table-header-center-horizontal-border: transparent;
194
+ --ge-table-header-center-vertical-border: transparent;
195
+ --ge-table-header-east-horizontal-border: transparent;
196
+ --ge-table-header-east-vertical-border: transparent;
197
+ --ge-table-body-west-bg: #0c1021;
198
+ --ge-table-body-center-bg: #0c1021;
199
+ --ge-table-body-east-bg: #0c1021;
200
+ --ge-table-body-west-text: #a7a7a7;
201
+ --ge-table-body-center-text: #a7a7a7;
202
+ --ge-table-body-east-text: #a7a7a7;
203
+ --ge-table-body-west-horizontal-border: transparent;
204
+ --ge-table-body-west-vertical-border: transparent;
205
+ --ge-table-body-center-horizontal-border: transparent;
206
+ --ge-table-body-center-vertical-border: transparent;
207
+ --ge-table-body-east-horizontal-border: transparent;
208
+ --ge-table-body-east-vertical-border: transparent;
209
+ --ge-table-body-west-selected-range-bg: #758129;
210
+ --ge-table-body-center-selected-range-bg: #758129;
211
+ --ge-table-body-east-selected-range-bg: #758129;
212
+ --ge-table-body-west-selected-range-text: oklch(100% 0 0);
213
+ --ge-table-body-center-selected-range-text: oklch(100% 0 0);
214
+ --ge-table-body-east-selected-range-text: oklch(100% 0 0);
215
+ --ge-table-footer-west-bg: #0c1021;
216
+ --ge-table-footer-center-bg: #0c1021;
217
+ --ge-table-footer-east-bg: #0c1021;
218
+ --ge-table-footer-west-text: #e0df85;
219
+ --ge-table-footer-center-text: #e0df85;
220
+ --ge-table-footer-east-text: #e0df85;
221
+ --ge-table-footer-west-horizontal-border: transparent;
222
+ --ge-table-footer-west-vertical-border: transparent;
223
+ --ge-table-footer-center-horizontal-border: transparent;
224
+ --ge-table-footer-center-vertical-border: otransparent;
225
+ --ge-table-footer-east-horizontal-border: transparent;
226
+ --ge-table-footer-east-vertical-border: transparent;
227
+ --ge-table-border: oklch(0% 0 0);
228
+ --ge-table-row-odd-bg: oklch(100% 0 0 / 0%);
229
+ --ge-table-row-even-bg: oklch(100% 0 0 / 0%);
230
+ --ge-table-column-odd-bg: oklch(100% 0 0 / 0%);
231
+ --ge-table-column-even-bg: oklch(100% 0 0 / 0%);
232
+ --ge-table-hover-column-bg: #a9a9a9;
233
+ --ge-table-hover-row-bg: #a9a9a9;
234
+ --ge-table-focus-border: #e1ff00;
235
+ --ge-table-color-error-text: #ff0040;
236
+ --ge-table-tree-arrow-collapsed-color: #e00034;
237
+ --ge-table-column-resize-handle-border: oklch(0% 0 0);
238
+ --ge-table-dragged-col-div-bg: #2c2e33;
239
+ --ge-table-drop-zone-bg: #758129;
240
+ }`
241
+ };
242
+
243
+ }
@@ -0,0 +1,8 @@
1
+ import {RequestChunkIf} from "./request-chunk.if";
2
+
3
+
4
+ export interface ChunkDataIf<T> extends RequestChunkIf {
5
+
6
+ rows: T[];
7
+
8
+ }
@@ -0,0 +1,27 @@
1
+ import {ChunkDataIf} from "./chunk.data-event.if";
2
+ import {RequestChunk} from "./request-chunk";
3
+
4
+ export class ChunkData<T> extends RequestChunk implements ChunkDataIf<T> {
5
+
6
+ constructor(
7
+ emmitDataKey: string,
8
+ emmitCancelKey: string,
9
+ queryId: string, // which sql
10
+ filter: string, // later: structure
11
+ sorting: string, // list of (property & ASC/DESC)
12
+ startIndex: number,
13
+ endIndex: number,
14
+ public rows: T[]) {
15
+
16
+ super(
17
+ emmitDataKey,
18
+ emmitCancelKey,
19
+ queryId,
20
+ filter,
21
+ sorting,
22
+ startIndex,
23
+ endIndex
24
+ );
25
+ }
26
+
27
+ }
@@ -0,0 +1,9 @@
1
+ export interface RequestChunkIf {
2
+ emmitDataKey: string;
3
+ emmitCancelKey: string;
4
+ queryId: string;
5
+ filter: string;
6
+ sorting: string;
7
+ startIndex: number;
8
+ endIndex: number;
9
+ }
@@ -0,0 +1,15 @@
1
+ import {RequestChunkIf} from "./request-chunk.if";
2
+
3
+ export class RequestChunk implements RequestChunkIf {
4
+
5
+ constructor(
6
+ public emmitDataKey: string,
7
+ public emmitCancelKey: string,
8
+ public queryId: string, // which sql
9
+ public filter: string, // later: structure
10
+ public sorting: string, // list of (property & ASC/DESC)
11
+ public startIndex: number,
12
+ public endIndex: number) {
13
+ }
14
+
15
+ }
@@ -0,0 +1,42 @@
1
+ export const bodyLeft = { body: ["ge-table-text-align-left"] };
2
+ export const bodyCenter = { body: ["ge-table-text-align-center"] };
3
+ export const bodyRight = { body: ["ge-table-text-align-right"] };
4
+
5
+ /**
6
+ * Predefined CSS classes for aligning text to the left within a table for all three areas.
7
+ *
8
+ * @property {Array.<string>} header - The CSS class(es) for aligning text to the left in the table header.
9
+ * @property {Array.<string>} body - The CSS class(es) for aligning text to the left in the table body.
10
+ * @property {Array.<string>} footer - The CSS class(es) for aligning text to the left in the table footer.
11
+ */
12
+ export const allLeft = {
13
+ header: ["ge-table-text-align-left"],
14
+ body: ["ge-table-text-align-left"],
15
+ footer: ["ge-table-text-align-left"]
16
+ };
17
+ /**
18
+ * Predefined CSS classes for aligning text to the center of the table cells for all three areas.
19
+ *
20
+ * @typedef {Object} AllCenter
21
+ * @property {Array.<string>} header - The alignment classes for the table header.
22
+ * @property {Array.<string>} body - The alignment classes for the table body.
23
+ * @property {Array.<string>} footer - The alignment classes for the table footer.
24
+ */
25
+ export const allCenter = {
26
+ header: ["ge-table-text-align-center"],
27
+ body: ["ge-table-text-align-center"],
28
+ footer: ["ge-table-text-align-center"]
29
+ };
30
+ /**
31
+ * Predefined CSS classes for aligning text to the right of the table cells for all three areas.
32
+ *
33
+ * @type {Object}
34
+ * @property {Array} header - An array containing CSS classes for aligning text right in the table header.
35
+ * @property {Array} body - An array containing CSS classes for aligning text right in the table body.
36
+ * @property {Array} footer - An array containing CSS classes for aligning text right in the table footer.
37
+ */
38
+ export const allRight = {
39
+ header: ["ge-table-text-align-right"],
40
+ body: ["ge-table-text-align-right"],
41
+ footer: ["ge-table-text-align-right"]
42
+ };
@@ -0,0 +1,20 @@
1
+ import { AreaObjectMap } from "./area-map";
2
+ import { CellRendererIf } from "../../renderer/cell-render.if";
3
+
4
+ export class AreaMapFactory {
5
+
6
+ /**
7
+ * A factory that creates a new AreaObjectMap with the given body renderer.
8
+ *
9
+ * @param {CellRendererIf} bodyRenderer - The renderer for the body of the map.
10
+ * @returns {AreaObjectMap<CellRendererIf>} The newly created AreaObjectMap.
11
+ */
12
+ static body(bodyRenderer: CellRendererIf) {
13
+ return new AreaObjectMap<CellRendererIf>(
14
+ undefined,
15
+ bodyRenderer,
16
+ undefined
17
+ );
18
+ }
19
+
20
+ }
@@ -0,0 +1,18 @@
1
+ import { AreaObjectMapType } from "./area-map.type";
2
+
3
+ /**
4
+ * An object map as container for all three areas.
5
+ *
6
+ * @template T - The type of objects stored in the map.
7
+ * @class
8
+ * @implements {AreaObjectMapType<T>}
9
+ */
10
+ export class AreaObjectMap<T> implements AreaObjectMapType<T> {
11
+
12
+ constructor(
13
+ public header?: T | undefined,
14
+ public body?: T | undefined,
15
+ public footer?: T | undefined) {
16
+ }
17
+
18
+ }
@@ -0,0 +1,5 @@
1
+ export type AreaObjectMapType<T> = {
2
+ header?: T | undefined,
3
+ body?: T | undefined,
4
+ footer?: T | undefined
5
+ }
@@ -0,0 +1,21 @@
1
+ import { AreaIdent } from "../tablemodel/area-ident.type";
2
+ import { SideIdent } from "../side-ident.type";
3
+ import { AreaModelIf } from "../tablemodel/areamodel/area-model.if";
4
+ import { GeoData } from "../geo-data";
5
+
6
+ /**
7
+ * Represents the parameters required for adjusting columns to the row parent.
8
+ * @interface ArgsAdjustColumnsToRowParentParams
9
+ */
10
+ export interface ArgsAdjustColumnsToRowParentParams {
11
+ areaIdent: AreaIdent;
12
+ sideIdent: SideIdent;
13
+ areaModel: AreaModelIf;
14
+ geo: GeoData;
15
+ parent: HTMLDivElement;
16
+ rowIndex: number;
17
+ columnIndexStart: number;
18
+ columnIndexEnd: number;
19
+ verticalFixed?: boolean;
20
+ lastRowOfModel?: boolean;
21
+ }