@guiexpert/table 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/esm2022/guiexpert-table.mjs +5 -0
  2. package/esm2022/index.mjs +140 -0
  3. package/esm2022/lib/table/action/action-id.type.mjs +20 -0
  4. package/esm2022/lib/table/action/on-action-triggered.if.mjs +2 -0
  5. package/esm2022/lib/table/action/osx-shortcut-actionId-mapping.mjs +21 -0
  6. package/esm2022/lib/table/action/shortcut-actionid-mapping.type.mjs +2 -0
  7. package/esm2022/lib/table/action/shortcut.service.mjs +114 -0
  8. package/esm2022/lib/table/action/windows-shortcut-actionId-mapping.mjs +19 -0
  9. package/esm2022/lib/table/checkbox/checkbox-model.if.mjs +2 -0
  10. package/esm2022/lib/table/checkbox/checkbox-model.mjs +50 -0
  11. package/esm2022/lib/table/checkbox/tree-checkbox-model.mjs +107 -0
  12. package/esm2022/lib/table/color/color-rgb.if.mjs +2 -0
  13. package/esm2022/lib/table/color/color-rgb.mjs +11 -0
  14. package/esm2022/lib/table/color/ge-css-color-util.mjs +26 -0
  15. package/esm2022/lib/table/color/three-color-gradient-arg.if.mjs +2 -0
  16. package/esm2022/lib/table/color/three-color-gradient-arg.mjs +17 -0
  17. package/esm2022/lib/table/color/two-color-gradient-arg.if.mjs +2 -0
  18. package/esm2022/lib/table/color/two-color-gradient-arg.mjs +13 -0
  19. package/esm2022/lib/table/css-vars.mjs +238 -0
  20. package/esm2022/lib/table/data/chunk/chunk.data-event.if.mjs +2 -0
  21. package/esm2022/lib/table/data/chunk/chunk.data-event.mjs +12 -0
  22. package/esm2022/lib/table/data/chunk/request-chunk.if.mjs +2 -0
  23. package/esm2022/lib/table/data/chunk/request-chunk.mjs +22 -0
  24. package/esm2022/lib/table/data/common/aligns.mjs +19 -0
  25. package/esm2022/lib/table/data/common/area-map-factory.mjs +7 -0
  26. package/esm2022/lib/table/data/common/area-map.mjs +11 -0
  27. package/esm2022/lib/table/data/common/area-map.type.mjs +2 -0
  28. package/esm2022/lib/table/data/common/args-adjust-columns-to-row-parent-params.mjs +2 -0
  29. package/esm2022/lib/table/data/common/args-render-cell-div.mjs +2 -0
  30. package/esm2022/lib/table/data/common/boolean-function.mjs +3 -0
  31. package/esm2022/lib/table/data/common/cell-range.mjs +36 -0
  32. package/esm2022/lib/table/data/common/checkbox-column-def.mjs +13 -0
  33. package/esm2022/lib/table/data/common/checked-type.mjs +2 -0
  34. package/esm2022/lib/table/data/common/event/ge-cell-indices.mjs +9 -0
  35. package/esm2022/lib/table/data/common/event/ge-key-event.mjs +9 -0
  36. package/esm2022/lib/table/data/common/event/ge-model-change-event.mjs +11 -0
  37. package/esm2022/lib/table/data/common/event/ge-mouse-event.mjs +30 -0
  38. package/esm2022/lib/table/data/common/event/input/table-cell-update-event.if.mjs +2 -0
  39. package/esm2022/lib/table/data/common/event/input/table-cell-update-event.mjs +13 -0
  40. package/esm2022/lib/table/data/common/filter-function.mjs +2 -0
  41. package/esm2022/lib/table/data/common/get-t.mjs +2 -0
  42. package/esm2022/lib/table/data/common/index-and-px.mjs +9 -0
  43. package/esm2022/lib/table/data/common/size.if.mjs +2 -0
  44. package/esm2022/lib/table/data/common/size.mjs +9 -0
  45. package/esm2022/lib/table/data/common/sizes.mjs +33 -0
  46. package/esm2022/lib/table/data/common/sort-item.mjs +9 -0
  47. package/esm2022/lib/table/data/common/sort-state.type.mjs +2 -0
  48. package/esm2022/lib/table/data/common/tree-arrow.type.mjs +2 -0
  49. package/esm2022/lib/table/data/common/tree-row-if.mjs +2 -0
  50. package/esm2022/lib/table/data/common/tree-row.mjs +19 -0
  51. package/esm2022/lib/table/data/common/value-label.if.mjs +2 -0
  52. package/esm2022/lib/table/data/common/value-label.mjs +9 -0
  53. package/esm2022/lib/table/data/div-scope.type.mjs +2 -0
  54. package/esm2022/lib/table/data/event/mouse-target-data.mjs +36 -0
  55. package/esm2022/lib/table/data/geo-data.mjs +15 -0
  56. package/esm2022/lib/table/data/options/auto-restore-options.if.mjs +2 -0
  57. package/esm2022/lib/table/data/options/auto-restore-options.mjs +40 -0
  58. package/esm2022/lib/table/data/options/default-row-heights.if.mjs +2 -0
  59. package/esm2022/lib/table/data/options/default-row-heights.mjs +11 -0
  60. package/esm2022/lib/table/data/options/icon.if.mjs +2 -0
  61. package/esm2022/lib/table/data/options/icon.mjs +11 -0
  62. package/esm2022/lib/table/data/options/sorted-options.if.mjs +2 -0
  63. package/esm2022/lib/table/data/options/sorted-options.mjs +12 -0
  64. package/esm2022/lib/table/data/options/table-options.if.mjs +2 -0
  65. package/esm2022/lib/table/data/options/table-options.mjs +44 -0
  66. package/esm2022/lib/table/data/options/tree-options.if.mjs +2 -0
  67. package/esm2022/lib/table/data/options/tree-options.mjs +14 -0
  68. package/esm2022/lib/table/data/side-ident.type.mjs +2 -0
  69. package/esm2022/lib/table/data/table-model-and-options.if.mjs +2 -0
  70. package/esm2022/lib/table/data/table-model-and-options.mjs +9 -0
  71. package/esm2022/lib/table/data/tablemodel/area-ident.type.mjs +14 -0
  72. package/esm2022/lib/table/data/tablemodel/areamodel/abstract-area-model.mjs +137 -0
  73. package/esm2022/lib/table/data/tablemodel/areamodel/area-model-array-of-arrays.mjs +47 -0
  74. package/esm2022/lib/table/data/tablemodel/areamodel/area-model-cell-groups.mjs +163 -0
  75. package/esm2022/lib/table/data/tablemodel/areamodel/area-model-hidden.mjs +84 -0
  76. package/esm2022/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.mjs +15 -0
  77. package/esm2022/lib/table/data/tablemodel/areamodel/area-model-object-array.mjs +88 -0
  78. package/esm2022/lib/table/data/tablemodel/areamodel/area-model-tree.mjs +181 -0
  79. package/esm2022/lib/table/data/tablemodel/areamodel/area-model.if.mjs +2 -0
  80. package/esm2022/lib/table/data/tablemodel/areamodel/area-model.mjs +76 -0
  81. package/esm2022/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.mjs +51 -0
  82. package/esm2022/lib/table/data/tablemodel/areamodel/has-default-row-height-if.mjs +2 -0
  83. package/esm2022/lib/table/data/tablemodel/cellgroup/cell-group-ext.mjs +133 -0
  84. package/esm2022/lib/table/data/tablemodel/cellgroup/cell-group.if.mjs +2 -0
  85. package/esm2022/lib/table/data/tablemodel/cellgroup/cell-group.mjs +18 -0
  86. package/esm2022/lib/table/data/tablemodel/cellgroup/cellgroup-factory.mjs +110 -0
  87. package/esm2022/lib/table/data/tablemodel/column/column-def.if.mjs +2 -0
  88. package/esm2022/lib/table/data/tablemodel/column/column-def.mjs +52 -0
  89. package/esm2022/lib/table/data/tablemodel/padding.mjs +13 -0
  90. package/esm2022/lib/table/data/tablemodel/table-model.if.mjs +2 -0
  91. package/esm2022/lib/table/data/tablemodel/table-model.mjs +308 -0
  92. package/esm2022/lib/table/ele-scope.mjs +199 -0
  93. package/esm2022/lib/table/event-adapter.mjs +17 -0
  94. package/esm2022/lib/table/event-listener.if.mjs +2 -0
  95. package/esm2022/lib/table/factory/table-factory.mjs +186 -0
  96. package/esm2022/lib/table/factory/tree-factory.mjs +32 -0
  97. package/esm2022/lib/table/focus/focus-model.if.mjs +2 -0
  98. package/esm2022/lib/table/focus/focus-model.mjs +33 -0
  99. package/esm2022/lib/table/focus/focus.type.mjs +2 -0
  100. package/esm2022/lib/table/input-handler.mjs +25 -0
  101. package/esm2022/lib/table/mouse-handler.mjs +196 -0
  102. package/esm2022/lib/table/render-scope.mjs +719 -0
  103. package/esm2022/lib/table/renderer/cell-group-ext-cell-renderer.mjs +8 -0
  104. package/esm2022/lib/table/renderer/cell-render.if.mjs +2 -0
  105. package/esm2022/lib/table/renderer/checkbox-boolean-property-cell-renderer.mjs +47 -0
  106. package/esm2022/lib/table/renderer/checkbox-cell-renderer.mjs +22 -0
  107. package/esm2022/lib/table/renderer/date-to-int-date-cell-renderer.mjs +24 -0
  108. package/esm2022/lib/table/renderer/date-to-iso-cell-renderer.mjs +9 -0
  109. package/esm2022/lib/table/renderer/date-to-locale-date-cell-renderer.mjs +9 -0
  110. package/esm2022/lib/table/renderer/date-to-tec-cell-renderer.mjs +12 -0
  111. package/esm2022/lib/table/renderer/edit/edit-cell-renderer.type.mjs +2 -0
  112. package/esm2022/lib/table/renderer/edit/edit-input-pipe-for-number.mjs +4 -0
  113. package/esm2022/lib/table/renderer/edit/edit-input-pipe.if.mjs +2 -0
  114. package/esm2022/lib/table/renderer/edit/input-cell-renderer.mjs +23 -0
  115. package/esm2022/lib/table/renderer/edit/select-cell-renderer.mjs +36 -0
  116. package/esm2022/lib/table/renderer/male-female-to-icon-cell-renderer.mjs +12 -0
  117. package/esm2022/lib/table/renderer/number-cell-renderer.mjs +21 -0
  118. package/esm2022/lib/table/renderer/progress-bar-cell-renderer.mjs +44 -0
  119. package/esm2022/lib/table/renderer/renderer-cleanup-fn.type.mjs +2 -0
  120. package/esm2022/lib/table/renderer/renderer.mjs +7 -0
  121. package/esm2022/lib/table/renderer/star-rating-cell-renderer.mjs +27 -0
  122. package/esm2022/lib/table/renderer/true-false-cell-renderer.mjs +15 -0
  123. package/esm2022/lib/table/selection/selection-model.if.mjs +2 -0
  124. package/esm2022/lib/table/selection/selection-model.mjs +99 -0
  125. package/esm2022/lib/table/selection/selection-service.mjs +101 -0
  126. package/esm2022/lib/table/selection/selection.type.mjs +2 -0
  127. package/esm2022/lib/table/service/abstract-store-state.service.mjs +50 -0
  128. package/esm2022/lib/table/service/convenience-dom.service.mjs +405 -0
  129. package/esm2022/lib/table/service/data/collapsed-expanded.data.mjs +13 -0
  130. package/esm2022/lib/table/service/data/html-style.type.mjs +2 -0
  131. package/esm2022/lib/table/service/dom-service.if.mjs +2 -0
  132. package/esm2022/lib/table/service/ge-filter.service.mjs +98 -0
  133. package/esm2022/lib/table/service/simple-dom-service.mjs +34 -0
  134. package/esm2022/lib/table/service/sorter.service.mjs +27 -0
  135. package/esm2022/lib/table/service/store-state-collapsed-expand.service.mjs +57 -0
  136. package/esm2022/lib/table/service/store-state-scroll-pos.service.mjs +29 -0
  137. package/esm2022/lib/table/service/store-state-sorting.service.mjs +29 -0
  138. package/esm2022/lib/table/service/tree-row.service.mjs +23 -0
  139. package/esm2022/lib/table/table-api.mjs +42 -0
  140. package/esm2022/lib/table/table-scope.mjs +364 -0
  141. package/{src/index.ts → index.d.ts} +4 -24
  142. package/lib/table/action/action-id.type.d.ts +2 -0
  143. package/{src/lib/table/action/on-action-triggered.if.ts → lib/table/action/on-action-triggered.if.d.ts} +1 -4
  144. package/lib/table/action/osx-shortcut-actionId-mapping.d.ts +6 -0
  145. package/lib/table/action/shortcut-actionid-mapping.type.d.ts +4 -0
  146. package/lib/table/action/shortcut.service.d.ts +18 -0
  147. package/lib/table/action/windows-shortcut-actionId-mapping.d.ts +6 -0
  148. package/lib/table/checkbox/checkbox-model.d.ts +12 -0
  149. package/lib/table/checkbox/checkbox-model.if.d.ts +9 -0
  150. package/lib/table/checkbox/tree-checkbox-model.d.ts +17 -0
  151. package/lib/table/color/color-rgb.d.ts +7 -0
  152. package/lib/table/color/color-rgb.if.d.ts +5 -0
  153. package/lib/table/color/ge-css-color-util.d.ts +7 -0
  154. package/lib/table/color/three-color-gradient-arg.d.ts +11 -0
  155. package/lib/table/color/three-color-gradient-arg.if.d.ts +9 -0
  156. package/lib/table/color/two-color-gradient-arg.d.ts +9 -0
  157. package/lib/table/color/two-color-gradient-arg.if.d.ts +7 -0
  158. package/lib/table/css-vars.d.ts +9 -0
  159. package/lib/table/data/chunk/chunk.data-event.d.ts +9 -0
  160. package/lib/table/data/chunk/chunk.data-event.if.d.ts +4 -0
  161. package/lib/table/data/chunk/request-chunk.d.ts +14 -0
  162. package/lib/table/data/chunk/request-chunk.if.d.ts +9 -0
  163. package/lib/table/data/common/aligns.d.ts +24 -0
  164. package/lib/table/data/common/area-map-factory.d.ts +5 -0
  165. package/lib/table/data/common/area-map.d.ts +7 -0
  166. package/lib/table/data/common/area-map.type.d.ts +5 -0
  167. package/{src/lib/table/data/common/args-adjust-columns-to-row-parent-params.ts → lib/table/data/common/args-adjust-columns-to-row-parent-params.d.ts} +10 -11
  168. package/lib/table/data/common/args-render-cell-div.d.ts +17 -0
  169. package/lib/table/data/common/boolean-function.d.ts +3 -0
  170. package/lib/table/data/common/cell-range.d.ts +19 -0
  171. package/lib/table/data/common/checkbox-column-def.d.ts +13 -0
  172. package/lib/table/data/common/event/ge-cell-indices.d.ts +5 -0
  173. package/lib/table/data/common/event/ge-key-event.d.ts +5 -0
  174. package/lib/table/data/common/event/ge-model-change-event.d.ts +6 -0
  175. package/lib/table/data/common/event/ge-mouse-event.d.ts +17 -0
  176. package/lib/table/data/common/event/input/table-cell-update-event.d.ts +9 -0
  177. package/{src/lib/table/data/common/event/input/table-cell-update-event.if.ts → lib/table/data/common/event/input/table-cell-update-event.if.d.ts} +4 -7
  178. package/lib/table/data/common/index-and-px.d.ts +5 -0
  179. package/lib/table/data/common/size.d.ts +6 -0
  180. package/lib/table/data/common/size.if.d.ts +4 -0
  181. package/lib/table/data/common/sizes.d.ts +32 -0
  182. package/lib/table/data/common/sort-item.d.ts +6 -0
  183. package/lib/table/data/common/tree-row-if.d.ts +10 -0
  184. package/lib/table/data/common/tree-row.d.ts +11 -0
  185. package/lib/table/data/common/value-label.d.ts +6 -0
  186. package/lib/table/data/common/value-label.if.d.ts +4 -0
  187. package/lib/table/data/div-scope.type.d.ts +7 -0
  188. package/lib/table/data/event/mouse-target-data.d.ts +15 -0
  189. package/lib/table/data/geo-data.d.ts +8 -0
  190. package/lib/table/data/options/auto-restore-options.d.ts +11 -0
  191. package/lib/table/data/options/auto-restore-options.if.d.ts +16 -0
  192. package/lib/table/data/options/default-row-heights.d.ts +7 -0
  193. package/lib/table/data/options/default-row-heights.if.d.ts +5 -0
  194. package/lib/table/data/options/icon.d.ts +7 -0
  195. package/lib/table/data/options/icon.if.d.ts +5 -0
  196. package/lib/table/data/options/sorted-options.d.ts +8 -0
  197. package/{src/lib/table/data/options/sorted-options.if.ts → lib/table/data/options/sorted-options.if.d.ts} +3 -6
  198. package/lib/table/data/options/table-options.d.ts +41 -0
  199. package/lib/table/data/options/table-options.if.d.ts +42 -0
  200. package/lib/table/data/options/tree-options.d.ts +9 -0
  201. package/lib/table/data/options/tree-options.if.d.ts +7 -0
  202. package/lib/table/data/table-model-and-options.d.ts +8 -0
  203. package/{src/lib/table/data/table-model-and-options.if.ts → lib/table/data/table-model-and-options.if.d.ts} +2 -4
  204. package/{src/lib/table/data/tablemodel/area-ident.type.ts → lib/table/data/tablemodel/area-ident.type.d.ts} +1 -10
  205. package/lib/table/data/tablemodel/areamodel/abstract-area-model.d.ts +47 -0
  206. package/lib/table/data/tablemodel/areamodel/area-model-array-of-arrays.d.ts +19 -0
  207. package/lib/table/data/tablemodel/areamodel/area-model-cell-groups.d.ts +51 -0
  208. package/lib/table/data/tablemodel/areamodel/area-model-hidden.d.ts +41 -0
  209. package/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.d.ts +10 -0
  210. package/lib/table/data/tablemodel/areamodel/area-model-object-array.d.ts +28 -0
  211. package/lib/table/data/tablemodel/areamodel/area-model-tree.d.ts +39 -0
  212. package/lib/table/data/tablemodel/areamodel/area-model.d.ts +37 -0
  213. package/lib/table/data/tablemodel/areamodel/area-model.if.d.ts +158 -0
  214. package/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.d.ts +12 -0
  215. package/{src/lib/table/data/tablemodel/areamodel/has-default-row-height-if.ts → lib/table/data/tablemodel/areamodel/has-default-row-height-if.d.ts} +1 -1
  216. package/lib/table/data/tablemodel/cellgroup/cell-group-ext.d.ts +21 -0
  217. package/lib/table/data/tablemodel/cellgroup/cell-group.d.ts +11 -0
  218. package/lib/table/data/tablemodel/cellgroup/cell-group.if.d.ts +9 -0
  219. package/lib/table/data/tablemodel/cellgroup/cellgroup-factory.d.ts +10 -0
  220. package/lib/table/data/tablemodel/column/column-def.d.ts +52 -0
  221. package/lib/table/data/tablemodel/column/column-def.if.d.ts +25 -0
  222. package/lib/table/data/tablemodel/padding.d.ts +7 -0
  223. package/lib/table/data/tablemodel/table-model.d.ts +88 -0
  224. package/lib/table/data/tablemodel/table-model.if.d.ts +56 -0
  225. package/lib/table/ele-scope.d.ts +37 -0
  226. package/lib/table/event-adapter.d.ts +12 -0
  227. package/lib/table/event-listener.if.d.ts +11 -0
  228. package/lib/table/factory/table-factory.d.ts +65 -0
  229. package/lib/table/factory/tree-factory.d.ts +6 -0
  230. package/lib/table/focus/focus-model.d.ts +15 -0
  231. package/lib/table/focus/focus-model.if.d.ts +8 -0
  232. package/{src/lib/table/focus/focus.type.ts → lib/table/focus/focus.type.d.ts} +0 -3
  233. package/lib/table/input-handler.d.ts +6 -0
  234. package/lib/table/mouse-handler.d.ts +25 -0
  235. package/lib/table/render-scope.d.ts +86 -0
  236. package/lib/table/renderer/cell-group-ext-cell-renderer.d.ts +9 -0
  237. package/{src/lib/table/renderer/cell-render.if.ts → lib/table/renderer/cell-render.if.d.ts} +1 -10
  238. package/lib/table/renderer/checkbox-boolean-property-cell-renderer.d.ts +15 -0
  239. package/lib/table/renderer/checkbox-cell-renderer.d.ts +8 -0
  240. package/lib/table/renderer/date-to-int-date-cell-renderer.d.ts +9 -0
  241. package/lib/table/renderer/date-to-iso-cell-renderer.d.ts +8 -0
  242. package/lib/table/renderer/date-to-locale-date-cell-renderer.d.ts +8 -0
  243. package/lib/table/renderer/date-to-tec-cell-renderer.d.ts +8 -0
  244. package/{src/lib/table/renderer/edit/edit-cell-renderer.type.ts → lib/table/renderer/edit/edit-cell-renderer.type.d.ts} +0 -1
  245. package/lib/table/renderer/edit/edit-input-pipe-for-number.d.ts +2 -0
  246. package/lib/table/renderer/edit/edit-input-pipe.if.d.ts +3 -0
  247. package/lib/table/renderer/edit/input-cell-renderer.d.ts +8 -0
  248. package/lib/table/renderer/edit/select-cell-renderer.d.ts +12 -0
  249. package/lib/table/renderer/male-female-to-icon-cell-renderer.d.ts +8 -0
  250. package/lib/table/renderer/number-cell-renderer.d.ts +11 -0
  251. package/lib/table/renderer/progress-bar-cell-renderer.d.ts +15 -0
  252. package/lib/table/renderer/renderer.d.ts +5 -0
  253. package/lib/table/renderer/star-rating-cell-renderer.d.ts +13 -0
  254. package/lib/table/renderer/true-false-cell-renderer.d.ts +8 -0
  255. package/lib/table/selection/selection-model.d.ts +21 -0
  256. package/lib/table/selection/selection-model.if.d.ts +11 -0
  257. package/lib/table/selection/selection-service.d.ts +17 -0
  258. package/{src/lib/table/selection/selection.type.ts → lib/table/selection/selection.type.d.ts} +0 -3
  259. package/lib/table/service/abstract-store-state.service.d.ts +10 -0
  260. package/lib/table/service/convenience-dom.service.d.ts +46 -0
  261. package/lib/table/service/data/collapsed-expanded.data.d.ts +7 -0
  262. package/lib/table/service/data/html-style.type.d.ts +3 -0
  263. package/lib/table/service/dom-service.if.d.ts +9 -0
  264. package/lib/table/service/ge-filter.service.d.ts +5 -0
  265. package/lib/table/service/simple-dom-service.d.ts +10 -0
  266. package/lib/table/service/sorter.service.d.ts +3 -0
  267. package/lib/table/service/store-state-collapsed-expand.service.d.ts +15 -0
  268. package/lib/table/service/store-state-scroll-pos.service.d.ts +10 -0
  269. package/lib/table/service/store-state-sorting.service.d.ts +11 -0
  270. package/lib/table/service/tree-row.service.d.ts +5 -0
  271. package/lib/table/table-api.d.ts +18 -0
  272. package/lib/table/table-scope.d.ts +56 -0
  273. package/package.json +17 -10
  274. package/.eslintrc.json +0 -42
  275. package/LICENSE +0 -35
  276. package/README.md +0 -102
  277. package/jest.config.ts +0 -18
  278. package/ng-package.json +0 -7
  279. package/project.json +0 -47
  280. package/src/lib/table/action/action-id.type.ts +0 -24
  281. package/src/lib/table/action/osx-shortcut-actionId-mapping.ts +0 -29
  282. package/src/lib/table/action/shortcut-actionid-mapping.type.ts +0 -3
  283. package/src/lib/table/action/shortcut.service.ts +0 -134
  284. package/src/lib/table/action/windows-shortcut-actionId-mapping.ts +0 -27
  285. package/src/lib/table/checkbox/checkbox-model.if.ts +0 -16
  286. package/src/lib/table/checkbox/checkbox-model.ts +0 -62
  287. package/src/lib/table/checkbox/tree-checkbox-model.ts +0 -123
  288. package/src/lib/table/color/color-rgb.if.ts +0 -7
  289. package/src/lib/table/color/color-rgb.ts +0 -10
  290. package/src/lib/table/color/ge-css-color-util.ts +0 -43
  291. package/src/lib/table/color/three-color-gradient-arg.if.ts +0 -10
  292. package/src/lib/table/color/three-color-gradient-arg.ts +0 -14
  293. package/src/lib/table/color/two-color-gradient-arg.if.ts +0 -8
  294. package/src/lib/table/color/two-color-gradient-arg.ts +0 -12
  295. package/src/lib/table/css-vars.ts +0 -243
  296. package/src/lib/table/data/common/aligns.ts +0 -19
  297. package/src/lib/table/data/common/area-map-factory.ts +0 -14
  298. package/src/lib/table/data/common/area-map.ts +0 -11
  299. package/src/lib/table/data/common/area-map.type.ts +0 -5
  300. package/src/lib/table/data/common/args-render-cell-div.ts +0 -18
  301. package/src/lib/table/data/common/boolean-function.ts +0 -4
  302. package/src/lib/table/data/common/cell-range.ts +0 -57
  303. package/src/lib/table/data/common/checkbox-column-def.ts +0 -25
  304. package/src/lib/table/data/common/event/ge-cell-indices.ts +0 -9
  305. package/src/lib/table/data/common/event/ge-key-event.ts +0 -10
  306. package/src/lib/table/data/common/event/ge-model-change-event.ts +0 -13
  307. package/src/lib/table/data/common/event/ge-mouse-event.ts +0 -38
  308. package/src/lib/table/data/common/event/input/table-cell-update-event.ts +0 -14
  309. package/src/lib/table/data/common/index-and-px.ts +0 -9
  310. package/src/lib/table/data/common/size.if.ts +0 -4
  311. package/src/lib/table/data/common/size.ts +0 -9
  312. package/src/lib/table/data/common/sizes.ts +0 -35
  313. package/src/lib/table/data/common/sort-item.ts +0 -11
  314. package/src/lib/table/data/common/tree-row-if.ts +0 -11
  315. package/src/lib/table/data/common/tree-row.ts +0 -16
  316. package/src/lib/table/data/common/value-label.if.ts +0 -6
  317. package/src/lib/table/data/common/value-label.ts +0 -13
  318. package/src/lib/table/data/div-scope.type.ts +0 -5
  319. package/src/lib/table/data/event/mouse-target-data.ts +0 -45
  320. package/src/lib/table/data/geo-data.ts +0 -13
  321. package/src/lib/table/data/options/auto-restore-options.if.ts +0 -21
  322. package/src/lib/table/data/options/auto-restore-options.ts +0 -50
  323. package/src/lib/table/data/options/default-row-heights.if.ts +0 -5
  324. package/src/lib/table/data/options/default-row-heights.ts +0 -10
  325. package/src/lib/table/data/options/icon.if.ts +0 -7
  326. package/src/lib/table/data/options/icon.ts +0 -10
  327. package/src/lib/table/data/options/sorted-options.ts +0 -15
  328. package/src/lib/table/data/options/table-options.if.ts +0 -54
  329. package/src/lib/table/data/options/table-options.ts +0 -66
  330. package/src/lib/table/data/options/tree-options.if.ts +0 -10
  331. package/src/lib/table/data/options/tree-options.ts +0 -32
  332. package/src/lib/table/data/table-model-and-options.ts +0 -13
  333. package/src/lib/table/data/tablemodel/areamodel/abstract-area-model.ts +0 -183
  334. package/src/lib/table/data/tablemodel/areamodel/area-model-array-of-arrays.ts +0 -59
  335. package/src/lib/table/data/tablemodel/areamodel/area-model-cell-groups.ts +0 -210
  336. package/src/lib/table/data/tablemodel/areamodel/area-model-hidden.ts +0 -120
  337. package/src/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.ts +0 -23
  338. package/src/lib/table/data/tablemodel/areamodel/area-model-object-array.ts +0 -105
  339. package/src/lib/table/data/tablemodel/areamodel/area-model-tree.ts +0 -215
  340. package/src/lib/table/data/tablemodel/areamodel/area-model.if.ts +0 -186
  341. package/src/lib/table/data/tablemodel/areamodel/area-model.ts +0 -110
  342. package/src/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.ts +0 -61
  343. package/src/lib/table/data/tablemodel/cellgroup/cell-group-ext.ts +0 -167
  344. package/src/lib/table/data/tablemodel/cellgroup/cell-group.if.ts +0 -12
  345. package/src/lib/table/data/tablemodel/cellgroup/cell-group.ts +0 -18
  346. package/src/lib/table/data/tablemodel/cellgroup/cellgroup-factory.ts +0 -148
  347. package/src/lib/table/data/tablemodel/column/column-def.if.ts +0 -28
  348. package/src/lib/table/data/tablemodel/column/column-def.ts +0 -104
  349. package/src/lib/table/data/tablemodel/padding.ts +0 -9
  350. package/src/lib/table/data/tablemodel/table-model.if.ts +0 -90
  351. package/src/lib/table/data/tablemodel/table-model.ts +0 -352
  352. package/src/lib/table/ele-scope.ts +0 -283
  353. package/src/lib/table/event-adapter.ts +0 -28
  354. package/src/lib/table/event-listener.if.ts +0 -19
  355. package/src/lib/table/factory/table-factory.ts +0 -378
  356. package/src/lib/table/factory/tree-factory.ts +0 -51
  357. package/src/lib/table/focus/focus-model.if.ts +0 -14
  358. package/src/lib/table/focus/focus-model.ts +0 -48
  359. package/src/lib/table/input-handler.ts +0 -34
  360. package/src/lib/table/mouse-handler.ts +0 -236
  361. package/src/lib/table/render-scope.ts +0 -936
  362. package/src/lib/table/renderer/cell-group-ext-cell-renderer.ts +0 -27
  363. package/src/lib/table/renderer/checkbox-boolean-property-cell-renderer.ts +0 -63
  364. package/src/lib/table/renderer/checkbox-cell-renderer.ts +0 -39
  365. package/src/lib/table/renderer/date-to-int-date-cell-renderer.ts +0 -39
  366. package/src/lib/table/renderer/date-to-iso-cell-renderer.ts +0 -25
  367. package/src/lib/table/renderer/date-to-locale-date-cell-renderer.ts +0 -24
  368. package/src/lib/table/renderer/date-to-tec-cell-renderer.ts +0 -28
  369. package/src/lib/table/renderer/edit/edit-input-pipe-for-number.ts +0 -6
  370. package/src/lib/table/renderer/edit/edit-input-pipe.if.ts +0 -7
  371. package/src/lib/table/renderer/edit/input-cell-renderer.ts +0 -41
  372. package/src/lib/table/renderer/edit/select-cell-renderer.ts +0 -60
  373. package/src/lib/table/renderer/male-female-to-icon-cell-renderer.ts +0 -26
  374. package/src/lib/table/renderer/number-cell-renderer.ts +0 -38
  375. package/src/lib/table/renderer/progress-bar-cell-renderer.ts +0 -60
  376. package/src/lib/table/renderer/renderer.ts +0 -11
  377. package/src/lib/table/renderer/star-rating-cell-renderer.ts +0 -45
  378. package/src/lib/table/renderer/true-false-cell-renderer.ts +0 -28
  379. package/src/lib/table/selection/selection-model.if.ts +0 -20
  380. package/src/lib/table/selection/selection-model.ts +0 -109
  381. package/src/lib/table/selection/selection-service.ts +0 -120
  382. package/src/lib/table/service/abstract-store-state.service.ts +0 -105
  383. package/src/lib/table/service/convenience-dom.service.ts +0 -548
  384. package/src/lib/table/service/data/collapsed-expanded.data.ts +0 -11
  385. package/src/lib/table/service/data/html-style.type.ts +0 -1
  386. package/src/lib/table/service/dom-service.if.ts +0 -16
  387. package/src/lib/table/service/ge-filter.service.ts +0 -123
  388. package/src/lib/table/service/simple-dom-service.ts +0 -46
  389. package/src/lib/table/service/sorter.service.ts +0 -30
  390. package/src/lib/table/service/store-state-collapsed-expand.service.ts +0 -76
  391. package/src/lib/table/service/store-state-scroll-pos.service.ts +0 -40
  392. package/src/lib/table/service/store-state-sorting.service.ts +0 -41
  393. package/src/lib/table/service/tree-row.service.ts +0 -31
  394. package/src/lib/table/table-api.ts +0 -61
  395. package/src/lib/table/table-scope.ts +0 -433
  396. package/src/test-setup.ts +0 -1
  397. package/tsconfig.json +0 -22
  398. package/tsconfig.lib.json +0 -19
  399. package/tsconfig.lib.prod.json +0 -7
  400. package/tsconfig.spec.json +0 -20
  401. /package/{src/lib/table/data/common/checked-type.ts → lib/table/data/common/checked-type.d.ts} +0 -0
  402. /package/{src/lib/table/data/common/filter-function.ts → lib/table/data/common/filter-function.d.ts} +0 -0
  403. /package/{src/lib/table/data/common/get-t.ts → lib/table/data/common/get-t.d.ts} +0 -0
  404. /package/{src/lib/table/data/common/sort-state.type.ts → lib/table/data/common/sort-state.type.d.ts} +0 -0
  405. /package/{src/lib/table/data/common/tree-arrow.type.ts → lib/table/data/common/tree-arrow.type.d.ts} +0 -0
  406. /package/{src/lib/table/data/side-ident.type.ts → lib/table/data/side-ident.type.d.ts} +0 -0
  407. /package/{src/lib/table/renderer/renderer-cleanup-fn.type.ts → lib/table/renderer/renderer-cleanup-fn.type.d.ts} +0 -0
