@guiexpert/table 1.1.18 → 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} +896 -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 +3 -1
  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,309 @@
1
+ import { ConvenienceDomService } from "./service/convenience-dom.service";
2
+ import { DivScope } from "./data/div-scope.type";
3
+ import { TableModelIf } from "./data/tablemodel/table-model.if";
4
+ import { TableOptionsIf } from "./data/options/table-options.if";
5
+ import { GeoData } from "./data/geo-data";
6
+
7
+
8
+ /**
9
+ * Represents an store for HTML elements.
10
+ * @class
11
+ */
12
+ export class EleScope {
13
+
14
+ public scrollViewport: HTMLDivElement;
15
+
16
+ protected contentWrapperDiv: HTMLDivElement; // the big one. height: sum of rows height == tableModel.getContentHeightInPixel()
17
+ protected contentDiv: HTMLDivElement;
18
+
19
+ protected areaHeaderCenter: DivScope;
20
+ protected areaHeaderWest: DivScope;
21
+ protected areaHeaderEast: DivScope;
22
+
23
+ protected areaBodyCenter: DivScope;
24
+ protected areaBodyWest: DivScope;
25
+ protected areaBodyEast: DivScope;
26
+
27
+
28
+ protected areaFooterCenter: DivScope;
29
+ protected areaFooterWest: DivScope;
30
+ protected areaFooterEast: DivScope;
31
+
32
+ protected borderHeaderBottom: HTMLDivElement;
33
+ protected borderFooterTop: HTMLDivElement;
34
+ protected borderFixedWest: HTMLDivElement;
35
+ protected borderFixedEast: HTMLDivElement;
36
+
37
+ protected hoverRow: HTMLDivElement;
38
+ protected hoverColumn: HTMLDivElement;
39
+ protected draggingColumn: HTMLDivElement;
40
+
41
+ protected scrollTop = 0;
42
+
43
+ protected areaBodyWestGeo: GeoData = new GeoData();
44
+ protected areaBodyCenterGeo: GeoData = new GeoData();
45
+ protected areaBodyEastGeo: GeoData = new GeoData();
46
+
47
+
48
+ constructor(
49
+ readonly hostElement: HTMLDivElement,
50
+ readonly tableModel: TableModelIf,
51
+ protected readonly dom: ConvenienceDomService,
52
+ readonly tableOptions: TableOptionsIf
53
+ ) {
54
+ const hostEle = this.hostElement;
55
+
56
+ hostEle.innerText = ""; // clear
57
+ this.dom.setAttribute(hostEle, "tabindex", "0"); // needed for getting key events
58
+
59
+ this.dom.setStyle(
60
+ this.dom.addClass("ge-table", hostEle)
61
+ , "position", "relative");
62
+
63
+
64
+ this.hoverRow =
65
+ dom.applyStylePosistionAbsolute(
66
+ dom.createDivWithClass("ge-table-hover-row", hostEle));
67
+ this.hoverColumn =
68
+ dom.applyStylePosistionAbsolute(
69
+ dom.createDivWithClass("ge-table-hover-column", hostEle));
70
+ this.draggingColumn =
71
+ dom.applyStylePosistionAbsolute(
72
+ dom.createDivWithClass("ge-table-dragging-column", hostEle));
73
+
74
+ this.areaHeaderWest = dom.appendRelativeChildDiv(
75
+ dom.applyStylePosistionAbsolute(
76
+ dom.createAreaDivWithClass("ge-table-header ge-table-header-west", hostEle, "header", "west")));
77
+ this.areaHeaderCenter = dom.appendRelativeChildDiv(
78
+ dom.applyStylePosistionAbsolute(
79
+ dom.createAreaDivWithClass("ge-table-header ge-table-header-center", hostEle, "header", "center")));
80
+ this.areaHeaderEast = dom.appendRelativeChildDiv(
81
+ dom.applyStylePosistionAbsolute(
82
+ dom.createAreaDivWithClass("ge-table-header ge-table-header-east", hostEle, "body", "east")));
83
+
84
+ this.areaBodyWest = dom.appendRelativeChildDiv(
85
+ dom.applyStylePosistionAbsolute(
86
+ dom.createAreaDivWithClass("ge-table-body ge-table-body-west", hostEle, "body", "west")));
87
+
88
+ this.areaBodyEast = dom.appendRelativeChildDiv(
89
+ dom.applyStylePosistionAbsolute(
90
+ dom.createAreaDivWithClass("ge-table-body ge-table-body-east", hostEle, "body", "east")));
91
+
92
+ this.areaFooterWest = dom.appendRelativeChildDiv(
93
+ dom.applyStylePosistionAbsolute(
94
+ dom.createAreaDivWithClass("ge-table-footer ge-table-footer-west", hostEle, "footer", "west")));
95
+
96
+ this.areaFooterCenter = dom.appendRelativeChildDiv(
97
+ dom.applyStylePosistionAbsolute(
98
+ dom.createAreaDivWithClass("ge-table-footer ge-table-footer-center", hostEle, "footer", "center")));
99
+
100
+ this.areaFooterEast = dom.appendRelativeChildDiv(
101
+ dom.applyStylePosistionAbsolute(
102
+ dom.createAreaDivWithClass("ge-table-footer ge-table-footer-east", hostEle, "footer", "east")));
103
+
104
+ this.scrollViewport =
105
+ dom.applyStyleOverflowAuto(
106
+ this.tableOptions.overflowX ?? "auto",
107
+ this.tableOptions.overflowY ?? "auto",
108
+ dom.applyStyleNoPadding(
109
+ dom.applyStylePosistionAbsolute(
110
+ dom.createAreaDivWithClass("ge-table-scroll-viewport", hostEle, "body", "center")
111
+ )
112
+ )
113
+ );
114
+
115
+ this.contentWrapperDiv = dom.applyStyleNoPadding(
116
+ dom.applyStylePosistionRelative(
117
+ dom.createDivWithClass("ge-table-scroll-content-wrapper", this.scrollViewport)));
118
+ this.contentDiv = dom.applyStyleNoPadding(
119
+ dom.applyStylePosistionRelative(
120
+ dom.createDivWithClass("ge-table-scroll-content", this.contentWrapperDiv)));
121
+
122
+ this.areaBodyCenter = dom.appendRelativeChildDiv(
123
+ dom.createDivWithClass("ge-table-body-center", this.contentDiv));
124
+
125
+ this.borderHeaderBottom =
126
+ dom.applyStylePosistionAbsolute(
127
+ dom.createDivWithClass("ge-table-header-border", hostEle));
128
+
129
+ this.borderFixedWest =
130
+ dom.applyStylePosistionAbsolute(
131
+ dom.createDivWithClass("ge-table-west-fixed-column-border", hostEle));
132
+
133
+ this.borderFixedEast =
134
+ dom.applyStylePosistionAbsolute(
135
+ dom.createDivWithClass("ge-table-east-fixed-column-border", hostEle));
136
+
137
+ this.borderFooterTop =
138
+ dom.applyStylePosistionAbsolute(
139
+ dom.createDivWithClass("ge-table-footer-border", hostEle));
140
+ }
141
+
142
+
143
+ /**
144
+ * Adjusts the containers and rows of the table based on the current state.
145
+ *
146
+ * @return {void}
147
+ */
148
+ adjustContainersAndRows() {
149
+ const padding = this.tableModel.getPadding();
150
+ const w = this.hostElement.clientWidth;
151
+ const h = this.hostElement.clientHeight;
152
+ this.dom.applyStyle(this.scrollViewport, {
153
+ width: `${(w - padding.left)}px`,
154
+ height: `${(h - padding.top)}px`,
155
+ top: `${padding.top}px`,
156
+ left: `${padding.left}px`
157
+ });
158
+
159
+ this.scrollTop = this.scrollViewport.scrollTop;
160
+
161
+ // Content:
162
+ this.dom.applyStyle(this.contentDiv, {
163
+ width: `${this.scrollViewport.clientWidth}px`,
164
+ height: `${this.scrollViewport.clientHeight}px`,
165
+ top: `${this.scrollTop}px`,
166
+ left: `${this.scrollViewport.scrollLeft}px`
167
+ });
168
+
169
+ // Body:
170
+ // Body/West:
171
+ this.areaBodyWestGeo.width = padding.left;
172
+ this.areaBodyWestGeo.height = (h - padding.top - padding.bottom);
173
+ this.areaBodyWestGeo.top = padding.top;
174
+ this.areaBodyWestGeo.left = 0;
175
+ this.dom.applyStyleInPx(this.areaBodyWest.parent, this.areaBodyWestGeo);
176
+ if (this.tableOptions.fixedWestSeparatorBorderVisible &&
177
+ this.tableModel.getFixedLeftColumnCount()) {
178
+ this.dom.applyDisplayBlockStyle(
179
+ this.dom.applyStyle(this.borderFixedWest, {
180
+ width: `1px`,
181
+ height: `${this.areaBodyWestGeo.height}px`,
182
+ top: `${this.areaBodyWestGeo.top}px`,
183
+ left: `${this.areaBodyWestGeo.width}px`
184
+ })
185
+ );
186
+ } else {
187
+ this.dom.applyDisplayNoneStyle(this.borderFixedWest);
188
+ }
189
+
190
+ // Body/East:
191
+ this.areaBodyEastGeo.width = padding.right;
192
+ this.areaBodyEastGeo.height = (h - padding.top - padding.bottom);
193
+ this.areaBodyEastGeo.top = padding.top;
194
+ this.areaBodyEastGeo.left = w - padding.right;
195
+ this.dom.applyStyleInPx(this.areaBodyEast.parent, this.areaBodyEastGeo);
196
+
197
+ if (this.tableOptions.fixedEastSeparatorBorderVisible &&
198
+ this.tableModel.getFixedLeftColumnCount()) {
199
+ this.dom.applyDisplayBlockStyle(
200
+ this.dom.applyStyle(this.borderFixedEast, {
201
+ width: `1px`,
202
+ height: `${this.areaBodyEastGeo.height}px`,
203
+ top: `${this.areaBodyEastGeo.top}px`,
204
+ left: `${this.areaBodyEastGeo.left}px`
205
+ }));
206
+ } else {
207
+ this.dom.applyDisplayNoneStyle(this.borderFixedEast);
208
+ }
209
+
210
+ // Body/Center:
211
+ this.areaBodyCenterGeo.width = (w - padding.left - padding.right);
212
+ this.areaBodyCenterGeo.height = (h - padding.top - padding.bottom);
213
+ this.areaBodyCenterGeo.top = 0;
214
+ this.areaBodyCenterGeo.left = 0;
215
+ this.dom.applyStyleInPx(this.areaBodyCenter.parent, this.areaBodyCenterGeo);
216
+
217
+
218
+ // Header:
219
+ this.dom.applyStyle(this.areaHeaderCenter.parent, {
220
+ width: `${w - padding.left - padding.right}px`,
221
+ height: `${padding.top}px`,
222
+ top: "0",
223
+ left: `${padding.left}px`
224
+ });
225
+ this.dom.applyStyle(this.areaHeaderWest.parent, {
226
+ width: `${padding.left}px`,
227
+ height: `${padding.top}px`,
228
+ top: "0",
229
+ left: "0"
230
+ });
231
+ this.dom.applyStyle(this.areaHeaderEast.parent, {
232
+ width: `${padding.right}px`,
233
+ height: `${padding.top}px`,
234
+ top: "0",
235
+ left: `${w - padding.right}px`
236
+ });
237
+ if (this.tableOptions.headerSeparatorBorderVisible &&
238
+ this.tableModel.isHeaderVisibe()) {
239
+ this.dom.applyDisplayBlockStyle(
240
+ this.dom.applyStyle(this.borderHeaderBottom, {
241
+ width: `${w}px`,
242
+ height: "1px",
243
+ top: `${padding.top}px`,
244
+ left: "0px"
245
+ }));
246
+ } else {
247
+ this.dom.applyDisplayNoneStyle(this.borderHeaderBottom);
248
+ }
249
+
250
+ // Footer:
251
+ this.dom.applyStyle(this.areaFooterWest.parent, {
252
+ width: `${padding.left}px`,
253
+ height: `${padding.bottom}px`,
254
+ top: `${h - padding.bottom}px`,
255
+ left: "0"
256
+ });
257
+ this.dom.applyStyle(this.areaFooterCenter.parent, {
258
+ width: `${w - padding.left - padding.right}px`,
259
+ height: `${padding.bottom}px`,
260
+ top: `${h - padding.bottom}px`,
261
+ left: `${padding.left}px`
262
+ });
263
+ this.dom.applyStyle(this.areaFooterEast.parent, {
264
+ width: `${padding.right}px`,
265
+ height: `${padding.bottom}px`,
266
+ top: `${h - padding.bottom}px`,
267
+ left: `${w - padding.right}px`
268
+ });
269
+ if (this.tableOptions.footerSeparatorBorderVisible &&
270
+ this.tableModel.isFooterVisibe()) {
271
+ this.dom.applyDisplayBlockStyle(
272
+ this.dom.applyStyle(this.borderFooterTop, {
273
+ width: `${w}px`,
274
+ height: "1px",
275
+ top: `${h - padding.bottom}px`,
276
+ left: "0px"
277
+ }));
278
+ } else {
279
+ this.dom.applyDisplayNoneStyle(this.borderFooterTop);
280
+ }
281
+
282
+ this.adjustAfterScrolling();
283
+ }
284
+
285
+ /**
286
+ * Adjusts the position or appearance of elements after scrolling.
287
+ * This method must be overwritten in child classes.
288
+ *
289
+ * @return {void}
290
+ */
291
+ adjustAfterScrolling() {
292
+ // must be overwritten
293
+ }
294
+
295
+ /**
296
+ * Resets the size of the wrapper div based on the content dimensions.
297
+ *
298
+ * @protected
299
+ *
300
+ * @returns {void} Returns nothing.
301
+ */
302
+ protected resetSizeOfWrapperDiv() {
303
+ const w = `${this.tableModel.getContentWidthInPixel()}px`;
304
+ const h = `${this.tableModel.getContentHeightInPixel() + 1}px`; // + 1, we want to see the last horizontal border
305
+ this.dom.setStyle(this.contentWrapperDiv, "width", w);
306
+ this.dom.setStyle(this.contentWrapperDiv, "height", h);
307
+ }
308
+
309
+ }
@@ -0,0 +1,43 @@
1
+ import { GeModelChangeEvent } from "./data/common/event/ge-model-change-event";
2
+ import { GeMouseEvent } from "./data/common/event/ge-mouse-event";
3
+ import { EventListenerIf } from "./event-listener.if";
4
+ import { SelectionModelIf } from './selection/selection-model.if';
5
+ import { FocusModelIf } from './focus/focus-model.if';
6
+
7
+ /**
8
+ * EventAdapter class implements the EventListenerIf interface.
9
+ * It provides empty implementations for all the event listener methods.
10
+ *
11
+ * @class
12
+ * @implements {EventListenerIf}
13
+ */
14
+ export class EventAdapter implements EventListenerIf {
15
+
16
+ onCheckboxChanged(_evt: any[]): void {
17
+ }
18
+
19
+ onContextmenu(_evt: GeMouseEvent): void {
20
+ }
21
+
22
+ onModelChanged(_evt: GeModelChangeEvent): void {
23
+ }
24
+
25
+ onMouseClicked(_evt: GeMouseEvent): void {
26
+ }
27
+
28
+ onMouseDragging(_evt: GeMouseEvent): void {
29
+ }
30
+
31
+ onMouseDraggingEnd(_evt: GeMouseEvent): void {
32
+ }
33
+
34
+ onMouseMoved(_evt: GeMouseEvent): void {
35
+ }
36
+
37
+ onSelectionChanged(_model: SelectionModelIf): void {
38
+ }
39
+
40
+ onFocusChanged(_model: FocusModelIf): void {
41
+ }
42
+
43
+ }
@@ -0,0 +1,32 @@
1
+ import { GeMouseEvent } from "./data/common/event/ge-mouse-event";
2
+ import { GeModelChangeEvent } from "./data/common/event/ge-model-change-event";
3
+ import { SelectionModelIf } from './selection/selection-model.if';
4
+ import { FocusModelIf } from './focus/focus-model.if';
5
+ import { EventFocusChangedListenerIf } from './focus/event-focus-changed-listener.if';
6
+ import { EventSelectionChangedListenerIf } from './selection/event-selection-changed-listener.if';
7
+
8
+ /**
9
+ * Interface representing an event listener.
10
+ *
11
+ * @interface
12
+ */
13
+ export interface EventListenerIf extends EventFocusChangedListenerIf, EventSelectionChangedListenerIf {
14
+
15
+ onContextmenu(evt: GeMouseEvent): void;
16
+
17
+ onMouseMoved(evt: GeMouseEvent): void;
18
+
19
+ onMouseDraggingEnd(evt: GeMouseEvent): void;
20
+
21
+ onMouseDragging(evt: GeMouseEvent): void;
22
+
23
+ onMouseClicked(evt: GeMouseEvent): void;
24
+
25
+ onCheckboxChanged(evt: any[]): void;
26
+
27
+ onModelChanged(evt: GeModelChangeEvent): void;
28
+
29
+ onSelectionChanged(model: SelectionModelIf): void;
30
+
31
+ onFocusChanged(model: FocusModelIf): void;
32
+ }