@guiexpert/table 0.0.1

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 (210) hide show
  1. package/esm2020/guiexpert-table.mjs +5 -0
  2. package/esm2020/index.mjs +102 -0
  3. package/esm2020/lib/table/action/action-id.type.mjs +20 -0
  4. package/esm2020/lib/table/action/on-action-triggered.if.mjs +2 -0
  5. package/esm2020/lib/table/action/osx-shortcut-actionId-mapping.mjs +17 -0
  6. package/esm2020/lib/table/action/shortcut-actionid-mapping.type.mjs +2 -0
  7. package/esm2020/lib/table/action/shortcut.service.mjs +105 -0
  8. package/esm2020/lib/table/action/windows-shortcut-actionId-mapping.mjs +15 -0
  9. package/esm2020/lib/table/checkbox/checkbox-model.if.mjs +2 -0
  10. package/esm2020/lib/table/checkbox/checkbox-model.mjs +52 -0
  11. package/esm2020/lib/table/checkbox/tree-checkbox-model.mjs +106 -0
  12. package/esm2020/lib/table/data/common/aligns.mjs +19 -0
  13. package/esm2020/lib/table/data/common/area-map-factory.mjs +7 -0
  14. package/esm2020/lib/table/data/common/area-map.mjs +8 -0
  15. package/esm2020/lib/table/data/common/area-map.type.mjs +2 -0
  16. package/esm2020/lib/table/data/common/args-adjust-columns-to-row-parent-params.mjs +2 -0
  17. package/esm2020/lib/table/data/common/args-render-cell-div.mjs +2 -0
  18. package/esm2020/lib/table/data/common/boolean-function.mjs +3 -0
  19. package/esm2020/lib/table/data/common/cell-range.mjs +27 -0
  20. package/esm2020/lib/table/data/common/checkbox-column.mjs +15 -0
  21. package/esm2020/lib/table/data/common/checked-type.mjs +2 -0
  22. package/esm2020/lib/table/data/common/event/ge-cell-indices.mjs +7 -0
  23. package/esm2020/lib/table/data/common/event/ge-key-event.mjs +7 -0
  24. package/esm2020/lib/table/data/common/event/ge-model-change-event.mjs +10 -0
  25. package/esm2020/lib/table/data/common/event/ge-mouse-event.mjs +19 -0
  26. package/esm2020/lib/table/data/common/filter-function.mjs +2 -0
  27. package/esm2020/lib/table/data/common/get-t.mjs +2 -0
  28. package/esm2020/lib/table/data/common/index-and-px.mjs +7 -0
  29. package/esm2020/lib/table/data/common/size.if.mjs +2 -0
  30. package/esm2020/lib/table/data/common/size.mjs +7 -0
  31. package/esm2020/lib/table/data/common/sizes.mjs +33 -0
  32. package/esm2020/lib/table/data/common/sort-item.mjs +7 -0
  33. package/esm2020/lib/table/data/common/sort-state.type.mjs +2 -0
  34. package/esm2020/lib/table/data/common/tree-arrow.type.mjs +2 -0
  35. package/esm2020/lib/table/data/common/tree-row-if.mjs +2 -0
  36. package/esm2020/lib/table/data/common/tree-row.mjs +12 -0
  37. package/esm2020/lib/table/data/common/value-label.if.mjs +2 -0
  38. package/esm2020/lib/table/data/common/value-label.mjs +7 -0
  39. package/esm2020/lib/table/data/div-scope.type.mjs +2 -0
  40. package/esm2020/lib/table/data/geo-data.mjs +10 -0
  41. package/esm2020/lib/table/data/options/auto-restore-options.if.mjs +2 -0
  42. package/esm2020/lib/table/data/options/auto-restore-options.mjs +42 -0
  43. package/esm2020/lib/table/data/options/default-row-heights.if.mjs +2 -0
  44. package/esm2020/lib/table/data/options/default-row-heights.mjs +8 -0
  45. package/esm2020/lib/table/data/options/icon.if.mjs +2 -0
  46. package/esm2020/lib/table/data/options/icon.mjs +8 -0
  47. package/esm2020/lib/table/data/options/sorted-options.if.mjs +2 -0
  48. package/esm2020/lib/table/data/options/sorted-options.mjs +9 -0
  49. package/esm2020/lib/table/data/options/table-options.if.mjs +2 -0
  50. package/esm2020/lib/table/data/options/table-options.mjs +38 -0
  51. package/esm2020/lib/table/data/options/tree-options.if.mjs +2 -0
  52. package/esm2020/lib/table/data/options/tree-options.mjs +10 -0
  53. package/esm2020/lib/table/data/side-ident.type.mjs +2 -0
  54. package/esm2020/lib/table/data/tablemodel/area-ident.type.mjs +10 -0
  55. package/esm2020/lib/table/data/tablemodel/areamodel/abstract-area-model.mjs +108 -0
  56. package/esm2020/lib/table/data/tablemodel/areamodel/area-model-array-array.mjs +34 -0
  57. package/esm2020/lib/table/data/tablemodel/areamodel/area-model-hidden.mjs +76 -0
  58. package/esm2020/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.mjs +11 -0
  59. package/esm2020/lib/table/data/tablemodel/areamodel/area-model-object-array.mjs +79 -0
  60. package/esm2020/lib/table/data/tablemodel/areamodel/area-model-tree.mjs +166 -0
  61. package/esm2020/lib/table/data/tablemodel/areamodel/area-model.if.mjs +2 -0
  62. package/esm2020/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.mjs +48 -0
  63. package/esm2020/lib/table/data/tablemodel/column/column-def.if.mjs +2 -0
  64. package/esm2020/lib/table/data/tablemodel/column/column-def.mjs +32 -0
  65. package/esm2020/lib/table/data/tablemodel/padding.mjs +9 -0
  66. package/esm2020/lib/table/data/tablemodel/table-model.if.mjs +2 -0
  67. package/esm2020/lib/table/data/tablemodel/table-model.mjs +262 -0
  68. package/esm2020/lib/table/ele-scope.mjs +173 -0
  69. package/esm2020/lib/table/event-listener.if.mjs +2 -0
  70. package/esm2020/lib/table/focus/focus-model.if.mjs +2 -0
  71. package/esm2020/lib/table/focus/focus-model.mjs +22 -0
  72. package/esm2020/lib/table/focus/focus.type.mjs +2 -0
  73. package/esm2020/lib/table/input-handler.mjs +24 -0
  74. package/esm2020/lib/table/mouse-handler.mjs +197 -0
  75. package/esm2020/lib/table/render-scope.mjs +575 -0
  76. package/esm2020/lib/table/renderer/cell-render.if.mjs +2 -0
  77. package/esm2020/lib/table/renderer/checkbox-cell-renderer.mjs +22 -0
  78. package/esm2020/lib/table/renderer/date-to-int-date-cell-renderer.mjs +21 -0
  79. package/esm2020/lib/table/renderer/date-to-iso-cell-renderer.mjs +9 -0
  80. package/esm2020/lib/table/renderer/date-to-locale-date-cell-renderer.mjs +9 -0
  81. package/esm2020/lib/table/renderer/edit/edit-cell-renderer.type.mjs +2 -0
  82. package/esm2020/lib/table/renderer/edit/input-cell-renderer.mjs +23 -0
  83. package/esm2020/lib/table/renderer/edit/select-cell-renderer.mjs +35 -0
  84. package/esm2020/lib/table/renderer/male-female-to-icon-cell-renderer.mjs +12 -0
  85. package/esm2020/lib/table/renderer/number-cell-renderer.mjs +19 -0
  86. package/esm2020/lib/table/renderer/renderer-cleanup-fn.type.mjs +2 -0
  87. package/esm2020/lib/table/renderer/renderer.mjs +7 -0
  88. package/esm2020/lib/table/selection/selection-model.if.mjs +2 -0
  89. package/esm2020/lib/table/selection/selection-model.mjs +97 -0
  90. package/esm2020/lib/table/selection/selection-service.mjs +97 -0
  91. package/esm2020/lib/table/selection/selection.type.mjs +2 -0
  92. package/esm2020/lib/table/service/abstract-store-state.service.mjs +49 -0
  93. package/esm2020/lib/table/service/convenience-dom.service.mjs +386 -0
  94. package/esm2020/lib/table/service/data/collapsed-expanded.data.mjs +9 -0
  95. package/esm2020/lib/table/service/data/html-style.type.mjs +2 -0
  96. package/esm2020/lib/table/service/dom-service.if.mjs +2 -0
  97. package/esm2020/lib/table/service/ge-filter.service.mjs +98 -0
  98. package/esm2020/lib/table/service/sorter.service.mjs +27 -0
  99. package/esm2020/lib/table/service/store-state-collapsed-expand.service.mjs +57 -0
  100. package/esm2020/lib/table/service/store-state-scroll-pos.service.mjs +29 -0
  101. package/esm2020/lib/table/service/store-state-sorting.service.mjs +29 -0
  102. package/esm2020/lib/table/service/tree-row.service.mjs +23 -0
  103. package/esm2020/lib/table/table-api.mjs +38 -0
  104. package/esm2020/lib/table/table-model-factory.mjs +125 -0
  105. package/esm2020/lib/table/table-scope.mjs +307 -0
  106. package/index.d.ts +103 -0
  107. package/lib/table/action/action-id.type.d.ts +2 -0
  108. package/lib/table/action/on-action-triggered.if.d.ts +4 -0
  109. package/lib/table/action/osx-shortcut-actionId-mapping.d.ts +6 -0
  110. package/lib/table/action/shortcut-actionid-mapping.type.d.ts +4 -0
  111. package/lib/table/action/shortcut.service.d.ts +17 -0
  112. package/lib/table/action/windows-shortcut-actionId-mapping.d.ts +6 -0
  113. package/lib/table/checkbox/checkbox-model.d.ts +12 -0
  114. package/lib/table/checkbox/checkbox-model.if.d.ts +9 -0
  115. package/lib/table/checkbox/tree-checkbox-model.d.ts +17 -0
  116. package/lib/table/data/common/aligns.d.ts +24 -0
  117. package/lib/table/data/common/area-map-factory.d.ts +5 -0
  118. package/lib/table/data/common/area-map.d.ts +7 -0
  119. package/lib/table/data/common/area-map.type.d.ts +5 -0
  120. package/lib/table/data/common/args-adjust-columns-to-row-parent-params.d.ts +16 -0
  121. package/lib/table/data/common/args-render-cell-div.d.ts +13 -0
  122. package/lib/table/data/common/boolean-function.d.ts +3 -0
  123. package/lib/table/data/common/cell-range.d.ts +17 -0
  124. package/lib/table/data/common/checkbox-column.d.ts +13 -0
  125. package/lib/table/data/common/checked-type.d.ts +1 -0
  126. package/lib/table/data/common/event/ge-cell-indices.d.ts +5 -0
  127. package/lib/table/data/common/event/ge-key-event.d.ts +5 -0
  128. package/lib/table/data/common/event/ge-model-change-event.d.ts +6 -0
  129. package/lib/table/data/common/event/ge-mouse-event.d.ts +17 -0
  130. package/lib/table/data/common/filter-function.d.ts +1 -0
  131. package/lib/table/data/common/get-t.d.ts +1 -0
  132. package/lib/table/data/common/index-and-px.d.ts +5 -0
  133. package/lib/table/data/common/size.d.ts +6 -0
  134. package/lib/table/data/common/size.if.d.ts +4 -0
  135. package/lib/table/data/common/sizes.d.ts +32 -0
  136. package/lib/table/data/common/sort-item.d.ts +6 -0
  137. package/lib/table/data/common/sort-state.type.d.ts +1 -0
  138. package/lib/table/data/common/tree-arrow.type.d.ts +1 -0
  139. package/lib/table/data/common/tree-row-if.d.ts +10 -0
  140. package/lib/table/data/common/tree-row.d.ts +11 -0
  141. package/lib/table/data/common/value-label.d.ts +6 -0
  142. package/lib/table/data/common/value-label.if.d.ts +4 -0
  143. package/lib/table/data/div-scope.type.d.ts +7 -0
  144. package/lib/table/data/geo-data.d.ts +8 -0
  145. package/lib/table/data/options/auto-restore-options.d.ts +11 -0
  146. package/lib/table/data/options/auto-restore-options.if.d.ts +13 -0
  147. package/lib/table/data/options/default-row-heights.d.ts +7 -0
  148. package/lib/table/data/options/default-row-heights.if.d.ts +5 -0
  149. package/lib/table/data/options/icon.d.ts +7 -0
  150. package/lib/table/data/options/icon.if.d.ts +5 -0
  151. package/lib/table/data/options/sorted-options.d.ts +8 -0
  152. package/lib/table/data/options/sorted-options.if.d.ts +6 -0
  153. package/lib/table/data/options/table-options.d.ts +36 -0
  154. package/lib/table/data/options/table-options.if.d.ts +37 -0
  155. package/lib/table/data/options/tree-options.d.ts +9 -0
  156. package/lib/table/data/options/tree-options.if.d.ts +7 -0
  157. package/lib/table/data/side-ident.type.d.ts +1 -0
  158. package/lib/table/data/tablemodel/area-ident.type.d.ts +2 -0
  159. package/lib/table/data/tablemodel/areamodel/abstract-area-model.d.ts +43 -0
  160. package/lib/table/data/tablemodel/areamodel/area-model-array-array.d.ts +18 -0
  161. package/lib/table/data/tablemodel/areamodel/area-model-hidden.d.ts +32 -0
  162. package/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.d.ts +10 -0
  163. package/lib/table/data/tablemodel/areamodel/area-model-object-array.d.ts +27 -0
  164. package/lib/table/data/tablemodel/areamodel/area-model-tree.d.ts +39 -0
  165. package/lib/table/data/tablemodel/areamodel/area-model.if.d.ts +33 -0
  166. package/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.d.ts +12 -0
  167. package/lib/table/data/tablemodel/column/column-def.d.ts +46 -0
  168. package/lib/table/data/tablemodel/column/column-def.if.d.ts +22 -0
  169. package/lib/table/data/tablemodel/padding.d.ts +7 -0
  170. package/lib/table/data/tablemodel/table-model.d.ts +60 -0
  171. package/lib/table/data/tablemodel/table-model.if.d.ts +34 -0
  172. package/lib/table/ele-scope.d.ts +37 -0
  173. package/lib/table/event-listener.if.d.ts +11 -0
  174. package/lib/table/focus/focus-model.d.ts +12 -0
  175. package/lib/table/focus/focus-model.if.d.ts +6 -0
  176. package/lib/table/focus/focus.type.d.ts +1 -0
  177. package/lib/table/input-handler.d.ts +6 -0
  178. package/lib/table/mouse-handler.d.ts +27 -0
  179. package/lib/table/render-scope.d.ts +77 -0
  180. package/lib/table/renderer/cell-render.if.d.ts +7 -0
  181. package/lib/table/renderer/checkbox-cell-renderer.d.ts +8 -0
  182. package/lib/table/renderer/date-to-int-date-cell-renderer.d.ts +9 -0
  183. package/lib/table/renderer/date-to-iso-cell-renderer.d.ts +8 -0
  184. package/lib/table/renderer/date-to-locale-date-cell-renderer.d.ts +8 -0
  185. package/lib/table/renderer/edit/edit-cell-renderer.type.d.ts +2 -0
  186. package/lib/table/renderer/edit/input-cell-renderer.d.ts +8 -0
  187. package/lib/table/renderer/edit/select-cell-renderer.d.ts +12 -0
  188. package/lib/table/renderer/male-female-to-icon-cell-renderer.d.ts +8 -0
  189. package/lib/table/renderer/number-cell-renderer.d.ts +11 -0
  190. package/lib/table/renderer/renderer-cleanup-fn.type.d.ts +1 -0
  191. package/lib/table/renderer/renderer.d.ts +5 -0
  192. package/lib/table/selection/selection-model.d.ts +21 -0
  193. package/lib/table/selection/selection-model.if.d.ts +11 -0
  194. package/lib/table/selection/selection-service.d.ts +17 -0
  195. package/lib/table/selection/selection.type.d.ts +2 -0
  196. package/lib/table/service/abstract-store-state.service.d.ts +10 -0
  197. package/lib/table/service/convenience-dom.service.d.ts +44 -0
  198. package/lib/table/service/data/collapsed-expanded.data.d.ts +7 -0
  199. package/lib/table/service/data/html-style.type.d.ts +3 -0
  200. package/lib/table/service/dom-service.if.d.ts +9 -0
  201. package/lib/table/service/ge-filter.service.d.ts +5 -0
  202. package/lib/table/service/sorter.service.d.ts +3 -0
  203. package/lib/table/service/store-state-collapsed-expand.service.d.ts +15 -0
  204. package/lib/table/service/store-state-scroll-pos.service.d.ts +10 -0
  205. package/lib/table/service/store-state-sorting.service.d.ts +11 -0
  206. package/lib/table/service/tree-row.service.d.ts +5 -0
  207. package/lib/table/table-api.d.ts +16 -0
  208. package/lib/table/table-model-factory.d.ts +61 -0
  209. package/lib/table/table-scope.d.ts +55 -0
  210. package/package.json +25 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1yZW5kZXIuaWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvcmVuZGVyZXIvY2VsbC1yZW5kZXIuaWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJlYU1vZGVsSWZ9IGZyb20gXCIuLi9kYXRhL3RhYmxlbW9kZWwvYXJlYW1vZGVsL2FyZWEtbW9kZWwuaWZcIjtcbmltcG9ydCB7RG9tU2VydmljZUlmfSBmcm9tIFwiLi4vc2VydmljZS9kb20tc2VydmljZS5pZlwiO1xuaW1wb3J0IHtBcmVhSWRlbnR9IGZyb20gXCIuLi9kYXRhL3RhYmxlbW9kZWwvYXJlYS1pZGVudC50eXBlXCI7XG5pbXBvcnQge1JlbmRlcmVyQ2xlYW51cEZuVHlwZX0gZnJvbSBcIi4vcmVuZGVyZXItY2xlYW51cC1mbi50eXBlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbFJlbmRlcmVySWYge1xuXG4gIHJlbmRlcjxUPihcbiAgICBjZWxsRGl2OiBIVE1MRGl2RWxlbWVudCxcbiAgICByb3dJbmRleDogbnVtYmVyLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgYXJlYUlkZW50OiBBcmVhSWRlbnQsXG4gICAgYXJlYU1vZGVsOiBBcmVhTW9kZWxJZixcbiAgICBjZWxsVmFsdWU6IGFueSxcbiAgICBkb21TZXJ2aWNlOiBEb21TZXJ2aWNlSWYpOiBSZW5kZXJlckNsZWFudXBGblR5cGUgfCB1bmRlZmluZWQ7XG59XG4iXX0=
