@guiexpert/table 0.0.1 → 1.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.
- package/.eslintrc.json +42 -0
- package/LICENSE +35 -0
- package/README.md +102 -0
- package/jest.config.ts +18 -0
- package/ng-package.json +7 -0
- package/package.json +9 -20
- package/project.json +47 -0
- package/src/index.ts +156 -0
- package/src/lib/table/action/action-id.type.ts +24 -0
- package/{lib/table/action/on-action-triggered.if.d.ts → src/lib/table/action/on-action-triggered.if.ts} +4 -1
- package/src/lib/table/action/osx-shortcut-actionId-mapping.ts +29 -0
- package/src/lib/table/action/shortcut-actionid-mapping.type.ts +3 -0
- package/src/lib/table/action/shortcut.service.ts +134 -0
- package/src/lib/table/action/windows-shortcut-actionId-mapping.ts +27 -0
- package/src/lib/table/checkbox/checkbox-model.if.ts +16 -0
- package/src/lib/table/checkbox/checkbox-model.ts +62 -0
- package/src/lib/table/checkbox/tree-checkbox-model.ts +123 -0
- package/src/lib/table/color/color-rgb.if.ts +7 -0
- package/src/lib/table/color/color-rgb.ts +10 -0
- package/src/lib/table/color/ge-css-color-util.ts +43 -0
- package/src/lib/table/color/three-color-gradient-arg.if.ts +10 -0
- package/src/lib/table/color/three-color-gradient-arg.ts +14 -0
- package/src/lib/table/color/two-color-gradient-arg.if.ts +8 -0
- package/src/lib/table/color/two-color-gradient-arg.ts +12 -0
- package/src/lib/table/css-vars.ts +243 -0
- package/src/lib/table/data/common/aligns.ts +19 -0
- package/src/lib/table/data/common/area-map-factory.ts +14 -0
- package/src/lib/table/data/common/area-map.ts +11 -0
- package/src/lib/table/data/common/area-map.type.ts +5 -0
- package/{lib/table/data/common/args-adjust-columns-to-row-parent-params.d.ts → src/lib/table/data/common/args-adjust-columns-to-row-parent-params.ts} +11 -10
- package/src/lib/table/data/common/args-render-cell-div.ts +18 -0
- package/src/lib/table/data/common/boolean-function.ts +4 -0
- package/src/lib/table/data/common/cell-range.ts +57 -0
- package/src/lib/table/data/common/checkbox-column-def.ts +25 -0
- package/src/lib/table/data/common/checked-type.ts +1 -0
- package/src/lib/table/data/common/event/ge-cell-indices.ts +9 -0
- package/src/lib/table/data/common/event/ge-key-event.ts +10 -0
- package/src/lib/table/data/common/event/ge-model-change-event.ts +13 -0
- package/src/lib/table/data/common/event/ge-mouse-event.ts +38 -0
- package/src/lib/table/data/common/event/input/table-cell-update-event.if.ts +10 -0
- package/src/lib/table/data/common/event/input/table-cell-update-event.ts +14 -0
- package/src/lib/table/data/common/filter-function.ts +1 -0
- package/src/lib/table/data/common/get-t.ts +1 -0
- package/src/lib/table/data/common/index-and-px.ts +9 -0
- package/src/lib/table/data/common/size.if.ts +4 -0
- package/src/lib/table/data/common/size.ts +9 -0
- package/src/lib/table/data/common/sizes.ts +35 -0
- package/src/lib/table/data/common/sort-item.ts +11 -0
- package/src/lib/table/data/common/sort-state.type.ts +1 -0
- package/src/lib/table/data/common/tree-arrow.type.ts +1 -0
- package/src/lib/table/data/common/tree-row-if.ts +11 -0
- package/src/lib/table/data/common/tree-row.ts +16 -0
- package/src/lib/table/data/common/value-label.if.ts +6 -0
- package/src/lib/table/data/common/value-label.ts +13 -0
- package/src/lib/table/data/div-scope.type.ts +5 -0
- package/src/lib/table/data/event/mouse-target-data.ts +45 -0
- package/src/lib/table/data/geo-data.ts +13 -0
- package/src/lib/table/data/options/auto-restore-options.if.ts +21 -0
- package/src/lib/table/data/options/auto-restore-options.ts +50 -0
- package/src/lib/table/data/options/default-row-heights.if.ts +5 -0
- package/src/lib/table/data/options/default-row-heights.ts +10 -0
- package/src/lib/table/data/options/icon.if.ts +7 -0
- package/src/lib/table/data/options/icon.ts +10 -0
- package/{lib/table/data/options/sorted-options.if.d.ts → src/lib/table/data/options/sorted-options.if.ts} +6 -3
- package/src/lib/table/data/options/sorted-options.ts +15 -0
- package/src/lib/table/data/options/table-options.if.ts +54 -0
- package/src/lib/table/data/options/table-options.ts +66 -0
- package/src/lib/table/data/options/tree-options.if.ts +10 -0
- package/src/lib/table/data/options/tree-options.ts +32 -0
- package/src/lib/table/data/side-ident.type.ts +1 -0
- package/src/lib/table/data/table-model-and-options.if.ts +8 -0
- package/src/lib/table/data/table-model-and-options.ts +13 -0
- package/src/lib/table/data/tablemodel/area-ident.type.ts +18 -0
- package/src/lib/table/data/tablemodel/areamodel/abstract-area-model.ts +183 -0
- package/src/lib/table/data/tablemodel/areamodel/area-model-array-of-arrays.ts +59 -0
- package/src/lib/table/data/tablemodel/areamodel/area-model-cell-groups.ts +210 -0
- package/src/lib/table/data/tablemodel/areamodel/area-model-hidden.ts +120 -0
- package/src/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.ts +23 -0
- package/src/lib/table/data/tablemodel/areamodel/area-model-object-array.ts +105 -0
- package/src/lib/table/data/tablemodel/areamodel/area-model-tree.ts +215 -0
- package/src/lib/table/data/tablemodel/areamodel/area-model.if.ts +186 -0
- package/src/lib/table/data/tablemodel/areamodel/area-model.ts +110 -0
- package/src/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.ts +61 -0
- package/src/lib/table/data/tablemodel/areamodel/has-default-row-height-if.ts +3 -0
- package/src/lib/table/data/tablemodel/cellgroup/cell-group-ext.ts +167 -0
- package/src/lib/table/data/tablemodel/cellgroup/cell-group.if.ts +12 -0
- package/src/lib/table/data/tablemodel/cellgroup/cell-group.ts +18 -0
- package/src/lib/table/data/tablemodel/cellgroup/cellgroup-factory.ts +148 -0
- package/src/lib/table/data/tablemodel/column/column-def.if.ts +28 -0
- package/src/lib/table/data/tablemodel/column/column-def.ts +104 -0
- package/src/lib/table/data/tablemodel/padding.ts +9 -0
- package/src/lib/table/data/tablemodel/table-model.if.ts +90 -0
- package/src/lib/table/data/tablemodel/table-model.ts +352 -0
- package/src/lib/table/ele-scope.ts +283 -0
- package/src/lib/table/event-adapter.ts +28 -0
- package/src/lib/table/event-listener.if.ts +19 -0
- package/src/lib/table/factory/table-factory.ts +378 -0
- package/src/lib/table/factory/tree-factory.ts +51 -0
- package/src/lib/table/focus/focus-model.if.ts +14 -0
- package/src/lib/table/focus/focus-model.ts +48 -0
- package/src/lib/table/focus/focus.type.ts +4 -0
- package/src/lib/table/input-handler.ts +34 -0
- package/src/lib/table/mouse-handler.ts +237 -0
- package/src/lib/table/render-scope.ts +936 -0
- package/src/lib/table/renderer/cell-group-ext-cell-renderer.ts +27 -0
- package/{lib/table/renderer/cell-render.if.d.ts → src/lib/table/renderer/cell-render.if.ts} +10 -1
- package/src/lib/table/renderer/checkbox-boolean-property-cell-renderer.ts +58 -0
- package/src/lib/table/renderer/checkbox-cell-renderer.ts +39 -0
- package/src/lib/table/renderer/date-to-int-date-cell-renderer.ts +34 -0
- package/src/lib/table/renderer/date-to-iso-cell-renderer.ts +25 -0
- package/src/lib/table/renderer/date-to-locale-date-cell-renderer.ts +24 -0
- package/src/lib/table/renderer/date-to-tec-cell-renderer.ts +28 -0
- package/src/lib/table/renderer/edit/edit-cell-renderer.type.ts +3 -0
- package/src/lib/table/renderer/edit/edit-input-pipe-for-number.ts +6 -0
- package/src/lib/table/renderer/edit/edit-input-pipe.if.ts +7 -0
- package/src/lib/table/renderer/edit/input-cell-renderer.ts +41 -0
- package/src/lib/table/renderer/edit/select-cell-renderer.ts +60 -0
- package/src/lib/table/renderer/male-female-to-icon-cell-renderer.ts +26 -0
- package/src/lib/table/renderer/number-cell-renderer.ts +38 -0
- package/src/lib/table/renderer/renderer-cleanup-fn.type.ts +1 -0
- package/src/lib/table/renderer/renderer.ts +11 -0
- package/src/lib/table/renderer/true-false-cell-renderer.ts +28 -0
- package/src/lib/table/selection/selection-model.if.ts +20 -0
- package/src/lib/table/selection/selection-model.ts +109 -0
- package/src/lib/table/selection/selection-service.ts +120 -0
- package/src/lib/table/selection/selection.type.ts +5 -0
- package/src/lib/table/service/abstract-store-state.service.ts +105 -0
- package/src/lib/table/service/convenience-dom.service.ts +548 -0
- package/src/lib/table/service/data/collapsed-expanded.data.ts +11 -0
- package/src/lib/table/service/data/html-style.type.ts +1 -0
- package/src/lib/table/service/dom-service.if.ts +16 -0
- package/src/lib/table/service/ge-filter.service.ts +123 -0
- package/src/lib/table/service/simple-dom-service.ts +46 -0
- package/src/lib/table/service/sorter.service.ts +30 -0
- package/src/lib/table/service/store-state-collapsed-expand.service.ts +76 -0
- package/src/lib/table/service/store-state-scroll-pos.service.ts +40 -0
- package/src/lib/table/service/store-state-sorting.service.ts +41 -0
- package/src/lib/table/service/tree-row.service.ts +31 -0
- package/src/lib/table/table-api.ts +61 -0
- package/src/lib/table/table-scope.ts +433 -0
- package/src/test-setup.ts +1 -0
- package/tsconfig.json +22 -0
- package/tsconfig.lib.json +19 -0
- package/tsconfig.lib.prod.json +7 -0
- package/tsconfig.spec.json +20 -0
- package/esm2020/guiexpert-table.mjs +0 -5
- package/esm2020/index.mjs +0 -102
- package/esm2020/lib/table/action/action-id.type.mjs +0 -20
- package/esm2020/lib/table/action/on-action-triggered.if.mjs +0 -2
- package/esm2020/lib/table/action/osx-shortcut-actionId-mapping.mjs +0 -17
- package/esm2020/lib/table/action/shortcut-actionid-mapping.type.mjs +0 -2
- package/esm2020/lib/table/action/shortcut.service.mjs +0 -105
- package/esm2020/lib/table/action/windows-shortcut-actionId-mapping.mjs +0 -15
- package/esm2020/lib/table/checkbox/checkbox-model.if.mjs +0 -2
- package/esm2020/lib/table/checkbox/checkbox-model.mjs +0 -52
- package/esm2020/lib/table/checkbox/tree-checkbox-model.mjs +0 -106
- package/esm2020/lib/table/data/common/aligns.mjs +0 -19
- package/esm2020/lib/table/data/common/area-map-factory.mjs +0 -7
- package/esm2020/lib/table/data/common/area-map.mjs +0 -8
- package/esm2020/lib/table/data/common/area-map.type.mjs +0 -2
- package/esm2020/lib/table/data/common/args-adjust-columns-to-row-parent-params.mjs +0 -2
- package/esm2020/lib/table/data/common/args-render-cell-div.mjs +0 -2
- package/esm2020/lib/table/data/common/boolean-function.mjs +0 -3
- package/esm2020/lib/table/data/common/cell-range.mjs +0 -27
- package/esm2020/lib/table/data/common/checkbox-column.mjs +0 -15
- package/esm2020/lib/table/data/common/checked-type.mjs +0 -2
- package/esm2020/lib/table/data/common/event/ge-cell-indices.mjs +0 -7
- package/esm2020/lib/table/data/common/event/ge-key-event.mjs +0 -7
- package/esm2020/lib/table/data/common/event/ge-model-change-event.mjs +0 -10
- package/esm2020/lib/table/data/common/event/ge-mouse-event.mjs +0 -19
- package/esm2020/lib/table/data/common/filter-function.mjs +0 -2
- package/esm2020/lib/table/data/common/get-t.mjs +0 -2
- package/esm2020/lib/table/data/common/index-and-px.mjs +0 -7
- package/esm2020/lib/table/data/common/size.if.mjs +0 -2
- package/esm2020/lib/table/data/common/size.mjs +0 -7
- package/esm2020/lib/table/data/common/sizes.mjs +0 -33
- package/esm2020/lib/table/data/common/sort-item.mjs +0 -7
- package/esm2020/lib/table/data/common/sort-state.type.mjs +0 -2
- package/esm2020/lib/table/data/common/tree-arrow.type.mjs +0 -2
- package/esm2020/lib/table/data/common/tree-row-if.mjs +0 -2
- package/esm2020/lib/table/data/common/tree-row.mjs +0 -12
- package/esm2020/lib/table/data/common/value-label.if.mjs +0 -2
- package/esm2020/lib/table/data/common/value-label.mjs +0 -7
- package/esm2020/lib/table/data/div-scope.type.mjs +0 -2
- package/esm2020/lib/table/data/geo-data.mjs +0 -10
- package/esm2020/lib/table/data/options/auto-restore-options.if.mjs +0 -2
- package/esm2020/lib/table/data/options/auto-restore-options.mjs +0 -42
- package/esm2020/lib/table/data/options/default-row-heights.if.mjs +0 -2
- package/esm2020/lib/table/data/options/default-row-heights.mjs +0 -8
- package/esm2020/lib/table/data/options/icon.if.mjs +0 -2
- package/esm2020/lib/table/data/options/icon.mjs +0 -8
- package/esm2020/lib/table/data/options/sorted-options.if.mjs +0 -2
- package/esm2020/lib/table/data/options/sorted-options.mjs +0 -9
- package/esm2020/lib/table/data/options/table-options.if.mjs +0 -2
- package/esm2020/lib/table/data/options/table-options.mjs +0 -38
- package/esm2020/lib/table/data/options/tree-options.if.mjs +0 -2
- package/esm2020/lib/table/data/options/tree-options.mjs +0 -10
- package/esm2020/lib/table/data/side-ident.type.mjs +0 -2
- package/esm2020/lib/table/data/tablemodel/area-ident.type.mjs +0 -10
- package/esm2020/lib/table/data/tablemodel/areamodel/abstract-area-model.mjs +0 -108
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-array-array.mjs +0 -34
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-hidden.mjs +0 -76
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.mjs +0 -11
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-object-array.mjs +0 -79
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model-tree.mjs +0 -166
- package/esm2020/lib/table/data/tablemodel/areamodel/area-model.if.mjs +0 -2
- package/esm2020/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.mjs +0 -48
- package/esm2020/lib/table/data/tablemodel/column/column-def.if.mjs +0 -2
- package/esm2020/lib/table/data/tablemodel/column/column-def.mjs +0 -32
- package/esm2020/lib/table/data/tablemodel/padding.mjs +0 -9
- package/esm2020/lib/table/data/tablemodel/table-model.if.mjs +0 -2
- package/esm2020/lib/table/data/tablemodel/table-model.mjs +0 -262
- package/esm2020/lib/table/ele-scope.mjs +0 -173
- package/esm2020/lib/table/event-listener.if.mjs +0 -2
- package/esm2020/lib/table/focus/focus-model.if.mjs +0 -2
- package/esm2020/lib/table/focus/focus-model.mjs +0 -22
- package/esm2020/lib/table/focus/focus.type.mjs +0 -2
- package/esm2020/lib/table/input-handler.mjs +0 -24
- package/esm2020/lib/table/mouse-handler.mjs +0 -197
- package/esm2020/lib/table/render-scope.mjs +0 -575
- package/esm2020/lib/table/renderer/cell-render.if.mjs +0 -2
- package/esm2020/lib/table/renderer/checkbox-cell-renderer.mjs +0 -22
- package/esm2020/lib/table/renderer/date-to-int-date-cell-renderer.mjs +0 -21
- package/esm2020/lib/table/renderer/date-to-iso-cell-renderer.mjs +0 -9
- package/esm2020/lib/table/renderer/date-to-locale-date-cell-renderer.mjs +0 -9
- package/esm2020/lib/table/renderer/edit/edit-cell-renderer.type.mjs +0 -2
- package/esm2020/lib/table/renderer/edit/input-cell-renderer.mjs +0 -23
- package/esm2020/lib/table/renderer/edit/select-cell-renderer.mjs +0 -35
- package/esm2020/lib/table/renderer/male-female-to-icon-cell-renderer.mjs +0 -12
- package/esm2020/lib/table/renderer/number-cell-renderer.mjs +0 -19
- package/esm2020/lib/table/renderer/renderer-cleanup-fn.type.mjs +0 -2
- package/esm2020/lib/table/renderer/renderer.mjs +0 -7
- package/esm2020/lib/table/selection/selection-model.if.mjs +0 -2
- package/esm2020/lib/table/selection/selection-model.mjs +0 -97
- package/esm2020/lib/table/selection/selection-service.mjs +0 -97
- package/esm2020/lib/table/selection/selection.type.mjs +0 -2
- package/esm2020/lib/table/service/abstract-store-state.service.mjs +0 -49
- package/esm2020/lib/table/service/convenience-dom.service.mjs +0 -386
- package/esm2020/lib/table/service/data/collapsed-expanded.data.mjs +0 -9
- package/esm2020/lib/table/service/data/html-style.type.mjs +0 -2
- package/esm2020/lib/table/service/dom-service.if.mjs +0 -2
- package/esm2020/lib/table/service/ge-filter.service.mjs +0 -98
- package/esm2020/lib/table/service/sorter.service.mjs +0 -27
- package/esm2020/lib/table/service/store-state-collapsed-expand.service.mjs +0 -57
- package/esm2020/lib/table/service/store-state-scroll-pos.service.mjs +0 -29
- package/esm2020/lib/table/service/store-state-sorting.service.mjs +0 -29
- package/esm2020/lib/table/service/tree-row.service.mjs +0 -23
- package/esm2020/lib/table/table-api.mjs +0 -38
- package/esm2020/lib/table/table-model-factory.mjs +0 -125
- package/esm2020/lib/table/table-scope.mjs +0 -307
- package/index.d.ts +0 -103
- package/lib/table/action/action-id.type.d.ts +0 -2
- package/lib/table/action/osx-shortcut-actionId-mapping.d.ts +0 -6
- package/lib/table/action/shortcut-actionid-mapping.type.d.ts +0 -4
- package/lib/table/action/shortcut.service.d.ts +0 -17
- package/lib/table/action/windows-shortcut-actionId-mapping.d.ts +0 -6
- package/lib/table/checkbox/checkbox-model.d.ts +0 -12
- package/lib/table/checkbox/checkbox-model.if.d.ts +0 -9
- package/lib/table/checkbox/tree-checkbox-model.d.ts +0 -17
- package/lib/table/data/common/aligns.d.ts +0 -24
- package/lib/table/data/common/area-map-factory.d.ts +0 -5
- package/lib/table/data/common/area-map.d.ts +0 -7
- package/lib/table/data/common/area-map.type.d.ts +0 -5
- package/lib/table/data/common/args-render-cell-div.d.ts +0 -13
- package/lib/table/data/common/boolean-function.d.ts +0 -3
- package/lib/table/data/common/cell-range.d.ts +0 -17
- package/lib/table/data/common/checkbox-column.d.ts +0 -13
- package/lib/table/data/common/checked-type.d.ts +0 -1
- package/lib/table/data/common/event/ge-cell-indices.d.ts +0 -5
- package/lib/table/data/common/event/ge-key-event.d.ts +0 -5
- package/lib/table/data/common/event/ge-model-change-event.d.ts +0 -6
- package/lib/table/data/common/event/ge-mouse-event.d.ts +0 -17
- package/lib/table/data/common/filter-function.d.ts +0 -1
- package/lib/table/data/common/get-t.d.ts +0 -1
- package/lib/table/data/common/index-and-px.d.ts +0 -5
- package/lib/table/data/common/size.d.ts +0 -6
- package/lib/table/data/common/size.if.d.ts +0 -4
- package/lib/table/data/common/sizes.d.ts +0 -32
- package/lib/table/data/common/sort-item.d.ts +0 -6
- package/lib/table/data/common/sort-state.type.d.ts +0 -1
- package/lib/table/data/common/tree-arrow.type.d.ts +0 -1
- package/lib/table/data/common/tree-row-if.d.ts +0 -10
- package/lib/table/data/common/tree-row.d.ts +0 -11
- package/lib/table/data/common/value-label.d.ts +0 -6
- package/lib/table/data/common/value-label.if.d.ts +0 -4
- package/lib/table/data/div-scope.type.d.ts +0 -7
- package/lib/table/data/geo-data.d.ts +0 -8
- package/lib/table/data/options/auto-restore-options.d.ts +0 -11
- package/lib/table/data/options/auto-restore-options.if.d.ts +0 -13
- package/lib/table/data/options/default-row-heights.d.ts +0 -7
- package/lib/table/data/options/default-row-heights.if.d.ts +0 -5
- package/lib/table/data/options/icon.d.ts +0 -7
- package/lib/table/data/options/icon.if.d.ts +0 -5
- package/lib/table/data/options/sorted-options.d.ts +0 -8
- package/lib/table/data/options/table-options.d.ts +0 -36
- package/lib/table/data/options/table-options.if.d.ts +0 -37
- package/lib/table/data/options/tree-options.d.ts +0 -9
- package/lib/table/data/options/tree-options.if.d.ts +0 -7
- package/lib/table/data/side-ident.type.d.ts +0 -1
- package/lib/table/data/tablemodel/area-ident.type.d.ts +0 -2
- package/lib/table/data/tablemodel/areamodel/abstract-area-model.d.ts +0 -43
- package/lib/table/data/tablemodel/areamodel/area-model-array-array.d.ts +0 -18
- package/lib/table/data/tablemodel/areamodel/area-model-hidden.d.ts +0 -32
- package/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.d.ts +0 -10
- package/lib/table/data/tablemodel/areamodel/area-model-object-array.d.ts +0 -27
- package/lib/table/data/tablemodel/areamodel/area-model-tree.d.ts +0 -39
- package/lib/table/data/tablemodel/areamodel/area-model.if.d.ts +0 -33
- package/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.d.ts +0 -12
- package/lib/table/data/tablemodel/column/column-def.d.ts +0 -46
- package/lib/table/data/tablemodel/column/column-def.if.d.ts +0 -22
- package/lib/table/data/tablemodel/padding.d.ts +0 -7
- package/lib/table/data/tablemodel/table-model.d.ts +0 -60
- package/lib/table/data/tablemodel/table-model.if.d.ts +0 -34
- package/lib/table/ele-scope.d.ts +0 -37
- package/lib/table/event-listener.if.d.ts +0 -11
- package/lib/table/focus/focus-model.d.ts +0 -12
- package/lib/table/focus/focus-model.if.d.ts +0 -6
- package/lib/table/focus/focus.type.d.ts +0 -1
- package/lib/table/input-handler.d.ts +0 -6
- package/lib/table/mouse-handler.d.ts +0 -27
- package/lib/table/render-scope.d.ts +0 -77
- package/lib/table/renderer/checkbox-cell-renderer.d.ts +0 -8
- package/lib/table/renderer/date-to-int-date-cell-renderer.d.ts +0 -9
- package/lib/table/renderer/date-to-iso-cell-renderer.d.ts +0 -8
- package/lib/table/renderer/date-to-locale-date-cell-renderer.d.ts +0 -8
- package/lib/table/renderer/edit/edit-cell-renderer.type.d.ts +0 -2
- package/lib/table/renderer/edit/input-cell-renderer.d.ts +0 -8
- package/lib/table/renderer/edit/select-cell-renderer.d.ts +0 -12
- package/lib/table/renderer/male-female-to-icon-cell-renderer.d.ts +0 -8
- package/lib/table/renderer/number-cell-renderer.d.ts +0 -11
- package/lib/table/renderer/renderer-cleanup-fn.type.d.ts +0 -1
- package/lib/table/renderer/renderer.d.ts +0 -5
- package/lib/table/selection/selection-model.d.ts +0 -21
- package/lib/table/selection/selection-model.if.d.ts +0 -11
- package/lib/table/selection/selection-service.d.ts +0 -17
- package/lib/table/selection/selection.type.d.ts +0 -2
- package/lib/table/service/abstract-store-state.service.d.ts +0 -10
- package/lib/table/service/convenience-dom.service.d.ts +0 -44
- package/lib/table/service/data/collapsed-expanded.data.d.ts +0 -7
- package/lib/table/service/data/html-style.type.d.ts +0 -3
- package/lib/table/service/dom-service.if.d.ts +0 -9
- package/lib/table/service/ge-filter.service.d.ts +0 -5
- package/lib/table/service/sorter.service.d.ts +0 -3
- package/lib/table/service/store-state-collapsed-expand.service.d.ts +0 -15
- package/lib/table/service/store-state-scroll-pos.service.d.ts +0 -10
- package/lib/table/service/store-state-sorting.service.d.ts +0 -11
- package/lib/table/service/tree-row.service.d.ts +0 -5
- package/lib/table/table-api.d.ts +0 -16
- package/lib/table/table-model-factory.d.ts +0 -61
- package/lib/table/table-scope.d.ts +0 -55
|
@@ -1,166 +0,0 @@
|
|
|
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
|
-
constructor(areaIdent, rows, defaultRowHeight = 40, columnDefs = []) {
|
|
6
|
-
super(areaIdent, columnDefs, defaultRowHeight);
|
|
7
|
-
this.areaIdent = areaIdent;
|
|
8
|
-
this.rows = rows;
|
|
9
|
-
this.defaultRowHeight = defaultRowHeight;
|
|
10
|
-
this.columnDefs = columnDefs;
|
|
11
|
-
this.sorterService = new SorterService();
|
|
12
|
-
this.service = new TreeRowService();
|
|
13
|
-
this.properties = columnDefs.map(def => def.property);
|
|
14
|
-
this.flattenRows = this.service.flattenTree(rows);
|
|
15
|
-
this.filteredFlattenRows = [...this.flattenRows];
|
|
16
|
-
}
|
|
17
|
-
changeColumnOrder(sourceColumnIndex, targetColumnIndex) {
|
|
18
|
-
// not this! this.arrayMove(this.columnDefs...)
|
|
19
|
-
this.arrayMove(this.properties, sourceColumnIndex, targetColumnIndex);
|
|
20
|
-
super.changeColumnOrder(sourceColumnIndex, targetColumnIndex);
|
|
21
|
-
}
|
|
22
|
-
recalcVisibleTreeRows() {
|
|
23
|
-
this.filteredFlattenRows = this.service.flattenTree(this.rows);
|
|
24
|
-
}
|
|
25
|
-
getFilteredFlattenRows() {
|
|
26
|
-
return this.filteredFlattenRows;
|
|
27
|
-
}
|
|
28
|
-
getRowCount() {
|
|
29
|
-
let n = 0;
|
|
30
|
-
for (const r of this.filteredFlattenRows) {
|
|
31
|
-
if (this.service.isVisible(r)) {
|
|
32
|
-
n++;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return n;
|
|
36
|
-
}
|
|
37
|
-
getValueAt(rowIndex, columnIndex) {
|
|
38
|
-
const row = this.getRowByIndex(rowIndex);
|
|
39
|
-
if (row) {
|
|
40
|
-
const prop = this.properties[columnIndex];
|
|
41
|
-
if (prop) {
|
|
42
|
-
if (prop.includes('.')) {
|
|
43
|
-
return this.getPropertyValue(row.data, prop.split('.'));
|
|
44
|
-
}
|
|
45
|
-
// @ts-ignore
|
|
46
|
-
return row.data[prop];
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return '';
|
|
50
|
-
}
|
|
51
|
-
getRowHeight(rowIndex) {
|
|
52
|
-
return this.defaultRowHeight;
|
|
53
|
-
}
|
|
54
|
-
getCustomClassesAt(rowIndex, columnIndex) {
|
|
55
|
-
const row = this.filteredFlattenRows[rowIndex];
|
|
56
|
-
return ['ge-table-tree-cell', 'ge-table-tree-deep-' + row.deep];
|
|
57
|
-
}
|
|
58
|
-
getRowByIndex(idx) {
|
|
59
|
-
return this.filteredFlattenRows[idx];
|
|
60
|
-
}
|
|
61
|
-
getValueByT(t, property) {
|
|
62
|
-
if (property.includes('.')) {
|
|
63
|
-
return this.getPropertyValue(t, property.split('.'));
|
|
64
|
-
}
|
|
65
|
-
// @ts-ignore
|
|
66
|
-
return t[property];
|
|
67
|
-
}
|
|
68
|
-
externalFilterChanged(predictFn) {
|
|
69
|
-
this.lastPredictFn = predictFn;
|
|
70
|
-
this.doFiltering();
|
|
71
|
-
}
|
|
72
|
-
doSort(sortItems) {
|
|
73
|
-
const { columnIndex, sortState } = sortItems[sortItems.length - 1];
|
|
74
|
-
const f = sortState === 'asc' ? 1 :
|
|
75
|
-
sortState === 'desc' ? -1 : 0;
|
|
76
|
-
const property = this.properties[columnIndex];
|
|
77
|
-
this.treeSort(this.rows, property, f);
|
|
78
|
-
this.flattenRows = this.service.flattenTree(this.rows);
|
|
79
|
-
this.filteredFlattenRows = [...this.flattenRows];
|
|
80
|
-
return true;
|
|
81
|
-
}
|
|
82
|
-
toggleExpandCollapseAll(expanded) {
|
|
83
|
-
this.expandAllRecursive(this.rows, expanded);
|
|
84
|
-
this.flattenRows = this.service.flattenTree(this.rows);
|
|
85
|
-
this.doFiltering();
|
|
86
|
-
}
|
|
87
|
-
setAllParentsOk(item) {
|
|
88
|
-
if (item.parent) {
|
|
89
|
-
item.parent.keep = true;
|
|
90
|
-
this.setAllParentsOk(item.parent);
|
|
91
|
-
}
|
|
92
|
-
return false;
|
|
93
|
-
}
|
|
94
|
-
setValue(rowIndex, columnIndex, value) {
|
|
95
|
-
const treeRow = this.getRowByIndex(rowIndex);
|
|
96
|
-
if (treeRow) {
|
|
97
|
-
const row = treeRow.data;
|
|
98
|
-
const property = this.columnDefs[columnIndex].property;
|
|
99
|
-
// @ts-ignore
|
|
100
|
-
row[property] = value;
|
|
101
|
-
return true;
|
|
102
|
-
}
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
|
-
genericTreeTableSortComparator(property, f) {
|
|
106
|
-
return (a, b) => {
|
|
107
|
-
const va = this.getValueByT(a.data, property);
|
|
108
|
-
const vb = this.getValueByT(b.data, property);
|
|
109
|
-
return this.sorterService.genericSortComparator(va, vb, f);
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
expandAllRecursive(arr, expanded) {
|
|
113
|
-
for (const row of arr) {
|
|
114
|
-
row.expanded = expanded;
|
|
115
|
-
if (row.children) {
|
|
116
|
-
this.expandAllRecursive(row.children, expanded);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
doFiltering() {
|
|
121
|
-
if (!this.lastPredictFn) {
|
|
122
|
-
this.filteredFlattenRows = [...(this.flattenRows ? this.flattenRows : [])];
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
if (!this.flattenRows) {
|
|
126
|
-
this.flattenRows = [];
|
|
127
|
-
}
|
|
128
|
-
let maxDeep = 0;
|
|
129
|
-
this.flattenRows.forEach(v => {
|
|
130
|
-
maxDeep = Math.max(maxDeep, v.deep);
|
|
131
|
-
});
|
|
132
|
-
const okRows = this.flattenRows.filter((value, index, array) => {
|
|
133
|
-
// @ts-ignore
|
|
134
|
-
return this.lastPredictFn(value, index, array);
|
|
135
|
-
});
|
|
136
|
-
this.flattenRows.forEach(v => v.keep = false);
|
|
137
|
-
this.flattenRows.forEach(v => {
|
|
138
|
-
if (okRows.includes(v)) {
|
|
139
|
-
v.keep = true;
|
|
140
|
-
this.setAllParentsOk(v);
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
this.filteredFlattenRows = this.flattenRows.filter((value, index, array) => {
|
|
144
|
-
return value.keep;
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
getPropertyValue(o, props) {
|
|
149
|
-
const prop = props.shift();
|
|
150
|
-
// @ts-ignore
|
|
151
|
-
let o2 = o[prop];
|
|
152
|
-
if (o2 && props.length) {
|
|
153
|
-
return this.getPropertyValue(o2, props);
|
|
154
|
-
}
|
|
155
|
-
return o2;
|
|
156
|
-
}
|
|
157
|
-
treeSort(rows, property, f) {
|
|
158
|
-
rows.sort(this.genericTreeTableSortComparator(property, f));
|
|
159
|
-
for (const row of rows) {
|
|
160
|
-
if (row.children) {
|
|
161
|
-
this.treeSort(row.children, property, f);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS1tb2RlbC10cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvYXJlYS1tb2RlbC10cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUl4RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFHOUQsTUFBTSxPQUFPLGFBQWlCLFNBQVEsaUJBQTZCO0lBVWpFLFlBQ3FCLFNBQW9CLEVBQ3ZCLElBQWtCLEVBQzNCLG1CQUEyQixFQUFFLEVBQ2pCLGFBQTRCLEVBQUU7UUFFakQsS0FBSyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUw1QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3ZCLFNBQUksR0FBSixJQUFJLENBQWM7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFhO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBWHpDLGtCQUFhLEdBQWtCLElBQUksYUFBYSxFQUFFLENBQUM7UUFFNUMsWUFBTyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFZOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVRLGlCQUFpQixDQUFDLGlCQUF5QixFQUFFLGlCQUF5QjtRQUM3RSxnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDdEUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUN4QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM3QixDQUFDLEVBQUUsQ0FBQzthQUNMO1NBQ0Y7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBZ0IsRUFBRSxXQUFtQjtRQUM5QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLElBQUksR0FBRyxFQUFFO1lBQ1AsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMxQyxJQUFJLElBQUksRUFBRTtnQkFDUixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3RCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUN6RDtnQkFDRCxhQUFhO2dCQUNiLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN2QjtTQUNGO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWdCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFUSxrQkFBa0IsQ0FBQyxRQUFnQixFQUFFLFdBQW1CO1FBQy9ELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUscUJBQXFCLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFUSxhQUFhLENBQUMsR0FBVztRQUNoQyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVyxDQUFDLENBQUksRUFBRSxRQUFnQjtRQUNoQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDMUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN0RDtRQUNELGFBQWE7UUFDYixPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQscUJBQXFCLENBQUksU0FBNEI7UUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFUSxNQUFNLENBQUMsU0FBcUI7UUFDbkMsTUFBTSxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRSxNQUFNLENBQUMsR0FBRyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQyxTQUFTLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWhDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxRQUFpQjtRQUN2QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFrQjtRQUNoQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbkM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFUSxRQUFRLENBQUMsUUFBZ0IsRUFBRSxXQUFtQixFQUFFLEtBQWE7UUFDcEUsTUFBTSxPQUFPLEdBQTJCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckUsSUFBSSxPQUFPLEVBQUU7WUFDWCxNQUFNLEdBQUcsR0FBTSxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQzVCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQ3ZELGFBQWE7WUFDYixHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFUyw4QkFBOEIsQ0FBQyxRQUFnQixFQUFFLENBQVM7UUFDbEUsT0FBTyxDQUFDLENBQWEsRUFBRSxDQUFhLEVBQUUsRUFBRTtZQUN0QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDOUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxHQUFpQixFQUFFLFFBQWlCO1FBQzdELEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFO1lBQ3JCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQ3hCLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDakQ7U0FDRjtJQUNILENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzVFO2FBQU07WUFFTCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7YUFDdkI7WUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzNCLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FDcEMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUN0QixhQUFhO2dCQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2pELENBQUMsQ0FDRixDQUFDO1lBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMzQixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ3RCLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO29CQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3pCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQ2hELENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDdEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ3BCLENBQUMsQ0FDRixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsQ0FBTSxFQUFFLEtBQWU7UUFDOUMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLGFBQWE7UUFDYixJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakIsSUFBSSxFQUFFLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDekM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTyxRQUFRLENBQUMsSUFBa0IsRUFBRSxRQUFnQixFQUFFLENBQVM7UUFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUU7WUFDdEIsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFO2dCQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFDO1NBQ0Y7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RyZWVSb3d9IGZyb20gXCIuLi8uLi9jb21tb24vdHJlZS1yb3dcIjtcbmltcG9ydCB7VHJlZVJvd1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyZWUtcm93LnNlcnZpY2VcIjtcbmltcG9ydCB7QWJzdHJhY3RBcmVhTW9kZWx9IGZyb20gXCIuL2Fic3RyYWN0LWFyZWEtbW9kZWxcIjtcbmltcG9ydCB7QXJlYUlkZW50fSBmcm9tIFwiLi4vYXJlYS1pZGVudC50eXBlXCI7XG5pbXBvcnQge0NvbHVtbkRlZklmfSBmcm9tIFwiLi4vY29sdW1uL2NvbHVtbi1kZWYuaWZcIjtcbmltcG9ydCB7RmlsdGVyRnVuY3Rpb259IGZyb20gXCIuLi8uLi9jb21tb24vZmlsdGVyLWZ1bmN0aW9uXCI7XG5pbXBvcnQge1NvcnRlclNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3NvcnRlci5zZXJ2aWNlXCI7XG5pbXBvcnQge1NvcnRJdGVtfSBmcm9tIFwiLi4vLi4vY29tbW9uL3NvcnQtaXRlbVwiO1xuXG5leHBvcnQgY2xhc3MgQXJlYU1vZGVsVHJlZTxTPiBleHRlbmRzIEFic3RyYWN0QXJlYU1vZGVsPFRyZWVSb3c8Uz4+IHtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJvcGVydGllczogc3RyaW5nW107XG4gIHByb3RlY3RlZCBzb3J0ZXJTZXJ2aWNlOiBTb3J0ZXJTZXJ2aWNlID0gbmV3IFNvcnRlclNlcnZpY2UoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2UgPSBuZXcgVHJlZVJvd1NlcnZpY2UoKTtcbiAgcHJpdmF0ZSBmaWx0ZXJlZEZsYXR0ZW5Sb3dzOiBUcmVlUm93PFM+W107XG4gIHByaXZhdGUgZmxhdHRlblJvd3M6IFRyZWVSb3c8Uz5bXTtcbiAgcHJpdmF0ZSBsYXN0UHJlZGljdEZuPzogRmlsdGVyRnVuY3Rpb248YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXJlYUlkZW50OiBBcmVhSWRlbnQsXG4gICAgcHVibGljIHJlYWRvbmx5IHJvd3M6IFRyZWVSb3c8Uz5bXSxcbiAgICBwdWJsaWMgZGVmYXVsdFJvd0hlaWdodDogbnVtYmVyID0gNDAsXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGNvbHVtbkRlZnM6IENvbHVtbkRlZklmW10gPSBbXVxuICApIHtcbiAgICBzdXBlcihhcmVhSWRlbnQsIGNvbHVtbkRlZnMsIGRlZmF1bHRSb3dIZWlnaHQpO1xuICAgIHRoaXMucHJvcGVydGllcyA9IGNvbHVtbkRlZnMubWFwKGRlZiA9PiBkZWYucHJvcGVydHkpO1xuICAgIHRoaXMuZmxhdHRlblJvd3MgPSB0aGlzLnNlcnZpY2UuZmxhdHRlblRyZWUocm93cyk7XG4gICAgdGhpcy5maWx0ZXJlZEZsYXR0ZW5Sb3dzID0gWy4uLnRoaXMuZmxhdHRlblJvd3NdO1xuICB9XG5cbiAgb3ZlcnJpZGUgY2hhbmdlQ29sdW1uT3JkZXIoc291cmNlQ29sdW1uSW5kZXg6IG51bWJlciwgdGFyZ2V0Q29sdW1uSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIC8vICBub3QgdGhpcyEgdGhpcy5hcnJheU1vdmUodGhpcy5jb2x1bW5EZWZzLi4uKVxuICAgIHRoaXMuYXJyYXlNb3ZlKHRoaXMucHJvcGVydGllcywgc291cmNlQ29sdW1uSW5kZXgsIHRhcmdldENvbHVtbkluZGV4KTtcbiAgICBzdXBlci5jaGFuZ2VDb2x1bW5PcmRlcihzb3VyY2VDb2x1bW5JbmRleCwgdGFyZ2V0Q29sdW1uSW5kZXgpO1xuICB9XG5cbiAgcmVjYWxjVmlzaWJsZVRyZWVSb3dzKCkge1xuICAgIHRoaXMuZmlsdGVyZWRGbGF0dGVuUm93cyA9IHRoaXMuc2VydmljZS5mbGF0dGVuVHJlZSh0aGlzLnJvd3MpO1xuICB9XG5cbiAgZ2V0RmlsdGVyZWRGbGF0dGVuUm93cygpOiBUcmVlUm93PFM+W10ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkRmxhdHRlblJvd3M7XG4gIH1cblxuICBnZXRSb3dDb3VudCgpOiBudW1iZXIge1xuICAgIGxldCBuID0gMDtcbiAgICBmb3IgKGNvbnN0IHIgb2YgdGhpcy5maWx0ZXJlZEZsYXR0ZW5Sb3dzKSB7XG4gICAgICBpZiAodGhpcy5zZXJ2aWNlLmlzVmlzaWJsZShyKSkge1xuICAgICAgICBuKys7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuO1xuICB9XG5cbiAgZ2V0VmFsdWVBdChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTogYW55IHtcbiAgICBjb25zdCByb3cgPSB0aGlzLmdldFJvd0J5SW5kZXgocm93SW5kZXgpO1xuICAgIGlmIChyb3cpIHtcbiAgICAgIGNvbnN0IHByb3AgPSB0aGlzLnByb3BlcnRpZXNbY29sdW1uSW5kZXhdO1xuICAgICAgaWYgKHByb3ApIHtcbiAgICAgICAgaWYgKHByb3AuaW5jbHVkZXMoJy4nKSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFByb3BlcnR5VmFsdWUocm93LmRhdGEsIHByb3Auc3BsaXQoJy4nKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByZXR1cm4gcm93LmRhdGFbcHJvcF07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldFJvd0hlaWdodChyb3dJbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0Um93SGVpZ2h0O1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0Q3VzdG9tQ2xhc3Nlc0F0KHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbkluZGV4OiBudW1iZXIpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgcm93ID0gdGhpcy5maWx0ZXJlZEZsYXR0ZW5Sb3dzW3Jvd0luZGV4XTtcbiAgICByZXR1cm4gWydnZS10YWJsZS10cmVlLWNlbGwnLCAnZ2UtdGFibGUtdHJlZS1kZWVwLScgKyByb3cuZGVlcF07XG4gIH1cblxuICBvdmVycmlkZSBnZXRSb3dCeUluZGV4KGlkeDogbnVtYmVyKTogVHJlZVJvdzxTPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRGbGF0dGVuUm93c1tpZHhdO1xuICB9XG5cbiAgZ2V0VmFsdWVCeVQodDogUywgcHJvcGVydHk6IHN0cmluZykge1xuICAgIGlmIChwcm9wZXJ0eS5pbmNsdWRlcygnLicpKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eVZhbHVlKHQsIHByb3BlcnR5LnNwbGl0KCcuJykpO1xuICAgIH1cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcmV0dXJuIHRbcHJvcGVydHldO1xuICB9XG5cbiAgZXh0ZXJuYWxGaWx0ZXJDaGFuZ2VkPFM+KHByZWRpY3RGbjogRmlsdGVyRnVuY3Rpb248Uz4pOiB2b2lkIHtcbiAgICB0aGlzLmxhc3RQcmVkaWN0Rm4gPSBwcmVkaWN0Rm47XG4gICAgdGhpcy5kb0ZpbHRlcmluZygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZG9Tb3J0KHNvcnRJdGVtczogU29ydEl0ZW1bXSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHtjb2x1bW5JbmRleCwgc29ydFN0YXRlfSA9IHNvcnRJdGVtc1tzb3J0SXRlbXMubGVuZ3RoIC0gMV07XG4gICAgY29uc3QgZiA9IHNvcnRTdGF0ZSA9PT0gJ2FzYycgPyAxIDpcbiAgICAgIHNvcnRTdGF0ZSA9PT0gJ2Rlc2MnID8gLTEgOiAwO1xuXG4gICAgY29uc3QgcHJvcGVydHkgPSB0aGlzLnByb3BlcnRpZXNbY29sdW1uSW5kZXhdO1xuICAgIHRoaXMudHJlZVNvcnQodGhpcy5yb3dzLCBwcm9wZXJ0eSwgZik7XG5cbiAgICB0aGlzLmZsYXR0ZW5Sb3dzID0gdGhpcy5zZXJ2aWNlLmZsYXR0ZW5UcmVlKHRoaXMucm93cyk7XG4gICAgdGhpcy5maWx0ZXJlZEZsYXR0ZW5Sb3dzID0gWy4uLnRoaXMuZmxhdHRlblJvd3NdO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdG9nZ2xlRXhwYW5kQ29sbGFwc2VBbGwoZXhwYW5kZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmV4cGFuZEFsbFJlY3Vyc2l2ZSh0aGlzLnJvd3MsIGV4cGFuZGVkKTtcblxuICAgIHRoaXMuZmxhdHRlblJvd3MgPSB0aGlzLnNlcnZpY2UuZmxhdHRlblRyZWUodGhpcy5yb3dzKTtcbiAgICB0aGlzLmRvRmlsdGVyaW5nKCk7XG4gIH1cblxuICBzZXRBbGxQYXJlbnRzT2soaXRlbTogVHJlZVJvdzxhbnk+KSB7XG4gICAgaWYgKGl0ZW0ucGFyZW50KSB7XG4gICAgICBpdGVtLnBhcmVudC5rZWVwID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2V0QWxsUGFyZW50c09rKGl0ZW0ucGFyZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0VmFsdWUocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlciwgdmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRyZWVSb3c6IFRyZWVSb3c8Uz4gfCB1bmRlZmluZWQgPSB0aGlzLmdldFJvd0J5SW5kZXgocm93SW5kZXgpO1xuICAgIGlmICh0cmVlUm93KSB7XG4gICAgICBjb25zdCByb3c6IFMgPSB0cmVlUm93LmRhdGE7XG4gICAgICBjb25zdCBwcm9wZXJ0eSA9IHRoaXMuY29sdW1uRGVmc1tjb2x1bW5JbmRleF0ucHJvcGVydHk7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByb3dbcHJvcGVydHldID0gdmFsdWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdlbmVyaWNUcmVlVGFibGVTb3J0Q29tcGFyYXRvcihwcm9wZXJ0eTogc3RyaW5nLCBmOiBudW1iZXIpIHtcbiAgICByZXR1cm4gKGE6IFRyZWVSb3c8Uz4sIGI6IFRyZWVSb3c8Uz4pID0+IHtcbiAgICAgIGNvbnN0IHZhID0gdGhpcy5nZXRWYWx1ZUJ5VChhLmRhdGEsIHByb3BlcnR5KTtcbiAgICAgIGNvbnN0IHZiID0gdGhpcy5nZXRWYWx1ZUJ5VChiLmRhdGEsIHByb3BlcnR5KTtcbiAgICAgIHJldHVybiB0aGlzLnNvcnRlclNlcnZpY2UuZ2VuZXJpY1NvcnRDb21wYXJhdG9yKHZhLCB2YiwgZik7XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZXhwYW5kQWxsUmVjdXJzaXZlKGFycjogVHJlZVJvdzxTPltdLCBleHBhbmRlZDogYm9vbGVhbikge1xuICAgIGZvciAoY29uc3Qgcm93IG9mIGFycikge1xuICAgICAgcm93LmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgICBpZiAocm93LmNoaWxkcmVuKSB7XG4gICAgICAgIHRoaXMuZXhwYW5kQWxsUmVjdXJzaXZlKHJvdy5jaGlsZHJlbiwgZXhwYW5kZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZG9GaWx0ZXJpbmcoKSB7XG4gICAgaWYgKCF0aGlzLmxhc3RQcmVkaWN0Rm4pIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRGbGF0dGVuUm93cyA9IFsuLi4odGhpcy5mbGF0dGVuUm93cyA/IHRoaXMuZmxhdHRlblJvd3MgOiBbXSldO1xuICAgIH0gZWxzZSB7XG5cbiAgICAgIGlmICghdGhpcy5mbGF0dGVuUm93cykge1xuICAgICAgICB0aGlzLmZsYXR0ZW5Sb3dzID0gW107XG4gICAgICB9XG5cbiAgICAgIGxldCBtYXhEZWVwID0gMDtcbiAgICAgIHRoaXMuZmxhdHRlblJvd3MuZm9yRWFjaCh2ID0+IHtcbiAgICAgICAgbWF4RGVlcCA9IE1hdGgubWF4KG1heERlZXAsIHYuZGVlcCk7XG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgb2tSb3dzID0gdGhpcy5mbGF0dGVuUm93cy5maWx0ZXIoXG4gICAgICAgICh2YWx1ZSwgaW5kZXgsIGFycmF5KSA9PiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHJldHVybiB0aGlzLmxhc3RQcmVkaWN0Rm4odmFsdWUsIGluZGV4LCBhcnJheSk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICB0aGlzLmZsYXR0ZW5Sb3dzLmZvckVhY2godiA9PiB2LmtlZXAgPSBmYWxzZSk7XG4gICAgICB0aGlzLmZsYXR0ZW5Sb3dzLmZvckVhY2godiA9PiB7XG4gICAgICAgIGlmIChva1Jvd3MuaW5jbHVkZXModikpIHtcbiAgICAgICAgICB2LmtlZXAgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuc2V0QWxsUGFyZW50c09rKHYpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5maWx0ZXJlZEZsYXR0ZW5Sb3dzID0gdGhpcy5mbGF0dGVuUm93cy5maWx0ZXIoXG4gICAgICAgICh2YWx1ZSwgaW5kZXgsIGFycmF5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlLmtlZXA7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRQcm9wZXJ0eVZhbHVlKG86IGFueSwgcHJvcHM6IHN0cmluZ1tdKTogYW55IHtcbiAgICBjb25zdCBwcm9wID0gcHJvcHMuc2hpZnQoKTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbGV0IG8yID0gb1twcm9wXTtcbiAgICBpZiAobzIgJiYgcHJvcHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eVZhbHVlKG8yLCBwcm9wcyk7XG4gICAgfVxuICAgIHJldHVybiBvMjtcbiAgfVxuXG4gIHByaXZhdGUgdHJlZVNvcnQocm93czogVHJlZVJvdzxTPltdLCBwcm9wZXJ0eTogc3RyaW5nLCBmOiBudW1iZXIpIHtcbiAgICByb3dzLnNvcnQodGhpcy5nZW5lcmljVHJlZVRhYmxlU29ydENvbXBhcmF0b3IocHJvcGVydHksIGYpKTtcbiAgICBmb3IgKGNvbnN0IHJvdyBvZiByb3dzKSB7XG4gICAgICBpZiAocm93LmNoaWxkcmVuKSB7XG4gICAgICAgIHRoaXMudHJlZVNvcnQocm93LmNoaWxkcmVuLCBwcm9wZXJ0eSwgZik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS1tb2RlbC5pZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9kYXRhL3RhYmxlbW9kZWwvYXJlYW1vZGVsL2FyZWEtbW9kZWwuaWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2VsbFJlbmRlcmVySWZ9IGZyb20gXCIuLi8uLi8uLi9yZW5kZXJlci9jZWxsLXJlbmRlci5pZlwiO1xuaW1wb3J0IHtDaGVja2VkVHlwZX0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jaGVja2VkLXR5cGVcIjtcbmltcG9ydCB7Q2hlY2tib3hNb2RlbElmfSBmcm9tIFwiLi4vLi4vLi4vY2hlY2tib3gvY2hlY2tib3gtbW9kZWwuaWZcIjtcbmltcG9ydCB7RmlsdGVyRnVuY3Rpb259IGZyb20gXCIuLi8uLi9jb21tb24vZmlsdGVyLWZ1bmN0aW9uXCI7XG5pbXBvcnQge1NvcnRJdGVtfSBmcm9tIFwiLi4vLi4vY29tbW9uL3NvcnQtaXRlbVwiO1xuaW1wb3J0IHtUYWJsZU1vZGVsSWZ9IGZyb20gXCIuLi90YWJsZS1tb2RlbC5pZlwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFyZWFNb2RlbElmIHtcblxuICBjaGFuZ2VDb2x1bW5PcmRlcihzb3VyY2VDb2x1bW5JbmRleDogbnVtYmVyLCB0YXJnZXRDb2x1bW5JbmRleDogbnVtYmVyKTogdm9pZDtcblxuICByb3dTZWxlY3Rpb25Nb2RlbDogQ2hlY2tib3hNb2RlbElmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgc2V0VmFsdWUocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlciwgdmFsdWU6IHN0cmluZywgdGFibGVNb2RlbDogVGFibGVNb2RlbElmKTogYm9vbGVhbjtcblxuICBpbml0KCk6IHZvaWQ7XG5cbiAgZ2V0Um93Q291bnQoKTogbnVtYmVyO1xuXG4gIGdldFZhbHVlQXQocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcik6IGFueTtcblxuICBnZXRDb2xzcGFuQXQocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcik6IG51bWJlcjtcblxuICBnZXRNYXhDb2xzcGFuKCk6IG51bWJlcjtcblxuICBnZXRSb3dzcGFuQXQocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcik6IG51bWJlcjtcblxuICBnZXRNYXhSb3dzcGFuKCk6IG51bWJlcjtcblxuICBnZXRDdXN0b21DbGFzc2VzQXQocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcik6IHN0cmluZ1tdO1xuXG4gIGdldFZhbHVlQXQocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcik6IGFueTtcblxuICBnZXRUb29sdGlwQXQocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcik6IGFueVxuXG4gIGdldENlbGxSZW5kZXJlcihyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTogQ2VsbFJlbmRlcmVySWYgfCB1bmRlZmluZWQ7XG5cbiAgZ2V0Um93SGVpZ2h0KHJvd0luZGV4OiBudW1iZXIpOiBudW1iZXI7XG5cbiAgZ2V0Um93QnlJbmRleChyb3dJbmRleDogbnVtYmVyKTogYW55O1xuXG4gIGdldFlQb3NCeVJvd0luZGV4KHJvd0luZGV4OiBudW1iZXIpOiBudW1iZXI7XG5cbiAgaXNFZGl0YWJsZShyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTogYm9vbGVhbjtcblxuICBpc1NlbGVjdGFibGUocm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcik6IGJvb2xlYW47XG5cbiAgaXNSb3dDaGVja2FibGUocm93SW5kZXg6IG51bWJlcik6IGJvb2xlYW47XG5cbiAgaXNSb3dDaGVja2VkKHJvd0luZGV4OiBudW1iZXIpOiBDaGVja2VkVHlwZSB8IHVuZGVmaW5lZDtcblxuICBzZXRSb3dDaGVja2VkKHJvd0luZGV4OiBudW1iZXIsIGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkO1xuXG4gIGlzRmlsdGVyYWJsZSgpOiBib29sZWFuO1xuXG4gIGV4dGVybmFsRmlsdGVyQ2hhbmdlZDxUPihwcmVkaWN0Rm46IEZpbHRlckZ1bmN0aW9uPFQ+KTogdm9pZDtcblxuICBkb1NvcnQoc29ydEl0ZW1zOiBTb3J0SXRlbVtdKTogYm9vbGVhbjtcbn1cblxuIl19
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { CellRange } from "../../common/cell-range";
|
|
2
|
-
export class ColAndRowspanModel {
|
|
3
|
-
constructor(tableModel, areaModel) {
|
|
4
|
-
this.tableModel = tableModel;
|
|
5
|
-
this.areaModel = areaModel;
|
|
6
|
-
this.colAndRowspanRanges = undefined;
|
|
7
|
-
}
|
|
8
|
-
init() {
|
|
9
|
-
if (this.areaModel.getMaxColspan() < 2 && this.areaModel.getMaxRowspan() < 2) {
|
|
10
|
-
return; // sip
|
|
11
|
-
}
|
|
12
|
-
this.colAndRowspanRanges = [];
|
|
13
|
-
const rowCount = this.areaModel.getRowCount();
|
|
14
|
-
const colCount = this.tableModel.getColumnCount();
|
|
15
|
-
for (let r = 0; r < rowCount; r++) {
|
|
16
|
-
for (let c = 0; c < colCount; c++) {
|
|
17
|
-
let cs = this.areaModel.getColspanAt(r, c);
|
|
18
|
-
let rs = this.areaModel.getRowspanAt(r, c);
|
|
19
|
-
if (cs > 1 || rs > 1) {
|
|
20
|
-
if (cs === 0) {
|
|
21
|
-
cs = 1;
|
|
22
|
-
}
|
|
23
|
-
if (rs === 0) {
|
|
24
|
-
rs = 1;
|
|
25
|
-
}
|
|
26
|
-
this.colAndRowspanRanges.push(new CellRange(r, c, r + rs - 1, c + cs - 1));
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
getRanges() {
|
|
32
|
-
if (this.colAndRowspanRanges) {
|
|
33
|
-
return this.colAndRowspanRanges;
|
|
34
|
-
}
|
|
35
|
-
return [];
|
|
36
|
-
}
|
|
37
|
-
isInRange(rowIndex, columnIndex) {
|
|
38
|
-
if (this.colAndRowspanRanges) {
|
|
39
|
-
for (const range of this.colAndRowspanRanges) {
|
|
40
|
-
if (range.isInRange(rowIndex, columnIndex)) {
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sLWFuZC1yb3dzcGFuLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy90YWJsZS9zcmMvbGliL3RhYmxlL2RhdGEvdGFibGVtb2RlbC9hcmVhbW9kZWwvY29sLWFuZC1yb3dzcGFuLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUlsRCxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQ1ksVUFBd0IsRUFDeEIsU0FBc0I7UUFEdEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFhO1FBSnhCLHdCQUFtQixHQUE0QixTQUFTLENBQUM7SUFNbkUsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzVFLE9BQU8sQ0FBQyxNQUFNO1NBQ2Y7UUFDRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQzlCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNsRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2pDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTtvQkFDcEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFO3dCQUNaLEVBQUUsR0FBRyxDQUFDLENBQUM7cUJBQ1I7b0JBQ0QsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFO3dCQUNaLEVBQUUsR0FBRyxDQUFDLENBQUM7cUJBQ1I7b0JBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDM0IsSUFBSSxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUM1QyxDQUFDO2lCQUNIO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7U0FDakM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxTQUFTLENBQUMsUUFBZ0IsRUFBRSxXQUFtQjtRQUM3QyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDNUMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsRUFBRTtvQkFDMUMsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NlbGxSYW5nZX0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jZWxsLXJhbmdlXCI7XG5pbXBvcnQge0FyZWFNb2RlbElmfSBmcm9tIFwiLi9hcmVhLW1vZGVsLmlmXCI7XG5pbXBvcnQge1RhYmxlTW9kZWxJZn0gZnJvbSBcIi4uL3RhYmxlLW1vZGVsLmlmXCI7XG5cbmV4cG9ydCBjbGFzcyBDb2xBbmRSb3dzcGFuTW9kZWwge1xuXG4gIHByb3RlY3RlZCBjb2xBbmRSb3dzcGFuUmFuZ2VzOiBDZWxsUmFuZ2VbXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgdGFibGVNb2RlbDogVGFibGVNb2RlbElmLFxuICAgIHByb3RlY3RlZCBhcmVhTW9kZWw6IEFyZWFNb2RlbElmXG4gICkge1xuICB9XG5cbiAgaW5pdCgpIHtcbiAgICBpZiAodGhpcy5hcmVhTW9kZWwuZ2V0TWF4Q29sc3BhbigpIDwgMiAmJiB0aGlzLmFyZWFNb2RlbC5nZXRNYXhSb3dzcGFuKCkgPCAyKSB7XG4gICAgICByZXR1cm47IC8vIHNpcFxuICAgIH1cbiAgICB0aGlzLmNvbEFuZFJvd3NwYW5SYW5nZXMgPSBbXTtcbiAgICBjb25zdCByb3dDb3VudCA9IHRoaXMuYXJlYU1vZGVsLmdldFJvd0NvdW50KCk7XG4gICAgY29uc3QgY29sQ291bnQgPSB0aGlzLnRhYmxlTW9kZWwuZ2V0Q29sdW1uQ291bnQoKTtcbiAgICBmb3IgKGxldCByID0gMDsgciA8IHJvd0NvdW50OyByKyspIHtcbiAgICAgIGZvciAobGV0IGMgPSAwOyBjIDwgY29sQ291bnQ7IGMrKykge1xuICAgICAgICBsZXQgY3MgPSB0aGlzLmFyZWFNb2RlbC5nZXRDb2xzcGFuQXQociwgYyk7XG4gICAgICAgIGxldCBycyA9IHRoaXMuYXJlYU1vZGVsLmdldFJvd3NwYW5BdChyLCBjKTtcbiAgICAgICAgaWYgKGNzID4gMSB8fCBycyA+IDEpIHtcbiAgICAgICAgICBpZiAoY3MgPT09IDApIHtcbiAgICAgICAgICAgIGNzID0gMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHJzID09PSAwKSB7XG4gICAgICAgICAgICBycyA9IDE7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY29sQW5kUm93c3BhblJhbmdlcy5wdXNoKFxuICAgICAgICAgICAgbmV3IENlbGxSYW5nZShyLCBjLCByICsgcnMgLSAxLCBjICsgY3MgLSAxKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRSYW5nZXMoKTogQ2VsbFJhbmdlW10ge1xuICAgIGlmICh0aGlzLmNvbEFuZFJvd3NwYW5SYW5nZXMpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbEFuZFJvd3NwYW5SYW5nZXM7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGlzSW5SYW5nZShyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuY29sQW5kUm93c3BhblJhbmdlcykge1xuICAgICAgZm9yIChjb25zdCByYW5nZSBvZiB0aGlzLmNvbEFuZFJvd3NwYW5SYW5nZXMpIHtcbiAgICAgICAgaWYgKHJhbmdlLmlzSW5SYW5nZShyb3dJbmRleCwgY29sdW1uSW5kZXgpKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWRlZi5pZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9kYXRhL3RhYmxlbW9kZWwvY29sdW1uL2NvbHVtbi1kZWYuaWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2l6ZUlmfSBmcm9tIFwiLi4vLi4vY29tbW9uL3NpemUuaWZcIjtcbmltcG9ydCB7Q2VsbFJlbmRlcmVySWZ9IGZyb20gXCIuLi8uLi8uLi9yZW5kZXJlci9jZWxsLXJlbmRlci5pZlwiO1xuaW1wb3J0IHtBcmVhT2JqZWN0TWFwVHlwZX0gZnJvbSBcIi4uLy4uL2NvbW1vbi9hcmVhLW1hcC50eXBlXCI7XG5pbXBvcnQge0Jvb2xlYW5GdW5jdGlvbn0gZnJvbSBcIi4uLy4uL2NvbW1vbi9ib29sZWFuLWZ1bmN0aW9uXCI7XG5pbXBvcnQge1NvcnRTdGF0ZX0gZnJvbSBcIi4uLy4uL2NvbW1vbi9zb3J0LXN0YXRlLnR5cGVcIjtcbmltcG9ydCB7R2V0RWRpdFJlbmRlcmVyfSBmcm9tIFwiLi4vLi4vLi4vcmVuZGVyZXIvZWRpdC9lZGl0LWNlbGwtcmVuZGVyZXIudHlwZVwiO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uRGVmSWYge1xuICBwcm9wZXJ0eTogc3RyaW5nO1xuICBoZWFkZXJMYWJlbDogc3RyaW5nO1xuICB3aWR0aDogU2l6ZUlmO1xuICBtaW5XaWR0aDogU2l6ZUlmO1xuICBtYXhXaWR0aDogU2l6ZUlmO1xuICByZW5kZXJlck1hcDogQXJlYU9iamVjdE1hcFR5cGU8Q2VsbFJlbmRlcmVySWY+O1xuICBjbGFzc2VzOiBBcmVhT2JqZWN0TWFwVHlwZTxzdHJpbmdbXT47XG4gIHNvcnRhYmxlPzogQm9vbGVhbkZ1bmN0aW9uLFxuICBzb3J0SWNvblZpc2libGU/OiBCb29sZWFuRnVuY3Rpb24sXG4gIHNvcnRDb21wYXJhdG9yPzogPFQ+KGE6IFQsIGI6IFQpID0+IG51bWJlcixcbiAgc29ydFN0YXRlPzogU29ydFN0YXRlLFxuICBzb3J0U3RhdGVzT3JkZXI/OiBTb3J0U3RhdGVbXSxcbiAgZWRpdGFibGU/OiBCb29sZWFuRnVuY3Rpb24sXG4gIGdldEVkaXRSZW5kZXJlcj86IEdldEVkaXRSZW5kZXJlclxufVxuXG4iXX0=
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Size } from "../../common/size";
|
|
2
|
-
import { AreaObjectMap } from "../../common/area-map";
|
|
3
|
-
import { FalseFn } from "../../common/boolean-function";
|
|
4
|
-
export class ColumnDef {
|
|
5
|
-
constructor(property, headerLabel, width = new Size(100, 'px'), classes = new AreaObjectMap(), rendererMap = new AreaObjectMap(), minWidth = new Size(100, 'px'), maxWidth = new Size(100, 'px'), sortable, sortComparator, sortState, sortStatesOrder, sortIconVisible, editable, getEditRenderer) {
|
|
6
|
-
this.property = property;
|
|
7
|
-
this.headerLabel = headerLabel;
|
|
8
|
-
this.width = width;
|
|
9
|
-
this.classes = classes;
|
|
10
|
-
this.rendererMap = rendererMap;
|
|
11
|
-
this.minWidth = minWidth;
|
|
12
|
-
this.maxWidth = maxWidth;
|
|
13
|
-
this.sortable = sortable;
|
|
14
|
-
this.sortComparator = sortComparator;
|
|
15
|
-
this.sortState = sortState;
|
|
16
|
-
this.sortStatesOrder = sortStatesOrder;
|
|
17
|
-
this.sortIconVisible = sortIconVisible;
|
|
18
|
-
this.editable = editable;
|
|
19
|
-
this.getEditRenderer = getEditRenderer;
|
|
20
|
-
}
|
|
21
|
-
static bodyRenderer(bodyRenderer) {
|
|
22
|
-
return new AreaObjectMap(undefined, bodyRenderer, undefined);
|
|
23
|
-
}
|
|
24
|
-
static create(param) {
|
|
25
|
-
const am = new AreaObjectMap(param.headerRenderer, param.bodyRenderer, param.footerRenderer);
|
|
26
|
-
const cm = new AreaObjectMap(param.headerClasses, param.bodyClasses, param.footerClasses);
|
|
27
|
-
const sortIconVisible = param.sortIconVisible ?? param.sortable ?? FalseFn;
|
|
28
|
-
const editable = param.editable ?? param.editable ?? FalseFn;
|
|
29
|
-
return new ColumnDef(param.property ?? '', param.headerLabel ?? '', param.width ?? new Size(100, 'px'), cm, am, param.minWidth ?? new Size(100, 'px'), param.maxWidth ?? new Size(100, 'px'), param.sortable, param.sortComparator, param.sortState, param.sortStatesOrder, sortIconVisible, editable, param.getEditRenderer);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWRlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9kYXRhL3RhYmxlbW9kZWwvY29sdW1uL2NvbHVtbi1kZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBS3ZDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQWtCLE9BQU8sRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBS3ZFLE1BQU0sT0FBTyxTQUFTO0lBRXBCLFlBQ1MsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsUUFBZ0IsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUNuQyxVQUF1QyxJQUFJLGFBQWEsRUFBWSxFQUNwRSxjQUFpRCxJQUFJLGFBQWEsRUFBa0IsRUFDcEYsV0FBbUIsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUN0QyxXQUFtQixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQ3RDLFFBQTBCLEVBQzFCLGNBQTBDLEVBQzFDLFNBQXFCLEVBQ3JCLGVBQTZCLEVBQzdCLGVBQWlDLEVBQ2pDLFFBQTBCLEVBQzFCLGVBQWlDO1FBYmpDLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBOEI7UUFDbkMsWUFBTyxHQUFQLE9BQU8sQ0FBNkQ7UUFDcEUsZ0JBQVcsR0FBWCxXQUFXLENBQXlFO1FBQ3BGLGFBQVEsR0FBUixRQUFRLENBQThCO1FBQ3RDLGFBQVEsR0FBUixRQUFRLENBQThCO1FBQ3RDLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUE0QjtRQUMxQyxjQUFTLEdBQVQsU0FBUyxDQUFZO1FBQ3JCLG9CQUFlLEdBQWYsZUFBZSxDQUFjO1FBQzdCLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUNqQyxhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQUMxQixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7SUFFMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsWUFBNEI7UUFDOUMsT0FBTyxJQUFJLGFBQWEsQ0FDdEIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLENBQ1YsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBbUJiO1FBRUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxhQUFhLENBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQ3BCLEtBQUssQ0FBQyxZQUFZLEVBQ2xCLEtBQUssQ0FBQyxjQUFjLENBQ3JCLENBQUM7UUFFRixNQUFNLEVBQUUsR0FBRyxJQUFJLGFBQWEsQ0FDMUIsS0FBSyxDQUFDLGFBQWEsRUFDbkIsS0FBSyxDQUFDLFdBQVcsRUFDakIsS0FBSyxDQUFDLGFBQWEsQ0FDcEIsQ0FBQztRQUVGLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUM7UUFDM0UsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQztRQUU3RCxPQUFPLElBQUksU0FBUyxDQUNsQixLQUFLLENBQUMsUUFBUSxJQUFJLEVBQUUsRUFDcEIsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQ3ZCLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUNsQyxFQUFFLEVBQ0YsRUFBRSxFQUNGLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUNyQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFDckMsS0FBSyxDQUFDLFFBQVEsRUFDZCxLQUFLLENBQUMsY0FBYyxFQUNwQixLQUFLLENBQUMsU0FBUyxFQUNmLEtBQUssQ0FBQyxlQUFlLEVBQ3JCLGVBQWUsRUFDZixRQUFRLEVBQ1IsS0FBSyxDQUFDLGVBQWUsQ0FDdEIsQ0FBQztJQUNKLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2l6ZX0gZnJvbSBcIi4uLy4uL2NvbW1vbi9zaXplXCI7XG5pbXBvcnQge1NpemVJZn0gZnJvbSBcIi4uLy4uL2NvbW1vbi9zaXplLmlmXCI7XG5pbXBvcnQge0NvbHVtbkRlZklmfSBmcm9tIFwiLi9jb2x1bW4tZGVmLmlmXCI7XG5pbXBvcnQge0NlbGxSZW5kZXJlcklmfSBmcm9tIFwiLi4vLi4vLi4vcmVuZGVyZXIvY2VsbC1yZW5kZXIuaWZcIjtcbmltcG9ydCB7QXJlYU9iamVjdE1hcFR5cGV9IGZyb20gXCIuLi8uLi9jb21tb24vYXJlYS1tYXAudHlwZVwiO1xuaW1wb3J0IHtBcmVhT2JqZWN0TWFwfSBmcm9tIFwiLi4vLi4vY29tbW9uL2FyZWEtbWFwXCI7XG5pbXBvcnQge0Jvb2xlYW5GdW5jdGlvbiwgRmFsc2VGbn0gZnJvbSBcIi4uLy4uL2NvbW1vbi9ib29sZWFuLWZ1bmN0aW9uXCI7XG5pbXBvcnQge1NvcnRTdGF0ZX0gZnJvbSBcIi4uLy4uL2NvbW1vbi9zb3J0LXN0YXRlLnR5cGVcIjtcbmltcG9ydCB7R2V0RWRpdFJlbmRlcmVyfSBmcm9tIFwiLi4vLi4vLi4vcmVuZGVyZXIvZWRpdC9lZGl0LWNlbGwtcmVuZGVyZXIudHlwZVwiO1xuXG5cbmV4cG9ydCBjbGFzcyBDb2x1bW5EZWY8VD4gaW1wbGVtZW50cyBDb2x1bW5EZWZJZiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHByb3BlcnR5OiBzdHJpbmcsXG4gICAgcHVibGljIGhlYWRlckxhYmVsOiBzdHJpbmcsXG4gICAgcHVibGljIHdpZHRoOiBTaXplSWYgPSBuZXcgU2l6ZSgxMDAsICdweCcpLFxuICAgIHB1YmxpYyBjbGFzc2VzOiBBcmVhT2JqZWN0TWFwVHlwZTxzdHJpbmdbXT4gPSBuZXcgQXJlYU9iamVjdE1hcDxzdHJpbmdbXT4oKSxcbiAgICBwdWJsaWMgcmVuZGVyZXJNYXA6IEFyZWFPYmplY3RNYXBUeXBlPENlbGxSZW5kZXJlcklmPiA9IG5ldyBBcmVhT2JqZWN0TWFwPENlbGxSZW5kZXJlcklmPigpLFxuICAgIHB1YmxpYyBtaW5XaWR0aDogU2l6ZUlmID0gbmV3IFNpemUoMTAwLCAncHgnKSxcbiAgICBwdWJsaWMgbWF4V2lkdGg6IFNpemVJZiA9IG5ldyBTaXplKDEwMCwgJ3B4JyksXG4gICAgcHVibGljIHNvcnRhYmxlPzogQm9vbGVhbkZ1bmN0aW9uLFxuICAgIHB1YmxpYyBzb3J0Q29tcGFyYXRvcj86IDxUPihhOiBULCBiOiBUKSA9PiBudW1iZXIsXG4gICAgcHVibGljIHNvcnRTdGF0ZT86IFNvcnRTdGF0ZSxcbiAgICBwdWJsaWMgc29ydFN0YXRlc09yZGVyPzogU29ydFN0YXRlW10sXG4gICAgcHVibGljIHNvcnRJY29uVmlzaWJsZT86IEJvb2xlYW5GdW5jdGlvbixcbiAgICBwdWJsaWMgZWRpdGFibGU/OiBCb29sZWFuRnVuY3Rpb24sXG4gICAgcHVibGljIGdldEVkaXRSZW5kZXJlcj86IEdldEVkaXRSZW5kZXJlclxuICApIHtcbiAgfVxuXG4gIHN0YXRpYyBib2R5UmVuZGVyZXIoYm9keVJlbmRlcmVyOiBDZWxsUmVuZGVyZXJJZikge1xuICAgIHJldHVybiBuZXcgQXJlYU9iamVjdE1hcDxDZWxsUmVuZGVyZXJJZj4oXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBib2R5UmVuZGVyZXIsXG4gICAgICB1bmRlZmluZWRcbiAgICApXG4gIH1cblxuICBzdGF0aWMgY3JlYXRlKHBhcmFtOiB7XG4gICAgcHJvcGVydHk/OiBzdHJpbmcsXG4gICAgaGVhZGVyTGFiZWw/OiBzdHJpbmcsXG4gICAgd2lkdGg/OiBTaXplSWYsXG4gICAgbWluV2lkdGg/OiBTaXplSWYsXG4gICAgbWF4V2lkdGg/OiBTaXplSWYsXG4gICAgaGVhZGVyUmVuZGVyZXI/OiBDZWxsUmVuZGVyZXJJZixcbiAgICBib2R5UmVuZGVyZXI/OiBDZWxsUmVuZGVyZXJJZixcbiAgICBmb290ZXJSZW5kZXJlcj86IENlbGxSZW5kZXJlcklmLFxuICAgIGhlYWRlckNsYXNzZXM/OiBzdHJpbmdbXVxuICAgIGJvZHlDbGFzc2VzPzogc3RyaW5nW11cbiAgICBmb290ZXJDbGFzc2VzPzogc3RyaW5nW10sXG4gICAgc29ydGFibGU/OiBCb29sZWFuRnVuY3Rpb24sXG4gICAgc29ydEljb25WaXNpYmxlPzogQm9vbGVhbkZ1bmN0aW9uLFxuICAgIHNvcnRDb21wYXJhdG9yPzogPFQ+KGE6IFQsIGI6IFQpID0+IG51bWJlcixcbiAgICBzb3J0U3RhdGU/OiBTb3J0U3RhdGUsXG4gICAgc29ydFN0YXRlc09yZGVyPzogU29ydFN0YXRlW10sXG4gICAgZWRpdGFibGU/OiBCb29sZWFuRnVuY3Rpb24sXG4gICAgZ2V0RWRpdFJlbmRlcmVyPzogR2V0RWRpdFJlbmRlcmVyXG4gIH0pOiBDb2x1bW5EZWZJZiB7XG5cbiAgICBjb25zdCBhbSA9IG5ldyBBcmVhT2JqZWN0TWFwPENlbGxSZW5kZXJlcklmPihcbiAgICAgIHBhcmFtLmhlYWRlclJlbmRlcmVyLFxuICAgICAgcGFyYW0uYm9keVJlbmRlcmVyLFxuICAgICAgcGFyYW0uZm9vdGVyUmVuZGVyZXJcbiAgICApO1xuXG4gICAgY29uc3QgY20gPSBuZXcgQXJlYU9iamVjdE1hcDxzdHJpbmdbXT4oXG4gICAgICBwYXJhbS5oZWFkZXJDbGFzc2VzLFxuICAgICAgcGFyYW0uYm9keUNsYXNzZXMsXG4gICAgICBwYXJhbS5mb290ZXJDbGFzc2VzXG4gICAgKTtcblxuICAgIGNvbnN0IHNvcnRJY29uVmlzaWJsZSA9IHBhcmFtLnNvcnRJY29uVmlzaWJsZSA/PyBwYXJhbS5zb3J0YWJsZSA/PyBGYWxzZUZuO1xuICAgIGNvbnN0IGVkaXRhYmxlID0gcGFyYW0uZWRpdGFibGUgPz8gcGFyYW0uZWRpdGFibGUgPz8gRmFsc2VGbjtcblxuICAgIHJldHVybiBuZXcgQ29sdW1uRGVmKFxuICAgICAgcGFyYW0ucHJvcGVydHkgPz8gJycsXG4gICAgICBwYXJhbS5oZWFkZXJMYWJlbCA/PyAnJyxcbiAgICAgIHBhcmFtLndpZHRoID8/IG5ldyBTaXplKDEwMCwgJ3B4JyksXG4gICAgICBjbSxcbiAgICAgIGFtLFxuICAgICAgcGFyYW0ubWluV2lkdGggPz8gbmV3IFNpemUoMTAwLCAncHgnKSxcbiAgICAgIHBhcmFtLm1heFdpZHRoID8/IG5ldyBTaXplKDEwMCwgJ3B4JyksXG4gICAgICBwYXJhbS5zb3J0YWJsZSxcbiAgICAgIHBhcmFtLnNvcnRDb21wYXJhdG9yLFxuICAgICAgcGFyYW0uc29ydFN0YXRlLFxuICAgICAgcGFyYW0uc29ydFN0YXRlc09yZGVyLFxuICAgICAgc29ydEljb25WaXNpYmxlLFxuICAgICAgZWRpdGFibGUsXG4gICAgICBwYXJhbS5nZXRFZGl0UmVuZGVyZXJcbiAgICApO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export class Padding {
|
|
2
|
-
constructor(top = 0, right = 0, bottom = 0, left = 0) {
|
|
3
|
-
this.top = top;
|
|
4
|
-
this.right = right;
|
|
5
|
-
this.bottom = bottom;
|
|
6
|
-
this.left = left;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFkZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGFibGUvc3JjL2xpYi90YWJsZS9kYXRhL3RhYmxlbW9kZWwvcGFkZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sT0FBTztJQUNsQixZQUNTLE1BQWMsQ0FBQyxFQUNmLFFBQWdCLENBQUMsRUFDakIsU0FBaUIsQ0FBQyxFQUNsQixPQUFlLENBQUM7UUFIaEIsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNsQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBRXpCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBQYWRkaW5nIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRvcDogbnVtYmVyID0gMCxcbiAgICBwdWJsaWMgcmlnaHQ6IG51bWJlciA9IDAsXG4gICAgcHVibGljIGJvdHRvbTogbnVtYmVyID0gMCxcbiAgICBwdWJsaWMgbGVmdDogbnVtYmVyID0gMFxuICApIHtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9kZWwuaWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvZGF0YS90YWJsZW1vZGVsL3RhYmxlLW1vZGVsLmlmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BhZGRpbmd9IGZyb20gXCIuL3BhZGRpbmdcIjtcbmltcG9ydCB7QXJlYUlkZW50fSBmcm9tIFwiLi9hcmVhLWlkZW50LnR5cGVcIjtcbmltcG9ydCB7Q29sdW1uRGVmSWZ9IGZyb20gXCIuL2NvbHVtbi9jb2x1bW4tZGVmLmlmXCI7XG5pbXBvcnQge0FyZWFNb2RlbElmfSBmcm9tIFwiLi9hcmVhbW9kZWwvYXJlYS1tb2RlbC5pZlwiO1xuaW1wb3J0IHtGaWx0ZXJGdW5jdGlvbn0gZnJvbSBcIi4uL2NvbW1vbi9maWx0ZXItZnVuY3Rpb25cIjtcbmltcG9ydCB7U29ydEl0ZW19IGZyb20gXCIuLi9jb21tb24vc29ydC1pdGVtXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVNb2RlbElmIHtcblxuICBjaGFuZ2VDb2x1bW5PcmRlcihzb3VyY2VDb2x1bW5JbmRleDogbnVtYmVyLCB0YXJnZXRDb2x1bW5JbmRleDogbnVtYmVyKTogdm9pZDtcblxuICBpc1NvcnRhYmxlKGNvbElkeDogbnVtYmVyKTogYm9vbGVhbjtcblxuICBpbml0KCk6IHZvaWQ7XG5cbiAgZ2V0Q29sdW1uQ291bnQoKTogbnVtYmVyO1xuXG4gIGdldENvbHVtbldpZHRoKGNvbHVtbkluZGV4OiBudW1iZXIpOiBudW1iZXI7XG5cbiAgZ2V0WFBvc0J5Q29sdW1uSW5kZXgoY29sdW1uSW5kZXg6IG51bWJlcik6IG51bWJlcjtcblxuICBnZXRBcmVhTW9kZWwocm93QXJlYUlkZW50OiBBcmVhSWRlbnQpOiBBcmVhTW9kZWxJZjtcblxuICBnZXRCb2R5TW9kZWwoKTogQXJlYU1vZGVsSWY7XG5cbiAgZ2V0Rml4ZWRMZWZ0Q29sdW1uQ291bnQoKTogbnVtYmVyO1xuXG4gIGdldEZpeGVkUmlnaHRDb2x1bW5Db3VudCgpOiBudW1iZXI7XG5cbiAgaXNIZWFkZXJWaXNpYmUoKTogYm9vbGVhbjtcblxuICBpc0Zvb3RlclZpc2liZSgpOiBib29sZWFuO1xuXG4gIGlzUm93Q2hlY2tib3hWaXNpYmxlKCk6IGJvb2xlYW47XG5cbiAgZ2V0Um93SGVpZ2h0KHJvd0FyZWFJZGVudDogQXJlYUlkZW50LCByb3dJbmRleDogbnVtYmVyKTogbnVtYmVyO1xuXG4gIGdldENvbHVtbkRlZihpbmRleDogbnVtYmVyKTogQ29sdW1uRGVmSWYgfCB1bmRlZmluZWQ7XG5cbiAgZ2V0Q29sdW1uRGVmcygpOiBDb2x1bW5EZWZJZltdIHwgdW5kZWZpbmVkO1xuXG4gIGdldENvbHVtblByb3BlcnR5KGNvbHVtbkluZGV4OiBudW1iZXIpOiBzdHJpbmc7XG5cbiAgZ2V0Qm9keVJvd0J5SW5kZXgocm93SW5kZXg6IG51bWJlcik6IGFueTtcblxuICBnZXRDb2x1bW5XaWR0aChjb2x1bW5JbmRleDogbnVtYmVyKTogbnVtYmVyO1xuXG4gIHNldENvbHVtbldpZHRoKGNvbHVtbkluZGV4OiBudW1iZXIsIHdpZHRoOiBudW1iZXIpOiB2b2lkO1xuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICByZWNhbGNTaXplKGNsaWVudFdpZHRoOiBudW1iZXIpOiB2b2lkO1xuXG4gIGdldFBhZGRpbmcoKTogUGFkZGluZztcblxuICBnZXRDb250ZW50SGVpZ2h0SW5QaXhlbCgpOiBudW1iZXI7XG5cbiAgZ2V0Q29udGVudFdpZHRoSW5QaXhlbCgpOiBudW1iZXI7XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIGV4dGVybmFsRmlsdGVyQ2hhbmdlZDxUPihwcmVkaWN0Rm46IEZpbHRlckZ1bmN0aW9uPFQ+KTogdm9pZDtcblxuICBkb1NvcnQoc29ydEl0ZW1zOiBTb3J0SXRlbVtdKTogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
import { Padding } from "./padding";
|
|
2
|
-
import { DefaultRowHeights } from "../options/default-row-heights";
|
|
3
|
-
/*
|
|
4
|
-
|
|
5
|
-
+----------------+-------------------+--------------+
|
|
6
|
-
| header/west | header/center | header/east |
|
|
7
|
-
+----------------+-------------------+--------------+
|
|
8
|
-
| | | |
|
|
9
|
-
| body/west | body/center | body/east |
|
|
10
|
-
| | | |
|
|
11
|
-
+----------------+-------------------+--------------+
|
|
12
|
-
| footer/west | footer/center | footer/east |
|
|
13
|
-
+----------------+-------------------+--------------+
|
|
14
|
-
|
|
15
|
-
*/
|
|
16
|
-
export class TableModel {
|
|
17
|
-
constructor(headerAreaModel, bodyAreaModel, footerAreaModel, fixedLeftColumnCount = 0, fixedRightColumnCount = 0, rowCheckboxVisible = false, defaultRowHeights = new DefaultRowHeights(), columnDefs = [], columnSizes = [], overridingColumnWidth = -1, columnCount = 0) {
|
|
18
|
-
this.headerAreaModel = headerAreaModel;
|
|
19
|
-
this.bodyAreaModel = bodyAreaModel;
|
|
20
|
-
this.footerAreaModel = footerAreaModel;
|
|
21
|
-
this.fixedLeftColumnCount = fixedLeftColumnCount;
|
|
22
|
-
this.fixedRightColumnCount = fixedRightColumnCount;
|
|
23
|
-
this.rowCheckboxVisible = rowCheckboxVisible;
|
|
24
|
-
this.defaultRowHeights = defaultRowHeights;
|
|
25
|
-
this.columnDefs = columnDefs;
|
|
26
|
-
this.columnSizes = columnSizes;
|
|
27
|
-
this.overridingColumnWidth = overridingColumnWidth;
|
|
28
|
-
this.columnCount = columnCount;
|
|
29
|
-
this.rowCount = 0;
|
|
30
|
-
this.contentHeightInPx = 0;
|
|
31
|
-
this.contentWidthInPx = 0;
|
|
32
|
-
// in case of a fixed header, left or right column, footer:
|
|
33
|
-
this.padding = new Padding(0, 0, 0, 0); // the dimension of the 'body/center'
|
|
34
|
-
this.xPositions = [];
|
|
35
|
-
if (!this.columnCount) {
|
|
36
|
-
if (this.columnDefs?.length) {
|
|
37
|
-
this.columnCount = this.columnDefs.length;
|
|
38
|
-
}
|
|
39
|
-
else if (this.columnSizes?.length) {
|
|
40
|
-
this.columnCount = this.columnSizes?.length;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
init() {
|
|
45
|
-
this.recalcSize(400);
|
|
46
|
-
if (this.overridingColumnWidth === -1) {
|
|
47
|
-
this.calcXPositions();
|
|
48
|
-
}
|
|
49
|
-
if (this.headerAreaModel) {
|
|
50
|
-
this.headerAreaModel.init();
|
|
51
|
-
}
|
|
52
|
-
if (this.bodyAreaModel) {
|
|
53
|
-
this.bodyAreaModel.init();
|
|
54
|
-
}
|
|
55
|
-
if (this.footerAreaModel) {
|
|
56
|
-
this.footerAreaModel.init();
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
getColumnCount() {
|
|
60
|
-
return this.columnCount;
|
|
61
|
-
}
|
|
62
|
-
;
|
|
63
|
-
setColumnWidth(columnIndex, width) {
|
|
64
|
-
width = Math.max(0, width);
|
|
65
|
-
if (this.overridingColumnWidth !== -1) {
|
|
66
|
-
this.overridingColumnWidth = width;
|
|
67
|
-
}
|
|
68
|
-
if (columnIndex > -1 && columnIndex < this.columnSizes?.length) {
|
|
69
|
-
this.columnSizes[columnIndex] = width;
|
|
70
|
-
}
|
|
71
|
-
this.recalcContentWidthInPx();
|
|
72
|
-
}
|
|
73
|
-
getColumnWidth(columnIndex) {
|
|
74
|
-
if (this.overridingColumnWidth !== -1) {
|
|
75
|
-
return this.overridingColumnWidth;
|
|
76
|
-
}
|
|
77
|
-
if (columnIndex > -1 && columnIndex < this.columnSizes?.length) {
|
|
78
|
-
return this.columnSizes[columnIndex];
|
|
79
|
-
}
|
|
80
|
-
return 0;
|
|
81
|
-
}
|
|
82
|
-
;
|
|
83
|
-
getXPosByColumnIndex(columnIndex) {
|
|
84
|
-
if (columnIndex === 0) {
|
|
85
|
-
return 0;
|
|
86
|
-
}
|
|
87
|
-
if (this.overridingColumnWidth > -1) {
|
|
88
|
-
return this.overridingColumnWidth * columnIndex;
|
|
89
|
-
}
|
|
90
|
-
return this.xPositions[columnIndex];
|
|
91
|
-
}
|
|
92
|
-
recalcSize(clientWidth) {
|
|
93
|
-
if (!this.columnDefs?.length && !this.columnSizes?.length) {
|
|
94
|
-
this.columnSizes = new Array(this.getColumnCount()).fill(this.overridingColumnWidth);
|
|
95
|
-
}
|
|
96
|
-
if (this.columnDefs?.length) {
|
|
97
|
-
this.columnSizes = this.columnDefs.map(def => {
|
|
98
|
-
if (def.width.unit === '%' && clientWidth) {
|
|
99
|
-
// only for a % value we have to check min and max:
|
|
100
|
-
let px = Math.floor(def.width.value * clientWidth / 100);
|
|
101
|
-
if (def.minWidth) {
|
|
102
|
-
let pxMin = def.minWidth.unit === 'px' ? def.minWidth.value : Math.floor(def.minWidth.value * clientWidth / 100);
|
|
103
|
-
px = Math.max(pxMin, px);
|
|
104
|
-
}
|
|
105
|
-
if (def.maxWidth) {
|
|
106
|
-
let pxMax = def.maxWidth.unit === 'px' ? def.maxWidth.value : Math.floor(def.maxWidth.value * clientWidth / 100);
|
|
107
|
-
px = Math.min(pxMax, px);
|
|
108
|
-
}
|
|
109
|
-
return px;
|
|
110
|
-
}
|
|
111
|
-
return def.width.value;
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
const bodyModel = this.getAreaModel('body');
|
|
115
|
-
this.rowCount = bodyModel.getRowCount();
|
|
116
|
-
this.contentHeightInPx = this.getAreaHeight('body');
|
|
117
|
-
this.recalcContentWidthInPx();
|
|
118
|
-
const westWidth = this.getSideAreaWidth('west');
|
|
119
|
-
const eastWidth = this.getSideAreaWidth('east');
|
|
120
|
-
const headerHeight = this.getAreaHeight('header');
|
|
121
|
-
const footerHeight = this.getAreaHeight('footer');
|
|
122
|
-
this.padding = new Padding(headerHeight, eastWidth, footerHeight, westWidth);
|
|
123
|
-
}
|
|
124
|
-
getPadding() {
|
|
125
|
-
return this.padding;
|
|
126
|
-
}
|
|
127
|
-
getContentHeightInPixel() {
|
|
128
|
-
return this.contentHeightInPx;
|
|
129
|
-
}
|
|
130
|
-
getContentWidthInPixel() {
|
|
131
|
-
return this.contentWidthInPx;
|
|
132
|
-
}
|
|
133
|
-
getRowHeight(rowAreaIdent, rowIndex) {
|
|
134
|
-
return this.getAreaModel(rowAreaIdent).getRowHeight(rowIndex);
|
|
135
|
-
}
|
|
136
|
-
getModel(rowAreaIdent) {
|
|
137
|
-
return this.getAreaModel(rowAreaIdent);
|
|
138
|
-
}
|
|
139
|
-
getAreaHeight(areaIdent) {
|
|
140
|
-
const model = this.getModel(areaIdent);
|
|
141
|
-
const rowCount = model.getRowCount();
|
|
142
|
-
if (this.defaultRowHeights[areaIdent]) {
|
|
143
|
-
return rowCount * this.defaultRowHeights[areaIdent];
|
|
144
|
-
}
|
|
145
|
-
let ret = 0;
|
|
146
|
-
for (let i = 0; i < rowCount; i++) {
|
|
147
|
-
ret = ret + model.getRowHeight(i);
|
|
148
|
-
}
|
|
149
|
-
return ret;
|
|
150
|
-
}
|
|
151
|
-
getSideAreaWidth(sideIdent) {
|
|
152
|
-
const [cStart, cEnd] = this.getSideStartAndEndColumnIndex(sideIdent);
|
|
153
|
-
let ret = 0;
|
|
154
|
-
for (let i = cStart; i <= cEnd; i++) {
|
|
155
|
-
ret = ret + this.getColumnWidth(i);
|
|
156
|
-
}
|
|
157
|
-
return ret;
|
|
158
|
-
}
|
|
159
|
-
getSideStartAndEndColumnIndex(sideIdent) {
|
|
160
|
-
const c1 = this.getFixedLeftColumnCount();
|
|
161
|
-
const c2 = this.getFixedRightColumnCount();
|
|
162
|
-
let cStart = 0;
|
|
163
|
-
let cEnd = this.columnCount - 1;
|
|
164
|
-
if (sideIdent === 'west') {
|
|
165
|
-
cEnd = c1 - 1;
|
|
166
|
-
}
|
|
167
|
-
else if (sideIdent === 'east') {
|
|
168
|
-
cStart = this.columnCount - c2;
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
// center:
|
|
172
|
-
cStart = c1;
|
|
173
|
-
cEnd = this.columnCount - c2 - 1;
|
|
174
|
-
}
|
|
175
|
-
return [cStart, cEnd];
|
|
176
|
-
}
|
|
177
|
-
getColumnDef(index) {
|
|
178
|
-
if (index < this.columnDefs.length) {
|
|
179
|
-
return this.columnDefs[index];
|
|
180
|
-
}
|
|
181
|
-
return undefined;
|
|
182
|
-
}
|
|
183
|
-
getFixedLeftColumnCount() {
|
|
184
|
-
return this.fixedLeftColumnCount;
|
|
185
|
-
}
|
|
186
|
-
getFixedRightColumnCount() {
|
|
187
|
-
return this.fixedRightColumnCount;
|
|
188
|
-
}
|
|
189
|
-
getAreaModel(area) {
|
|
190
|
-
if (area === 'header') {
|
|
191
|
-
return this.headerAreaModel;
|
|
192
|
-
}
|
|
193
|
-
if (area === 'body') {
|
|
194
|
-
return this.bodyAreaModel;
|
|
195
|
-
}
|
|
196
|
-
if (area === 'footer') {
|
|
197
|
-
return this.footerAreaModel;
|
|
198
|
-
}
|
|
199
|
-
throw new Error("Wrong ident.");
|
|
200
|
-
}
|
|
201
|
-
getBodyModel() {
|
|
202
|
-
return this.bodyAreaModel;
|
|
203
|
-
}
|
|
204
|
-
isFooterVisibe() {
|
|
205
|
-
return (this.footerAreaModel?.getRowCount() ?? 0) > 0;
|
|
206
|
-
}
|
|
207
|
-
isHeaderVisibe() {
|
|
208
|
-
return (this.headerAreaModel?.getRowCount() ?? 0) > 0;
|
|
209
|
-
}
|
|
210
|
-
isRowCheckboxVisible() {
|
|
211
|
-
return this.rowCheckboxVisible;
|
|
212
|
-
}
|
|
213
|
-
externalFilterChanged(predictFn) {
|
|
214
|
-
this.getAreaModel('body').externalFilterChanged(predictFn);
|
|
215
|
-
}
|
|
216
|
-
doSort(sortItems) {
|
|
217
|
-
return this.getAreaModel('body').doSort(sortItems);
|
|
218
|
-
}
|
|
219
|
-
getColumnDefs() {
|
|
220
|
-
return this.columnDefs;
|
|
221
|
-
}
|
|
222
|
-
getColumnProperty(columnIndex) {
|
|
223
|
-
return this.columnDefs[columnIndex].property;
|
|
224
|
-
}
|
|
225
|
-
getBodyRowByIndex(rowIndex) {
|
|
226
|
-
return this.getBodyModel().getRowByIndex(rowIndex);
|
|
227
|
-
}
|
|
228
|
-
isSortable(columnIndex) {
|
|
229
|
-
if (this.columnDefs
|
|
230
|
-
&& columnIndex < this.columnDefs.length
|
|
231
|
-
&& this.columnDefs[columnIndex].sortable) {
|
|
232
|
-
// @ts-ignore
|
|
233
|
-
return this.columnDefs[columnIndex].sortable();
|
|
234
|
-
}
|
|
235
|
-
return false;
|
|
236
|
-
}
|
|
237
|
-
changeColumnOrder(sourceColumnIndex, targetColumnIndex) {
|
|
238
|
-
this.arrayMove(this.columnDefs, sourceColumnIndex, targetColumnIndex);
|
|
239
|
-
this.arrayMove(this.columnSizes, sourceColumnIndex, targetColumnIndex);
|
|
240
|
-
this.headerAreaModel?.changeColumnOrder(sourceColumnIndex, targetColumnIndex);
|
|
241
|
-
this.bodyAreaModel?.changeColumnOrder(sourceColumnIndex, targetColumnIndex);
|
|
242
|
-
this.footerAreaModel?.changeColumnOrder(sourceColumnIndex, targetColumnIndex);
|
|
243
|
-
this.calcXPositions();
|
|
244
|
-
}
|
|
245
|
-
arrayMove(arr, fromIndex, toIndex) {
|
|
246
|
-
const element = arr.splice(fromIndex, 1)[0];
|
|
247
|
-
arr.splice(toIndex, 0, element);
|
|
248
|
-
return arr;
|
|
249
|
-
}
|
|
250
|
-
recalcContentWidthInPx() {
|
|
251
|
-
this.contentWidthInPx = this.getSideAreaWidth('center');
|
|
252
|
-
}
|
|
253
|
-
calcXPositions() {
|
|
254
|
-
const columnCount = this.getColumnCount();
|
|
255
|
-
this.xPositions = new Array(columnCount + 1);
|
|
256
|
-
this.xPositions[0] = 0;
|
|
257
|
-
for (let i = 0; i < columnCount; i++) {
|
|
258
|
-
this.xPositions[i + 1] = this.getColumnWidth(i) + this.xPositions[i];
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RhYmxlL3NyYy9saWIvdGFibGUvZGF0YS90YWJsZW1vZGVsL3RhYmxlLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFLbEMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFNakU7Ozs7Ozs7Ozs7OztFQVlFO0FBQ0YsTUFBTSxPQUFPLFVBQVU7SUFVckIsWUFDa0IsZUFBNEIsRUFDNUIsYUFBMEIsRUFDMUIsZUFBNEIsRUFDNUIsdUJBQStCLENBQUMsRUFDaEMsd0JBQWdDLENBQUMsRUFDakMscUJBQThCLEtBQUssRUFDbkMsb0JBQXlDLElBQUksaUJBQWlCLEVBQUUsRUFDekUsYUFBNEIsRUFBRSxFQUM5QixjQUF3QixFQUFFLEVBQ3ZCLHdCQUFnQyxDQUFDLENBQUMsRUFDbEMsY0FBc0IsQ0FBQztRQVZqQixvQkFBZSxHQUFmLGVBQWUsQ0FBYTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBYTtRQUMxQixvQkFBZSxHQUFmLGVBQWUsQ0FBYTtRQUM1Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVk7UUFDaEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFZO1FBQ2pDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBaUI7UUFDbkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUErQztRQUN6RSxlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQUN2QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQWE7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFuQnpCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFDdEIscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FB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Q0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8sY0FBYztRQUNwQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RhYmxlTW9kZWxJZn0gZnJvbSBcIi4vdGFibGUtbW9kZWwuaWZcIjtcbmltcG9ydCB7UGFkZGluZ30gZnJvbSBcIi4vcGFkZGluZ1wiO1xuaW1wb3J0IHtBcmVhSWRlbnR9IGZyb20gXCIuL2FyZWEtaWRlbnQudHlwZVwiO1xuaW1wb3J0IHtBcmVhTW9kZWxJZn0gZnJvbSBcIi4vYXJlYW1vZGVsL2FyZWEtbW9kZWwuaWZcIjtcbmltcG9ydCB7U2lkZUlkZW50fSBmcm9tIFwiLi4vc2lkZS1pZGVudC50eXBlXCI7XG5pbXBvcnQge0RlZmF1bHRSb3dIZWlnaHRzSWZ9IGZyb20gXCIuLi9vcHRpb25zL2RlZmF1bHQtcm93LWhlaWdodHMuaWZcIjtcbmltcG9ydCB7RGVmYXVsdFJvd0hlaWdodHN9IGZyb20gXCIuLi9vcHRpb25zL2RlZmF1bHQtcm93LWhlaWdodHNcIjtcbmltcG9ydCB7Q29sdW1uRGVmSWZ9IGZyb20gXCIuL2NvbHVtbi9jb2x1bW4tZGVmLmlmXCI7XG5pbXBvcnQge0ZpbHRlckZ1bmN0aW9ufSBmcm9tIFwiLi4vY29tbW9uL2ZpbHRlci1mdW5jdGlvblwiO1xuaW1wb3J0IHtTb3J0SXRlbX0gZnJvbSBcIi4uL2NvbW1vbi9zb3J0LWl0ZW1cIjtcblxuXG4vKlxuXG4gKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLStcbiB8ICBoZWFkZXIvd2VzdCAgIHwgIGhlYWRlci9jZW50ZXIgICAgfCBoZWFkZXIvZWFzdCAgfFxuICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rXG4gfCAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgIHxcbiB8ICBib2R5L3dlc3QgICAgIHwgIGJvZHkvY2VudGVyICAgICAgfCBib2R5L2Vhc3QgICAgfFxuIHwgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8XG4gKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLStcbiB8ICBmb290ZXIvd2VzdCAgIHwgIGZvb3Rlci9jZW50ZXIgICAgfCBmb290ZXIvZWFzdCAgfFxuICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rXG5cbiovXG5leHBvcnQgY2xhc3MgVGFibGVNb2RlbCBpbXBsZW1lbnRzIFRhYmxlTW9kZWxJZiB7XG5cbiAgcHJvdGVjdGVkIHJvd0NvdW50ID0gMDtcbiAgcHJvdGVjdGVkIGNvbnRlbnRIZWlnaHRJblB4ID0gMDtcbiAgcHJvdGVjdGVkIGNvbnRlbnRXaWR0aEluUHggPSAwO1xuXG4gIC8vIGluIGNhc2Ugb2YgYSBmaXhlZCBoZWFkZXIsIGxlZnQgb3IgcmlnaHQgY29sdW1uLCBmb290ZXI6XG4gIHByb3RlY3RlZCBwYWRkaW5nID0gbmV3IFBhZGRpbmcoMCwgMCwgMCwgMCk7IC8vIHRoZSBkaW1lbnNpb24gb2YgdGhlICdib2R5L2NlbnRlcidcbiAgcHJvdGVjdGVkIHhQb3NpdGlvbnM6IG51bWJlcltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGhlYWRlckFyZWFNb2RlbDogQXJlYU1vZGVsSWYsXG4gICAgcHVibGljIHJlYWRvbmx5IGJvZHlBcmVhTW9kZWw6IEFyZWFNb2RlbElmLFxuICAgIHB1YmxpYyByZWFkb25seSBmb290ZXJBcmVhTW9kZWw6IEFyZWFNb2RlbElmLFxuICAgIHB1YmxpYyByZWFkb25seSBmaXhlZExlZnRDb2x1bW5Db3VudDogbnVtYmVyID0gMCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgZml4ZWRSaWdodENvbHVtbkNvdW50OiBudW1iZXIgPSAwLFxuICAgIHB1YmxpYyByZWFkb25seSByb3dDaGVja2JveFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdFJvd0hlaWdodHM6IERlZmF1bHRSb3dIZWlnaHRzSWYgPSBuZXcgRGVmYXVsdFJvd0hlaWdodHMoKSxcbiAgICBwdWJsaWMgY29sdW1uRGVmczogQ29sdW1uRGVmSWZbXSA9IFtdLFxuICAgIHB1YmxpYyBjb2x1bW5TaXplczogbnVtYmVyW10gPSBbXSxcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGluZ0NvbHVtbldpZHRoOiBudW1iZXIgPSAtMSxcbiAgICBwcm90ZWN0ZWQgY29sdW1uQ291bnQ6IG51bWJlciA9IDBcbiAgKSB7XG5cbiAgICBpZiAoIXRoaXMuY29sdW1uQ291bnQpIHtcbiAgICAgIGlmICh0aGlzLmNvbHVtbkRlZnM/Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLmNvbHVtbkNvdW50ID0gdGhpcy5jb2x1bW5EZWZzLmxlbmd0aDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb2x1bW5TaXplcz8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuY29sdW1uQ291bnQgPSB0aGlzLmNvbHVtblNpemVzPy5sZW5ndGg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaW5pdCgpIHtcbiAgICB0aGlzLnJlY2FsY1NpemUoNDAwKTtcbiAgICBpZiAodGhpcy5vdmVycmlkaW5nQ29sdW1uV2lkdGggPT09IC0xKSB7XG4gICAgICB0aGlzLmNhbGNYUG9zaXRpb25zKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmhlYWRlckFyZWFNb2RlbCkge1xuICAgICAgdGhpcy5oZWFkZXJBcmVhTW9kZWwuaW5pdCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ib2R5QXJlYU1vZGVsKSB7XG4gICAgICB0aGlzLmJvZHlBcmVhTW9kZWwuaW5pdCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5mb290ZXJBcmVhTW9kZWwpIHtcbiAgICAgIHRoaXMuZm9vdGVyQXJlYU1vZGVsLmluaXQoKTtcbiAgICB9XG4gIH1cblxuICBnZXRDb2x1bW5Db3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbkNvdW50O1xuICB9O1xuXG4gIHNldENvbHVtbldpZHRoKGNvbHVtbkluZGV4OiBudW1iZXIsIHdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICB3aWR0aCA9IE1hdGgubWF4KDAsIHdpZHRoKTtcbiAgICBpZiAodGhpcy5vdmVycmlkaW5nQ29sdW1uV2lkdGggIT09IC0xKSB7XG4gICAgICB0aGlzLm92ZXJyaWRpbmdDb2x1bW5XaWR0aCA9IHdpZHRoO1xuICAgIH1cbiAgICBpZiAoY29sdW1uSW5kZXggPiAtMSAmJiBjb2x1bW5JbmRleCA8IHRoaXMuY29sdW1uU2l6ZXM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5jb2x1bW5TaXplc1tjb2x1bW5JbmRleF0gPSB3aWR0aDtcbiAgICB9XG4gICAgdGhpcy5yZWNhbGNDb250ZW50V2lkdGhJblB4KCk7XG4gIH1cblxuICBnZXRDb2x1bW5XaWR0aChjb2x1bW5JbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5vdmVycmlkaW5nQ29sdW1uV2lkdGggIT09IC0xKSB7XG4gICAgICByZXR1cm4gdGhpcy5vdmVycmlkaW5nQ29sdW1uV2lkdGg7XG4gICAgfVxuICAgIGlmIChjb2x1bW5JbmRleCA+IC0xICYmIGNvbHVtbkluZGV4IDwgdGhpcy5jb2x1bW5TaXplcz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb2x1bW5TaXplc1tjb2x1bW5JbmRleF07XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9O1xuXG4gIGdldFhQb3NCeUNvbHVtbkluZGV4KGNvbHVtbkluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChjb2x1bW5JbmRleCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGlmICh0aGlzLm92ZXJyaWRpbmdDb2x1bW5XaWR0aCA+IC0xKSB7XG4gICAgICByZXR1cm4gdGhpcy5vdmVycmlkaW5nQ29sdW1uV2lkdGggKiBjb2x1bW5JbmRleDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMueFBvc2l0aW9uc1tjb2x1bW5JbmRleF07XG4gIH1cblxuICByZWNhbGNTaXplKGNsaWVudFdpZHRoOiBudW1iZXIpIHtcbiAgICBpZiAoIXRoaXMuY29sdW1uRGVmcz8ubGVuZ3RoICYmICF0aGlzLmNvbHVtblNpemVzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY29sdW1uU2l6ZXMgPSBuZXcgQXJyYXkodGhpcy5nZXRDb2x1bW5Db3VudCgpKS5maWxsKHRoaXMub3ZlcnJpZGluZ0NvbHVtbldpZHRoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29sdW1uRGVmcz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNvbHVtblNpemVzID0gdGhpcy5jb2x1bW5EZWZzLm1hcChkZWYgPT4ge1xuICAgICAgICBpZiAoZGVmLndpZHRoLnVuaXQgPT09ICclJyAmJiBjbGllbnRXaWR0aCkge1xuICAgICAgICAgIC8vIG9ubHkgZm9yIGEgJSB2YWx1ZSB3ZSBoYXZlIHRvIGNoZWNrIG1pbiBhbmQgbWF4OlxuICAgICAgICAgIGxldCBweCA9IE1hdGguZmxvb3IoZGVmLndpZHRoLnZhbHVlICogY2xpZW50V2lkdGggLyAxMDApO1xuICAgICAgICAgIGlmIChkZWYubWluV2lkdGgpIHtcbiAgICAgICAgICAgIGxldCBweE1pbiA9IGRlZi5taW5XaWR0aC51bml0ID09PSAncHgnID8gZGVmLm1pbldpZHRoLnZhbHVlIDogTWF0aC5mbG9vcihkZWYubWluV2lkdGgudmFsdWUgKiBjbGllbnRXaWR0aCAvIDEwMCk7XG4gICAgICAgICAgICBweCA9IE1hdGgubWF4KHB4TWluLCBweCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkZWYubWF4V2lkdGgpIHtcbiAgICAgICAgICAgIGxldCBweE1heCA9IGRlZi5tYXhXaWR0aC51bml0ID09PSAncHgnID8gZGVmLm1heFdpZHRoLnZhbHVlIDogTWF0aC5mbG9vcihkZWYubWF4V2lkdGgudmFsdWUgKiBjbGllbnRXaWR0aCAvIDEwMCk7XG4gICAgICAgICAgICBweCA9IE1hdGgubWluKHB4TWF4LCBweCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBweDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVmLndpZHRoLnZhbHVlO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgYm9keU1vZGVsID0gdGhpcy5nZXRBcmVhTW9kZWwoJ2JvZHknKTtcbiAgICB0aGlzLnJvd0NvdW50ID0gYm9keU1vZGVsLmdldFJvd0NvdW50KCk7XG4gICAgdGhpcy5jb250ZW50SGVpZ2h0SW5QeCA9IHRoaXMuZ2V0QXJlYUhlaWdodCgnYm9keScpO1xuICAgIHRoaXMucmVjYWxjQ29udGVudFdpZHRoSW5QeCgpO1xuXG4gICAgY29uc3Qgd2VzdFdpZHRoID0gdGhpcy5nZXRTaWRlQXJlYVdpZHRoKCd3ZXN0Jyk7XG4gICAgY29uc3QgZWFzdFdpZHRoID0gdGhpcy5nZXRTaWRlQXJlYVdpZHRoKCdlYXN0Jyk7XG4gICAgY29uc3QgaGVhZGVySGVpZ2h0ID0gdGhpcy5nZXRBcmVhSGVpZ2h0KCdoZWFkZXInKTtcbiAgICBjb25zdCBmb290ZXJIZWlnaHQgPSB0aGlzLmdldEFyZWFIZWlnaHQoJ2Zvb3RlcicpO1xuXG4gICAgdGhpcy5wYWRkaW5nID0gbmV3IFBhZGRpbmcoXG4gICAgICBoZWFkZXJIZWlnaHQsXG4gICAgICBlYXN0V2lkdGgsXG4gICAgICBmb290ZXJIZWlnaHQsXG4gICAgICB3ZXN0V2lkdGgpO1xuICB9XG5cbiAgZ2V0UGFkZGluZygpOiBQYWRkaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYWRkaW5nO1xuICB9XG5cbiAgZ2V0Q29udGVudEhlaWdodEluUGl4ZWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50SGVpZ2h0SW5QeDtcbiAgfVxuXG4gIGdldENvbnRlbnRXaWR0aEluUGl4ZWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50V2lkdGhJblB4O1xuICB9XG5cbiAgZ2V0Um93SGVpZ2h0KHJvd0FyZWFJZGVudDogQXJlYUlkZW50LCByb3dJbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBcmVhTW9kZWwocm93QXJlYUlkZW50KS5nZXRSb3dIZWlnaHQocm93SW5kZXgpO1xuICB9XG5cbiAgZ2V0TW9kZWwocm93QXJlYUlkZW50OiBBcmVhSWRlbnQpOiBBcmVhTW9kZWxJZiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXJlYU1vZGVsKHJvd0FyZWFJZGVudCk7XG4gIH1cblxuICBnZXRBcmVhSGVpZ2h0KGFyZWFJZGVudDogQXJlYUlkZW50KTogbnVtYmVyIHtcbiAgICBjb25zdCBtb2RlbCA9IHRoaXMuZ2V0TW9kZWwoYXJlYUlkZW50KTtcbiAgICBjb25zdCByb3dDb3VudCA9IG1vZGVsLmdldFJvd0NvdW50KCk7XG4gICAgaWYgKHRoaXMuZGVmYXVsdFJvd0hlaWdodHNbYXJlYUlkZW50XSkge1xuICAgICAgcmV0dXJuIHJvd0NvdW50ICogdGhpcy5kZWZhdWx0Um93SGVpZ2h0c1thcmVhSWRlbnRdO1xuICAgIH1cblxuICAgIGxldCByZXQgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93Q291bnQ7IGkrKykge1xuICAgICAgcmV0ID0gcmV0ICsgbW9kZWwuZ2V0Um93SGVpZ2h0KGkpO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgZ2V0U2lkZUFyZWFXaWR0aChzaWRlSWRlbnQ6IFNpZGVJZGVudCk6IG51bWJlciB7XG4gICAgY29uc3QgW2NTdGFydCwgY0VuZF0gPSB0aGlzLmdldFNpZGVTdGFydEFuZEVuZENvbHVtbkluZGV4KHNpZGVJZGVudCk7XG4gICAgbGV0IHJldCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IGNTdGFydDsgaSA8PSBjRW5kOyBpKyspIHtcbiAgICAgIHJldCA9IHJldCArIHRoaXMuZ2V0Q29sdW1uV2lkdGgoaSk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBnZXRTaWRlU3RhcnRBbmRFbmRDb2x1bW5JbmRleChzaWRlSWRlbnQ6IFNpZGVJZGVudCk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgIGNvbnN0IGMxID0gdGhpcy5nZXRGaXhlZExlZnRDb2x1bW5Db3VudCgpO1xuICAgIGNvbnN0IGMyID0gdGhpcy5nZXRGaXhlZFJpZ2h0Q29sdW1uQ291bnQoKTtcblxuICAgIGxldCBjU3RhcnQgPSAwO1xuICAgIGxldCBjRW5kID0gdGhpcy5jb2x1bW5Db3VudCAtIDE7XG4gICAgaWYgKHNpZGVJZGVudCA9PT0gJ3dlc3QnKSB7XG4gICAgICBjRW5kID0gYzEgLSAxO1xuICAgIH0gZWxzZSBpZiAoc2lkZUlkZW50ID09PSAnZWFzdCcpIHtcbiAgICAgIGNTdGFydCA9IHRoaXMuY29sdW1uQ291bnQgLSBjMjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY2VudGVyOlxuICAgICAgY1N0YXJ0ID0gYzE7XG4gICAgICBjRW5kID0gdGhpcy5jb2x1bW5Db3VudCAtIGMyIC0gMTtcbiAgICB9XG4gICAgcmV0dXJuIFtjU3RhcnQsIGNFbmRdO1xuICB9XG5cbiAgZ2V0Q29sdW1uRGVmKGluZGV4OiBudW1iZXIpOiBDb2x1bW5EZWZJZiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGluZGV4IDwgdGhpcy5jb2x1bW5EZWZzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29sdW1uRGVmc1tpbmRleF07XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRGaXhlZExlZnRDb2x1bW5Db3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmZpeGVkTGVmdENvbHVtbkNvdW50O1xuICB9XG5cbiAgZ2V0Rml4ZWRSaWdodENvbHVtbkNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZml4ZWRSaWdodENvbHVtbkNvdW50O1xuICB9XG5cbiAgZ2V0QXJlYU1vZGVsKGFyZWE6IEFyZWFJZGVudCk6IEFyZWFNb2RlbElmIHtcbiAgICBpZiAoYXJlYSA9PT0gJ2hlYWRlcicpIHtcbiAgICAgIHJldHVybiB0aGlzLmhlYWRlckFyZWFNb2RlbDtcbiAgICB9XG4gICAgaWYgKGFyZWEgPT09ICdib2R5Jykge1xuICAgICAgcmV0dXJuIHRoaXMuYm9keUFyZWFNb2RlbDtcbiAgICB9XG4gICAgaWYgKGFyZWEgPT09ICdmb290ZXInKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb290ZXJBcmVhTW9kZWw7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihcIldyb25nIGlkZW50LlwiKTtcbiAgfVxuXG4gIGdldEJvZHlNb2RlbCgpOiBBcmVhTW9kZWxJZiB7XG4gICAgcmV0dXJuIHRoaXMuYm9keUFyZWFNb2RlbDtcbiAgfVxuXG4gIGlzRm9vdGVyVmlzaWJlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5mb290ZXJBcmVhTW9kZWw/LmdldFJvd0NvdW50KCkgPz8gMCkgPiAwO1xuICB9XG5cbiAgaXNIZWFkZXJWaXNpYmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLmhlYWRlckFyZWFNb2RlbD8uZ2V0Um93Q291bnQoKSA/PyAwKSA+IDA7XG4gIH1cblxuICBpc1Jvd0NoZWNrYm94VmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb3dDaGVja2JveFZpc2libGU7XG4gIH1cblxuICBleHRlcm5hbEZpbHRlckNoYW5nZWQ8VD4ocHJlZGljdEZuOiBGaWx0ZXJGdW5jdGlvbjxUPik6IHZvaWQge1xuICAgIHRoaXMuZ2V0QXJlYU1vZGVsKCdib2R5JykuZXh0ZXJuYWxGaWx0ZXJDaGFuZ2VkKHByZWRpY3RGbik7XG4gIH1cblxuICBkb1NvcnQoc29ydEl0ZW1zOiBTb3J0SXRlbVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXJlYU1vZGVsKCdib2R5JykuZG9Tb3J0KHNvcnRJdGVtcyk7XG4gIH1cblxuICBnZXRDb2x1bW5EZWZzKCk6IENvbHVtbkRlZklmW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbkRlZnM7XG4gIH1cblxuICBnZXRDb2x1bW5Qcm9wZXJ0eShjb2x1bW5JbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5EZWZzW2NvbHVtbkluZGV4XS5wcm9wZXJ0eTtcbiAgfVxuXG4gIGdldEJvZHlSb3dCeUluZGV4KHJvd0luZGV4OiBudW1iZXIpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmdldEJvZHlNb2RlbCgpLmdldFJvd0J5SW5kZXgocm93SW5kZXgpO1xuICB9XG5cbiAgaXNTb3J0YWJsZShjb2x1bW5JbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuY29sdW1uRGVmc1xuICAgICAgJiYgY29sdW1uSW5kZXggPCB0aGlzLmNvbHVtbkRlZnMubGVuZ3RoXG4gICAgICAmJiB0aGlzLmNvbHVtbkRlZnNbY29sdW1uSW5kZXhdLnNvcnRhYmxlKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZXR1cm4gdGhpcy5jb2x1bW5EZWZzW2NvbHVtbkluZGV4XS5zb3J0YWJsZSgpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjaGFuZ2VDb2x1bW5PcmRlcihzb3VyY2VDb2x1bW5JbmRleDogbnVtYmVyLCB0YXJnZXRDb2x1bW5JbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5hcnJheU1vdmUodGhpcy5jb2x1bW5EZWZzLCBzb3VyY2VDb2x1bW5JbmRleCwgdGFyZ2V0Q29sdW1uSW5kZXgpO1xuICAgIHRoaXMuYXJyYXlNb3ZlKHRoaXMuY29sdW1uU2l6ZXMsIHNvdXJjZUNvbHVtbkluZGV4LCB0YXJnZXRDb2x1bW5JbmRleCk7XG4gICAgdGhpcy5oZWFkZXJBcmVhTW9kZWw/LmNoYW5nZUNvbHVtbk9yZGVyKHNvdXJjZUNvbHVtbkluZGV4LCB0YXJnZXRDb2x1bW5JbmRleCk7XG4gICAgdGhpcy5ib2R5QXJlYU1vZGVsPy5jaGFuZ2VDb2x1bW5PcmRlcihzb3VyY2VDb2x1bW5JbmRleCwgdGFyZ2V0Q29sdW1uSW5kZXgpO1xuICAgIHRoaXMuZm9vdGVyQXJlYU1vZGVsPy5jaGFuZ2VDb2x1bW5PcmRlcihzb3VyY2VDb2x1bW5JbmRleCwgdGFyZ2V0Q29sdW1uSW5kZXgpO1xuICAgIHRoaXMuY2FsY1hQb3NpdGlvbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXJyYXlNb3ZlKGFycjogYW55W10sIGZyb21JbmRleDogbnVtYmVyLCB0b0luZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyLnNwbGljZShmcm9tSW5kZXgsIDEpWzBdO1xuICAgIGFyci5zcGxpY2UodG9JbmRleCwgMCwgZWxlbWVudCk7XG4gICAgcmV0dXJuIGFycjtcbiAgfVxuXG4gIHByaXZhdGUgcmVjYWxjQ29udGVudFdpZHRoSW5QeCgpIHtcbiAgICB0aGlzLmNvbnRlbnRXaWR0aEluUHggPSB0aGlzLmdldFNpZGVBcmVhV2lkdGgoJ2NlbnRlcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjWFBvc2l0aW9ucygpIHtcbiAgICBjb25zdCBjb2x1bW5Db3VudCA9IHRoaXMuZ2V0Q29sdW1uQ291bnQoKTtcbiAgICB0aGlzLnhQb3NpdGlvbnMgPSBuZXcgQXJyYXkoY29sdW1uQ291bnQgKyAxKTtcbiAgICB0aGlzLnhQb3NpdGlvbnNbMF0gPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1uQ291bnQ7IGkrKykge1xuICAgICAgdGhpcy54UG9zaXRpb25zW2kgKyAxXSA9IHRoaXMuZ2V0Q29sdW1uV2lkdGgoaSkgKyB0aGlzLnhQb3NpdGlvbnNbaV07XG4gICAgfVxuICB9XG5cblxufVxuXG5cbiJdfQ==
|