@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,181 @@
1
+ import { TreeRowService } from "../../../service/tree-row.service";
2
+ import { AbstractAreaModel } from "./abstract-area-model";
3
+ import { SorterService } from "../../../service/sorter.service";
4
+ export class AreaModelTree extends AbstractAreaModel {
5
+ areaIdent;
6
+ rows;
7
+ defaultRowHeight;
8
+ columnDefs;
9
+ properties;
10
+ sorterService = new SorterService();
11
+ service = new TreeRowService();
12
+ filteredFlattenRows;
13
+ flattenRows;
14
+ lastPredictFn;
15
+ constructor(areaIdent, rows, defaultRowHeight, columnDefs = []) {
16
+ super(areaIdent, columnDefs, defaultRowHeight);
17
+ this.areaIdent = areaIdent;
18
+ this.rows = rows;
19
+ this.defaultRowHeight = defaultRowHeight;
20
+ this.columnDefs = columnDefs;
21
+ this.properties = columnDefs.map(def => def.property);
22
+ this.flattenRows = this.service.flattenTree(rows);
23
+ this.filteredFlattenRows = [...this.flattenRows];
24
+ }
25
+ changeColumnOrder(sourceColumnIndex, targetColumnIndex) {
26
+ // not this! this.arrayMove(this.columnDefs...)
27
+ this.arrayMove(this.properties, sourceColumnIndex, targetColumnIndex);
28
+ super.changeColumnOrder(sourceColumnIndex, targetColumnIndex);
29
+ }
30
+ recalcVisibleTreeRows() {
31
+ this.filteredFlattenRows = this.service.flattenTree(this.rows);
32
+ }
33
+ getFilteredFlattenRows() {
34
+ return this.filteredFlattenRows;
35
+ }
36
+ getRowCount() {
37
+ let n = 0;
38
+ for (const r of this.filteredFlattenRows) {
39
+ if (this.service.isVisible(r)) {
40
+ n++;
41
+ }
42
+ }
43
+ return n;
44
+ }
45
+ getValueAt(rowIndex, columnIndex) {
46
+ const row = this.getRowByIndex(rowIndex);
47
+ if (row) {
48
+ const prop = this.properties[columnIndex];
49
+ if (prop) {
50
+ if (prop.includes(".")) {
51
+ return this.getPropertyValue(row.data, prop.split("."));
52
+ }
53
+ // @ts-ignore
54
+ return row.data[prop];
55
+ }
56
+ }
57
+ return "";
58
+ }
59
+ getRowHeight(_rowIndex) {
60
+ return this.defaultRowHeight;
61
+ }
62
+ getCustomClassesAt(rowIndex, _columnIndex) {
63
+ const row = this.filteredFlattenRows[rowIndex];
64
+ return ["ge-table-tree-cell", "ge-table-tree-deep-" + row.deep];
65
+ }
66
+ getRowByIndex(idx) {
67
+ return this.filteredFlattenRows[idx];
68
+ }
69
+ getValueByT(t, property) {
70
+ if (property.includes(".")) {
71
+ return this.getPropertyValue(t, property.split("."));
72
+ }
73
+ // @ts-ignore
74
+ return t[property];
75
+ }
76
+ externalFilterChanged(predictFn) {
77
+ this.lastPredictFn = predictFn;
78
+ this.doFiltering();
79
+ }
80
+ doSort(sortItems) {
81
+ const { columnIndex, sortState } = sortItems[sortItems.length - 1];
82
+ const f = sortState === "asc" ? 1 :
83
+ sortState === "desc" ? -1 : 0;
84
+ const property = this.properties[columnIndex];
85
+ this.treeSort(this.rows, property, f);
86
+ this.flattenRows = this.service.flattenTree(this.rows);
87
+ this.filteredFlattenRows = [...this.flattenRows];
88
+ return true;
89
+ }
90
+ toggleExpandCollapseAll(expanded) {
91
+ this.expandAllRecursive(this.rows, expanded);
92
+ this.flattenRows = this.service.flattenTree(this.rows);
93
+ this.doFiltering();
94
+ }
95
+ setAllParentsOk(item) {
96
+ if (item.parent) {
97
+ item.parent.keep = true;
98
+ this.setAllParentsOk(item.parent);
99
+ }
100
+ return false;
101
+ }
102
+ setValue(rowIndex, columnIndex, value) {
103
+ const editInputPipe = this.columnDefs[columnIndex]?.editInputPipe;
104
+ if (editInputPipe) {
105
+ value = editInputPipe(value, rowIndex, columnIndex);
106
+ }
107
+ const treeRow = this.getRowByIndex(rowIndex);
108
+ if (treeRow) {
109
+ const row = treeRow.data;
110
+ const property = this.columnDefs[columnIndex].property;
111
+ if (property.includes(".")) {
112
+ return this.setPropertyValue(row, property.split("."), value);
113
+ }
114
+ // @ts-ignore
115
+ row[property] = value;
116
+ return true;
117
+ }
118
+ return false;
119
+ }
120
+ genericTreeTableSortComparator(property, f) {
121
+ return (a, b) => {
122
+ const va = this.getValueByT(a.data, property);
123
+ const vb = this.getValueByT(b.data, property);
124
+ return this.sorterService.genericSortComparator(va, vb, f);
125
+ };
126
+ }
127
+ expandAllRecursive(arr, expanded) {
128
+ for (const row of arr) {
129
+ row.expanded = expanded;
130
+ if (row.children) {
131
+ this.expandAllRecursive(row.children, expanded);
132
+ }
133
+ }
134
+ }
135
+ doFiltering() {
136
+ if (!this.lastPredictFn) {
137
+ this.filteredFlattenRows = [...(this.flattenRows ? this.flattenRows : [])];
138
+ }
139
+ else {
140
+ if (!this.flattenRows) {
141
+ this.flattenRows = [];
142
+ }
143
+ let maxDeep = 0;
144
+ this.flattenRows.forEach(v => {
145
+ maxDeep = Math.max(maxDeep, v.deep);
146
+ });
147
+ const okRows = this.flattenRows.filter((value, index, array) => {
148
+ // @ts-ignore
149
+ return this.lastPredictFn(value, index, array);
150
+ });
151
+ this.flattenRows.forEach(v => v.keep = false);
152
+ this.flattenRows.forEach(v => {
153
+ if (okRows.includes(v)) {
154
+ v.keep = true;
155
+ this.setAllParentsOk(v);
156
+ }
157
+ });
158
+ this.filteredFlattenRows = this.flattenRows.filter((value, _index, _array) => {
159
+ return value.keep;
160
+ });
161
+ }
162
+ }
163
+ getPropertyValue(o, props) {
164
+ const prop = props.shift();
165
+ // @ts-ignore
166
+ let o2 = o[prop];
167
+ if (o2 && props.length) {
168
+ return this.getPropertyValue(o2, props);
169
+ }
170
+ return o2;
171
+ }
172
+ treeSort(rows, property, f) {
173
+ rows.sort(this.genericTreeTableSortComparator(property, f));
174
+ for (const row of rows) {
175
+ if (row.children) {
176
+ this.treeSort(row.children, property, f);
177
+ }
178
+ }
179
+ }
180
+ }
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS1tb2RlbC10cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC10cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUkxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHaEUsTUFBTSxPQUFPLGFBQWlCLFNBQVEsaUJBQTZCO0lBVy9DO0lBQ0E7SUFDQztJQUNFO0lBWkYsVUFBVSxDQUFXO0lBQzlCLGFBQWEsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUU1QyxPQUFPLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztJQUN4QyxtQkFBbUIsQ0FBZTtJQUNsQyxXQUFXLENBQWU7SUFDMUIsYUFBYSxDQUF1QjtJQUU1QyxZQUNrQixTQUFvQixFQUNwQixJQUFrQixFQUNqQixnQkFBd0IsRUFDdEIsYUFBNEIsRUFBRTtRQUVqRCxLQUFLLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBTC9CLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNqQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVE7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFHakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7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QUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxQztTQUNGO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJlZVJvdyB9IGZyb20gXCIuLi8uLi9jb21tb24vdHJlZS1yb3dcIjtcbmltcG9ydCB7IFRyZWVSb3dTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJlZS1yb3cuc2VydmljZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RBcmVhTW9kZWwgfSBmcm9tIFwiLi9hYnN0cmFjdC1hcmVhLW1vZGVsXCI7XG5pbXBvcnQgeyBBcmVhSWRlbnQgfSBmcm9tIFwiLi4vYXJlYS1pZGVudC50eXBlXCI7XG5pbXBvcnQgeyBDb2x1bW5EZWZJZiB9IGZyb20gXCIuLi9jb2x1bW4vY29sdW1uLWRlZi5pZlwiO1xuaW1wb3J0IHsgRmlsdGVyRnVuY3Rpb24gfSBmcm9tIFwiLi4vLi4vY29tbW9uL2ZpbHRlci1mdW5jdGlvblwiO1xuaW1wb3J0IHsgU29ydGVyU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3NvcnRlci5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBTb3J0SXRlbSB9IGZyb20gXCIuLi8uLi9jb21tb24vc29ydC1pdGVtXCI7XG5cbmV4cG9ydCBjbGFzcyBBcmVhTW9kZWxUcmVlPFM+IGV4dGVuZHMgQWJzdHJhY3RBcmVhTW9kZWw8VHJlZVJvdzxTPj4ge1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBwcm9wZXJ0aWVzOiBzdHJpbmdbXTtcbiAgcHJvdGVjdGVkIHNvcnRlclNlcnZpY2U6IFNvcnRlclNlcnZpY2UgPSBuZXcgU29ydGVyU2VydmljZSgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZSA9IG5ldyBUcmVlUm93U2VydmljZSgpO1xuICBwcml2YXRlIGZpbHRlcmVkRmxhdHRlblJvd3M6IFRyZWVSb3c8Uz5bXTtcbiAgcHJpdmF0ZSBmbGF0dGVuUm93czogVHJlZVJvdzxTPltdO1xuICBwcml2YXRlIGxhc3RQcmVkaWN0Rm4/OiBGaWx0ZXJGdW5jdGlvbjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdmVycmlkZSBhcmVhSWRlbnQ6IEFyZWFJZGVudCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcm93czogVHJlZVJvdzxTPltdLFxuICAgIHB1YmxpYyBvdmVycmlkZSAgZGVmYXVsdFJvd0hlaWdodDogbnVtYmVyLFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBjb2x1bW5EZWZzOiBDb2x1bW5EZWZJZltdID0gW11cbiAgKSB7XG4gICAgc3VwZXIoYXJlYUlkZW50LCBjb2x1bW5EZWZzLCBkZWZhdWx0Um93SGVpZ2h0KTtcbiAgICB0aGlzLnByb3BlcnRpZXMgPSBjb2x1bW5EZWZzLm1hcChkZWYgPT4gZGVmLnByb3BlcnR5KTtcbiAgICB0aGlzLmZsYXR0ZW5Sb3dzID0gdGhpcy5zZXJ2aWNlLmZsYXR0ZW5UcmVlKHJvd3MpO1xuICAgIHRoaXMuZmlsdGVyZWRGbGF0dGVuUm93cyA9IFsuLi50aGlzLmZsYXR0ZW5Sb3dzXTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNoYW5nZUNvbHVtbk9yZGVyKHNvdXJjZUNvbHVtbkluZGV4OiBudW1iZXIsIHRhcmdldENvbHVtbkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAvLyAgbm90IHRoaXMhIHRoaXMuYXJyYXlNb3ZlKHRoaXMuY29sdW1uRGVmcy4uLilcbiAgICB0aGlzLmFycmF5TW92ZSh0aGlzLnByb3BlcnRpZXMsIHNvdXJjZUNvbHVtbkluZGV4LCB0YXJnZXRDb2x1bW5JbmRleCk7XG4gICAgc3VwZXIuY2hhbmdlQ29sdW1uT3JkZXIoc291cmNlQ29sdW1uSW5kZXgsIHRhcmdldENvbHVtbkluZGV4KTtcbiAgfVxuXG4gIHJlY2FsY1Zpc2libGVUcmVlUm93cygpIHtcbiAgICB0aGlzLmZpbHRlcmVkRmxhdHRlblJvd3MgPSB0aGlzLnNlcnZpY2UuZmxhdHRlblRyZWUodGhpcy5yb3dzKTtcbiAgfVxuXG4gIGdldEZpbHRlcmVkRmxhdHRlblJvd3MoKTogVHJlZVJvdzxTPltdIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZEZsYXR0ZW5Sb3dzO1xuICB9XG5cbiAgZ2V0Um93Q291bnQoKTogbnVtYmVyIHtcbiAgICBsZXQgbiA9IDA7XG4gICAgZm9yIChjb25zdCByIG9mIHRoaXMuZmlsdGVyZWRGbGF0dGVuUm93cykge1xuICAgICAgaWYgKHRoaXMuc2VydmljZS5pc1Zpc2libGUocikpIHtcbiAgICAgICAgbisrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbjtcbiAgfVxuXG4gIGdldFZhbHVlQXQocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcik6IGFueSB7XG4gICAgY29uc3Qgcm93ID0gdGhpcy5nZXRSb3dCeUluZGV4KHJvd0luZGV4KTtcbiAgICBpZiAocm93KSB7XG4gICAgICBjb25zdCBwcm9wID0gdGhpcy5wcm9wZXJ0aWVzW2NvbHVtbkluZGV4XTtcbiAgICAgIGlmIChwcm9wKSB7XG4gICAgICAgIGlmIChwcm9wLmluY2x1ZGVzKFwiLlwiKSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFByb3BlcnR5VmFsdWUocm93LmRhdGEsIHByb3Auc3BsaXQoXCIuXCIpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJldHVybiByb3cuZGF0YVtwcm9wXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBnZXRSb3dIZWlnaHQoX3Jvd0luZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRSb3dIZWlnaHQ7XG4gIH1cblxuICBvdmVycmlkZSBnZXRDdXN0b21DbGFzc2VzQXQocm93SW5kZXg6IG51bWJlciwgX2NvbHVtbkluZGV4OiBudW1iZXIpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgcm93ID0gdGhpcy5maWx0ZXJlZEZsYXR0ZW5Sb3dzW3Jvd0luZGV4XTtcbiAgICByZXR1cm4gW1wiZ2UtdGFibGUtdHJlZS1jZWxsXCIsIFwiZ2UtdGFibGUtdHJlZS1kZWVwLVwiICsgcm93LmRlZXBdO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0Um93QnlJbmRleChpZHg6IG51bWJlcik6IFRyZWVSb3c8Uz4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkRmxhdHRlblJvd3NbaWR4XTtcbiAgfVxuXG4gIGdldFZhbHVlQnlUKHQ6IFMsIHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICBpZiAocHJvcGVydHkuaW5jbHVkZXMoXCIuXCIpKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eVZhbHVlKHQsIHByb3BlcnR5LnNwbGl0KFwiLlwiKSk7XG4gICAgfVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gdFtwcm9wZXJ0eV07XG4gIH1cblxuICBleHRlcm5hbEZpbHRlckNoYW5nZWQ8Uz4ocHJlZGljdEZuOiBGaWx0ZXJGdW5jdGlvbjxTPik6IHZvaWQge1xuICAgIHRoaXMubGFzdFByZWRpY3RGbiA9IHByZWRpY3RGbjtcbiAgICB0aGlzLmRvRmlsdGVyaW5nKCk7XG4gIH1cblxuICBvdmVycmlkZSBkb1NvcnQoc29ydEl0ZW1zOiBTb3J0SXRlbVtdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgeyBjb2x1bW5JbmRleCwgc29ydFN0YXRlIH0gPSBzb3J0SXRlbXNbc29ydEl0ZW1zLmxlbmd0aCAtIDFdO1xuICAgIGNvbnN0IGYgPSBzb3J0U3RhdGUgPT09IFwiYXNjXCIgPyAxIDpcbiAgICAgIHNvcnRTdGF0ZSA9PT0gXCJkZXNjXCIgPyAtMSA6IDA7XG5cbiAgICBjb25zdCBwcm9wZXJ0eSA9IHRoaXMucHJvcGVydGllc1tjb2x1bW5JbmRleF07XG4gICAgdGhpcy50cmVlU29ydCh0aGlzLnJvd3MsIHByb3BlcnR5LCBmKTtcblxuICAgIHRoaXMuZmxhdHRlblJvd3MgPSB0aGlzLnNlcnZpY2UuZmxhdHRlblRyZWUodGhpcy5yb3dzKTtcbiAgICB0aGlzLmZpbHRlcmVkRmxhdHRlblJvd3MgPSBbLi4udGhpcy5mbGF0dGVuUm93c107XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB0b2dnbGVFeHBhbmRDb2xsYXBzZUFsbChleHBhbmRlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZXhwYW5kQWxsUmVjdXJzaXZlKHRoaXMucm93cywgZXhwYW5kZWQpO1xuXG4gICAgdGhpcy5mbGF0dGVuUm93cyA9IHRoaXMuc2VydmljZS5mbGF0dGVuVHJlZSh0aGlzLnJvd3MpO1xuICAgIHRoaXMuZG9GaWx0ZXJpbmcoKTtcbiAgfVxuXG4gIHNldEFsbFBhcmVudHNPayhpdGVtOiBUcmVlUm93PGFueT4pIHtcbiAgICBpZiAoaXRlbS5wYXJlbnQpIHtcbiAgICAgIGl0ZW0ucGFyZW50LmtlZXAgPSB0cnVlO1xuICAgICAgdGhpcy5zZXRBbGxQYXJlbnRzT2soaXRlbS5wYXJlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvdmVycmlkZSBzZXRWYWx1ZShyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyLCB2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3QgZWRpdElucHV0UGlwZSA9IHRoaXMuY29sdW1uRGVmc1tjb2x1bW5JbmRleF0/LmVkaXRJbnB1dFBpcGU7XG4gICAgaWYgKGVkaXRJbnB1dFBpcGUpIHtcbiAgICAgIHZhbHVlID0gZWRpdElucHV0UGlwZSh2YWx1ZSwgcm93SW5kZXgsIGNvbHVtbkluZGV4KTtcbiAgICB9XG4gICAgY29uc3QgdHJlZVJvdzogVHJlZVJvdzxTPiB8IHVuZGVmaW5lZCA9IHRoaXMuZ2V0Um93QnlJbmRleChyb3dJbmRleCk7XG4gICAgaWYgKHRyZWVSb3cpIHtcbiAgICAgIGNvbnN0IHJvdzogUyA9IHRyZWVSb3cuZGF0YTtcbiAgICAgIGNvbnN0IHByb3BlcnR5ID0gdGhpcy5jb2x1bW5EZWZzW2NvbHVtbkluZGV4XS5wcm9wZXJ0eTtcbiAgICAgIGlmIChwcm9wZXJ0eS5pbmNsdWRlcyhcIi5cIikpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0UHJvcGVydHlWYWx1ZShyb3csIHByb3BlcnR5LnNwbGl0KFwiLlwiKSwgdmFsdWUpO1xuICAgICAgfVxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcm93W3Byb3BlcnR5XSA9IHZhbHVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZW5lcmljVHJlZVRhYmxlU29ydENvbXBhcmF0b3IocHJvcGVydHk6IHN0cmluZywgZjogbnVtYmVyKSB7XG4gICAgcmV0dXJuIChhOiBUcmVlUm93PFM+LCBiOiBUcmVlUm93PFM+KSA9PiB7XG4gICAgICBjb25zdCB2YSA9IHRoaXMuZ2V0VmFsdWVCeVQoYS5kYXRhLCBwcm9wZXJ0eSk7XG4gICAgICBjb25zdCB2YiA9IHRoaXMuZ2V0VmFsdWVCeVQoYi5kYXRhLCBwcm9wZXJ0eSk7XG4gICAgICByZXR1cm4gdGhpcy5zb3J0ZXJTZXJ2aWNlLmdlbmVyaWNTb3J0Q29tcGFyYXRvcih2YSwgdmIsIGYpO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGV4cGFuZEFsbFJlY3Vyc2l2ZShhcnI6IFRyZWVSb3c8Uz5bXSwgZXhwYW5kZWQ6IGJvb2xlYW4pIHtcbiAgICBmb3IgKGNvbnN0IHJvdyBvZiBhcnIpIHtcbiAgICAgIHJvdy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgaWYgKHJvdy5jaGlsZHJlbikge1xuICAgICAgICB0aGlzLmV4cGFuZEFsbFJlY3Vyc2l2ZShyb3cuY2hpbGRyZW4sIGV4cGFuZGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRvRmlsdGVyaW5nKCkge1xuICAgIGlmICghdGhpcy5sYXN0UHJlZGljdEZuKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkRmxhdHRlblJvd3MgPSBbLi4uKHRoaXMuZmxhdHRlblJvd3MgPyB0aGlzLmZsYXR0ZW5Sb3dzIDogW10pXTtcbiAgICB9IGVsc2Uge1xuXG4gICAgICBpZiAoIXRoaXMuZmxhdHRlblJvd3MpIHtcbiAgICAgICAgdGhpcy5mbGF0dGVuUm93cyA9IFtdO1xuICAgICAgfVxuXG4gICAgICBsZXQgbWF4RGVlcCA9IDA7XG4gICAgICB0aGlzLmZsYXR0ZW5Sb3dzLmZvckVhY2godiA9PiB7XG4gICAgICAgIG1heERlZXAgPSBNYXRoLm1heChtYXhEZWVwLCB2LmRlZXApO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG9rUm93cyA9IHRoaXMuZmxhdHRlblJvd3MuZmlsdGVyKFxuICAgICAgICAodmFsdWUsIGluZGV4LCBhcnJheSkgPT4ge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICByZXR1cm4gdGhpcy5sYXN0UHJlZGljdEZuKHZhbHVlLCBpbmRleCwgYXJyYXkpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgICAgdGhpcy5mbGF0dGVuUm93cy5mb3JFYWNoKHYgPT4gdi5rZWVwID0gZmFsc2UpO1xuICAgICAgdGhpcy5mbGF0dGVuUm93cy5mb3JFYWNoKHYgPT4ge1xuICAgICAgICBpZiAob2tSb3dzLmluY2x1ZGVzKHYpKSB7XG4gICAgICAgICAgdi5rZWVwID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnNldEFsbFBhcmVudHNPayh2KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuZmlsdGVyZWRGbGF0dGVuUm93cyA9IHRoaXMuZmxhdHRlblJvd3MuZmlsdGVyKFxuICAgICAgICAodmFsdWUsIF9pbmRleCwgX2FycmF5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlLmtlZXA7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRQcm9wZXJ0eVZhbHVlKG86IGFueSwgcHJvcHM6IHN0cmluZ1tdKTogYW55IHtcbiAgICBjb25zdCBwcm9wID0gcHJvcHMuc2hpZnQoKTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbGV0IG8yID0gb1twcm9wXTtcbiAgICBpZiAobzIgJiYgcHJvcHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eVZhbHVlKG8yLCBwcm9wcyk7XG4gICAgfVxuICAgIHJldHVybiBvMjtcbiAgfVxuXG4gIHByaXZhdGUgdHJlZVNvcnQocm93czogVHJlZVJvdzxTPltdLCBwcm9wZXJ0eTogc3RyaW5nLCBmOiBudW1iZXIpIHtcbiAgICByb3dzLnNvcnQodGhpcy5nZW5lcmljVHJlZVRhYmxlU29ydENvbXBhcmF0b3IocHJvcGVydHksIGYpKTtcbiAgICBmb3IgKGNvbnN0IHJvdyBvZiByb3dzKSB7XG4gICAgICBpZiAocm93LmNoaWxkcmVuKSB7XG4gICAgICAgIHRoaXMudHJlZVNvcnQocm93LmNoaWxkcmVuLCBwcm9wZXJ0eSwgZik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS1tb2RlbC5pZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9kYXRhL3RhYmxlbW9kZWwvYXJlYW1vZGVsL2FyZWEtbW9kZWwuaWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENlbGxSZW5kZXJlcklmIH0gZnJvbSBcIi4uLy4uLy4uL3JlbmRlcmVyL2NlbGwtcmVuZGVyLmlmXCI7XG5pbXBvcnQgeyBDaGVja2VkVHlwZSB9IGZyb20gXCIuLi8uLi9jb21tb24vY2hlY2tlZC10eXBlXCI7XG5pbXBvcnQgeyBDaGVja2JveE1vZGVsSWYgfSBmcm9tIFwiLi4vLi4vLi4vY2hlY2tib3gvY2hlY2tib3gtbW9kZWwuaWZcIjtcbmltcG9ydCB7IEZpbHRlckZ1bmN0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9maWx0ZXItZnVuY3Rpb25cIjtcbmltcG9ydCB7IFNvcnRJdGVtIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9zb3J0LWl0ZW1cIjtcbmltcG9ydCB7IEFyZWFJZGVudCB9IGZyb20gXCIuLi9hcmVhLWlkZW50LnR5cGVcIjtcblxuLyoqXG4gKiBUaGlzIGlzIHRoZSBtb2RlbCBpbnRlcmZhY2UgZm9yIGFuIGFyZWEgbW9kZWwuIEEgdGFibGUgY2FuIGhhdmUgdGhyZWUgb2YgdGhlc2UgbW9kZWxzLCBvbmUgZm9yIHRoZSBoZWFkZXIsXG4gKiBvbmUgZm9yIHRoZSBib2R5ICwgYW5kIG9uZSBmb3IgdGhlIGZvb3Rlci5cbiAqIEFuIEFyZWFNb2RlbElmIGdpdmVzIHlvdSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcm93cyBhbmQgY2VsbCBjb250ZW50cy5cbiAqIFRoZSBjb2x1bW4gaW5mb3JtYXRpb24gaXMgZ2l2ZW4gYnkgdGhlIFRhYmxlTW9kZWxJZi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcmVhTW9kZWxJZiB7XG5cblxuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgZm9yIG9uZSBvZiB0aGUgYXJlYXM6IGhlYWRlciwgYm9keSwgZm9vdGVyLlxuICAgKi9cbiAgYXJlYUlkZW50OiBBcmVhSWRlbnQ7XG5cbiAgLyoqXG4gICAqIEEgbW9kZWwgYW5kIGNvbnRyb2xsZXIgZm9yIGEgcm93IGNoZWNrYm94IHNlbGVjdGlvblxuICAgKi9cbiAgcm93U2VsZWN0aW9uTW9kZWw6IENoZWNrYm94TW9kZWxJZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBNZXRob2QgZm9yIG1vdmluZyBhIGNvbHVtbiBmcm9tIHBvc2l0aW9uIHNvdXJjZUNvbHVtbkluZGV4IHRvIHRhcmdldENvbHVtbkluZGV4LlxuICAgKi9cbiAgY2hhbmdlQ29sdW1uT3JkZXIoc291cmNlQ29sdW1uSW5kZXg6IG51bWJlciwgdGFyZ2V0Q29sdW1uSW5kZXg6IG51bWJlcik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIE1ldGhvZCBmb3IgY2hhbmdpbmcgYSBjZWxsIHZhbHVlLlxuICAgKi9cbiAgc2V0VmFsdWUocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlciwgdmFsdWU6IGFueSk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEludGVybmFsbHkgdXNlZCBieSBUYWJsZU1vZGVsLlxuICAgKi9cbiAgaW5pdCgpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygcm93cyBvZiB0aGUgYXJlYVxuICAgKi9cbiAgZ2V0Um93Q291bnQoKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgY2VsbCBhdCBwb3NpdGlvbiByb3dJbmRleC9jb2x1bW5JbmRleC5cbiAgICovXG4gIGdldFZhbHVlQXQocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcik6IGFueTtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgYSBjb2xzcGFuIG9mIHRoZSBjZWxsIGF0IHBvc2l0aW9uIHJvd0luZGV4L2NvbHVtbkluZGV4LlxuICAgKiBBIHZhbHVlIGJlbG93IDIgaXMgaWdub3JlZC5cbiAgICovXG4gIGdldENvbHNwYW5BdChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGlzIHJldHVybiB2YWx1ZSBpcyBpbnRlcm5hbGx5IHVzZWQgdG8gb3B0aW1pemUgdGhlIHJlbmRlciBwZXJmb3JtYW5jZS5cbiAgICogU2V0IHRoaXMgdmFsdWUgdG8gdGhlIGxvd2VzdCBwb3NzaWJsZSB2YWx1ZS4gSWYgdGhlIG1vZGVsIGhhcyBubyBjb2xzcGFuLFxuICAgKiBhIHZhbHVlIG9mIDAgd291bGQgYmUgZ29vZC4gVGhlIGRhZmF1bHQgaXMgMzIuIElmIHlvdXIgbW9kZWwgaGFzIGEgY29sc3BhblxuICAgKiBjZWxsIGdyZWF0ZXIgMzIsIGRvbid0IGZvcmdldCB0byBpbmNyZWFzZSB0aGlzIHZhbHVlLlxuICAgKi9cbiAgZ2V0TWF4Q29sc3BhbigpOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIGEgcm93c3BhbiBvZiB0aGUgY2VsbCBhdCBwb3NpdGlvbiByb3dJbmRleC9jb2x1bW5JbmRleC5cbiAgICogQSB2YWx1ZSBiZWxvdyAyIGlzIGlnbm9yZWQuXG4gICAqL1xuICBnZXRSb3dzcGFuQXQocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcik6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhpcyByZXR1cm4gdmFsdWUgaXMgaW50ZXJuYWxseSB1c2VkIHRvIG9wdGltaXplIHRoZSByZW5kZXIgcGVyZm9ybWFuY2UuXG4gICAqIFNldCB0aGlzIHZhbHVlIHRvIHRoZSBsb3dlc3QgcG9zc2libGUgdmFsdWUuIElmIHRoZSBtb2RlbCBoYXMgbm8gcm93c3BhbixcbiAgICogYSB2YWx1ZSBvZiAwIHdvdWxkIGJlIGdvb2QuIFRoZSBkYWZhdWx0IGlzIDMyLiBJZiB5b3VyIG1vZGVsIGhhcyBhIHJvd3NwYW5cbiAgICogY2VsbCBncmVhdGVyIDMyLCBkb24ndCBmb3JnZXQgdG8gaW5jcmVhc2UgdGhpcyB2YWx1ZS5cbiAgICovXG4gIGdldE1heFJvd3NwYW4oKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCBjYW4gYmUgdXNlZCB0byByZXR1cm4gYSBsaXN0IG9mIGNzcyBjbGFzc2VzIGZvciB0aGUgZ2l2ZW4gY2VsbFxuICAgKiBAcGFyYW0gcm93SW5kZXggcm93IGluZGV4IG9mIHRoZSBjZWxsXG4gICAqIEBwYXJhbSBjb2x1bW5JbmRleCBjb2x1bW4gaW5kZXggb2YgdGhlIGNlbGxcbiAgICovXG4gIGdldEN1c3RvbUNsYXNzZXNBdChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGNhbiBiZSB1c2VkIHRvIHJldHVybiBhbiBvYmplY3Qgd2l0aCBjc3Mgc3R5bGUgaW5mb3JtYXRpb24gZm9yIHRoZSBnaXZlbiBjZWxsXG4gICAqIEBwYXJhbSByb3dJbmRleCByb3cgaW5kZXggb2YgdGhlIGNlbGxcbiAgICogQHBhcmFtIGNvbHVtbkluZGV4IGNvbHVtbiBpbmRleCBvZiB0aGUgY2VsbFxuICAgKi9cbiAgZ2V0Q3VzdG9tU3R5bGVBdChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY2VsbCB2YWx1ZSBvZiB0aGUgZ2l2ZW4gY2VsbC4gVGhpcyB2YWx1ZSB3aWxsIGJlIHJlbmRlcmVkXG4gICAqIGRpcmVjdGx5IGluIHRoZSBjZWxsIG9yIHJlbmRlcmVkIGJ5IGEgY2VsbCByZW5kZXJlcjogc2VlIHtAbGluayBnZXRDZWxsUmVuZGVyZXJ9LlxuICAgKiBAcGFyYW0gcm93SW5kZXhcbiAgICogQHBhcmFtIGNvbHVtbkluZGV4XG4gICAqL1xuICBnZXRWYWx1ZUF0KHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbkluZGV4OiBudW1iZXIpOiBhbnk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIGEgdG9vbHRpcCBvZiB0aGUgZ2l2ZW4gY2VsbCAocm93SW5kZXgvY29sdW1uSW5kZXgpLlxuICAgKiBAcGFyYW0gcm93SW5kZXhcbiAgICogQHBhcmFtIGNvbHVtbkluZGV4XG4gICAqL1xuICBnZXRUb29sdGlwQXQocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcik6IGFueTtcblxuICAvKipcbiAgICogUmV0dXJucyBhIGNlbGwgcmVuZGVyZXIgY2xhc3MgZm9yIHRoZSBnaXZlbiBjZWxsIChyb3dJbmRleC9jb2x1bW5JbmRleCkuXG4gICAqIElmIHRoZSByZXR1cm4gdmFsdWUgaXMgdW5kZWZpbmVkLCBubyByZW5kZXJlciBpcyB1c2VkIGFuZCB0aGUgbW9kZWwgdmFsdWUgd2lsbCBiZSByZW5kZXJlZCBkaXJlY3RseSBpbiB0aGUgY2VsbC5cbiAgICogQHBhcmFtIHJvd0luZGV4XG4gICAqIEBwYXJhbSBjb2x1bW5JbmRleFxuICAgKi9cbiAgZ2V0Q2VsbFJlbmRlcmVyKHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbkluZGV4OiBudW1iZXIpOiBDZWxsUmVuZGVyZXJJZiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcm93IGhlaWdodCBpbiBwaXhlbCBvZiB0aGUgZ2l2ZW4gcm93IChyb3dJbmRleCkuXG4gICAqIEBwYXJhbSByb3dJbmRleFxuICAgKi9cbiAgZ2V0Um93SGVpZ2h0KHJvd0luZGV4OiBudW1iZXIpOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHJvdyBvZiB0aGUgbW9kZWwsIHdoaWNoIGNvcnJlc3BvbmQgdG8gdGhlIHJvd0luZGV4LlxuICAgKiBAcGFyYW0gcm93SW5kZXhcbiAgICovXG4gIGdldFJvd0J5SW5kZXgocm93SW5kZXg6IG51bWJlcik6IGFueTtcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSB5LXBvc2l0aW9uIGluIHBpeGVsIG9mIHRoZSB0b3Agb2YgdGhlIHJvdyBvbiB0aGUgc2Nyb2xscGFuZS5cbiAgICogRm9yIGJpZyB0YWJsZXMgaXQgY2FuIGJlIGEgYmlnIHZhbHVlIChncmVhdGUgdGhhbiB0aGUgaGVpZ2h0IG9mIHRoZSB2aWV3cG9ydCkuXG4gICAqIEBwYXJhbSByb3dJbmRleFxuICAgKi9cbiAgZ2V0WVBvc0J5Um93SW5kZXgocm93SW5kZXg6IG51bWJlcik6IG51bWJlcjtcblxuICAvKipcbiAgICogSWYgdGhpcyBtZXRob2QgcmV0dXJucyB0cnVlLCB0aGUgY2VsbCBjYW4gYmUgZWRpdGVkIGJ5IHRoZSB1c2VyLlxuICAgKiBAcGFyYW0gcm93SW5kZXhcbiAgICogQHBhcmFtIGNvbHVtbkluZGV4XG4gICAqL1xuICBpc0VkaXRhYmxlKHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbkluZGV4OiBudW1iZXIpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgY2VsbCBpcyBzZWxlY3RhYmxlLlxuICAgKiBAcGFyYW0gcm93SW5kZXhcbiAgICogQHBhcmFtIGNvbHVtbkluZGV4XG4gICAqL1xuICBpc1NlbGVjdGFibGUocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcik6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHRoZSByb3cgaXMgY2hlY2thYmxlIGFuZCBhIGNoZWNrYm94IGlzIHJlbmRlcmVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHJvdy5cbiAgICogQHBhcmFtIHJvd0luZGV4XG4gICAqL1xuICBpc1Jvd0NoZWNrYWJsZShyb3dJbmRleDogbnVtYmVyKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY2hlY2tlZCBzdGF0ZSBvZiBhbiByb3cuXG4gICAqIEBwYXJhbSByb3dJbmRleFxuICAgKi9cbiAgaXNSb3dDaGVja2VkKHJvd0luZGV4OiBudW1iZXIpOiBDaGVja2VkVHlwZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU2V0IHRoZSBjaGVja2VkIHN0YXRlIG9mIHRoZSByb3cgKHJvd0luZGV4KSB0byAjY2hlY2tlZC5cbiAgICogQHBhcmFtIHJvd0luZGV4XG4gICAqIEBwYXJhbSBjaGVja2VkXG4gICAqL1xuICBzZXRSb3dDaGVja2VkKHJvd0luZGV4OiBudW1iZXIsIGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgdGFibGUgaXMgZmlsdGVyYWJsZS4gUm93cyBjYW4gYmUgZmlsdGVyZWQgd2l0aCBoZWxwIG9mIHtAbGluayAjZXh0ZXJuYWxGaWx0ZXJDaGFuZ2VkKCl9XG4gICAqL1xuICBpc0ZpbHRlcmFibGUoKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2lsbCBiZSBjYWxsZWQgaW50ZXJuYWxseSwgd2hlbiBhIGZpbHRlcmluZyBpcyB0cmlnZ2VyLlxuICAgKiBAcGFyYW0gcHJlZGljdEZuIERlZmluZXMsIHdoYXQgcm93IGFyZSBpbnZpc2libGUgb3IgdmlzaWJsZSBhZnRlciBmaWx0ZXJpbmcuXG4gICAqL1xuICBleHRlcm5hbEZpbHRlckNoYW5nZWQ8VD4ocHJlZGljdEZuOiBGaWx0ZXJGdW5jdGlvbjxUPik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIElmIHRoZSAncmVzdG9yZSBzb3J0JyBvcHRpb24gaXMgc2V0IChzZWUpLCB0aGlzIG1ldGhvZCB3aWxsIGJlIHRyaWdnZXJlZCBhdXRvbWF0aWNhbGx5IGJ5IHRoZSB0YWJsZSxcbiAgICogQHBhcmFtIHNvcnRJdGVtc1xuICAgKi9cbiAgZG9Tb3J0KHNvcnRJdGVtczogU29ydEl0ZW1bXSk6IGJvb2xlYW47XG59XG5cbiJdfQ==
@@ -0,0 +1,76 @@
1
+ export class AreaModel {
2
+ areaIdent = "body";
3
+ rowSelectionModel = undefined;
4
+ changeColumnOrder(_sourceColumnIndex, _targetColumnIndex) {
5
+ // ignore
6
+ }
7
+ doSort(_sortItems) {
8
+ return false;
9
+ }
10
+ externalFilterChanged(_predictFn) {
11
+ // ignore
12
+ }
13
+ getCellRenderer(_rowIndex, _columnIndex) {
14
+ return undefined;
15
+ }
16
+ getColspanAt(_rowIndex, _columnIndex) {
17
+ return 0;
18
+ }
19
+ getCustomClassesAt(_rowIndex, _columnIndex) {
20
+ return [];
21
+ }
22
+ getCustomStyleAt(_rowIndex, _columnIndex) {
23
+ return undefined;
24
+ }
25
+ getMaxColspan() {
26
+ return 0;
27
+ }
28
+ getMaxRowspan() {
29
+ return 0;
30
+ }
31
+ getRowByIndex(_rowIndex) {
32
+ }
33
+ getRowCount() {
34
+ return 0;
35
+ }
36
+ getRowHeight(_rowIndex) {
37
+ return 0;
38
+ }
39
+ getRowspanAt(_rowIndex, _columnIndex) {
40
+ return 0;
41
+ }
42
+ getTooltipAt(_rowIndex, _columnIndex) {
43
+ return undefined;
44
+ }
45
+ getValueAt(_rowIndex, _columnIndex) {
46
+ return undefined;
47
+ }
48
+ getYPosByRowIndex(_rowIndex) {
49
+ return 0;
50
+ }
51
+ init() {
52
+ // ignore
53
+ }
54
+ isEditable(_rowIndex, _columnIndex) {
55
+ return false;
56
+ }
57
+ isFilterable() {
58
+ return false;
59
+ }
60
+ isRowCheckable(_rowIndex) {
61
+ return false;
62
+ }
63
+ isRowChecked(_rowIndex) {
64
+ return undefined;
65
+ }
66
+ isSelectable(_rowIndex, _columnIndex) {
67
+ return false;
68
+ }
69
+ setRowChecked(_rowIndex, _checked) {
70
+ // ignore
71
+ }
72
+ setValue(_rowIndex, _columnIndex, _value) {
73
+ return false;
74
+ }
75
+ }
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9kYXRhL3RhYmxlbW9kZWwvYXJlYW1vZGVsL2FyZWEtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxPQUFPLFNBQVM7SUFFcEIsU0FBUyxHQUFjLE1BQU0sQ0FBQztJQUM5QixpQkFBaUIsR0FBcUMsU0FBUyxDQUFDO0lBRWhFLGlCQUFpQixDQUFDLGtCQUEwQixFQUFFLGtCQUEwQjtRQUN0RSxTQUFTO0lBQ1gsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFzQjtRQUMzQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxxQkFBcUIsQ0FBSSxVQUE2QjtRQUNwRCxTQUFTO0lBQ1gsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUFpQixFQUFFLFlBQW9CO1FBQ3JELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBaUIsRUFBRSxZQUFvQjtRQUNsRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxTQUFpQixFQUFFLFlBQW9CO1FBQ3hELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELGdCQUFnQixDQUFDLFNBQWlCLEVBQUUsWUFBb0I7UUFDdEQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQWlCO0lBQy9CLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFpQixFQUFFLFlBQW9CO1FBQ2xELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFpQixFQUFFLFlBQW9CO1FBQ2xELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxVQUFVLENBQUMsU0FBaUIsRUFBRSxZQUFvQjtRQUNoRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBaUI7UUFDakMsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsSUFBSTtRQUNGLFNBQVM7SUFDWCxDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQWlCLEVBQUUsWUFBb0I7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUFpQjtRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBaUI7UUFDNUIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFpQixFQUFFLFlBQW9CO1FBQ2xELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELGFBQWEsQ0FBQyxTQUFpQixFQUFFLFFBQWlCO1FBQ2hELFNBQVM7SUFDWCxDQUFDO0lBRUQsUUFBUSxDQUFDLFNBQWlCLEVBQUUsWUFBb0IsRUFBRSxNQUFXO1FBQzNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJlYU1vZGVsSWYgfSBmcm9tIFwiLi9hcmVhLW1vZGVsLmlmXCI7XG5pbXBvcnQgeyBBcmVhSWRlbnQgfSBmcm9tIFwiLi4vYXJlYS1pZGVudC50eXBlXCI7XG5pbXBvcnQgeyBDaGVja2JveE1vZGVsSWYgfSBmcm9tIFwiLi4vLi4vLi4vY2hlY2tib3gvY2hlY2tib3gtbW9kZWwuaWZcIjtcbmltcG9ydCB7IFNvcnRJdGVtIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9zb3J0LWl0ZW1cIjtcbmltcG9ydCB7IEZpbHRlckZ1bmN0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9maWx0ZXItZnVuY3Rpb25cIjtcbmltcG9ydCB7IENlbGxSZW5kZXJlcklmIH0gZnJvbSBcIi4uLy4uLy4uL3JlbmRlcmVyL2NlbGwtcmVuZGVyLmlmXCI7XG5pbXBvcnQgeyBDaGVja2VkVHlwZSB9IGZyb20gXCIuLi8uLi9jb21tb24vY2hlY2tlZC10eXBlXCI7XG5cblxuZXhwb3J0IGNsYXNzIEFyZWFNb2RlbCBpbXBsZW1lbnRzIEFyZWFNb2RlbElmIHtcblxuICBhcmVhSWRlbnQ6IEFyZWFJZGVudCA9IFwiYm9keVwiO1xuICByb3dTZWxlY3Rpb25Nb2RlbDogQ2hlY2tib3hNb2RlbElmPGFueT4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgY2hhbmdlQ29sdW1uT3JkZXIoX3NvdXJjZUNvbHVtbkluZGV4OiBudW1iZXIsIF90YXJnZXRDb2x1bW5JbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgLy8gaWdub3JlXG4gIH1cblxuICBkb1NvcnQoX3NvcnRJdGVtczogU29ydEl0ZW1bXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGV4dGVybmFsRmlsdGVyQ2hhbmdlZDxUPihfcHJlZGljdEZuOiBGaWx0ZXJGdW5jdGlvbjxUPik6IHZvaWQge1xuICAgIC8vIGlnbm9yZVxuICB9XG5cbiAgZ2V0Q2VsbFJlbmRlcmVyKF9yb3dJbmRleDogbnVtYmVyLCBfY29sdW1uSW5kZXg6IG51bWJlcik6IENlbGxSZW5kZXJlcklmIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0Q29sc3BhbkF0KF9yb3dJbmRleDogbnVtYmVyLCBfY29sdW1uSW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBnZXRDdXN0b21DbGFzc2VzQXQoX3Jvd0luZGV4OiBudW1iZXIsIF9jb2x1bW5JbmRleDogbnVtYmVyKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGdldEN1c3RvbVN0eWxlQXQoX3Jvd0luZGV4OiBudW1iZXIsIF9jb2x1bW5JbmRleDogbnVtYmVyKTogeyBbcDogc3RyaW5nXTogc3RyaW5nIH0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRNYXhDb2xzcGFuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBnZXRNYXhSb3dzcGFuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBnZXRSb3dCeUluZGV4KF9yb3dJbmRleDogbnVtYmVyKTogYW55IHtcbiAgfVxuXG4gIGdldFJvd0NvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBnZXRSb3dIZWlnaHQoX3Jvd0luZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgZ2V0Um93c3BhbkF0KF9yb3dJbmRleDogbnVtYmVyLCBfY29sdW1uSW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBnZXRUb29sdGlwQXQoX3Jvd0luZGV4OiBudW1iZXIsIF9jb2x1bW5JbmRleDogbnVtYmVyKTogYW55IHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0VmFsdWVBdChfcm93SW5kZXg6IG51bWJlciwgX2NvbHVtbkluZGV4OiBudW1iZXIpOiBhbnkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRZUG9zQnlSb3dJbmRleChfcm93SW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBpbml0KCk6IHZvaWQge1xuICAgIC8vIGlnbm9yZVxuICB9XG5cbiAgaXNFZGl0YWJsZShfcm93SW5kZXg6IG51bWJlciwgX2NvbHVtbkluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpc0ZpbHRlcmFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaXNSb3dDaGVja2FibGUoX3Jvd0luZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpc1Jvd0NoZWNrZWQoX3Jvd0luZGV4OiBudW1iZXIpOiBDaGVja2VkVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlzU2VsZWN0YWJsZShfcm93SW5kZXg6IG51bWJlciwgX2NvbHVtbkluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzZXRSb3dDaGVja2VkKF9yb3dJbmRleDogbnVtYmVyLCBfY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIC8vIGlnbm9yZVxuICB9XG5cbiAgc2V0VmFsdWUoX3Jvd0luZGV4OiBudW1iZXIsIF9jb2x1bW5JbmRleDogbnVtYmVyLCBfdmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,51 @@
1
+ import { CellRange } from "../../common/cell-range";
2
+ export class ColAndRowspanModel {
3
+ tableModel;
4
+ areaModel;
5
+ colAndRowspanRanges = undefined;
6
+ constructor(tableModel, areaModel) {
7
+ this.tableModel = tableModel;
8
+ this.areaModel = areaModel;
9
+ }
10
+ init() {
11
+ if (this.areaModel.getMaxColspan() < 2 && this.areaModel.getMaxRowspan() < 2) {
12
+ return; // sip
13
+ }
14
+ this.colAndRowspanRanges = [];
15
+ const rowCount = this.areaModel.getRowCount();
16
+ const colCount = this.tableModel.getColumnCount();
17
+ for (let r = 0; r < rowCount; r++) {
18
+ for (let c = 0; c < colCount; c++) {
19
+ let cs = this.areaModel.getColspanAt(r, c);
20
+ let rs = this.areaModel.getRowspanAt(r, c);
21
+ if (cs > 1 || rs > 1) {
22
+ if (cs === 0) {
23
+ cs = 1;
24
+ }
25
+ if (rs === 0) {
26
+ rs = 1;
27
+ }
28
+ const gammaRange = this.areaModel.hasOwnProperty('gammaCells');
29
+ this.colAndRowspanRanges.push(new CellRange(r, c, r + rs - 1, c + cs - 1, gammaRange));
30
+ }
31
+ }
32
+ }
33
+ }
34
+ getRanges() {
35
+ if (this.colAndRowspanRanges) {
36
+ return this.colAndRowspanRanges;
37
+ }
38
+ return [];
39
+ }
40
+ isInRange(rowIndex, columnIndex) {
41
+ if (this.colAndRowspanRanges) {
42
+ for (const range of this.colAndRowspanRanges) {
43
+ if (range.isInRange(rowIndex, columnIndex)) {
44
+ return true;
45
+ }
46
+ }
47
+ }
48
+ return false;
49
+ }
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sLWFuZC1yb3dzcGFuLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvY29sLWFuZC1yb3dzcGFuLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUlwRCxNQUFNLE9BQU8sa0JBQWtCO0lBS2pCO0lBQ0E7SUFKRixtQkFBbUIsR0FBNEIsU0FBUyxDQUFDO0lBRW5FLFlBQ1ksVUFBd0IsRUFDeEIsU0FBc0I7UUFEdEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFhO0lBRWxDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUM1RSxPQUFPLENBQUMsTUFBTTtTQUNmO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztRQUM5QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNqQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzNDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7b0JBQ3BCLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRTt3QkFDWixFQUFFLEdBQUcsQ0FBQyxDQUFDO3FCQUNSO29CQUNELElBQUksRUFBRSxLQUFLLENBQUMsRUFBRTt3QkFDWixFQUFFLEdBQUcsQ0FBQyxDQUFDO3FCQUNSO29CQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUMvRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUMzQixJQUFJLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUN4RCxDQUFDO2lCQUNIO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7U0FDakM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxTQUFTLENBQUMsUUFBZ0IsRUFBRSxXQUFtQjtRQUM3QyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDNUMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsRUFBRTtvQkFDMUMsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZWxsUmFuZ2UgfSBmcm9tIFwiLi4vLi4vY29tbW9uL2NlbGwtcmFuZ2VcIjtcbmltcG9ydCB7IEFyZWFNb2RlbElmIH0gZnJvbSBcIi4vYXJlYS1tb2RlbC5pZlwiO1xuaW1wb3J0IHsgVGFibGVNb2RlbElmIH0gZnJvbSBcIi4uL3RhYmxlLW1vZGVsLmlmXCI7XG5cbmV4cG9ydCBjbGFzcyBDb2xBbmRSb3dzcGFuTW9kZWwge1xuXG4gIHByb3RlY3RlZCBjb2xBbmRSb3dzcGFuUmFuZ2VzOiBDZWxsUmFuZ2VbXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgdGFibGVNb2RlbDogVGFibGVNb2RlbElmLFxuICAgIHByb3RlY3RlZCBhcmVhTW9kZWw6IEFyZWFNb2RlbElmXG4gICkge1xuICB9XG5cbiAgaW5pdCgpIHtcbiAgICBpZiAodGhpcy5hcmVhTW9kZWwuZ2V0TWF4Q29sc3BhbigpIDwgMiAmJiB0aGlzLmFyZWFNb2RlbC5nZXRNYXhSb3dzcGFuKCkgPCAyKSB7XG4gICAgICByZXR1cm47IC8vIHNpcFxuICAgIH1cbiAgICB0aGlzLmNvbEFuZFJvd3NwYW5SYW5nZXMgPSBbXTtcbiAgICBjb25zdCByb3dDb3VudCA9IHRoaXMuYXJlYU1vZGVsLmdldFJvd0NvdW50KCk7XG4gICAgY29uc3QgY29sQ291bnQgPSB0aGlzLnRhYmxlTW9kZWwuZ2V0Q29sdW1uQ291bnQoKTtcbiAgICBmb3IgKGxldCByID0gMDsgciA8IHJvd0NvdW50OyByKyspIHtcbiAgICAgIGZvciAobGV0IGMgPSAwOyBjIDwgY29sQ291bnQ7IGMrKykge1xuICAgICAgICBsZXQgY3MgPSB0aGlzLmFyZWFNb2RlbC5nZXRDb2xzcGFuQXQociwgYyk7XG4gICAgICAgIGxldCBycyA9IHRoaXMuYXJlYU1vZGVsLmdldFJvd3NwYW5BdChyLCBjKTtcbiAgICAgICAgaWYgKGNzID4gMSB8fCBycyA+IDEpIHtcbiAgICAgICAgICBpZiAoY3MgPT09IDApIHtcbiAgICAgICAgICAgIGNzID0gMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHJzID09PSAwKSB7XG4gICAgICAgICAgICBycyA9IDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgZ2FtbWFSYW5nZSA9IHRoaXMuYXJlYU1vZGVsLmhhc093blByb3BlcnR5KCdnYW1tYUNlbGxzJyk7XG4gICAgICAgICAgdGhpcy5jb2xBbmRSb3dzcGFuUmFuZ2VzLnB1c2goXG4gICAgICAgICAgICBuZXcgQ2VsbFJhbmdlKHIsIGMsIHIgKyBycyAtIDEsIGMgKyBjcyAtIDEsIGdhbW1hUmFuZ2UpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldFJhbmdlcygpOiBDZWxsUmFuZ2VbXSB7XG4gICAgaWYgKHRoaXMuY29sQW5kUm93c3BhblJhbmdlcykge1xuICAgICAgcmV0dXJuIHRoaXMuY29sQW5kUm93c3BhblJhbmdlcztcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgaXNJblJhbmdlKHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbkluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5jb2xBbmRSb3dzcGFuUmFuZ2VzKSB7XG4gICAgICBmb3IgKGNvbnN0IHJhbmdlIG9mIHRoaXMuY29sQW5kUm93c3BhblJhbmdlcykge1xuICAgICAgICBpZiAocmFuZ2UuaXNJblJhbmdlKHJvd0luZGV4LCBjb2x1bW5JbmRleCkpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzLWRlZmF1bHQtcm93LWhlaWdodC1pZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9kYXRhL3RhYmxlbW9kZWwvYXJlYW1vZGVsL2hhcy1kZWZhdWx0LXJvdy1oZWlnaHQtaWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSGFzRGVmYXVsdFJvd0hlaWdodElmIHtcbiAgZGVmYXVsdFJvd0hlaWdodDogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,133 @@
1
+ import { CellGroup } from "./cell-group";
2
+ export class CellGroupExt extends CellGroup {
3
+ rowIndex;
4
+ childIndex;
5
+ parent;
6
+ impl = 'CellGroupExt';
7
+ children = undefined;
8
+ leftNeighbour = undefined;
9
+ rightNeighbour = undefined;
10
+ constructor(cellGroup, rowIndex = 0, childIndex = 0, parent) {
11
+ super(cellGroup.data, cellGroup.property, cellGroup.toggle, cellGroup.closed, cellGroup.visibility, cellGroup.children);
12
+ this.rowIndex = rowIndex;
13
+ this.childIndex = childIndex;
14
+ this.parent = parent;
15
+ }
16
+ ownColumn() {
17
+ return !!this.property;
18
+ }
19
+ toString() {
20
+ return this.data + "";
21
+ }
22
+ // TODO hier gehts weiter!!!!!!!!!!!
23
+ getColumnIndex() {
24
+ if (!this.parent) {
25
+ // root level (rowIndex=0)
26
+ if (this.leftNeighbour) {
27
+ // return this.leftNeighbour.getBiggestChildColumnIndex() + 1;
28
+ }
29
+ return 0;
30
+ }
31
+ return this.parent.getColumnIndex() + this.childIndex;
32
+ }
33
+ //
34
+ // getLeftClaimedSpaces(): number{
35
+ // if (this.leftNeighbour) {
36
+ //
37
+ // }
38
+ // return 0;
39
+ // }
40
+ // getSumOfLeafs(cg: CellGroupExt, sum: number = 0): number {
41
+ // if (cg.children?.length) {
42
+ // for (let i = 0; i < cg.children.length; i++) {
43
+ // const child = cg.children[i];
44
+ // if (child.children?.length) {
45
+ // sum = this.getSumOfLeafs(child, sum);
46
+ // } else {
47
+ // sum++;
48
+ // }
49
+ // }
50
+ // }
51
+ // if (this.ownColumn()) {
52
+ // sum++;
53
+ // }
54
+ // //console.info(cg.data, sum)
55
+ // return sum;
56
+ // }
57
+ //
58
+ // getBiggestChildColumnIndex(): number {
59
+ // if (this.children?.length) {
60
+ // return Math.max(...this.children.map(c => c.getBiggestChildColumnIndex()));
61
+ // }
62
+ // return this.childIndex;
63
+ // }
64
+ isVisible() {
65
+ if (!this.parent) {
66
+ return true;
67
+ }
68
+ if (this.visibility === "always") {
69
+ return this.parent.isVisible();
70
+ }
71
+ if (this.visibility === "normal" || !this.visibility) {
72
+ return this.parent.isVisible() && !this.parent.closed;
73
+ }
74
+ if (this.visibility === "inverted") {
75
+ return this.parent.isVisible() && this.parent.closed;
76
+ }
77
+ return true;
78
+ }
79
+ // should be rendered
80
+ claimsSpace() {
81
+ return this.isVisible() && (this.ownColumn() || this.closed);
82
+ }
83
+ getColumnCount(cg = this, ret = 0) {
84
+ if (cg?.claimsSpace()) {
85
+ ret++;
86
+ }
87
+ if (cg?.children?.length) {
88
+ for (const child of cg.children) {
89
+ ret = this.getColumnCount(child, ret);
90
+ }
91
+ }
92
+ return ret;
93
+ }
94
+ getRowSpan(cg = this, maxRowCount) {
95
+ if (cg?.claimsSpace()) {
96
+ return maxRowCount - this.getParentCount(cg, 0);
97
+ }
98
+ return 1;
99
+ }
100
+ getParentCount(cg = this, ret = 0) {
101
+ if (cg.parent) {
102
+ ret = ret + 1 + this.getParentCount(cg.parent, ret);
103
+ }
104
+ return ret;
105
+ }
106
+ log(maxRowCount) {
107
+ const tabs = "\t\t\t\t\t\t\t\t\t\t\t\t\t".substring(0, 2 * this.rowIndex);
108
+ const col = `${this.getColumnIndex()}`;
109
+ // const bcol = `${this.getBiggestChildColumnIndex()}`;
110
+ const columnCount = `${this.getColumnCount(this)}`;
111
+ const rowSpan = `${this.getRowSpan(this, maxRowCount)}`;
112
+ const pc = `${this.getParentCount(this)}`;
113
+ console.info(`${tabs + this.data}
114
+ childIndex:${this.childIndex}
115
+ row:${this.rowIndex}
116
+ col:${col}
117
+ vis:${this.visibility}
118
+ closed:${this.closed}
119
+ isVisible:${this.isVisible()}
120
+ ownColumn:${this.ownColumn()}
121
+ claimsSpace:${this.claimsSpace()}
122
+ colCount:${columnCount}
123
+ rowSpan:${rowSpan}
124
+ pc:${pc}`.replace(/[ \n]+/g, " "));
125
+ // console.info(`${tabs + this.data}`);
126
+ if (this.children) {
127
+ for (const child of this.children) {
128
+ child.log(maxRowCount);
129
+ }
130
+ }
131
+ }
132
+ }
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1ncm91cC1leHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvZGF0YS90YWJsZW1vZGVsL2NlbGxncm91cC9jZWxsLWdyb3VwLWV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLE1BQU0sT0FBTyxZQUFhLFNBQVEsU0FBUztJQVVoQztJQUNBO0lBQ0E7SUFWTyxJQUFJLEdBQUcsY0FBYyxDQUFDO0lBRXRCLFFBQVEsR0FBK0IsU0FBUyxDQUFDO0lBQzFELGFBQWEsR0FBNkIsU0FBUyxDQUFDO0lBQ3BELGNBQWMsR0FBNkIsU0FBUyxDQUFDO0lBRTVELFlBQ0UsU0FBc0IsRUFDZixXQUFtQixDQUFDLEVBQ3BCLGFBQXFCLENBQUMsRUFDdEIsTUFBcUI7UUFFNUIsS0FBSyxDQUNILFNBQVMsQ0FBQyxJQUFJLEVBQ2QsU0FBUyxDQUFDLFFBQVEsRUFDbEIsU0FBUyxDQUFDLE1BQU0sRUFDaEIsU0FBUyxDQUFDLE1BQU0sRUFDaEIsU0FBUyxDQUFDLFVBQVUsRUFDcEIsU0FBUyxDQUFDLFFBQVEsQ0FDbkIsQ0FBQztRQVhLLGFBQVEsR0FBUixRQUFRLENBQVk7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFlO0lBVTlCLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRVEsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELG9DQUFvQztJQUNwQyxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsMEJBQTBCO1lBQzFCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFB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Q0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRSxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1FBQ3ZDLHVEQUF1RDtRQUN2RCxNQUFNLFdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuRCxNQUFNLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDeEQsTUFBTSxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSTttQkFDakIsSUFBSSxDQUFDLFVBQVU7WUFDdEIsSUFBSSxDQUFDLFFBQVE7WUFDYixHQUFHO1lBQ0gsSUFBSSxDQUFDLFVBQVU7ZUFDWixJQUFJLENBQUMsTUFBTTtrQkFDUixJQUFJLENBQUMsU0FBUyxFQUFFO2tCQUNoQixJQUFJLENBQUMsU0FBUyxFQUFFO29CQUNkLElBQUksQ0FBQyxXQUFXLEVBQUU7aUJBQ3JCLFdBQVc7Z0JBQ1osT0FBTztXQUNaLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyQyx1Q0FBdUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN4QjtTQUNGO0lBQ0gsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2VsbEdyb3VwSWYgfSBmcm9tIFwiLi9jZWxsLWdyb3VwLmlmXCI7XG5pbXBvcnQgeyBDZWxsR3JvdXAgfSBmcm9tIFwiLi9jZWxsLWdyb3VwXCI7XG5cbmV4cG9ydCBjbGFzcyBDZWxsR3JvdXBFeHQgZXh0ZW5kcyBDZWxsR3JvdXAge1xuXG4gIHB1YmxpYyBvdmVycmlkZSBpbXBsID0gJ0NlbGxHcm91cEV4dCc7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNoaWxkcmVuOiBDZWxsR3JvdXBFeHRbXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgcHVibGljIGxlZnROZWlnaGJvdXI6IENlbGxHcm91cEV4dCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgcHVibGljIHJpZ2h0TmVpZ2hib3VyOiBDZWxsR3JvdXBFeHQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2VsbEdyb3VwOiBDZWxsR3JvdXBJZixcbiAgICBwdWJsaWMgcm93SW5kZXg6IG51bWJlciA9IDAsXG4gICAgcHVibGljIGNoaWxkSW5kZXg6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHBhcmVudD86IENlbGxHcm91cEV4dFxuICApIHtcbiAgICBzdXBlcihcbiAgICAgIGNlbGxHcm91cC5kYXRhLFxuICAgICAgY2VsbEdyb3VwLnByb3BlcnR5LFxuICAgICAgY2VsbEdyb3VwLnRvZ2dsZSxcbiAgICAgIGNlbGxHcm91cC5jbG9zZWQsXG4gICAgICBjZWxsR3JvdXAudmlzaWJpbGl0eSxcbiAgICAgIGNlbGxHcm91cC5jaGlsZHJlblxuICAgICk7XG4gIH1cblxuICBvd25Db2x1bW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eTtcbiAgfVxuXG4gIG92ZXJyaWRlIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YSArIFwiXCI7XG4gIH1cblxuICAvLyBUT0RPIGhpZXIgZ2VodHMgd2VpdGVyISEhISEhISEhISFcbiAgZ2V0Q29sdW1uSW5kZXgoKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMucGFyZW50KSB7XG4gICAgICAvLyByb290IGxldmVsIChyb3dJbmRleD0wKVxuICAgICAgaWYgKHRoaXMubGVmdE5laWdoYm91cikge1xuICAgICAgICAvLyByZXR1cm4gdGhpcy5sZWZ0TmVpZ2hib3VyLmdldEJpZ2dlc3RDaGlsZENvbHVtbkluZGV4KCkgKyAxO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnBhcmVudC5nZXRDb2x1bW5JbmRleCgpICsgdGhpcy5jaGlsZEluZGV4O1xuICB9XG5cbiAgLy9cbiAgLy8gZ2V0TGVmdENsYWltZWRTcGFjZXMoKTogbnVtYmVye1xuICAvLyAgIGlmICh0aGlzLmxlZnROZWlnaGJvdXIpIHtcbiAgLy9cbiAgLy8gICB9XG4gIC8vICAgcmV0dXJuIDA7XG4gIC8vIH1cblxuICAvLyBnZXRTdW1PZkxlYWZzKGNnOiBDZWxsR3JvdXBFeHQsIHN1bTogbnVtYmVyID0gMCk6IG51bWJlciB7XG4gIC8vICAgaWYgKGNnLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgLy8gICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2cuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgLy8gICAgICAgY29uc3QgY2hpbGQgPSBjZy5jaGlsZHJlbltpXTtcbiAgLy8gICAgICAgaWYgKGNoaWxkLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgLy8gICAgICAgICBzdW0gPSB0aGlzLmdldFN1bU9mTGVhZnMoY2hpbGQsIHN1bSk7XG4gIC8vICAgICAgIH0gZWxzZSB7XG4gIC8vICAgICAgICAgc3VtKys7XG4gIC8vICAgICAgIH1cbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vICAgaWYgKHRoaXMub3duQ29sdW1uKCkpIHtcbiAgLy8gICAgIHN1bSsrO1xuICAvLyAgIH1cbiAgLy8gICAvL2NvbnNvbGUuaW5mbyhjZy5kYXRhLCBzdW0pXG4gIC8vICAgcmV0dXJuIHN1bTtcbiAgLy8gfVxuICAvL1xuICAvLyBnZXRCaWdnZXN0Q2hpbGRDb2x1bW5JbmRleCgpOiBudW1iZXIge1xuICAvLyAgIGlmICh0aGlzLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgLy8gICAgIHJldHVybiBNYXRoLm1heCguLi50aGlzLmNoaWxkcmVuLm1hcChjID0+IGMuZ2V0QmlnZ2VzdENoaWxkQ29sdW1uSW5kZXgoKSkpO1xuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gdGhpcy5jaGlsZEluZGV4O1xuICAvLyB9XG5cbiAgaXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5wYXJlbnQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy52aXNpYmlsaXR5ID09PSBcImFsd2F5c1wiKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJlbnQuaXNWaXNpYmxlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnZpc2liaWxpdHkgPT09IFwibm9ybWFsXCIgfHwgIXRoaXMudmlzaWJpbGl0eSkge1xuICAgICAgcmV0dXJuIHRoaXMucGFyZW50LmlzVmlzaWJsZSgpICYmICF0aGlzLnBhcmVudC5jbG9zZWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnZpc2liaWxpdHkgPT09IFwiaW52ZXJ0ZWRcIikge1xuICAgICAgcmV0dXJuIHRoaXMucGFyZW50LmlzVmlzaWJsZSgpICYmIHRoaXMucGFyZW50LmNsb3NlZDtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBzaG91bGQgYmUgcmVuZGVyZWRcbiAgY2xhaW1zU3BhY2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWaXNpYmxlKCkgJiYgKHRoaXMub3duQ29sdW1uKCkgfHwgdGhpcy5jbG9zZWQpO1xuICB9XG5cblxuICBnZXRDb2x1bW5Db3VudChcbiAgICBjZzogQ2VsbEdyb3VwRXh0ID0gdGhpcyxcbiAgICByZXQ6IG51bWJlciA9IDBcbiAgKTogbnVtYmVyIHtcbiAgICBpZiAoY2c/LmNsYWltc1NwYWNlKCkpIHtcbiAgICAgIHJldCsrO1xuICAgIH1cbiAgICBpZiAoY2c/LmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2cuY2hpbGRyZW4pIHtcbiAgICAgICAgcmV0ID0gdGhpcy5nZXRDb2x1bW5Db3VudChjaGlsZCwgcmV0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIGdldFJvd1NwYW4oXG4gICAgY2c6IENlbGxHcm91cEV4dCA9IHRoaXMsXG4gICAgbWF4Um93Q291bnQ6IG51bWJlclxuICApOiBudW1iZXIge1xuICAgIGlmIChjZz8uY2xhaW1zU3BhY2UoKSkge1xuICAgICAgcmV0dXJuIG1heFJvd0NvdW50IC0gdGhpcy5nZXRQYXJlbnRDb3VudChjZywgMCk7XG4gICAgfVxuICAgIHJldHVybiAxO1xuICB9XG5cblxuICBnZXRQYXJlbnRDb3VudChcbiAgICBjZzogQ2VsbEdyb3VwRXh0ID0gdGhpcyxcbiAgICByZXQ6IG51bWJlciA9IDBcbiAgKTogbnVtYmVyIHtcbiAgICBpZiAoY2cucGFyZW50KSB7XG4gICAgICByZXQgPSByZXQgKyAxICsgdGhpcy5nZXRQYXJlbnRDb3VudChjZy5wYXJlbnQsIHJldCk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuXG4gIGxvZyhtYXhSb3dDb3VudDogbnVtYmVyKSB7XG4gICAgY29uc3QgdGFicyA9IFwiXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XCIuc3Vic3RyaW5nKDAsIDIgKiB0aGlzLnJvd0luZGV4KTtcbiAgICBjb25zdCBjb2wgPSBgJHt0aGlzLmdldENvbHVtbkluZGV4KCl9YDtcbiAgICAvLyBjb25zdCBiY29sID0gYCR7dGhpcy5nZXRCaWdnZXN0Q2hpbGRDb2x1bW5JbmRleCgpfWA7XG4gICAgY29uc3QgY29sdW1uQ291bnQgPSBgJHt0aGlzLmdldENvbHVtbkNvdW50KHRoaXMpfWA7XG4gICAgY29uc3Qgcm93U3BhbiA9IGAke3RoaXMuZ2V0Um93U3Bhbih0aGlzLCBtYXhSb3dDb3VudCl9YDtcbiAgICBjb25zdCBwYyA9IGAke3RoaXMuZ2V0UGFyZW50Q291bnQodGhpcyl9YDtcbiAgICBjb25zb2xlLmluZm8oYCR7dGFicyArIHRoaXMuZGF0YX1cbiAgICAgIGNoaWxkSW5kZXg6JHt0aGlzLmNoaWxkSW5kZXh9XG4gICAgICByb3c6JHt0aGlzLnJvd0luZGV4fVxuICAgICAgY29sOiR7Y29sfVxuICAgICAgdmlzOiR7dGhpcy52aXNpYmlsaXR5fVxuICAgICAgY2xvc2VkOiR7dGhpcy5jbG9zZWR9XG4gICAgICBpc1Zpc2libGU6JHt0aGlzLmlzVmlzaWJsZSgpfVxuICAgICAgb3duQ29sdW1uOiR7dGhpcy5vd25Db2x1bW4oKX1cbiAgICAgIGNsYWltc1NwYWNlOiR7dGhpcy5jbGFpbXNTcGFjZSgpfVxuICAgICAgY29sQ291bnQ6JHtjb2x1bW5Db3VudH1cbiAgICAgIHJvd1NwYW46JHtyb3dTcGFufVxuICAgICAgcGM6JHtwY31gLnJlcGxhY2UoL1sgXFxuXSsvZywgXCIgXCIpKTtcbiAgICAvLyBjb25zb2xlLmluZm8oYCR7dGFicyArIHRoaXMuZGF0YX1gKTtcbiAgICBpZiAodGhpcy5jaGlsZHJlbikge1xuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLmNoaWxkcmVuKSB7XG4gICAgICAgIGNoaWxkLmxvZyhtYXhSb3dDb3VudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1ncm91cC5pZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9kYXRhL3RhYmxlbW9kZWwvY2VsbGdyb3VwL2NlbGwtZ3JvdXAuaWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2VsbEdyb3VwSWYge1xuXG4gIGRhdGE6IGFueTtcbiAgcHJvcGVydHk/OiBzdHJpbmc7IC8vIGlmIGEgcHJvcGVydHkgaXMgc2V0LCB0aGVuIHRoaXMgZWxlbWVudCBoYXMgaXRzIG93biBjb2x1bW5cbiAgdG9nZ2xlPzogYm9vbGVhbjsgLy8gdG9nZ2xlIGNvbnRyb2wgd2lsbCBiZSBkaXNwbGF5ZWRcbiAgY2xvc2VkPzogYm9vbGVhbjsgLy8gY3VycmVudCBzdGF0ZVxuICB2aXNpYmlsaXR5PzogXCJhbHdheXNcIiB8IFwiaW52ZXJ0ZWRcIiB8IFwibm9ybWFsXCIgfCB1bmRlZmluZWQ7XG4gIGNoaWxkcmVuPzogQ2VsbEdyb3VwSWZbXSB8IHVuZGVmaW5lZDtcblxuICBpbXBsPzpzdHJpbmc7XG5cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ export class CellGroup {
2
+ data;
3
+ property;
4
+ toggle;
5
+ closed;
6
+ visibility;
7
+ children;
8
+ impl = 'CellGroup';
9
+ constructor(data, property, toggle, closed = false, visibility = "normal", children = undefined) {
10
+ this.data = data;
11
+ this.property = property;
12
+ this.toggle = toggle;
13
+ this.closed = closed;
14
+ this.visibility = visibility;
15
+ this.children = children;
16
+ }
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9kYXRhL3RhYmxlbW9kZWwvY2VsbGdyb3VwL2NlbGwtZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFNBQVM7SUFLWDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFSRixJQUFJLEdBQUcsV0FBVyxDQUFDO0lBRTFCLFlBQ1MsSUFBUyxFQUNULFFBQWlCLEVBQ2pCLE1BQWdCLEVBQ2hCLFNBQWtCLEtBQUssRUFDdkIsYUFBMkQsUUFBUSxFQUNuRSxXQUFzQyxTQUFTO1FBTC9DLFNBQUksR0FBSixJQUFJLENBQUs7UUFDVCxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVU7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUQ7UUFDbkUsYUFBUSxHQUFSLFFBQVEsQ0FBdUM7SUFFeEQsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2VsbEdyb3VwSWYgfSBmcm9tIFwiLi9jZWxsLWdyb3VwLmlmXCI7XG5cbmV4cG9ydCBjbGFzcyBDZWxsR3JvdXAgaW1wbGVtZW50cyBDZWxsR3JvdXBJZiB7XG5cbiAgcHVibGljIGltcGwgPSAnQ2VsbEdyb3VwJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGF0YTogYW55LFxuICAgIHB1YmxpYyBwcm9wZXJ0eT86IHN0cmluZyxcbiAgICBwdWJsaWMgdG9nZ2xlPzogYm9vbGVhbixcbiAgICBwdWJsaWMgY2xvc2VkOiBib29sZWFuID0gZmFsc2UsXG4gICAgcHVibGljIHZpc2liaWxpdHk6IFwiYWx3YXlzXCIgfCBcImludmVydGVkXCIgfCBcIm5vcm1hbFwiIHwgdW5kZWZpbmVkID0gXCJub3JtYWxcIixcbiAgICBwdWJsaWMgY2hpbGRyZW46IENlbGxHcm91cElmW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcbiAgKSB7XG4gIH1cblxuXG59XG4iXX0=