@@ -0,0 +1,22 @@
1
+ export class CheckboxCellRenderer {
2
+ render(cellDiv, rowIndex, columnIndex, areaIdent, areaModel, cellValue, domService) {
3
+ if (areaModel.isRowCheckable(rowIndex)) {
4
+ domService.addClass(cellDiv, 'ge-table-row-checkbox-div');
5
+ const rowChecked = areaModel.isRowChecked(rowIndex);
6
+ const checked = (rowChecked === 'full') ? 'checked' : '';
7
+ const semi = (rowChecked === 'semi') ? '<span style="opacity: 0.4;">✓<span>' : '';
8
+ cellDiv.innerHTML = `
9
+ <input
10
+ type="checkbox"
11
+ data-area="${areaIdent}"
12
+ data-row-index="${rowIndex}"
13
+ data-col-index="${columnIndex}"
14
+ data-input-type="checkbox"
15
+ ${checked}
16
+ class="ge-table-row-checkbox">
17
+ ${semi} `;
18
+ }
19
+ return undefined;
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtY2VsbC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9yZW5kZXJlci9jaGVja2JveC1jZWxsLXJlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsTUFBTSxDQUNKLE9BQXVCLEVBQ3ZCLFFBQWdCLEVBQ2hCLFdBQW1CLEVBQ25CLFNBQW9CLEVBQ3BCLFNBQXNCLEVBQ3RCLFNBQWMsRUFDZCxVQUF3QjtRQUV4QixJQUFJLFNBQVMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDdEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztZQUMxRCxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sT0FBTyxHQUFHLENBQUMsVUFBVSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6RCxNQUFNLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtZQUNqRixPQUFPLENBQUMsU0FBUyxHQUFHOzs7NkJBR0csU0FBUztrQ0FDSixRQUFRO2tDQUNSLFdBQVc7O2tCQUUzQixPQUFPOztjQUVYLElBQUksSUFBSSxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcmVhTW9kZWxJZn0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC5pZlwiO1xuaW1wb3J0IHtDZWxsUmVuZGVyZXJJZn0gZnJvbSBcIi4vY2VsbC1yZW5kZXIuaWZcIjtcbmltcG9ydCB7RG9tU2VydmljZUlmfSBmcm9tIFwiLi4vc2VydmljZS9kb20tc2VydmljZS5pZlwiO1xuaW1wb3J0IHtBcmVhSWRlbnR9IGZyb20gXCIuLi9kYXRhL3RhYmxlbW9kZWwvYXJlYS1pZGVudC50eXBlXCI7XG5pbXBvcnQge1JlbmRlcmVyQ2xlYW51cEZuVHlwZX0gZnJvbSBcIi4vcmVuZGVyZXItY2xlYW51cC1mbi50eXBlXCI7XG5cblxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q2VsbFJlbmRlcmVyIGltcGxlbWVudHMgQ2VsbFJlbmRlcmVySWYge1xuXG4gIHJlbmRlcihcbiAgICBjZWxsRGl2OiBIVE1MRGl2RWxlbWVudCxcbiAgICByb3dJbmRleDogbnVtYmVyLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgYXJlYUlkZW50OiBBcmVhSWRlbnQsXG4gICAgYXJlYU1vZGVsOiBBcmVhTW9kZWxJZixcbiAgICBjZWxsVmFsdWU6IGFueSxcbiAgICBkb21TZXJ2aWNlOiBEb21TZXJ2aWNlSWYpOiBSZW5kZXJlckNsZWFudXBGblR5cGUgfCB1bmRlZmluZWQge1xuXG4gICAgaWYgKGFyZWFNb2RlbC5pc1Jvd0NoZWNrYWJsZShyb3dJbmRleCkpIHtcbiAgICAgIGRvbVNlcnZpY2UuYWRkQ2xhc3MoY2VsbERpdiwgJ2dlLXRhYmxlLXJvdy1jaGVja2JveC1kaXYnKTtcbiAgICAgIGNvbnN0IHJvd0NoZWNrZWQgPSBhcmVhTW9kZWwuaXNSb3dDaGVja2VkKHJvd0luZGV4KTtcbiAgICAgIGNvbnN0IGNoZWNrZWQgPSAocm93Q2hlY2tlZCA9PT0gJ2Z1bGwnKSA/ICdjaGVja2VkJyA6ICcnO1xuICAgICAgY29uc3Qgc2VtaSA9IChyb3dDaGVja2VkID09PSAnc2VtaScpID8gJzxzcGFuIHN0eWxlPVwib3BhY2l0eTogMC40O1wiPuKckzxzcGFuPicgOiAnJ1xuICAgICAgY2VsbERpdi5pbm5lckhUTUwgPSBgXG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIGRhdGEtYXJlYT1cIiR7YXJlYUlkZW50fVwiXG4gICAgICAgICAgICAgICAgZGF0YS1yb3ctaW5kZXg9XCIke3Jvd0luZGV4fVwiXG4gICAgICAgICAgICAgICAgZGF0YS1jb2wtaW5kZXg9XCIke2NvbHVtbkluZGV4fVwiXG4gICAgICAgICAgICAgICAgZGF0YS1pbnB1dC10eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICR7Y2hlY2tlZH1cbiAgICAgICAgICAgICAgICBjbGFzcz1cImdlLXRhYmxlLXJvdy1jaGVja2JveFwiPlxuICAgICAgICAgICAgJHtzZW1pfSAgYDtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG5cbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ export class DateToIntlDDMMYYYYCellRenderer {
2
+ constructor() {
3
+ this.formatter = new Intl.DateTimeFormat('de-DE', {
4
+ year: 'numeric',
5
+ month: '2-digit',
6
+ day: '2-digit'
7
+ });
8
+ }
9
+ render(cellDiv, rowIndex, columnIndex, areaIdent, areaModel, cellValue, domService) {
10
+ if (cellValue) {
11
+ try {
12
+ cellDiv.innerText = this.formatter.format(new Date(cellValue));
13
+ }
14
+ catch (e) {
15
+ cellDiv.innerText = cellValue;
16
+ }
17
+ }
18
+ return undefined;
19
+ }
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10by1pbnQtZGF0ZS1jZWxsLXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL3JlbmRlcmVyL2RhdGUtdG8taW50LWRhdGUtY2VsbC1yZW5kZXJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sOEJBQThCO0lBQTNDO1FBRVcsY0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDcEQsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsU0FBUztZQUNoQixHQUFHLEVBQUUsU0FBUztTQUNmLENBQUMsQ0FBQztJQW9CTCxDQUFDO0lBbEJDLE1BQU0sQ0FDSixPQUF1QixFQUN2QixRQUFnQixFQUNoQixXQUFtQixFQUNuQixTQUFvQixFQUNwQixTQUFzQixFQUN0QixTQUFjLEVBQ2QsVUFBd0I7UUFDeEIsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJO2dCQUNGLE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUNoRTtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO2FBQy9CO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NlbGxSZW5kZXJlcklmfSBmcm9tIFwiLi9jZWxsLXJlbmRlci5pZlwiO1xuaW1wb3J0IHtBcmVhTW9kZWxJZn0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC5pZlwiO1xuaW1wb3J0IHtEb21TZXJ2aWNlSWZ9IGZyb20gXCIuLi9zZXJ2aWNlL2RvbS1zZXJ2aWNlLmlmXCI7XG5pbXBvcnQge0FyZWFJZGVudH0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhLWlkZW50LnR5cGVcIjtcbmltcG9ydCB7UmVuZGVyZXJDbGVhbnVwRm5UeXBlfSBmcm9tIFwiLi9yZW5kZXJlci1jbGVhbnVwLWZuLnR5cGVcIjtcblxuXG5leHBvcnQgY2xhc3MgRGF0ZVRvSW50bERETU1ZWVlZQ2VsbFJlbmRlcmVyIGltcGxlbWVudHMgQ2VsbFJlbmRlcmVySWYge1xuXG4gIHJlYWRvbmx5IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCdkZS1ERScsIHtcbiAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgbW9udGg6ICcyLWRpZ2l0JyxcbiAgICBkYXk6ICcyLWRpZ2l0J1xuICB9KTtcblxuICByZW5kZXIoXG4gICAgY2VsbERpdjogSFRNTERpdkVsZW1lbnQsXG4gICAgcm93SW5kZXg6IG51bWJlcixcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyLFxuICAgIGFyZWFJZGVudDogQXJlYUlkZW50LFxuICAgIGFyZWFNb2RlbDogQXJlYU1vZGVsSWYsXG4gICAgY2VsbFZhbHVlOiBhbnksXG4gICAgZG9tU2VydmljZTogRG9tU2VydmljZUlmKTogUmVuZGVyZXJDbGVhbnVwRm5UeXBlIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoY2VsbFZhbHVlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjZWxsRGl2LmlubmVyVGV4dCA9IHRoaXMuZm9ybWF0dGVyLmZvcm1hdChuZXcgRGF0ZShjZWxsVmFsdWUpKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY2VsbERpdi5pbm5lclRleHQgPSBjZWxsVmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,9 @@
1
+ export class DateToIsoCellRenderer {
2
+ render(cellDiv, rowIndex, columnIndex, areaIdent, areaModel, cellValue, domService) {
3
+ if (cellValue) {
4
+ cellDiv.innerText = new Date(cellValue).toISOString();
5
+ }
6
+ return undefined;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10by1pc28tY2VsbC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9yZW5kZXJlci9kYXRlLXRvLWlzby1jZWxsLXJlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsTUFBTSxDQUNKLE9BQXVCLEVBQ3ZCLFFBQWdCLEVBQ2hCLFdBQW1CLEVBQ25CLFNBQW9CLEVBQ3BCLFNBQXNCLEVBQ3RCLFNBQWMsRUFDZCxVQUF3QjtRQUN4QixJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdkQ7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NlbGxSZW5kZXJlcklmfSBmcm9tIFwiLi9jZWxsLXJlbmRlci5pZlwiO1xuaW1wb3J0IHtBcmVhTW9kZWxJZn0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC5pZlwiO1xuaW1wb3J0IHtEb21TZXJ2aWNlSWZ9IGZyb20gXCIuLi9zZXJ2aWNlL2RvbS1zZXJ2aWNlLmlmXCI7XG5pbXBvcnQge0FyZWFJZGVudH0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhLWlkZW50LnR5cGVcIjtcbmltcG9ydCB7UmVuZGVyZXJDbGVhbnVwRm5UeXBlfSBmcm9tIFwiLi9yZW5kZXJlci1jbGVhbnVwLWZuLnR5cGVcIjtcblxuXG5leHBvcnQgY2xhc3MgRGF0ZVRvSXNvQ2VsbFJlbmRlcmVyIGltcGxlbWVudHMgQ2VsbFJlbmRlcmVySWYge1xuXG4gIHJlbmRlcihcbiAgICBjZWxsRGl2OiBIVE1MRGl2RWxlbWVudCxcbiAgICByb3dJbmRleDogbnVtYmVyLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgYXJlYUlkZW50OiBBcmVhSWRlbnQsXG4gICAgYXJlYU1vZGVsOiBBcmVhTW9kZWxJZixcbiAgICBjZWxsVmFsdWU6IGFueSxcbiAgICBkb21TZXJ2aWNlOiBEb21TZXJ2aWNlSWYpOiBSZW5kZXJlckNsZWFudXBGblR5cGUgfCB1bmRlZmluZWQge1xuICAgIGlmIChjZWxsVmFsdWUpIHtcbiAgICAgIGNlbGxEaXYuaW5uZXJUZXh0ID0gbmV3IERhdGUoY2VsbFZhbHVlKS50b0lTT1N0cmluZygpO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbn1cblxuIl19
@@ -0,0 +1,9 @@
1
+ export class DateToLocaleDateCellRenderer {
2
+ render(cellDiv, rowIndex, columnIndex, areaIdent, areaModel, cellValue, domService) {
3
+ if (cellValue) {
4
+ cellDiv.innerText = new Date(cellValue).toLocaleDateString();
5
+ }
6
+ return undefined;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10by1sb2NhbGUtZGF0ZS1jZWxsLXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL3JlbmRlcmVyL2RhdGUtdG8tbG9jYWxlLWRhdGUtY2VsbC1yZW5kZXJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLE1BQU0sQ0FDSixPQUF1QixFQUN2QixRQUFnQixFQUNoQixXQUFtQixFQUNuQixTQUFvQixFQUNwQixTQUFzQixFQUN0QixTQUFjLEVBQ2QsVUFBd0I7UUFDeEIsSUFBSSxTQUFTLEVBQUU7WUFDYixPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDOUQ7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NlbGxSZW5kZXJlcklmfSBmcm9tIFwiLi9jZWxsLXJlbmRlci5pZlwiO1xuaW1wb3J0IHtBcmVhTW9kZWxJZn0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC5pZlwiO1xuaW1wb3J0IHtEb21TZXJ2aWNlSWZ9IGZyb20gXCIuLi9zZXJ2aWNlL2RvbS1zZXJ2aWNlLmlmXCI7XG5pbXBvcnQge0FyZWFJZGVudH0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhLWlkZW50LnR5cGVcIjtcbmltcG9ydCB7UmVuZGVyZXJDbGVhbnVwRm5UeXBlfSBmcm9tIFwiLi9yZW5kZXJlci1jbGVhbnVwLWZuLnR5cGVcIjtcblxuXG5leHBvcnQgY2xhc3MgRGF0ZVRvTG9jYWxlRGF0ZUNlbGxSZW5kZXJlciBpbXBsZW1lbnRzIENlbGxSZW5kZXJlcklmIHtcblxuICByZW5kZXIoXG4gICAgY2VsbERpdjogSFRNTERpdkVsZW1lbnQsXG4gICAgcm93SW5kZXg6IG51bWJlcixcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyLFxuICAgIGFyZWFJZGVudDogQXJlYUlkZW50LFxuICAgIGFyZWFNb2RlbDogQXJlYU1vZGVsSWYsXG4gICAgY2VsbFZhbHVlOiBhbnksXG4gICAgZG9tU2VydmljZTogRG9tU2VydmljZUlmKTogUmVuZGVyZXJDbGVhbnVwRm5UeXBlIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoY2VsbFZhbHVlKSB7XG4gICAgICBjZWxsRGl2LmlubmVyVGV4dCA9IG5ldyBEYXRlKGNlbGxWYWx1ZSkudG9Mb2NhbGVEYXRlU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1jZWxsLXJlbmRlcmVyLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvcmVuZGVyZXIvZWRpdC9lZGl0LWNlbGwtcmVuZGVyZXIudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDZWxsUmVuZGVyZXJJZn0gZnJvbSBcIi4uL2NlbGwtcmVuZGVyLmlmXCI7XG5cbmV4cG9ydCB0eXBlIEdldEVkaXRSZW5kZXJlciA9IChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKSA9PiBDZWxsUmVuZGVyZXJJZiB8IHVuZGVmaW5lZDtcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ export class InputCellRenderer {
2
+ render(cellDiv, rowIndex, columnIndex, areaIdent, areaModel, cellValue, domService) {
3
+ if (areaModel.isEditable(rowIndex, columnIndex)) {
4
+ domService.addClass(cellDiv, 'ge-table-row-input-div');
5
+ const val = areaModel.getValueAt(rowIndex, columnIndex);
6
+ cellDiv.innerHTML = `
7
+ <input
8
+ type="text"
9
+ value="${val}"
10
+ autofocus
11
+ onfocus="this.setSelectionRange(0, this.value.length)"
12
+ data-listen="change"
13
+ data-area="${areaIdent}"
14
+ data-row-index="${rowIndex}"
15
+ data-col-index="${columnIndex}"
16
+ data-input-type="text"
17
+ style="width:100%;height:100%;border:0;padding:0 0 0 8px;"
18
+ class="ge-table-cell-editor-input">`;
19
+ }
20
+ return undefined;
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2VsbC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9yZW5kZXJlci9lZGl0L2lucHV0LWNlbGwtcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixNQUFNLENBQ0osT0FBdUIsRUFDdkIsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsU0FBb0IsRUFDcEIsU0FBc0IsRUFDdEIsU0FBYyxFQUNkLFVBQXdCO1FBRXhCLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUU7WUFDL0MsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztZQUV2RCxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN4RCxPQUFPLENBQUMsU0FBUyxHQUFHOzs7eUJBR0QsR0FBRzs7Ozs2QkFJQyxTQUFTO2tDQUNKLFFBQVE7a0NBQ1IsV0FBVzs7O29EQUdPLENBQUM7U0FDaEQ7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NlbGxSZW5kZXJlcklmfSBmcm9tIFwiLi4vY2VsbC1yZW5kZXIuaWZcIjtcbmltcG9ydCB7QXJlYUlkZW50fSBmcm9tIFwiLi4vLi4vZGF0YS90YWJsZW1vZGVsL2FyZWEtaWRlbnQudHlwZVwiO1xuaW1wb3J0IHtBcmVhTW9kZWxJZn0gZnJvbSBcIi4uLy4uL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC5pZlwiO1xuaW1wb3J0IHtEb21TZXJ2aWNlSWZ9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RvbS1zZXJ2aWNlLmlmXCI7XG5pbXBvcnQge1JlbmRlcmVyQ2xlYW51cEZuVHlwZX0gZnJvbSBcIi4uL3JlbmRlcmVyLWNsZWFudXAtZm4udHlwZVwiO1xuXG5cbmV4cG9ydCBjbGFzcyBJbnB1dENlbGxSZW5kZXJlciBpbXBsZW1lbnRzIENlbGxSZW5kZXJlcklmIHtcblxuXG4gIHJlbmRlcihcbiAgICBjZWxsRGl2OiBIVE1MRGl2RWxlbWVudCxcbiAgICByb3dJbmRleDogbnVtYmVyLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgYXJlYUlkZW50OiBBcmVhSWRlbnQsXG4gICAgYXJlYU1vZGVsOiBBcmVhTW9kZWxJZixcbiAgICBjZWxsVmFsdWU6IGFueSxcbiAgICBkb21TZXJ2aWNlOiBEb21TZXJ2aWNlSWYpOiBSZW5kZXJlckNsZWFudXBGblR5cGUgfCB1bmRlZmluZWQge1xuXG4gICAgaWYgKGFyZWFNb2RlbC5pc0VkaXRhYmxlKHJvd0luZGV4LCBjb2x1bW5JbmRleCkpIHtcbiAgICAgIGRvbVNlcnZpY2UuYWRkQ2xhc3MoY2VsbERpdiwgJ2dlLXRhYmxlLXJvdy1pbnB1dC1kaXYnKTtcblxuICAgICAgY29uc3QgdmFsID0gYXJlYU1vZGVsLmdldFZhbHVlQXQocm93SW5kZXgsIGNvbHVtbkluZGV4KTtcbiAgICAgIGNlbGxEaXYuaW5uZXJIVE1MID0gYFxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIHZhbHVlPVwiJHt2YWx9XCJcbiAgICAgICAgICAgICAgICBhdXRvZm9jdXNcbiAgICAgICAgICAgICAgICBvbmZvY3VzPVwidGhpcy5zZXRTZWxlY3Rpb25SYW5nZSgwLCB0aGlzLnZhbHVlLmxlbmd0aClcIlxuICAgICAgICAgICAgICAgIGRhdGEtbGlzdGVuPVwiY2hhbmdlXCJcbiAgICAgICAgICAgICAgICBkYXRhLWFyZWE9XCIke2FyZWFJZGVudH1cIlxuICAgICAgICAgICAgICAgIGRhdGEtcm93LWluZGV4PVwiJHtyb3dJbmRleH1cIlxuICAgICAgICAgICAgICAgIGRhdGEtY29sLWluZGV4PVwiJHtjb2x1bW5JbmRleH1cIlxuICAgICAgICAgICAgICAgIGRhdGEtaW5wdXQtdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6MDtwYWRkaW5nOjAgMCAwIDhweDtcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZ2UtdGFibGUtY2VsbC1lZGl0b3ItaW5wdXRcIj5gO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { ValueLabel } from "../../data/common/value-label";
2
+ export class SelectCellRenderer {
3
+ constructor(options) {
4
+ this.options = options;
5
+ }
6
+ static create(values) {
7
+ return new SelectCellRenderer(values.map(v => new ValueLabel(v, v)));
8
+ }
9
+ render(cellDiv, rowIndex, columnIndex, areaIdent, areaModel, cellValue, domService) {
10
+ if (areaModel.isEditable(rowIndex, columnIndex)) {
11
+ domService.addClass(cellDiv, 'ge-table-row-select-div');
12
+ const val = areaModel.getValueAt(rowIndex, columnIndex);
13
+ let opts = [];
14
+ for (let option of this.options) {
15
+ const selected = (option.value === val) ? ' selected ' : '';
16
+ opts.push(`<option value="${option.value}" ${selected}>${option.label}</option>`);
17
+ }
18
+ const o = opts.join('');
19
+ cellDiv.innerHTML = `
20
+ <select
21
+ type="text"
22
+ value="${val}"
23
+ autofocus
24
+ data-listen="change"
25
+ data-area="${areaIdent}"
26
+ data-row-index="${rowIndex}"
27
+ data-col-index="${columnIndex}"
28
+ data-input-type="text"
29
+ style="width:100%;height:100%;border:0;padding:0 0 0 8px;"
30
+ class="ge-table-cell-editor-select">${o}</select>`;
31
+ }
32
+ return undefined;
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNlbGwtcmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvcmVuZGVyZXIvZWRpdC9zZWxlY3QtY2VsbC1yZW5kZXJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFHekQsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixZQUNZLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBRW5DLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQWdCO1FBQzVCLE9BQU8sSUFBSSxrQkFBa0IsQ0FDM0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FDSixPQUF1QixFQUN2QixRQUFnQixFQUNoQixXQUFtQixFQUNuQixTQUFvQixFQUNwQixTQUFzQixFQUN0QixTQUFjLEVBQ2QsVUFBd0I7UUFFeEIsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsRUFBRTtZQUMvQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1lBRXhELE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBRXhELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNkLEtBQUssSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDL0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUE7YUFDbEY7WUFDRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXhCLE9BQU8sQ0FBQyxTQUFTLEdBQUc7Ozt5QkFHRCxHQUFHOzs7NkJBR0MsU0FBUztrQ0FDSixRQUFRO2tDQUNSLFdBQVc7OztzREFHUyxDQUFDLFdBQVcsQ0FBQztTQUM5RDtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2VsbFJlbmRlcmVySWZ9IGZyb20gXCIuLi9jZWxsLXJlbmRlci5pZlwiO1xuaW1wb3J0IHtBcmVhSWRlbnR9IGZyb20gXCIuLi8uLi9kYXRhL3RhYmxlbW9kZWwvYXJlYS1pZGVudC50eXBlXCI7XG5pbXBvcnQge0FyZWFNb2RlbElmfSBmcm9tIFwiLi4vLi4vZGF0YS90YWJsZW1vZGVsL2FyZWFtb2RlbC9hcmVhLW1vZGVsLmlmXCI7XG5pbXBvcnQge0RvbVNlcnZpY2VJZn0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZG9tLXNlcnZpY2UuaWZcIjtcbmltcG9ydCB7UmVuZGVyZXJDbGVhbnVwRm5UeXBlfSBmcm9tIFwiLi4vcmVuZGVyZXItY2xlYW51cC1mbi50eXBlXCI7XG5pbXBvcnQge1ZhbHVlTGFiZWxJZn0gZnJvbSBcIi4uLy4uL2RhdGEvY29tbW9uL3ZhbHVlLWxhYmVsLmlmXCI7XG5pbXBvcnQge1ZhbHVlTGFiZWx9IGZyb20gXCIuLi8uLi9kYXRhL2NvbW1vbi92YWx1ZS1sYWJlbFwiO1xuXG5cbmV4cG9ydCBjbGFzcyBTZWxlY3RDZWxsUmVuZGVyZXIgaW1wbGVtZW50cyBDZWxsUmVuZGVyZXJJZiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIG9wdGlvbnM6IFZhbHVlTGFiZWxJZltdXG4gICkge1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZSh2YWx1ZXM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIG5ldyBTZWxlY3RDZWxsUmVuZGVyZXIoXG4gICAgICB2YWx1ZXMubWFwKHYgPT4gbmV3IFZhbHVlTGFiZWwodiwgdikpXG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcihcbiAgICBjZWxsRGl2OiBIVE1MRGl2RWxlbWVudCxcbiAgICByb3dJbmRleDogbnVtYmVyLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgYXJlYUlkZW50OiBBcmVhSWRlbnQsXG4gICAgYXJlYU1vZGVsOiBBcmVhTW9kZWxJZixcbiAgICBjZWxsVmFsdWU6IGFueSxcbiAgICBkb21TZXJ2aWNlOiBEb21TZXJ2aWNlSWYpOiBSZW5kZXJlckNsZWFudXBGblR5cGUgfCB1bmRlZmluZWQge1xuXG4gICAgaWYgKGFyZWFNb2RlbC5pc0VkaXRhYmxlKHJvd0luZGV4LCBjb2x1bW5JbmRleCkpIHtcbiAgICAgIGRvbVNlcnZpY2UuYWRkQ2xhc3MoY2VsbERpdiwgJ2dlLXRhYmxlLXJvdy1zZWxlY3QtZGl2Jyk7XG5cbiAgICAgIGNvbnN0IHZhbCA9IGFyZWFNb2RlbC5nZXRWYWx1ZUF0KHJvd0luZGV4LCBjb2x1bW5JbmRleCk7XG5cbiAgICAgIGxldCBvcHRzID0gW107XG4gICAgICBmb3IgKGxldCBvcHRpb24gb2YgdGhpcy5vcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gKG9wdGlvbi52YWx1ZSA9PT0gdmFsKSA/ICcgc2VsZWN0ZWQgJyA6ICcnO1xuICAgICAgICBvcHRzLnB1c2goYDxvcHRpb24gdmFsdWU9XCIke29wdGlvbi52YWx1ZX1cIiAke3NlbGVjdGVkfT4ke29wdGlvbi5sYWJlbH08L29wdGlvbj5gKVxuICAgICAgfVxuICAgICAgY29uc3QgbyA9IG9wdHMuam9pbignJyk7XG5cbiAgICAgIGNlbGxEaXYuaW5uZXJIVE1MID0gYFxuICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICB2YWx1ZT1cIiR7dmFsfVwiXG4gICAgICAgICAgICAgICAgYXV0b2ZvY3VzXG4gICAgICAgICAgICAgICAgZGF0YS1saXN0ZW49XCJjaGFuZ2VcIlxuICAgICAgICAgICAgICAgIGRhdGEtYXJlYT1cIiR7YXJlYUlkZW50fVwiXG4gICAgICAgICAgICAgICAgZGF0YS1yb3ctaW5kZXg9XCIke3Jvd0luZGV4fVwiXG4gICAgICAgICAgICAgICAgZGF0YS1jb2wtaW5kZXg9XCIke2NvbHVtbkluZGV4fVwiXG4gICAgICAgICAgICAgICAgZGF0YS1pbnB1dC10eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjowO3BhZGRpbmc6MCAwIDAgOHB4O1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJnZS10YWJsZS1jZWxsLWVkaXRvci1zZWxlY3RcIj4ke299PC9zZWxlY3Q+YDtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,12 @@
1
+ export class MaleFemaleToIconCellRenderer {
2
+ render(cellDiv, rowIndex, columnIndex, areaIdent, areaModel, cellValue, domService) {
3
+ if (cellValue === 'male' || cellValue === 'm') {
4
+ cellDiv.innerText = '♂';
5
+ }
6
+ else if (cellValue === 'female' || cellValue === 'f') {
7
+ cellDiv.innerText = '♀';
8
+ }
9
+ return undefined;
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFsZS1mZW1hbGUtdG8taWNvbi1jZWxsLXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL3JlbmRlcmVyL21hbGUtZmVtYWxlLXRvLWljb24tY2VsbC1yZW5kZXJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLE1BQU0sQ0FDSixPQUF1QixFQUN2QixRQUFnQixFQUNoQixXQUFtQixFQUNuQixTQUFvQixFQUNwQixTQUFzQixFQUN0QixTQUFjLEVBQ2QsVUFBd0I7UUFDeEIsSUFBSSxTQUFTLEtBQUssTUFBTSxJQUFJLFNBQVMsS0FBSyxHQUFHLEVBQUU7WUFDN0MsT0FBTyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7U0FDekI7YUFBTSxJQUFJLFNBQVMsS0FBSyxRQUFRLElBQUksU0FBUyxLQUFLLEdBQUcsRUFBRTtZQUN0RCxPQUFPLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztTQUN6QjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJlYU1vZGVsSWZ9IGZyb20gXCIuLi9kYXRhL3RhYmxlbW9kZWwvYXJlYW1vZGVsL2FyZWEtbW9kZWwuaWZcIjtcbmltcG9ydCB7Q2VsbFJlbmRlcmVySWZ9IGZyb20gXCIuL2NlbGwtcmVuZGVyLmlmXCI7XG5pbXBvcnQge0RvbVNlcnZpY2VJZn0gZnJvbSBcIi4uL3NlcnZpY2UvZG9tLXNlcnZpY2UuaWZcIjtcbmltcG9ydCB7QXJlYUlkZW50fSBmcm9tIFwiLi4vZGF0YS90YWJsZW1vZGVsL2FyZWEtaWRlbnQudHlwZVwiO1xuaW1wb3J0IHtSZW5kZXJlckNsZWFudXBGblR5cGV9IGZyb20gXCIuL3JlbmRlcmVyLWNsZWFudXAtZm4udHlwZVwiO1xuXG5cbmV4cG9ydCBjbGFzcyBNYWxlRmVtYWxlVG9JY29uQ2VsbFJlbmRlcmVyIGltcGxlbWVudHMgQ2VsbFJlbmRlcmVySWYge1xuXG4gIHJlbmRlcihcbiAgICBjZWxsRGl2OiBIVE1MRGl2RWxlbWVudCxcbiAgICByb3dJbmRleDogbnVtYmVyLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgYXJlYUlkZW50OiBBcmVhSWRlbnQsXG4gICAgYXJlYU1vZGVsOiBBcmVhTW9kZWxJZixcbiAgICBjZWxsVmFsdWU6IGFueSxcbiAgICBkb21TZXJ2aWNlOiBEb21TZXJ2aWNlSWYpOiBSZW5kZXJlckNsZWFudXBGblR5cGUgfCB1bmRlZmluZWQge1xuICAgIGlmIChjZWxsVmFsdWUgPT09ICdtYWxlJyB8fCBjZWxsVmFsdWUgPT09ICdtJykge1xuICAgICAgY2VsbERpdi5pbm5lclRleHQgPSAn4pmCJztcbiAgICB9IGVsc2UgaWYgKGNlbGxWYWx1ZSA9PT0gJ2ZlbWFsZScgfHwgY2VsbFZhbHVlID09PSAnZicpIHtcbiAgICAgIGNlbGxEaXYuaW5uZXJUZXh0ID0gJ+KZgCc7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,19 @@
1
+ export class NumberCellRenderer {
2
+ constructor(min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {
3
+ this.min = min;
4
+ this.max = max;
5
+ }
6
+ render(cellDiv, rowIndex, columnIndex, areaIdent, areaModel, cellValue, domService) {
7
+ if (cellValue) {
8
+ cellDiv.innerText = cellValue;
9
+ if (typeof cellValue === 'string'
10
+ || isNaN(cellValue)
11
+ || cellValue < this.min
12
+ || cellValue > this.max) {
13
+ domService.addClass(cellDiv, 'ge-cell-error');
14
+ }
15
+ }
16
+ return undefined;
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWNlbGwtcmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvcmVuZGVyZXIvbnVtYmVyLWNlbGwtcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixZQUNZLE1BQWMsTUFBTSxDQUFDLGdCQUFnQixFQUNyQyxNQUFjLE1BQU0sQ0FBQyxnQkFBZ0I7UUFEckMsUUFBRyxHQUFILEdBQUcsQ0FBa0M7UUFDckMsUUFBRyxHQUFILEdBQUcsQ0FBa0M7SUFDakQsQ0FBQztJQUVELE1BQU0sQ0FDSixPQUF1QixFQUN2QixRQUFnQixFQUNoQixXQUFtQixFQUNuQixTQUFvQixFQUNwQixTQUFzQixFQUN0QixTQUFjLEVBQ2QsVUFBd0I7UUFFeEIsSUFBSSxTQUFTLEVBQUU7WUFDYixPQUFPLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUM5QixJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVE7bUJBQzVCLEtBQUssQ0FBQyxTQUFTLENBQUM7bUJBQ2hCLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRzttQkFDcEIsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQ3ZCO2dCQUNBLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO2FBQy9DO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NlbGxSZW5kZXJlcklmfSBmcm9tIFwiLi9jZWxsLXJlbmRlci5pZlwiO1xuaW1wb3J0IHtBcmVhTW9kZWxJZn0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC5pZlwiO1xuaW1wb3J0IHtEb21TZXJ2aWNlSWZ9IGZyb20gXCIuLi9zZXJ2aWNlL2RvbS1zZXJ2aWNlLmlmXCI7XG5pbXBvcnQge0FyZWFJZGVudH0gZnJvbSBcIi4uL2RhdGEvdGFibGVtb2RlbC9hcmVhLWlkZW50LnR5cGVcIjtcbmltcG9ydCB7UmVuZGVyZXJDbGVhbnVwRm5UeXBlfSBmcm9tIFwiLi9yZW5kZXJlci1jbGVhbnVwLWZuLnR5cGVcIjtcblxuXG5leHBvcnQgY2xhc3MgTnVtYmVyQ2VsbFJlbmRlcmVyIGltcGxlbWVudHMgQ2VsbFJlbmRlcmVySWYge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBtaW46IG51bWJlciA9IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgIHByb3RlY3RlZCBtYXg6IG51bWJlciA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSB7XG4gIH1cblxuICByZW5kZXIoXG4gICAgY2VsbERpdjogSFRNTERpdkVsZW1lbnQsXG4gICAgcm93SW5kZXg6IG51bWJlcixcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyLFxuICAgIGFyZWFJZGVudDogQXJlYUlkZW50LFxuICAgIGFyZWFNb2RlbDogQXJlYU1vZGVsSWYsXG4gICAgY2VsbFZhbHVlOiBhbnksXG4gICAgZG9tU2VydmljZTogRG9tU2VydmljZUlmKTogUmVuZGVyZXJDbGVhbnVwRm5UeXBlIHwgdW5kZWZpbmVkIHtcblxuICAgIGlmIChjZWxsVmFsdWUpIHtcbiAgICAgIGNlbGxEaXYuaW5uZXJUZXh0ID0gY2VsbFZhbHVlO1xuICAgICAgaWYgKHR5cGVvZiBjZWxsVmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgIHx8IGlzTmFOKGNlbGxWYWx1ZSlcbiAgICAgICAgfHwgY2VsbFZhbHVlIDwgdGhpcy5taW5cbiAgICAgICAgfHwgY2VsbFZhbHVlID4gdGhpcy5tYXhcbiAgICAgICkge1xuICAgICAgICBkb21TZXJ2aWNlLmFkZENsYXNzKGNlbGxEaXYsICdnZS1jZWxsLWVycm9yJyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxufVxuXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXItY2xlYW51cC1mbi50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL3JlbmRlcmVyL3JlbmRlcmVyLWNsZWFudXAtZm4udHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUmVuZGVyZXJDbGVhbnVwRm5UeXBlID0gRnVuY3Rpb247XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { AreaObjectMap } from "../data/common/area-map";
2
+ export class Renderer {
3
+ static bodyRenderer(bodyCellRenderer) {
4
+ return new AreaObjectMap(undefined, bodyCellRenderer, undefined);
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvcmVuZGVyZXIvcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBR3RELE1BQU0sT0FBTyxRQUFRO0lBRW5CLE1BQU0sQ0FBQyxZQUFZLENBQUMsZ0JBQWdDO1FBQ2xELE9BQU8sSUFBSSxhQUFhLENBQWlCLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNuRixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NlbGxSZW5kZXJlcklmfSBmcm9tIFwiLi9jZWxsLXJlbmRlci5pZlwiO1xuaW1wb3J0IHtBcmVhT2JqZWN0TWFwfSBmcm9tIFwiLi4vZGF0YS9jb21tb24vYXJlYS1tYXBcIjtcblxuXG5leHBvcnQgY2xhc3MgUmVuZGVyZXIge1xuXG4gIHN0YXRpYyBib2R5UmVuZGVyZXIoYm9keUNlbGxSZW5kZXJlcjogQ2VsbFJlbmRlcmVySWYpOiBBcmVhT2JqZWN0TWFwPENlbGxSZW5kZXJlcklmPiB7XG4gICAgcmV0dXJuIG5ldyBBcmVhT2JqZWN0TWFwPENlbGxSZW5kZXJlcklmPih1bmRlZmluZWQsIGJvZHlDZWxsUmVuZGVyZXIsIHVuZGVmaW5lZCk7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLmlmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwuaWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2VsbFJhbmdlfSBmcm9tIFwiLi4vZGF0YS9jb21tb24vY2VsbC1yYW5nZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGlvbk1vZGVsSWYge1xuXG4gIHRvZ2dsZVBvaW50KHJvdzogbnVtYmVyLCBjb2w6IG51bWJlcik6IHZvaWQ7XG5cbiAgZ2V0UmFuZ2VzKCk6IENlbGxSYW5nZVtdO1xuXG4gIGNsZWFyKCk6IHZvaWQ7XG5cbiAgaGFzU2VsZWN0aW9uKCk6IGJvb2xlYW47XG5cbiAgYWRkU2VsZWN0aW9uKHJhbmdlOiBDZWxsUmFuZ2UpOiB2b2lkO1xuXG4gIHJlbW92ZVNlbGVjdGlvbihyYW5nZTogQ2VsbFJhbmdlKTogdm9pZDtcblxuICBnZXRTZWxlY3Rpb25Db3VudChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTogbnVtYmVyO1xuXG4gIHNlbGVjdEFsbCgpOiB2b2lkO1xufVxuIl19
@@ -0,0 +1,97 @@
1
+ import { CellRange } from "../data/common/cell-range";
2
+ export class SelectionModel {
3
+ constructor(selectionType = 'none', selectionMode = 'single') {
4
+ this.selectionType = selectionType;
5
+ this.selectionMode = selectionMode;
6
+ this.ranges = [];
7
+ this.negativeRanges = [];
8
+ this.allSelected = false;
9
+ }
10
+ getSelectionCount(rowIndex, columnIndex) {
11
+ let count = 0;
12
+ for (const range of this.ranges) {
13
+ if (range.isInRange(rowIndex, columnIndex)) {
14
+ count++;
15
+ }
16
+ }
17
+ if (this.allSelected) {
18
+ count++;
19
+ }
20
+ if (this.isInNegativeRange(rowIndex, columnIndex)) {
21
+ count = 0;
22
+ }
23
+ return count;
24
+ }
25
+ isInNegativeRange(rowIndex, columnIndex) {
26
+ for (const range of this.negativeRanges) {
27
+ if (range.isInRange(rowIndex, columnIndex)) {
28
+ return true;
29
+ }
30
+ }
31
+ return false;
32
+ }
33
+ getRanges() {
34
+ return this.ranges;
35
+ }
36
+ clear() {
37
+ this.ranges = [];
38
+ this.negativeRanges = [];
39
+ this.allSelected = false;
40
+ }
41
+ hasSelection() {
42
+ return !!this.ranges.length;
43
+ }
44
+ selectAll() {
45
+ this.allSelected = true;
46
+ }
47
+ addSelection(range) {
48
+ this.addRange(range);
49
+ }
50
+ removeSelection(range) {
51
+ if (this.selectionType === 'none') {
52
+ return; // skip!
53
+ }
54
+ let r = range;
55
+ if (this.selectionType === 'row') {
56
+ r = CellRange.singleRow(range.r1);
57
+ }
58
+ else if (this.selectionType === 'column') {
59
+ r = CellRange.singleColumn(range.c1);
60
+ }
61
+ this.negativeRanges.push(r);
62
+ }
63
+ togglePoint(row, col) {
64
+ if (this.getSelectionCount(row, col) > 0) {
65
+ this.removeSelection(CellRange.singleCell(row, col));
66
+ }
67
+ else {
68
+ this.addSelection(CellRange.singleCell(row, col));
69
+ }
70
+ }
71
+ addRange(range) {
72
+ if (this.selectionType === 'none') {
73
+ return; // skip!
74
+ }
75
+ this.allSelected = false;
76
+ if (this.selectionMode === 'single') {
77
+ this.ranges = [];
78
+ }
79
+ if (this.selectionType === 'row') {
80
+ range.c1 = 0;
81
+ range.c2 = Number.MAX_SAFE_INTEGER;
82
+ }
83
+ else if (this.selectionType === 'column') {
84
+ range.r1 = 0;
85
+ range.r2 = Number.MAX_SAFE_INTEGER;
86
+ }
87
+ else if (this.selectionType === 'cell') {
88
+ range.r2 = range.r1;
89
+ range.c2 = range.c1;
90
+ }
91
+ else if (this.selectionType === 'range') {
92
+ //
93
+ }
94
+ this.ranges.push(range);
95
+ }
96
+ }
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBSXBELE1BQU0sT0FBTyxjQUFjO0lBTXpCLFlBQ1MsZ0JBQStCLE1BQU0sRUFDckMsZ0JBQStCLFFBQVE7UUFEdkMsa0JBQWEsR0FBYixhQUFhLENBQXdCO1FBQ3JDLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQU50QyxXQUFNLEdBQWdCLEVBQUUsQ0FBQztRQUN6QixtQkFBYyxHQUFnQixFQUFFLENBQUM7UUFDakMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFNdkMsQ0FBQztJQUVELGlCQUFpQixDQUFDLFFBQWdCLEVBQUUsV0FBbUI7UUFDckQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQy9CLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUU7Z0JBQzFDLEtBQUssRUFBRSxDQUFDO2FBQ1Q7U0FDRjtRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixLQUFLLEVBQUUsQ0FBQztTQUNUO1FBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxFQUFFO1lBQ2pELEtBQUssR0FBRyxDQUFDLENBQUM7U0FDWDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELGlCQUFpQixDQUFDLFFBQWdCLEVBQUUsV0FBbUI7UUFDckQsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZDLElBQUksS0FBSyxDQUFDLFNBQVMs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UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NlbGxSYW5nZX0gZnJvbSBcIi4uL2RhdGEvY29tbW9uL2NlbGwtcmFuZ2VcIjtcbmltcG9ydCB7U2VsZWN0aW9uTW9kZSwgU2VsZWN0aW9uVHlwZX0gZnJvbSBcIi4vc2VsZWN0aW9uLnR5cGVcIjtcbmltcG9ydCB7U2VsZWN0aW9uTW9kZWxJZn0gZnJvbSBcIi4vc2VsZWN0aW9uLW1vZGVsLmlmXCI7XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25Nb2RlbCBpbXBsZW1lbnRzIFNlbGVjdGlvbk1vZGVsSWYge1xuXG4gIHByb3RlY3RlZCByYW5nZXM6IENlbGxSYW5nZVtdID0gW107XG4gIHByb3RlY3RlZCBuZWdhdGl2ZVJhbmdlczogQ2VsbFJhbmdlW10gPSBbXTtcbiAgcHJvdGVjdGVkIGFsbFNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNlbGVjdGlvblR5cGU6IFNlbGVjdGlvblR5cGUgPSAnbm9uZScsXG4gICAgcHVibGljIHNlbGVjdGlvbk1vZGU6IFNlbGVjdGlvbk1vZGUgPSAnc2luZ2xlJyxcbiAgKSB7XG4gIH1cblxuICBnZXRTZWxlY3Rpb25Db3VudChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBsZXQgY291bnQgPSAwO1xuICAgIGZvciAoY29uc3QgcmFuZ2Ugb2YgdGhpcy5yYW5nZXMpIHtcbiAgICAgIGlmIChyYW5nZS5pc0luUmFuZ2Uocm93SW5kZXgsIGNvbHVtbkluZGV4KSkge1xuICAgICAgICBjb3VudCsrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5hbGxTZWxlY3RlZCkge1xuICAgICAgY291bnQrKztcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNJbk5lZ2F0aXZlUmFuZ2Uocm93SW5kZXgsIGNvbHVtbkluZGV4KSkge1xuICAgICAgY291bnQgPSAwO1xuICAgIH1cbiAgICByZXR1cm4gY291bnQ7XG4gIH1cblxuICBpc0luTmVnYXRpdmVSYW5nZShyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgZm9yIChjb25zdCByYW5nZSBvZiB0aGlzLm5lZ2F0aXZlUmFuZ2VzKSB7XG4gICAgICBpZiAocmFuZ2UuaXNJblJhbmdlKHJvd0luZGV4LCBjb2x1bW5JbmRleCkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldFJhbmdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5yYW5nZXM7XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLnJhbmdlcyA9IFtdO1xuICAgIHRoaXMubmVnYXRpdmVSYW5nZXMgPSBbXTtcbiAgICB0aGlzLmFsbFNlbGVjdGVkID0gZmFsc2U7XG4gIH1cblxuICBoYXNTZWxlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5yYW5nZXMubGVuZ3RoO1xuICB9XG5cbiAgc2VsZWN0QWxsKCkge1xuICAgIHRoaXMuYWxsU2VsZWN0ZWQgPSB0cnVlO1xuICB9XG5cbiAgYWRkU2VsZWN0aW9uKHJhbmdlOiBDZWxsUmFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmFkZFJhbmdlKHJhbmdlKTtcbiAgfVxuXG4gIHJlbW92ZVNlbGVjdGlvbihyYW5nZTogQ2VsbFJhbmdlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ25vbmUnKSB7XG4gICAgICByZXR1cm47IC8vIHNraXAhXG4gICAgfVxuICAgIGxldCByID0gcmFuZ2U7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3JvdycpIHtcbiAgICAgIHIgPSBDZWxsUmFuZ2Uuc2luZ2xlUm93KHJhbmdlLnIxKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ2NvbHVtbicpIHtcbiAgICAgIHIgPSBDZWxsUmFuZ2Uuc2luZ2xlQ29sdW1uKHJhbmdlLmMxKTtcbiAgICB9XG4gICAgdGhpcy5uZWdhdGl2ZVJhbmdlcy5wdXNoKHIpO1xuICB9XG5cbiAgdG9nZ2xlUG9pbnQocm93OiBudW1iZXIsIGNvbDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZ2V0U2VsZWN0aW9uQ291bnQocm93LCBjb2wpID4gMCkge1xuICAgICAgdGhpcy5yZW1vdmVTZWxlY3Rpb24oQ2VsbFJhbmdlLnNpbmdsZUNlbGwocm93LCBjb2wpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hZGRTZWxlY3Rpb24oQ2VsbFJhbmdlLnNpbmdsZUNlbGwocm93LCBjb2wpKTtcbiAgICB9XG4gIH1cblxuXG4gIHByaXZhdGUgYWRkUmFuZ2UocmFuZ2U6IENlbGxSYW5nZSkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvblR5cGUgPT09ICdub25lJykge1xuICAgICAgcmV0dXJuOyAvLyBza2lwIVxuICAgIH1cbiAgICB0aGlzLmFsbFNlbGVjdGVkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMucmFuZ2VzID0gW107XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGlvblR5cGUgPT09ICdyb3cnKSB7XG4gICAgICByYW5nZS5jMSA9IDA7XG4gICAgICByYW5nZS5jMiA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3Rpb25UeXBlID09PSAnY29sdW1uJykge1xuICAgICAgcmFuZ2UucjEgPSAwO1xuICAgICAgcmFuZ2UucjIgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ2NlbGwnKSB7XG4gICAgICByYW5nZS5yMiA9IHJhbmdlLnIxO1xuICAgICAgcmFuZ2UuYzIgPSByYW5nZS5jMTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0aW9uVHlwZSA9PT0gJ3JhbmdlJykge1xuICAgICAgLy9cbiAgICB9XG4gICAgdGhpcy5yYW5nZXMucHVzaChyYW5nZSk7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,97 @@
1
+ import { CellRange } from "../data/common/cell-range";
2
+ export class SelectionService {
3
+ constructor(tableScope) {
4
+ this.tableScope = tableScope;
5
+ if (this.tableScope.tableOptions?.getSelectionModel) {
6
+ this.getSelectionModel = this.tableScope.tableOptions.getSelectionModel;
7
+ }
8
+ if (this.tableScope.tableOptions?.getFocusModel) {
9
+ this.getFocusModel = this.tableScope.tableOptions.getFocusModel;
10
+ }
11
+ }
12
+ onMouseClicked(evt, _previousEvt) {
13
+ let dirty = false;
14
+ let deletePreviousEvent = false;
15
+ if (this.getSelectionModel && this.getFocusModel) {
16
+ const sm = this.getSelectionModel();
17
+ const fm = this.getFocusModel();
18
+ if (sm && fm) {
19
+ // Focus:
20
+ if (!fm.hasFocus(evt.rowIndex, evt.columnIndex)) {
21
+ fm.setFocus(evt.rowIndex, evt.columnIndex);
22
+ dirty = true;
23
+ }
24
+ // Selection:
25
+ if (!evt.originalEvent?.shiftKey) {
26
+ if (sm.hasSelection()) {
27
+ sm.clear();
28
+ dirty = true;
29
+ }
30
+ }
31
+ if (evt.originalEvent?.shiftKey && this.previousEvt) {
32
+ sm.addSelection(this.createRangeByEvents(evt, this.previousEvt));
33
+ deletePreviousEvent = true;
34
+ dirty = true;
35
+ }
36
+ else if (evt.originalEvent?.ctrlKey || evt.originalEvent?.metaKey) {
37
+ sm.addSelection(CellRange.singleCell(evt.rowIndex, evt.columnIndex));
38
+ deletePreviousEvent = true;
39
+ dirty = true;
40
+ }
41
+ else if (evt.originalEvent?.altKey && (evt.originalEvent?.ctrlKey || evt.originalEvent?.metaKey)) {
42
+ sm.removeSelection(CellRange.singleCell(evt.rowIndex, evt.columnIndex));
43
+ deletePreviousEvent = true;
44
+ dirty = true;
45
+ }
46
+ }
47
+ }
48
+ if (deletePreviousEvent) {
49
+ this.previousEvt = undefined;
50
+ }
51
+ else {
52
+ this.previousEvt = evt?.clone();
53
+ }
54
+ return dirty;
55
+ }
56
+ onActionTriggered(actionId) {
57
+ if (this.getSelectionModel && this.getFocusModel) {
58
+ const sm = this.getSelectionModel();
59
+ const fm = this.getFocusModel();
60
+ if (sm && fm) {
61
+ if (actionId === 'SELECT_ALL') {
62
+ sm.selectAll();
63
+ this.tableScope.repaint();
64
+ return true;
65
+ }
66
+ if (actionId === 'DESELECT_ALL') {
67
+ sm.clear();
68
+ this.tableScope.repaint();
69
+ return true;
70
+ }
71
+ if (actionId === 'TOGGLE_SELECTION') {
72
+ const [row, col] = fm.getFocus();
73
+ sm.togglePoint(row, col);
74
+ this.tableScope.repaint();
75
+ return true;
76
+ }
77
+ }
78
+ }
79
+ return false;
80
+ }
81
+ createRangeByEvents(evt, previousEvt) {
82
+ if (!previousEvt) {
83
+ previousEvt = evt;
84
+ }
85
+ const r1 = Math.min(evt.rowIndex, previousEvt?.rowIndex);
86
+ const r2 = Math.max(evt.rowIndex, previousEvt?.rowIndex);
87
+ const c1 = Math.min(evt.columnIndex, previousEvt?.columnIndex);
88
+ const c2 = Math.max(evt.columnIndex, previousEvt?.columnIndex);
89
+ return CellRange.create({
90
+ rowIndex1: r1,
91
+ columnIndex1: c1,
92
+ rowIndex2: r2,
93
+ columnIndex2: c2
94
+ });
95
+ }
96
+ }
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvc2VsZWN0aW9uL3NlbGVjdGlvbi1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUtwRCxNQUFNLE9BQU8sZ0JBQWdCO0lBTzNCLFlBQ3FCLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFFekMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRTtZQUNuRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7U0FDekU7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRTtZQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFHRCxjQUFjLENBQUMsR0FBaUIsRUFBRSxZQUFzQztRQUN0RSxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFaEMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNwQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDaEMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUVaLFNBQVM7Z0JBQ1QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsV0FBVyxD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QUFPLEVBQUUsQ0FBQztvQkFDMUIsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBR08sbUJBQW1CLENBQUMsR0FBaUIsRUFBRSxXQUEwQjtRQUN2RSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLFdBQVcsR0FBRyxHQUFHLENBQUM7U0FDbkI7UUFDRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMvRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN0QixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxFQUFFO1lBQ2hCLFNBQVMsRUFBRSxFQUFFO1lBQ2IsWUFBWSxFQUFFLEVBQUU7U0FDakIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtHZU1vdXNlRXZlbnR9IGZyb20gXCIuLi9kYXRhL2NvbW1vbi9ldmVudC9nZS1tb3VzZS1ldmVudFwiO1xuaW1wb3J0IHtUYWJsZVNjb3BlfSBmcm9tIFwiLi4vdGFibGUtc2NvcGVcIjtcbmltcG9ydCB7R2V0VH0gZnJvbSBcIi4uL2RhdGEvY29tbW9uL2dldC10XCI7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsSWZ9IGZyb20gXCIuL3NlbGVjdGlvbi1tb2RlbC5pZlwiO1xuaW1wb3J0IHtGb2N1c01vZGVsSWZ9IGZyb20gXCIuLi9mb2N1cy9mb2N1cy1tb2RlbC5pZlwiO1xuaW1wb3J0IHtDZWxsUmFuZ2V9IGZyb20gXCIuLi9kYXRhL2NvbW1vbi9jZWxsLXJhbmdlXCI7XG5pbXBvcnQge09uQWN0aW9uVHJpZ2dlcmVkSWZ9IGZyb20gXCIuLi9hY3Rpb24vb24tYWN0aW9uLXRyaWdnZXJlZC5pZlwiO1xuaW1wb3J0IHtBY3Rpb25JZH0gZnJvbSBcIi4uL2FjdGlvbi9hY3Rpb24taWQudHlwZVwiO1xuXG5cbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25TZXJ2aWNlIGltcGxlbWVudHMgT25BY3Rpb25UcmlnZ2VyZWRJZiB7XG5cbiAgcHJvdGVjdGVkIGdldFNlbGVjdGlvbk1vZGVsPzogR2V0VDxTZWxlY3Rpb25Nb2RlbElmPjtcbiAgcHJvdGVjdGVkIGdldEZvY3VzTW9kZWw/OiBHZXRUPEZvY3VzTW9kZWxJZj47XG4gIHByb3RlY3RlZCBwcmV2aW91c0V2dD86IEdlTW91c2VFdmVudDtcblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSB0YWJsZVNjb3BlOiBUYWJsZVNjb3BlXG4gICkge1xuICAgIGlmICh0aGlzLnRhYmxlU2NvcGUudGFibGVPcHRpb25zPy5nZXRTZWxlY3Rpb25Nb2RlbCkge1xuICAgICAgdGhpcy5nZXRTZWxlY3Rpb25Nb2RlbCA9IHRoaXMudGFibGVTY29wZS50YWJsZU9wdGlvbnMuZ2V0U2VsZWN0aW9uTW9kZWw7XG4gICAgfVxuICAgIGlmICh0aGlzLnRhYmxlU2NvcGUudGFibGVPcHRpb25zPy5nZXRGb2N1c01vZGVsKSB7XG4gICAgICB0aGlzLmdldEZvY3VzTW9kZWwgPSB0aGlzLnRhYmxlU2NvcGUudGFibGVPcHRpb25zLmdldEZvY3VzTW9kZWw7XG4gICAgfVxuICB9XG5cblxuICBvbk1vdXNlQ2xpY2tlZChldnQ6IEdlTW91c2VFdmVudCwgX3ByZXZpb3VzRXZ0OiBHZU1vdXNlRXZlbnQgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICBsZXQgZGlydHkgPSBmYWxzZTtcbiAgICBsZXQgZGVsZXRlUHJldmlvdXNFdmVudCA9IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMuZ2V0U2VsZWN0aW9uTW9kZWwgJiYgdGhpcy5nZXRGb2N1c01vZGVsKSB7XG4gICAgICBjb25zdCBzbSA9IHRoaXMuZ2V0U2VsZWN0aW9uTW9kZWwoKTtcbiAgICAgIGNvbnN0IGZtID0gdGhpcy5nZXRGb2N1c01vZGVsKCk7XG4gICAgICBpZiAoc20gJiYgZm0pIHtcblxuICAgICAgICAvLyBGb2N1czpcbiAgICAgICAgaWYgKCFmbS5oYXNGb2N1cyhldnQucm93SW5kZXgsIGV2dC5jb2x1bW5JbmRleCkpIHtcbiAgICAgICAgICBmbS5zZXRGb2N1cyhldnQucm93SW5kZXgsIGV2dC5jb2x1bW5JbmRleCk7XG4gICAgICAgICAgZGlydHkgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VsZWN0aW9uOlxuICAgICAgICBpZiAoIWV2dC5vcmlnaW5hbEV2ZW50Py5zaGlmdEtleSkge1xuICAgICAgICAgIGlmIChzbS5oYXNTZWxlY3Rpb24oKSkge1xuICAgICAgICAgICAgc20uY2xlYXIoKTtcbiAgICAgICAgICAgIGRpcnR5ID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2dC5vcmlnaW5hbEV2ZW50Py5zaGlmdEtleSAmJiB0aGlzLnByZXZpb3VzRXZ0KSB7XG4gICAgICAgICAgc20uYWRkU2VsZWN0aW9uKHRoaXMuY3JlYXRlUmFuZ2VCeUV2ZW50cyhldnQsIHRoaXMucHJldmlvdXNFdnQpKTtcbiAgICAgICAgICBkZWxldGVQcmV2aW91c0V2ZW50ID0gdHJ1ZTtcbiAgICAgICAgICBkaXJ0eSA9IHRydWU7XG5cbiAgICAgICAgfSBlbHNlIGlmIChldnQub3JpZ2luYWxFdmVudD8uY3RybEtleSB8fCBldnQub3JpZ2luYWxFdmVudD8ubWV0YUtleSkge1xuICAgICAgICAgIHNtLmFkZFNlbGVjdGlvbihDZWxsUmFuZ2Uuc2luZ2xlQ2VsbChldnQucm93SW5kZXgsIGV2dC5jb2x1bW5JbmRleCkpO1xuICAgICAgICAgIGRlbGV0ZVByZXZpb3VzRXZlbnQgPSB0cnVlO1xuICAgICAgICAgIGRpcnR5ID0gdHJ1ZTtcblxuICAgICAgICB9IGVsc2UgaWYgKGV2dC5vcmlnaW5hbEV2ZW50Py5hbHRLZXkgJiYgKGV2dC5vcmlnaW5hbEV2ZW50Py5jdHJsS2V5IHx8IGV2dC5vcmlnaW5hbEV2ZW50Py5tZXRhS2V5KSkge1xuICAgICAgICAgIHNtLnJlbW92ZVNlbGVjdGlvbihDZWxsUmFuZ2Uuc2luZ2xlQ2VsbChldnQucm93SW5kZXgsIGV2dC5jb2x1bW5JbmRleCkpO1xuICAgICAgICAgIGRlbGV0ZVByZXZpb3VzRXZlbnQgPSB0cnVlO1xuICAgICAgICAgIGRpcnR5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZGVsZXRlUHJldmlvdXNFdmVudCkge1xuICAgICAgdGhpcy5wcmV2aW91c0V2dCA9IHVuZGVmaW5lZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcmV2aW91c0V2dCA9IGV2dD8uY2xvbmUoKTtcbiAgICB9XG4gICAgcmV0dXJuIGRpcnR5O1xuICB9XG5cbiAgb25BY3Rpb25UcmlnZ2VyZWQoYWN0aW9uSWQ6IEFjdGlvbklkKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZ2V0U2VsZWN0aW9uTW9kZWwgJiYgdGhpcy5nZXRGb2N1c01vZGVsKSB7XG4gICAgICBjb25zdCBzbSA9IHRoaXMuZ2V0U2VsZWN0aW9uTW9kZWwoKTtcbiAgICAgIGNvbnN0IGZtID0gdGhpcy5nZXRGb2N1c01vZGVsKCk7XG4gICAgICBpZiAoc20gJiYgZm0pIHtcbiAgICAgICAgaWYgKGFjdGlvbklkID09PSAnU0VMRUNUX0FMTCcpIHtcbiAgICAgICAgICBzbS5zZWxlY3RBbGwoKTtcbiAgICAgICAgICB0aGlzLnRhYmxlU2NvcGUucmVwYWludCgpO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhY3Rpb25JZCA9PT0gJ0RFU0VMRUNUX0FMTCcpIHtcbiAgICAgICAgICBzbS5jbGVhcigpO1xuICAgICAgICAgIHRoaXMudGFibGVTY29wZS5yZXBhaW50KCk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFjdGlvbklkID09PSAnVE9HR0xFX1NFTEVDVElPTicpIHtcbiAgICAgICAgICBjb25zdCBbcm93LCBjb2xdID0gZm0uZ2V0Rm9jdXMoKTtcbiAgICAgICAgICBzbS50b2dnbGVQb2ludChyb3csIGNvbCk7XG4gICAgICAgICAgdGhpcy50YWJsZVNjb3BlLnJlcGFpbnQoKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuXG4gIHByaXZhdGUgY3JlYXRlUmFuZ2VCeUV2ZW50cyhldnQ6IEdlTW91c2VFdmVudCwgcHJldmlvdXNFdnQ/OiBHZU1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXByZXZpb3VzRXZ0KSB7XG4gICAgICBwcmV2aW91c0V2dCA9IGV2dDtcbiAgICB9XG4gICAgY29uc3QgcjEgPSBNYXRoLm1pbihldnQucm93SW5kZXgsIHByZXZpb3VzRXZ0Py5yb3dJbmRleCk7XG4gICAgY29uc3QgcjIgPSBNYXRoLm1heChldnQucm93SW5kZXgsIHByZXZpb3VzRXZ0Py5yb3dJbmRleCk7XG4gICAgY29uc3QgYzEgPSBNYXRoLm1pbihldnQuY29sdW1uSW5kZXgsIHByZXZpb3VzRXZ0Py5jb2x1bW5JbmRleCk7XG4gICAgY29uc3QgYzIgPSBNYXRoLm1heChldnQuY29sdW1uSW5kZXgsIHByZXZpb3VzRXZ0Py5jb2x1bW5JbmRleCk7XG4gICAgcmV0dXJuIENlbGxSYW5nZS5jcmVhdGUoe1xuICAgICAgcm93SW5kZXgxOiByMSxcbiAgICAgIGNvbHVtbkluZGV4MTogYzEsXG4gICAgICByb3dJbmRleDI6IHIyLFxuICAgICAgY29sdW1uSW5kZXgyOiBjMlxuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvc2VsZWN0aW9uL3NlbGVjdGlvbi50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTZWxlY3Rpb25UeXBlID0gXCJub25lXCIgfCBcImNlbGxcIiB8IFwicm93XCIgfCBcImNvbHVtblwiIHwgXCJyYW5nZVwiO1xuZXhwb3J0IHR5cGUgU2VsZWN0aW9uTW9kZSA9IFwic2luZ2xlXCIgfCBcIm11bHRpXCI7XG5cblxuXG4iXX0=
@@ -0,0 +1,49 @@
1
+ export class AbstractStoreStateService {
2
+ constructor(fn) {
3
+ this.getStorageKeyFn = fn;
4
+ }
5
+ autoConvertMapToObject(item) {
6
+ const obj = {};
7
+ if (item instanceof Map) {
8
+ const map = item;
9
+ for (const item of [...map]) {
10
+ const [key, value] = item;
11
+ // @ts-ignore
12
+ obj[key] = value;
13
+ }
14
+ }
15
+ return obj;
16
+ }
17
+ checkAndPersistItem(keySuffix, item) {
18
+ const fn = this.getStorageKeyFn;
19
+ if (fn) {
20
+ const key = fn();
21
+ if (key) {
22
+ const subKey = key + keySuffix;
23
+ if ((item + '').includes('Map')) {
24
+ const obj = this.autoConvertMapToObject(item);
25
+ this.persistItem(subKey, obj);
26
+ }
27
+ else {
28
+ this.persistItem(subKey, item);
29
+ }
30
+ }
31
+ }
32
+ }
33
+ persistItem(subKey, item) {
34
+ if (item) {
35
+ localStorage.setItem(subKey, JSON.stringify(item));
36
+ }
37
+ else {
38
+ localStorage.removeItem(subKey);
39
+ }
40
+ }
41
+ loadFromLocalStorage(subKey) {
42
+ const item = localStorage.getItem(subKey);
43
+ if (item) {
44
+ return JSON.parse(item);
45
+ }
46
+ return null;
47
+ }
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtc3RvcmUtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9zZXJ2aWNlL2Fic3RyYWN0LXN0b3JlLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFnQix5QkFBeUI7SUFNN0MsWUFBWSxFQUErQjtRQUN6QyxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsc0JBQXNCLENBQUMsSUFBUztRQUM5QixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLElBQUksWUFBWSxHQUFHLEVBQUU7WUFDdkIsTUFBTSxHQUFHLEdBQUcsSUFBd0IsQ0FBQztZQUVyQyxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRTtnQkFDM0IsTUFBTSxDQUNKLEdBQUcsRUFDSCxLQUFLLENBQ04sR0FBRyxJQUFJLENBQUM7Z0JBQ1QsYUFBYTtnQkFDYixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQ2xCO1NBQ0Y7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFNUyxtQkFBbUIsQ0FBQyxTQUFpQixFQUFFLElBQVM7UUFDeEQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUNoQyxJQUFJLEVBQUUsRUFBRTtZQUNOLE1BQU0sR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLElBQUksR0FBRyxFQUFFO2dCQUNQLE1BQU0sTUFBTSxHQUFHLEdBQUcsR0FBRyxTQUFTLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUMvQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzlDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUMvQjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDaEM7YUFFRjtTQUNGO0lBQ0gsQ0FBQztJQUVTLFdBQVcsQ0FBQyxNQUFjLEVBQUUsSUFBcUI7UUFDekQsSUFBSSxJQUFJLEVBQUU7WUFDUixZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDcEQ7YUFBTTtZQUNMLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRVMsb0JBQW9CLENBQUksTUFBYztRQUM5QyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLElBQUksSUFBSSxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBTSxDQUFDO1NBQzlCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBdUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtHZXRTdG9yYWdlS2V5Rm59IGZyb20gXCIuLi9kYXRhL29wdGlvbnMvYXV0by1yZXN0b3JlLW9wdGlvbnMuaWZcIjtcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RTdG9yZVN0YXRlU2VydmljZSB7XG5cblxuICBwcm90ZWN0ZWQgZ2V0U3RvcmFnZUtleUZuPzogdW5kZWZpbmVkIHwgR2V0U3RvcmFnZUtleUZuO1xuXG5cbiAgY29uc3RydWN0b3IoZm46IEdldFN0b3JhZ2VLZXlGbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuZ2V0U3RvcmFnZUtleUZuID0gZm47XG4gIH1cblxuICBhdXRvQ29udmVydE1hcFRvT2JqZWN0KGl0ZW06IGFueSkge1xuICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgIGlmIChpdGVtIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICBjb25zdCBtYXAgPSBpdGVtIGFzIE1hcDxzdHJpbmcsIGFueT47XG5cbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBbLi4ubWFwXSkge1xuICAgICAgICBjb25zdCBbXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgIF0gPSBpdGVtO1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIG9ialtrZXldID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICAvLyBhYnN0cmFjdCBnZXRTdWJLZXkoKTogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBsb2FkKCk6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIGNoZWNrQW5kUGVyc2lzdEl0ZW0oa2V5U3VmZml4OiBzdHJpbmcsIGl0ZW06IGFueSkge1xuICAgIGNvbnN0IGZuID0gdGhpcy5nZXRTdG9yYWdlS2V5Rm47XG4gICAgaWYgKGZuKSB7XG4gICAgICBjb25zdCBrZXkgPSBmbigpO1xuICAgICAgaWYgKGtleSkge1xuICAgICAgICBjb25zdCBzdWJLZXkgPSBrZXkgKyBrZXlTdWZmaXg7XG4gICAgICAgIGlmICgoaXRlbSArICcnKS5pbmNsdWRlcygnTWFwJykpIHtcbiAgICAgICAgICBjb25zdCBvYmogPSB0aGlzLmF1dG9Db252ZXJ0TWFwVG9PYmplY3QoaXRlbSk7XG4gICAgICAgICAgdGhpcy5wZXJzaXN0SXRlbShzdWJLZXksIG9iaik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5wZXJzaXN0SXRlbShzdWJLZXksIGl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcGVyc2lzdEl0ZW0oc3ViS2V5OiBzdHJpbmcsIGl0ZW06IHN0cmluZyB8IG9iamVjdCkge1xuICAgIGlmIChpdGVtKSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShzdWJLZXksIEpTT04uc3RyaW5naWZ5KGl0ZW0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oc3ViS2V5KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbG9hZEZyb21Mb2NhbFN0b3JhZ2U8VT4oc3ViS2V5OiBzdHJpbmcpOiBVIHwgbnVsbCB7XG4gICAgY29uc3QgaXRlbSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHN1YktleSk7XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKGl0ZW0pIGFzIFU7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gcHJpdmF0ZSBsb2FkSXRlbXMoKSB7XG4gIC8vICAgY29uc3QgZm4gPSB0aGlzLmdldFN0b3JhZ2VLZXlGbjtcbiAgLy8gICBpZiAoZm4pIHtcbiAgLy8gICAgIGNvbnN0IGtleSA9IGZuKCk7XG4gIC8vICAgICBpZiAoa2V5KSB7XG4gIC8vICAgICAgIC8vIEEgbWFpbiBrZXkgaXMgZ2l2ZW4gYnkgZnVuY3Rpb24gZnJvbSBvcHRpb25zXG4gIC8vICAgICAgIGNvbnN0IHN1YktleSA9IGtleSArIHRoaXMuQ0hFQ0tFRF9TVEFURTtcbiAgLy8gICAgICAgY29uc3QgYXJyID0gdGhpcy5sb2FkRnJvbUxvY2FsU3RvcmFnZTxBcnJheTxzdHJpbmcgfCBudW1iZXI+PihzdWJLZXkpO1xuICAvLyAgICAgICBpZiAoYXJyKSB7XG4gIC8vICAgICAgICAgdGhpcy5jaGVja2VkU3RhdGVJZHMubGVuZ3RoID0gMDtcbiAgLy8gICAgICAgICBhcnIuZm9yRWFjaChhID0+IHRoaXMuY2hlY2tlZFN0YXRlSWRzLnB1c2goYSkpO1xuICAvLyAgICAgICB9XG4gIC8vXG4gIC8vICAgICAgIGNvbnN0IHN1YktleTIgPSBrZXkgKyB0aGlzLkNPTExBUFNFRF9FWFBBTkRFRF9TVEFURTtcbiAgLy8gICAgICAgY29uc3QgZGF0YSA9IHRoaXMubG9hZEZyb21Mb2NhbFN0b3JhZ2U8Q29sbGFwc2VkRXhwYW5kZWREYXRhPihzdWJLZXkyKTtcbiAgLy8gICAgICAgaWYgKGRhdGEpIHtcbiAgLy8gICAgICAgICB0aGlzLmNvbGxhcHNlZEV4cGFuZGVkU3RhdGUgPSBkYXRhO1xuICAvLyAgICAgICB9XG4gIC8vXG4gIC8vICAgICAgIGNvbnN0IHN1YktleTMgPSBrZXkgKyB0aGlzLlNFTEVDVEVEX1NUQVRFO1xuICAvLyAgICAgICBjb25zdCBhcnIzID0gdGhpcy5sb2FkRnJvbUxvY2FsU3RvcmFnZTxvYmplY3Q+KHN1YktleTMpO1xuICAvLyAgICAgICBpZiAoYXJyMykge1xuICAvLyAgICAgICAgIGNvbnN0IG1hcDogTWFwPHN0cmluZyB8IG51bWJlciwgc3RyaW5nW10+ID0gbmV3IE1hcChPYmplY3QuZW50cmllcyhhcnIzKSk7XG4gIC8vICAgICAgICAgaWYgKG1hcCkge1xuICAvLyAgICAgICAgICAgdGhpcy5zZWxlY3RlZFN0YXRlSWRzLmNsZWFyKCk7XG4gIC8vICAgICAgICAgICBtYXAuZm9yRWFjaCgoY29sLCBrKSA9PiB0aGlzLnNlbGVjdGVkU3RhdGVJZHMuc2V0KGssIGNvbCkpO1xuICAvLyAgICAgICAgIH1cbiAgLy8gICAgICAgfVxuICAvL1xuICAvLyAgICAgICBjb25zdCBzdWJLZXk0ID0ga2V5ICsgdGhpcy5TQ1JPTExfU1RBVEU7XG4gIC8vICAgICAgIGxldCBzY3JvbGxPZmZzZXQgPSB0aGlzLmxvYWRGcm9tTG9jYWxTdG9yYWdlPFtudW1iZXIsIG51bWJlcl0+KHN1YktleTQpO1xuICAvLyAgICAgICB0aGlzLnNjcm9sbE9mZnNldCA9IHNjcm9sbE9mZnNldCA/IHNjcm9sbE9mZnNldCA6IFswLCAwXTtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vIH1cblxuXG59XG4iXX0=