@@ -0,0 +1,101 @@
1
+ import { CellRange } from "../data/common/cell-range";
2
+ export class SelectionService {
3
+ tableScope;
4
+ getSelectionModel;
5
+ getFocusModel;
6
+ previousEvt;
7
+ constructor(tableScope) {
8
+ this.tableScope = tableScope;
9
+ if (this.tableScope.tableOptions?.getSelectionModel) {
10
+ this.getSelectionModel = this.tableScope.tableOptions.getSelectionModel;
11
+ }
12
+ if (this.tableScope.tableOptions?.getFocusModel) {
13
+ this.getFocusModel = this.tableScope.tableOptions.getFocusModel;
14
+ }
15
+ }
16
+ onMouseClicked(evt, _previousEvt) {
17
+ let dirty = false;
18
+ let deletePreviousEvent = false;
19
+ if (this.getSelectionModel && this.getFocusModel) {
20
+ const sm = this.getSelectionModel();
21
+ const fm = this.getFocusModel();
22
+ if (sm && fm) {
23
+ // Focus:
24
+ if (!fm.hasFocus(evt.rowIndex, evt.columnIndex)) {
25
+ fm.setFocus(evt.rowIndex, evt.columnIndex);
26
+ dirty = true;
27
+ }
28
+ // Selection:
29
+ if (!evt.originalEvent?.shiftKey) {
30
+ if (sm.hasSelection()) {
31
+ sm.clear();
32
+ dirty = true;
33
+ }
34
+ }
35
+ if (evt.originalEvent?.shiftKey && this.previousEvt) {
36
+ sm.addSelection(this.createRangeByEvents(evt, this.previousEvt));
37
+ deletePreviousEvent = true;
38
+ dirty = true;
39
+ }
40
+ else if (evt.originalEvent?.ctrlKey || evt.originalEvent?.metaKey) {
41
+ sm.addSelection(CellRange.singleCell(evt.rowIndex, evt.columnIndex));
42
+ deletePreviousEvent = true;
43
+ dirty = true;
44
+ }
45
+ else if (evt.originalEvent?.altKey && (evt.originalEvent?.ctrlKey || evt.originalEvent?.metaKey)) {
46
+ sm.removeSelection(CellRange.singleCell(evt.rowIndex, evt.columnIndex));
47
+ deletePreviousEvent = true;
48
+ dirty = true;
49
+ }
50
+ }
51
+ }
52
+ if (deletePreviousEvent) {
53
+ this.previousEvt = undefined;
54
+ }
55
+ else {
56
+ this.previousEvt = evt?.clone();
57
+ }
58
+ return dirty;
59
+ }
60
+ onActionTriggered(actionId) {
61
+ if (this.getSelectionModel && this.getFocusModel) {
62
+ const sm = this.getSelectionModel();
63
+ const fm = this.getFocusModel();
64
+ if (sm && fm) {
65
+ if (actionId === "SELECT_ALL") {
66
+ sm.selectAll();
67
+ this.tableScope.repaint();
68
+ return true;
69
+ }
70
+ if (actionId === "DESELECT_ALL") {
71
+ sm.clear();
72
+ this.tableScope.repaint();
73
+ return true;
74
+ }
75
+ if (actionId === "TOGGLE_SELECTION") {
76
+ const [row, col] = fm.getFocus();
77
+ sm.togglePoint(row, col);
78
+ this.tableScope.repaint();
79
+ return true;
80
+ }
81
+ }
82
+ }
83
+ return false;
84
+ }
85
+ createRangeByEvents(evt, previousEvt) {
86
+ if (!previousEvt) {
87
+ previousEvt = evt;
88
+ }
89
+ const r1 = Math.min(evt.rowIndex, previousEvt?.rowIndex);
90
+ const r2 = Math.max(evt.rowIndex, previousEvt?.rowIndex);
91
+ const c1 = Math.min(evt.columnIndex, previousEvt?.columnIndex);
92
+ const c2 = Math.max(evt.columnIndex, previousEvt?.columnIndex);
93
+ return CellRange.create({
94
+ rowIndex1: r1,
95
+ columnIndex1: c1,
96
+ rowIndex2: r2,
97
+ columnIndex2: c2
98
+ });
99
+ }
100
+ }
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUt0RCxNQUFNLE9BQU8sZ0JBQWdCO0lBUU47SUFOWCxpQkFBaUIsQ0FBMEI7SUFDM0MsYUFBYSxDQUFzQjtJQUNuQyxXQUFXLENBQWdCO0lBR3JDLFlBQ3FCLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFFekMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRTtZQUNuRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7U0FDekU7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRTtZQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFHRCxjQUFjLENBQUMsR0FBaUIsRUFBRSxZQUFzQztRQUN0RSxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFaEMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNwQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDaEMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUVaLFNBQVM7Z0JBQ1QsSUFBSSxDQUFD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QUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDMUIsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBR08sbUJBQW1CLENBQUMsR0FBaUIsRUFBRSxXQUEwQjtRQUN2RSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLFdBQVcsR0FBRyxHQUFHLENBQUM7U0FDbkI7UUFDRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMvRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN0QixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxFQUFFO1lBQ2hCLFNBQVMsRUFBRSxFQUFFO1lBQ2IsWUFBWSxFQUFFLEVBQUU7U0FDakIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VNb3VzZUV2ZW50IH0gZnJvbSBcIi4uL2RhdGEvY29tbW9uL2V2ZW50L2dlLW1vdXNlLWV2ZW50XCI7XG5pbXBvcnQgeyBUYWJsZVNjb3BlIH0gZnJvbSBcIi4uL3RhYmxlLXNjb3BlXCI7XG5pbXBvcnQgeyBHZXRUIH0gZnJvbSBcIi4uL2RhdGEvY29tbW9uL2dldC10XCI7XG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbElmIH0gZnJvbSBcIi4vc2VsZWN0aW9uLW1vZGVsLmlmXCI7XG5pbXBvcnQgeyBGb2N1c01vZGVsSWYgfSBmcm9tIFwiLi4vZm9jdXMvZm9jdXMtbW9kZWwuaWZcIjtcbmltcG9ydCB7IENlbGxSYW5nZSB9IGZyb20gXCIuLi9kYXRhL2NvbW1vbi9jZWxsLXJhbmdlXCI7XG5pbXBvcnQgeyBPbkFjdGlvblRyaWdnZXJlZElmIH0gZnJvbSBcIi4uL2FjdGlvbi9vbi1hY3Rpb24tdHJpZ2dlcmVkLmlmXCI7XG5pbXBvcnQgeyBBY3Rpb25JZCB9IGZyb20gXCIuLi9hY3Rpb24vYWN0aW9uLWlkLnR5cGVcIjtcblxuXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uU2VydmljZSBpbXBsZW1lbnRzIE9uQWN0aW9uVHJpZ2dlcmVkSWYge1xuXG4gIHByb3RlY3RlZCBnZXRTZWxlY3Rpb25Nb2RlbD86IEdldFQ8U2VsZWN0aW9uTW9kZWxJZj47XG4gIHByb3RlY3RlZCBnZXRGb2N1c01vZGVsPzogR2V0VDxGb2N1c01vZGVsSWY+O1xuICBwcm90ZWN0ZWQgcHJldmlvdXNFdnQ/OiBHZU1vdXNlRXZlbnQ7XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFibGVTY29wZTogVGFibGVTY29wZVxuICApIHtcbiAgICBpZiAodGhpcy50YWJsZVNjb3BlLnRhYmxlT3B0aW9ucz8uZ2V0U2VsZWN0aW9uTW9kZWwpIHtcbiAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uTW9kZWwgPSB0aGlzLnRhYmxlU2NvcGUudGFibGVPcHRpb25zLmdldFNlbGVjdGlvbk1vZGVsO1xuICAgIH1cbiAgICBpZiAodGhpcy50YWJsZVNjb3BlLnRhYmxlT3B0aW9ucz8uZ2V0Rm9jdXNNb2RlbCkge1xuICAgICAgdGhpcy5nZXRGb2N1c01vZGVsID0gdGhpcy50YWJsZVNjb3BlLnRhYmxlT3B0aW9ucy5nZXRGb2N1c01vZGVsO1xuICAgIH1cbiAgfVxuXG5cbiAgb25Nb3VzZUNsaWNrZWQoZXZ0OiBHZU1vdXNlRXZlbnQsIF9wcmV2aW91c0V2dDogR2VNb3VzZUV2ZW50IHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgbGV0IGRpcnR5ID0gZmFsc2U7XG4gICAgbGV0IGRlbGV0ZVByZXZpb3VzRXZlbnQgPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLmdldFNlbGVjdGlvbk1vZGVsICYmIHRoaXMuZ2V0Rm9jdXNNb2RlbCkge1xuICAgICAgY29uc3Qgc20gPSB0aGlzLmdldFNlbGVjdGlvbk1vZGVsKCk7XG4gICAgICBjb25zdCBmbSA9IHRoaXMuZ2V0Rm9jdXNNb2RlbCgpO1xuICAgICAgaWYgKHNtICYmIGZtKSB7XG5cbiAgICAgICAgLy8gRm9jdXM6XG4gICAgICAgIGlmICghZm0uaGFzRm9jdXMoZXZ0LnJvd0luZGV4LCBldnQuY29sdW1uSW5kZXgpKSB7XG4gICAgICAgICAgZm0uc2V0Rm9jdXMoZXZ0LnJvd0luZGV4LCBldnQuY29sdW1uSW5kZXgpO1xuICAgICAgICAgIGRpcnR5ID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlbGVjdGlvbjpcbiAgICAgICAgaWYgKCFldnQub3JpZ2luYWxFdmVudD8uc2hpZnRLZXkpIHtcbiAgICAgICAgICBpZiAoc20uaGFzU2VsZWN0aW9uKCkpIHtcbiAgICAgICAgICAgIHNtLmNsZWFyKCk7XG4gICAgICAgICAgICBkaXJ0eSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChldnQub3JpZ2luYWxFdmVudD8uc2hpZnRLZXkgJiYgdGhpcy5wcmV2aW91c0V2dCkge1xuICAgICAgICAgIHNtLmFkZFNlbGVjdGlvbih0aGlzLmNyZWF0ZVJhbmdlQnlFdmVudHMoZXZ0LCB0aGlzLnByZXZpb3VzRXZ0KSk7XG4gICAgICAgICAgZGVsZXRlUHJldmlvdXNFdmVudCA9IHRydWU7XG4gICAgICAgICAgZGlydHkgPSB0cnVlO1xuXG4gICAgICAgIH0gZWxzZSBpZiAoZXZ0Lm9yaWdpbmFsRXZlbnQ/LmN0cmxLZXkgfHwgZXZ0Lm9yaWdpbmFsRXZlbnQ/Lm1ldGFLZXkpIHtcbiAgICAgICAgICBzbS5hZGRTZWxlY3Rpb24oQ2VsbFJhbmdlLnNpbmdsZUNlbGwoZXZ0LnJvd0luZGV4LCBldnQuY29sdW1uSW5kZXgpKTtcbiAgICAgICAgICBkZWxldGVQcmV2aW91c0V2ZW50ID0gdHJ1ZTtcbiAgICAgICAgICBkaXJ0eSA9IHRydWU7XG5cbiAgICAgICAgfSBlbHNlIGlmIChldnQub3JpZ2luYWxFdmVudD8uYWx0S2V5ICYmIChldnQub3JpZ2luYWxFdmVudD8uY3RybEtleSB8fCBldnQub3JpZ2luYWxFdmVudD8ubWV0YUtleSkpIHtcbiAgICAgICAgICBzbS5yZW1vdmVTZWxlY3Rpb24oQ2VsbFJhbmdlLnNpbmdsZUNlbGwoZXZ0LnJvd0luZGV4LCBldnQuY29sdW1uSW5kZXgpKTtcbiAgICAgICAgICBkZWxldGVQcmV2aW91c0V2ZW50ID0gdHJ1ZTtcbiAgICAgICAgICBkaXJ0eSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRlbGV0ZVByZXZpb3VzRXZlbnQpIHtcbiAgICAgIHRoaXMucHJldmlvdXNFdnQgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJldmlvdXNFdnQgPSBldnQ/LmNsb25lKCk7XG4gICAgfVxuICAgIHJldHVybiBkaXJ0eTtcbiAgfVxuXG4gIG9uQWN0aW9uVHJpZ2dlcmVkKGFjdGlvbklkOiBBY3Rpb25JZCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmdldFNlbGVjdGlvbk1vZGVsICYmIHRoaXMuZ2V0Rm9jdXNNb2RlbCkge1xuICAgICAgY29uc3Qgc20gPSB0aGlzLmdldFNlbGVjdGlvbk1vZGVsKCk7XG4gICAgICBjb25zdCBmbSA9IHRoaXMuZ2V0Rm9jdXNNb2RlbCgpO1xuICAgICAgaWYgKHNtICYmIGZtKSB7XG4gICAgICAgIGlmIChhY3Rpb25JZCA9PT0gXCJTRUxFQ1RfQUxMXCIpIHtcbiAgICAgICAgICBzbS5zZWxlY3RBbGwoKTtcbiAgICAgICAgICB0aGlzLnRhYmxlU2NvcGUucmVwYWludCgpO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhY3Rpb25JZCA9PT0gXCJERVNFTEVDVF9BTExcIikge1xuICAgICAgICAgIHNtLmNsZWFyKCk7XG4gICAgICAgICAgdGhpcy50YWJsZVNjb3BlLnJlcGFpbnQoKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWN0aW9uSWQgPT09IFwiVE9HR0xFX1NFTEVDVElPTlwiKSB7XG4gICAgICAgICAgY29uc3QgW3JvdywgY29sXSA9IGZtLmdldEZvY3VzKCk7XG4gICAgICAgICAgc20udG9nZ2xlUG9pbnQocm93LCBjb2wpO1xuICAgICAgICAgIHRoaXMudGFibGVTY29wZS5yZXBhaW50KCk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cblxuICBwcml2YXRlIGNyZWF0ZVJhbmdlQnlFdmVudHMoZXZ0OiBHZU1vdXNlRXZlbnQsIHByZXZpb3VzRXZ0PzogR2VNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCFwcmV2aW91c0V2dCkge1xuICAgICAgcHJldmlvdXNFdnQgPSBldnQ7XG4gICAgfVxuICAgIGNvbnN0IHIxID0gTWF0aC5taW4oZXZ0LnJvd0luZGV4LCBwcmV2aW91c0V2dD8ucm93SW5kZXgpO1xuICAgIGNvbnN0IHIyID0gTWF0aC5tYXgoZXZ0LnJvd0luZGV4LCBwcmV2aW91c0V2dD8ucm93SW5kZXgpO1xuICAgIGNvbnN0IGMxID0gTWF0aC5taW4oZXZ0LmNvbHVtbkluZGV4LCBwcmV2aW91c0V2dD8uY29sdW1uSW5kZXgpO1xuICAgIGNvbnN0IGMyID0gTWF0aC5tYXgoZXZ0LmNvbHVtbkluZGV4LCBwcmV2aW91c0V2dD8uY29sdW1uSW5kZXgpO1xuICAgIHJldHVybiBDZWxsUmFuZ2UuY3JlYXRlKHtcbiAgICAgIHJvd0luZGV4MTogcjEsXG4gICAgICBjb2x1bW5JbmRleDE6IGMxLFxuICAgICAgcm93SW5kZXgyOiByMixcbiAgICAgIGNvbHVtbkluZGV4MjogYzJcbiAgICB9KTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvc2VsZWN0aW9uL3NlbGVjdGlvbi50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTZWxlY3Rpb25UeXBlID0gXCJub25lXCIgfCBcImNlbGxcIiB8IFwicm93XCIgfCBcImNvbHVtblwiIHwgXCJyYW5nZVwiO1xuZXhwb3J0IHR5cGUgU2VsZWN0aW9uTW9kZSA9IFwic2luZ2xlXCIgfCBcIm11bHRpXCI7XG5cblxuXG4iXX0=
@@ -0,0 +1,50 @@
1
+ export class AbstractStoreStateService {
2
+ getStorageKeyFn;
3
+ constructor(fn) {
4
+ this.getStorageKeyFn = fn;
5
+ }
6
+ autoConvertMapToObject(item) {
7
+ const obj = {};
8
+ if (item instanceof Map) {
9
+ const map = item;
10
+ for (const item of [...map]) {
11
+ const [key, value] = item;
12
+ // @ts-ignore
13
+ obj[key] = value;
14
+ }
15
+ }
16
+ return obj;
17
+ }
18
+ checkAndPersistItem(keySuffix, item) {
19
+ const fn = this.getStorageKeyFn;
20
+ if (fn) {
21
+ const key = fn();
22
+ if (key) {
23
+ const subKey = key + keySuffix;
24
+ if ((item + "").includes("Map")) {
25
+ const obj = this.autoConvertMapToObject(item);
26
+ this.persistItem(subKey, obj);
27
+ }
28
+ else {
29
+ this.persistItem(subKey, item);
30
+ }
31
+ }
32
+ }
33
+ }
34
+ persistItem(subKey, item) {
35
+ if (item) {
36
+ localStorage.setItem(subKey, JSON.stringify(item));
37
+ }
38
+ else {
39
+ localStorage.removeItem(subKey);
40
+ }
41
+ }
42
+ loadFromLocalStorage(subKey) {
43
+ const item = localStorage.getItem(subKey);
44
+ if (item) {
45
+ return JSON.parse(item);
46
+ }
47
+ return null;
48
+ }
49
+ }
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtc3RvcmUtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9zZXJ2aWNlL2Fic3RyYWN0LXN0b3JlLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFnQix5QkFBeUI7SUFHbkMsZUFBZSxDQUErQjtJQUd4RCxZQUFZLEVBQStCO1FBQ3pDLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxJQUFTO1FBQzlCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUksSUFBSSxZQUFZLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxJQUF3QixDQUFDO1lBRXJDLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFO2dCQUMzQixNQUFNLENBQ0osR0FBRyxFQUNILEtBQUssQ0FDTixHQUFHLElBQUksQ0FBQztnQkFDVCxhQUFhO2dCQUNiLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7YUFDbEI7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQU1TLG1CQUFtQixDQUFDLFNBQWlCLEVBQUUsSUFBUztRQUN4RCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2hDLElBQUksRUFBRSxFQUFFO1lBQ04sTUFBTSxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDakIsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsTUFBTSxNQUFNLEdBQUcsR0FBRyxHQUFHLFNBQVMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQy9CLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7aUJBQy9CO3FCQUFNO29CQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUNoQzthQUVGO1NBQ0Y7SUFDSCxDQUFDO0lBRVMsV0FBVyxDQUFDLE1BQWMsRUFBRSxJQUFxQjtRQUN6RCxJQUFJLElBQUksRUFBRTtZQUNSLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNwRDthQUFNO1lBQ0wsWUFBWSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFUyxvQkFBb0IsQ0FBSSxNQUFjO1FBQzlDLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsSUFBSSxJQUFJLEVBQUU7WUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFNLENBQUM7U0FDOUI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0F1Q0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRTdG9yYWdlS2V5Rm4gfSBmcm9tIFwiLi4vZGF0YS9vcHRpb25zL2F1dG8tcmVzdG9yZS1vcHRpb25zLmlmXCI7XG5cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0U3RvcmVTdGF0ZVNlcnZpY2Uge1xuXG5cbiAgcHJvdGVjdGVkIGdldFN0b3JhZ2VLZXlGbj86IHVuZGVmaW5lZCB8IEdldFN0b3JhZ2VLZXlGbjtcblxuXG4gIGNvbnN0cnVjdG9yKGZuOiBHZXRTdG9yYWdlS2V5Rm4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmdldFN0b3JhZ2VLZXlGbiA9IGZuO1xuICB9XG5cbiAgYXV0b0NvbnZlcnRNYXBUb09iamVjdChpdGVtOiBhbnkpIHtcbiAgICBjb25zdCBvYmogPSB7fTtcbiAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgY29uc3QgbWFwID0gaXRlbSBhcyBNYXA8c3RyaW5nLCBhbnk+O1xuXG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgWy4uLm1hcF0pIHtcbiAgICAgICAgY29uc3QgW1xuICAgICAgICAgIGtleSxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICBdID0gaXRlbTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBvYmpba2V5XSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgLy8gYWJzdHJhY3QgZ2V0U3ViS2V5KCk6IHN0cmluZztcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgbG9hZCgpOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBjaGVja0FuZFBlcnNpc3RJdGVtKGtleVN1ZmZpeDogc3RyaW5nLCBpdGVtOiBhbnkpIHtcbiAgICBjb25zdCBmbiA9IHRoaXMuZ2V0U3RvcmFnZUtleUZuO1xuICAgIGlmIChmbikge1xuICAgICAgY29uc3Qga2V5ID0gZm4oKTtcbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgY29uc3Qgc3ViS2V5ID0ga2V5ICsga2V5U3VmZml4O1xuICAgICAgICBpZiAoKGl0ZW0gKyBcIlwiKS5pbmNsdWRlcyhcIk1hcFwiKSkge1xuICAgICAgICAgIGNvbnN0IG9iaiA9IHRoaXMuYXV0b0NvbnZlcnRNYXBUb09iamVjdChpdGVtKTtcbiAgICAgICAgICB0aGlzLnBlcnNpc3RJdGVtKHN1YktleSwgb2JqKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnBlcnNpc3RJdGVtKHN1YktleSwgaXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwZXJzaXN0SXRlbShzdWJLZXk6IHN0cmluZywgaXRlbTogc3RyaW5nIHwgb2JqZWN0KSB7XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHN1YktleSwgSlNPTi5zdHJpbmdpZnkoaXRlbSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShzdWJLZXkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBsb2FkRnJvbUxvY2FsU3RvcmFnZTxVPihzdWJLZXk6IHN0cmluZyk6IFUgfCBudWxsIHtcbiAgICBjb25zdCBpdGVtID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oc3ViS2V5KTtcbiAgICBpZiAoaXRlbSkge1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoaXRlbSkgYXMgVTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBwcml2YXRlIGxvYWRJdGVtcygpIHtcbiAgLy8gICBjb25zdCBmbiA9IHRoaXMuZ2V0U3RvcmFnZUtleUZuO1xuICAvLyAgIGlmIChmbikge1xuICAvLyAgICAgY29uc3Qga2V5ID0gZm4oKTtcbiAgLy8gICAgIGlmIChrZXkpIHtcbiAgLy8gICAgICAgLy8gQSBtYWluIGtleSBpcyBnaXZlbiBieSBmdW5jdGlvbiBmcm9tIG9wdGlvbnNcbiAgLy8gICAgICAgY29uc3Qgc3ViS2V5ID0ga2V5ICsgdGhpcy5DSEVDS0VEX1NUQVRFO1xuICAvLyAgICAgICBjb25zdCBhcnIgPSB0aGlzLmxvYWRGcm9tTG9jYWxTdG9yYWdlPEFycmF5PHN0cmluZyB8IG51bWJlcj4+KHN1YktleSk7XG4gIC8vICAgICAgIGlmIChhcnIpIHtcbiAgLy8gICAgICAgICB0aGlzLmNoZWNrZWRTdGF0ZUlkcy5sZW5ndGggPSAwO1xuICAvLyAgICAgICAgIGFyci5mb3JFYWNoKGEgPT4gdGhpcy5jaGVja2VkU3RhdGVJZHMucHVzaChhKSk7XG4gIC8vICAgICAgIH1cbiAgLy9cbiAgLy8gICAgICAgY29uc3Qgc3ViS2V5MiA9IGtleSArIHRoaXMuQ09MTEFQU0VEX0VYUEFOREVEX1NUQVRFO1xuICAvLyAgICAgICBjb25zdCBkYXRhID0gdGhpcy5sb2FkRnJvbUxvY2FsU3RvcmFnZTxDb2xsYXBzZWRFeHBhbmRlZERhdGE+KHN1YktleTIpO1xuICAvLyAgICAgICBpZiAoZGF0YSkge1xuICAvLyAgICAgICAgIHRoaXMuY29sbGFwc2VkRXhwYW5kZWRTdGF0ZSA9IGRhdGE7XG4gIC8vICAgICAgIH1cbiAgLy9cbiAgLy8gICAgICAgY29uc3Qgc3ViS2V5MyA9IGtleSArIHRoaXMuU0VMRUNURURfU1RBVEU7XG4gIC8vICAgICAgIGNvbnN0IGFycjMgPSB0aGlzLmxvYWRGcm9tTG9jYWxTdG9yYWdlPG9iamVjdD4oc3ViS2V5Myk7XG4gIC8vICAgICAgIGlmIChhcnIzKSB7XG4gIC8vICAgICAgICAgY29uc3QgbWFwOiBNYXA8c3RyaW5nIHwgbnVtYmVyLCBzdHJpbmdbXT4gPSBuZXcgTWFwKE9iamVjdC5lbnRyaWVzKGFycjMpKTtcbiAgLy8gICAgICAgICBpZiAobWFwKSB7XG4gIC8vICAgICAgICAgICB0aGlzLnNlbGVjdGVkU3RhdGVJZHMuY2xlYXIoKTtcbiAgLy8gICAgICAgICAgIG1hcC5mb3JFYWNoKChjb2wsIGspID0+IHRoaXMuc2VsZWN0ZWRTdGF0ZUlkcy5zZXQoaywgY29sKSk7XG4gIC8vICAgICAgICAgfVxuICAvLyAgICAgICB9XG4gIC8vXG4gIC8vICAgICAgIGNvbnN0IHN1YktleTQgPSBrZXkgKyB0aGlzLlNDUk9MTF9TVEFURTtcbiAgLy8gICAgICAgbGV0IHNjcm9sbE9mZnNldCA9IHRoaXMubG9hZEZyb21Mb2NhbFN0b3JhZ2U8W251bWJlciwgbnVtYmVyXT4oc3ViS2V5NCk7XG4gIC8vICAgICAgIHRoaXMuc2Nyb2xsT2Zmc2V0ID0gc2Nyb2xsT2Zmc2V0ID8gc2Nyb2xsT2Zmc2V0IDogWzAsIDBdO1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfVxuXG5cbn1cbiJdfQ==