@guiexpert/table 1.1.24 → 1.1.26
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/README.md +1 -1
- package/package.json +4 -1
- package/.eslintrc.json +0 -16
- package/dist/README.md +0 -101
- package/dist/css/main.css +0 -350
- package/dist/css/table-classes.css +0 -42
- package/dist/css/table-color-classes.css +0 -98
- package/dist/css/table-color-vars.css +0 -158
- package/dist/css/table-tree.css +0 -53
- package/dist/package.json +0 -47
- package/doc.css +0 -1565
- package/patch.js +0 -16
- package/src/index.ts +0 -176
- package/src/lib/common/decorator/avoid-double-execution.decorator.ts +0 -21
- package/src/lib/table/action/action-id.type.ts +0 -36
- package/src/lib/table/action/on-action-triggered.if.ts +0 -14
- package/src/lib/table/action/osx-shortcut-actionId-mapping.ts +0 -39
- package/src/lib/table/action/shortcut-actionid-mapping.type.ts +0 -7
- package/src/lib/table/action/shortcut.service.ts +0 -162
- package/src/lib/table/action/windows-shortcut-actionId-mapping.ts +0 -35
- package/src/lib/table/checkbox/checkbox-model.if.ts +0 -16
- package/src/lib/table/checkbox/checkbox-model.ts +0 -62
- package/src/lib/table/checkbox/tree-checkbox-model.ts +0 -123
- package/src/lib/table/color/color-rgb.if.ts +0 -12
- package/src/lib/table/color/color-rgb.ts +0 -10
- package/src/lib/table/color/ge-css-color-util.ts +0 -43
- package/src/lib/table/color/three-color-gradient-arg.if.ts +0 -15
- package/src/lib/table/color/three-color-gradient-arg.ts +0 -14
- package/src/lib/table/color/two-color-gradient-arg.if.ts +0 -12
- package/src/lib/table/color/two-color-gradient-arg.ts +0 -12
- package/src/lib/table/css-vars.ts +0 -243
- package/src/lib/table/data/chunk/chunk.data-event.if.ts +0 -8
- package/src/lib/table/data/chunk/chunk.data-event.ts +0 -27
- package/src/lib/table/data/chunk/request-chunk.if.ts +0 -9
- package/src/lib/table/data/chunk/request-chunk.ts +0 -15
- package/src/lib/table/data/common/aligns.ts +0 -42
- package/src/lib/table/data/common/area-map-factory.ts +0 -20
- package/src/lib/table/data/common/area-map.ts +0 -18
- package/src/lib/table/data/common/area-map.type.ts +0 -5
- package/src/lib/table/data/common/args-adjust-columns-to-row-parent-params.ts +0 -21
- package/src/lib/table/data/common/args-render-cell-div.ts +0 -34
- package/src/lib/table/data/common/boolean-function.ts +0 -16
- package/src/lib/table/data/common/cell-range.ts +0 -66
- package/src/lib/table/data/common/checkbox-column-def.ts +0 -31
- package/src/lib/table/data/common/checked-type.ts +0 -6
- package/src/lib/table/data/common/event/ge-cell-indices.ts +0 -12
- package/src/lib/table/data/common/event/ge-key-event.ts +0 -15
- package/src/lib/table/data/common/event/ge-model-change-event.ts +0 -16
- package/src/lib/table/data/common/event/ge-mouse-event.ts +0 -41
- package/src/lib/table/data/common/event/input/table-cell-update-event.if.ts +0 -58
- package/src/lib/table/data/common/event/input/table-cell-update-event.ts +0 -27
- package/src/lib/table/data/common/filter-function.ts +0 -9
- package/src/lib/table/data/common/get-t.ts +0 -7
- package/src/lib/table/data/common/index-and-px.ts +0 -12
- package/src/lib/table/data/common/size.if.ts +0 -8
- package/src/lib/table/data/common/size.ts +0 -9
- package/src/lib/table/data/common/sizes.ts +0 -35
- package/src/lib/table/data/common/sort-item.ts +0 -14
- package/src/lib/table/data/common/sort-state.type.ts +0 -7
- package/src/lib/table/data/common/tree-arrow.type.ts +0 -8
- package/src/lib/table/data/common/tree-row-if.ts +0 -15
- package/src/lib/table/data/common/tree-row.ts +0 -22
- package/src/lib/table/data/common/value-label.if.ts +0 -6
- package/src/lib/table/data/common/value-label.ts +0 -13
- package/src/lib/table/data/div-scope.type.ts +0 -14
- package/src/lib/table/data/event/mouse-target-data.ts +0 -48
- package/src/lib/table/data/geo-data.ts +0 -16
- package/src/lib/table/data/options/auto-restore-options.if.ts +0 -21
- package/src/lib/table/data/options/auto-restore-options.ts +0 -50
- package/src/lib/table/data/options/default-row-heights.if.ts +0 -5
- package/src/lib/table/data/options/default-row-heights.ts +0 -10
- package/src/lib/table/data/options/header-group-options.if.ts +0 -9
- package/src/lib/table/data/options/header-group-options.ts +0 -23
- package/src/lib/table/data/options/icon.if.ts +0 -20
- package/src/lib/table/data/options/icon.ts +0 -10
- package/src/lib/table/data/options/sorted-options.if.ts +0 -13
- package/src/lib/table/data/options/sorted-options.ts +0 -15
- package/src/lib/table/data/options/table-options.if.ts +0 -240
- package/src/lib/table/data/options/table-options.ts +0 -68
- package/src/lib/table/data/options/tree-options.if.ts +0 -10
- package/src/lib/table/data/options/tree-options.ts +0 -32
- package/src/lib/table/data/side-ident.type.ts +0 -4
- package/src/lib/table/data/table-model-and-options.if.ts +0 -11
- package/src/lib/table/data/table-model-and-options.ts +0 -16
- package/src/lib/table/data/tablemodel/area-ident.type.ts +0 -18
- package/src/lib/table/data/tablemodel/areamodel/abstract-area-model.ts +0 -184
- package/src/lib/table/data/tablemodel/areamodel/area-model-array-of-arrays.ts +0 -63
- package/src/lib/table/data/tablemodel/areamodel/area-model-cell-groups.ts +0 -236
- package/src/lib/table/data/tablemodel/areamodel/area-model-hidden.ts +0 -126
- package/src/lib/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.ts +0 -28
- package/src/lib/table/data/tablemodel/areamodel/area-model-object-array.ts +0 -120
- package/src/lib/table/data/tablemodel/areamodel/area-model-tree.ts +0 -224
- package/src/lib/table/data/tablemodel/areamodel/area-model.if.ts +0 -192
- package/src/lib/table/data/tablemodel/areamodel/area-model.ts +0 -117
- package/src/lib/table/data/tablemodel/areamodel/async-area-model-object-array.ts +0 -110
- package/src/lib/table/data/tablemodel/areamodel/col-and-rowspan-model.ts +0 -64
- package/src/lib/table/data/tablemodel/areamodel/has-default-row-height-if.ts +0 -3
- package/src/lib/table/data/tablemodel/areamodel/object-array-holder.if.ts +0 -8
- package/src/lib/table/data/tablemodel/cellgroup/cell-group-ext.ts +0 -172
- package/src/lib/table/data/tablemodel/cellgroup/cell-group.if.ts +0 -12
- package/src/lib/table/data/tablemodel/cellgroup/cell-group.ts +0 -18
- package/src/lib/table/data/tablemodel/cellgroup/cellgroup-factory.ts +0 -148
- package/src/lib/table/data/tablemodel/column/column-def.if.ts +0 -141
- package/src/lib/table/data/tablemodel/column/column-def.ts +0 -108
- package/src/lib/table/data/tablemodel/padding.ts +0 -12
- package/src/lib/table/data/tablemodel/table-model.if.ts +0 -256
- package/src/lib/table/data/tablemodel/table-model.ts +0 -542
- package/src/lib/table/ele-scope.ts +0 -309
- package/src/lib/table/event-adapter.ts +0 -43
- package/src/lib/table/event-listener.if.ts +0 -32
- package/src/lib/table/factory/table-factory.ts +0 -379
- package/src/lib/table/factory/tree-factory.ts +0 -52
- package/src/lib/table/focus/event-focus-changed-listener.if.ts +0 -8
- package/src/lib/table/focus/focus-model.if.ts +0 -20
- package/src/lib/table/focus/focus-model.ts +0 -76
- package/src/lib/table/focus/focus.type.ts +0 -4
- package/src/lib/table/input-handler.ts +0 -48
- package/src/lib/table/instanceof-workaround.ts +0 -41
- package/src/lib/table/license-manager.ts +0 -47
- package/src/lib/table/mouse-handler.ts +0 -307
- package/src/lib/table/render-scope.ts +0 -1440
- package/src/lib/table/renderer/cell-group-ext-cell-renderer.ts +0 -123
- package/src/lib/table/renderer/cell-render.if.ts +0 -16
- package/src/lib/table/renderer/checkbox-boolean-property-cell-renderer.ts +0 -63
- package/src/lib/table/renderer/checkbox-cell-renderer.ts +0 -39
- package/src/lib/table/renderer/date-to-int-date-cell-renderer.ts +0 -39
- package/src/lib/table/renderer/date-to-iso-cell-renderer.ts +0 -25
- package/src/lib/table/renderer/date-to-locale-date-cell-renderer.ts +0 -24
- package/src/lib/table/renderer/date-to-tec-cell-renderer.ts +0 -28
- package/src/lib/table/renderer/edit/edit-cell-renderer.type.ts +0 -3
- package/src/lib/table/renderer/edit/edit-input-pipe-for-number.ts +0 -6
- package/src/lib/table/renderer/edit/edit-input-pipe.if.ts +0 -15
- package/src/lib/table/renderer/edit/input-cell-renderer.ts +0 -41
- package/src/lib/table/renderer/edit/select-cell-renderer.ts +0 -60
- package/src/lib/table/renderer/male-female-to-icon-cell-renderer.ts +0 -26
- package/src/lib/table/renderer/number-cell-progress-bar-cell-renderer.ts +0 -57
- package/src/lib/table/renderer/number-cell-renderer.ts +0 -38
- package/src/lib/table/renderer/positive-and-negative-number-renderer.ts +0 -45
- package/src/lib/table/renderer/progress-bar-cell-renderer.ts +0 -60
- package/src/lib/table/renderer/renderer-cleanup-fn.type.ts +0 -1
- package/src/lib/table/renderer/renderer.ts +0 -11
- package/src/lib/table/renderer/star-rating-cell-renderer.ts +0 -45
- package/src/lib/table/renderer/true-false-cell-renderer.ts +0 -28
- package/src/lib/table/selection/event-selection-changed-listener.if.ts +0 -8
- package/src/lib/table/selection/multi-rows-selection-model.ts +0 -118
- package/src/lib/table/selection/selection-model.if.ts +0 -56
- package/src/lib/table/selection/selection-model.ts +0 -182
- package/src/lib/table/selection/selection-service.ts +0 -129
- package/src/lib/table/selection/selection.type.ts +0 -6
- package/src/lib/table/service/abstract-store-state.service.ts +0 -105
- package/src/lib/table/service/convenience-dom.service.ts +0 -574
- package/src/lib/table/service/copy-service.if.ts +0 -45
- package/src/lib/table/service/copy-service.ts +0 -130
- package/src/lib/table/service/data/collapsed-expanded.data.ts +0 -11
- package/src/lib/table/service/data/html-style.type.ts +0 -1
- package/src/lib/table/service/dom-service.if.ts +0 -18
- package/src/lib/table/service/ge-filter.service.ts +0 -123
- package/src/lib/table/service/simple-dom-service.ts +0 -55
- package/src/lib/table/service/sorter.service.ts +0 -30
- package/src/lib/table/service/store-state-collapsed-expand.service.ts +0 -76
- package/src/lib/table/service/store-state-scroll-pos.service.ts +0 -40
- package/src/lib/table/service/store-state-sorting.service.ts +0 -41
- package/src/lib/table/service/tree-row.service.ts +0 -32
- package/src/lib/table/table-api.ts +0 -234
- package/src/lib/table/table-scope.ts +0 -770
- package/tsconfig.json +0 -21
- package/tsconfig.lib.json +0 -10
- package/tsconfig.spec.json +0 -25
- package/vite.config.ts +0 -56
- /package/{dist/index.cjs → index.cjs} +0 -0
- /package/{dist/index.d.ts → index.d.ts} +0 -0
- /package/{dist/index.js → index.js} +0 -0
- /package/{dist/lib → lib}/common/decorator/avoid-double-execution.decorator.d.ts +0 -0
- /package/{dist/lib → lib}/table/action/action-id.type.d.ts +0 -0
- /package/{dist/lib → lib}/table/action/on-action-triggered.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/action/osx-shortcut-actionId-mapping.d.ts +0 -0
- /package/{dist/lib → lib}/table/action/shortcut-actionid-mapping.type.d.ts +0 -0
- /package/{dist/lib → lib}/table/action/shortcut.service.d.ts +0 -0
- /package/{dist/lib → lib}/table/action/windows-shortcut-actionId-mapping.d.ts +0 -0
- /package/{dist/lib → lib}/table/checkbox/checkbox-model.d.ts +0 -0
- /package/{dist/lib → lib}/table/checkbox/checkbox-model.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/checkbox/tree-checkbox-model.d.ts +0 -0
- /package/{dist/lib → lib}/table/color/color-rgb.d.ts +0 -0
- /package/{dist/lib → lib}/table/color/color-rgb.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/color/ge-css-color-util.d.ts +0 -0
- /package/{dist/lib → lib}/table/color/three-color-gradient-arg.d.ts +0 -0
- /package/{dist/lib → lib}/table/color/three-color-gradient-arg.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/color/two-color-gradient-arg.d.ts +0 -0
- /package/{dist/lib → lib}/table/color/two-color-gradient-arg.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/css-vars.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/chunk/chunk.data-event.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/chunk/chunk.data-event.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/chunk/request-chunk.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/chunk/request-chunk.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/aligns.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/area-map-factory.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/area-map.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/area-map.type.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/args-adjust-columns-to-row-parent-params.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/args-render-cell-div.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/boolean-function.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/cell-range.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/checkbox-column-def.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/checked-type.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/event/ge-cell-indices.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/event/ge-key-event.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/event/ge-model-change-event.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/event/ge-mouse-event.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/event/input/table-cell-update-event.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/event/input/table-cell-update-event.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/filter-function.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/get-t.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/index-and-px.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/size.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/size.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/sizes.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/sort-item.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/sort-state.type.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/tree-arrow.type.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/tree-row-if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/tree-row.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/value-label.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/common/value-label.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/div-scope.type.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/event/mouse-target-data.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/geo-data.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/options/auto-restore-options.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/options/auto-restore-options.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/options/default-row-heights.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/options/default-row-heights.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/options/header-group-options.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/options/header-group-options.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/options/icon.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/options/icon.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/options/sorted-options.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/options/sorted-options.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/options/table-options.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/options/table-options.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/options/tree-options.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/options/tree-options.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/side-ident.type.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/table-model-and-options.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/table-model-and-options.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/area-ident.type.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/areamodel/abstract-area-model.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/areamodel/area-model-array-of-arrays.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/areamodel/area-model-cell-groups.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/areamodel/area-model-hidden.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/areamodel/area-model-object-array-with-columndefs.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/areamodel/area-model-object-array.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/areamodel/area-model-tree.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/areamodel/area-model.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/areamodel/area-model.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/areamodel/async-area-model-object-array.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/areamodel/col-and-rowspan-model.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/areamodel/has-default-row-height-if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/areamodel/object-array-holder.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/cellgroup/cell-group-ext.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/cellgroup/cell-group.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/cellgroup/cell-group.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/cellgroup/cellgroup-factory.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/column/column-def.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/column/column-def.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/padding.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/table-model.d.ts +0 -0
- /package/{dist/lib → lib}/table/data/tablemodel/table-model.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/ele-scope.d.ts +0 -0
- /package/{dist/lib → lib}/table/event-adapter.d.ts +0 -0
- /package/{dist/lib → lib}/table/event-listener.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/factory/table-factory.d.ts +0 -0
- /package/{dist/lib → lib}/table/factory/tree-factory.d.ts +0 -0
- /package/{dist/lib → lib}/table/focus/event-focus-changed-listener.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/focus/focus-model.d.ts +0 -0
- /package/{dist/lib → lib}/table/focus/focus-model.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/focus/focus.type.d.ts +0 -0
- /package/{dist/lib → lib}/table/input-handler.d.ts +0 -0
- /package/{dist/lib → lib}/table/instanceof-workaround.d.ts +0 -0
- /package/{dist/lib → lib}/table/license-manager.d.ts +0 -0
- /package/{dist/lib → lib}/table/mouse-handler.d.ts +0 -0
- /package/{dist/lib → lib}/table/render-scope.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/cell-group-ext-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/cell-render.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/checkbox-boolean-property-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/checkbox-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/date-to-int-date-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/date-to-iso-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/date-to-locale-date-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/date-to-tec-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/edit/edit-cell-renderer.type.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/edit/edit-input-pipe-for-number.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/edit/edit-input-pipe.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/edit/input-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/edit/select-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/male-female-to-icon-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/number-cell-progress-bar-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/number-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/positive-and-negative-number-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/progress-bar-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/renderer-cleanup-fn.type.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/star-rating-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/renderer/true-false-cell-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/table/selection/event-selection-changed-listener.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/selection/multi-rows-selection-model.d.ts +0 -0
- /package/{dist/lib → lib}/table/selection/selection-model.d.ts +0 -0
- /package/{dist/lib → lib}/table/selection/selection-model.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/selection/selection-service.d.ts +0 -0
- /package/{dist/lib → lib}/table/selection/selection.type.d.ts +0 -0
- /package/{dist/lib → lib}/table/service/abstract-store-state.service.d.ts +0 -0
- /package/{dist/lib → lib}/table/service/convenience-dom.service.d.ts +0 -0
- /package/{dist/lib → lib}/table/service/copy-service.d.ts +0 -0
- /package/{dist/lib → lib}/table/service/copy-service.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/service/data/collapsed-expanded.data.d.ts +0 -0
- /package/{dist/lib → lib}/table/service/data/html-style.type.d.ts +0 -0
- /package/{dist/lib → lib}/table/service/dom-service.if.d.ts +0 -0
- /package/{dist/lib → lib}/table/service/ge-filter.service.d.ts +0 -0
- /package/{dist/lib → lib}/table/service/simple-dom-service.d.ts +0 -0
- /package/{dist/lib → lib}/table/service/sorter.service.d.ts +0 -0
- /package/{dist/lib → lib}/table/service/store-state-collapsed-expand.service.d.ts +0 -0
- /package/{dist/lib → lib}/table/service/store-state-scroll-pos.service.d.ts +0 -0
- /package/{dist/lib → lib}/table/service/store-state-sorting.service.d.ts +0 -0
- /package/{dist/lib → lib}/table/service/tree-row.service.d.ts +0 -0
- /package/{dist/lib → lib}/table/table-api.d.ts +0 -0
- /package/{dist/lib → lib}/table/table-scope.d.ts +0 -0
|
@@ -1,770 +0,0 @@
|
|
|
1
|
-
/* eslint @typescript-eslint/no-explicit-any: "off" */
|
|
2
|
-
|
|
3
|
-
import { TableModelIf } from './data/tablemodel/table-model.if';
|
|
4
|
-
import { AreaIdent } from './data/tablemodel/area-ident.type';
|
|
5
|
-
import { GeMouseEvent } from './data/common/event/ge-mouse-event';
|
|
6
|
-
import { DomServiceIf } from './service/dom-service.if';
|
|
7
|
-
import { ConvenienceDomService } from './service/convenience-dom.service';
|
|
8
|
-
import { TableOptionsIf } from './data/options/table-options.if';
|
|
9
|
-
import { MouseHandler } from './mouse-handler';
|
|
10
|
-
import { EventListenerIf } from './event-listener.if';
|
|
11
|
-
import { TableApi } from './table-api';
|
|
12
|
-
import { SortState } from './data/common/sort-state.type';
|
|
13
|
-
import { AreaModelTree } from './data/tablemodel/areamodel/area-model-tree';
|
|
14
|
-
import { StoreStateScrollPosService } from './service/store-state-scroll-pos.service';
|
|
15
|
-
import { StoreStateCollapsedExpandService } from './service/store-state-collapsed-expand.service';
|
|
16
|
-
import { StoreStateSortingService } from './service/store-state-sorting.service';
|
|
17
|
-
import { RenderScope } from './render-scope';
|
|
18
|
-
import { SortItem } from './data/common/sort-item';
|
|
19
|
-
import { InputHandler } from './input-handler';
|
|
20
|
-
import { GeModelChangeEvent } from './data/common/event/ge-model-change-event';
|
|
21
|
-
import { SelectionService } from './selection/selection-service';
|
|
22
|
-
import { GeKeyEvent } from './data/common/event/ge-key-event';
|
|
23
|
-
import { OnActionTriggeredIf } from './action/on-action-triggered.if';
|
|
24
|
-
import { ActionId } from './action/action-id.type';
|
|
25
|
-
import { ShortcutService } from './action/shortcut.service';
|
|
26
|
-
import { EventAdapter } from './event-adapter';
|
|
27
|
-
import { SimpleDomService } from './service/simple-dom-service';
|
|
28
|
-
import { TableOptions } from './data/options/table-options';
|
|
29
|
-
import { TreeRowIf } from './data/common/tree-row-if';
|
|
30
|
-
import { isAreaModelTree } from './instanceof-workaround';
|
|
31
|
-
import { LicenseManager } from './license-manager';
|
|
32
|
-
import { SelectionModel } from './selection/selection-model';
|
|
33
|
-
import { CopyService } from './service/copy-service';
|
|
34
|
-
import { CopyServiceIf } from './service/copy-service.if';
|
|
35
|
-
import { MouseTargetData } from './data/event/mouse-target-data';
|
|
36
|
-
import { AreaModelCellGroups } from './data/tablemodel/areamodel/area-model-cell-groups';
|
|
37
|
-
import { SelectionModelIf } from './selection/selection-model.if';
|
|
38
|
-
import { FocusModelIf } from './focus/focus-model.if';
|
|
39
|
-
import { EventFocusChangedListenerIf } from './focus/event-focus-changed-listener.if';
|
|
40
|
-
import { EventSelectionChangedListenerIf } from './selection/event-selection-changed-listener.if';
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* The TableScope class extends the RenderScope class and provides functionality for rendering and interacting with a table.
|
|
45
|
-
*
|
|
46
|
-
* @property {LicenseManager} licenseManager - An instance of LicenseManager.
|
|
47
|
-
* @property {MouseHandler} mouseHandler - An instance of MouseHandler to handle mouse events.
|
|
48
|
-
* @property {InputHandler} inputHandler - An instance of InputHandler to handle keyboard inputs.
|
|
49
|
-
* @property {ShortcutService} shortcutService - An instance of ShortcutService to register and handle shortcuts.
|
|
50
|
-
* @property {StoreStateCollapsedExpandService | undefined} storeStateCollapsedExpandService - A service to manage and restore the collapsed or expanded state of the table's rows.
|
|
51
|
-
* @property {StoreStateSortingService | undefined} storeSortingService - A service to manage and restore the sort state of the table's columns.
|
|
52
|
-
* @property {SelectionService} selectionService - An instance of SelectionService to manage cell selection in the table.
|
|
53
|
-
* @property {GeKeyEvent | undefined} keyEvent - An object representing the last processed keyboard event.
|
|
54
|
-
* @property {TableApi} api - An instance of TableApi, providing an API for table interactions.
|
|
55
|
-
*
|
|
56
|
-
* Additional properties related to the dragging state of the table:
|
|
57
|
-
* - mouseStartAction: The action performed at the start of a mouse drag operation.
|
|
58
|
-
* - mouseStartWidth: The initial width of an element at the start of a resizing drag operation.
|
|
59
|
-
* - mouseStartColumnIndex: The index of the column at the start of a resizing drag operation.
|
|
60
|
-
* - dragFrom: The initial cell index of a drag operation.
|
|
61
|
-
* - dragTo: The current cell index of a drag operation.
|
|
62
|
-
* - lastDragFrom: The previous initial cell index of a drag operation.
|
|
63
|
-
* - lastDragTo: The previous current cell index of a drag operation.
|
|
64
|
-
* - firstDraggingRendering: A boolean indicating if this is the first render during the current drag operation.
|
|
65
|
-
*
|
|
66
|
-
* Methods: Please refer to the documentation of the superclass RenderScope for the inherited methods.
|
|
67
|
-
* The TableScope class introduces additional methods not listed here. Please refer to the source code for further details.
|
|
68
|
-
*/
|
|
69
|
-
export class TableScope extends RenderScope implements OnActionTriggeredIf, EventFocusChangedListenerIf, EventSelectionChangedListenerIf {
|
|
70
|
-
|
|
71
|
-
public licenseManager = LicenseManager.getInstance();
|
|
72
|
-
public mouseHandler: MouseHandler;
|
|
73
|
-
public inputHandler: InputHandler;
|
|
74
|
-
public shortcutService: ShortcutService;
|
|
75
|
-
|
|
76
|
-
public storeStateCollapsedExpandService?: StoreStateCollapsedExpandService;
|
|
77
|
-
public storeSortingService?: StoreStateSortingService;
|
|
78
|
-
|
|
79
|
-
protected selectionService: SelectionService = new SelectionService(this);
|
|
80
|
-
protected keyEvent?: GeKeyEvent;
|
|
81
|
-
private api = new TableApi(this);
|
|
82
|
-
|
|
83
|
-
private mouseStartAction = '';
|
|
84
|
-
private mouseStartWidth = -1;
|
|
85
|
-
private mouseStartColumnIndex = -1;
|
|
86
|
-
|
|
87
|
-
private dragFrom = -1;
|
|
88
|
-
private dragTo = -1;
|
|
89
|
-
private lastDragFrom = -1;
|
|
90
|
-
private lastDragTo = -1;
|
|
91
|
-
private firstDraggingRendering = true;
|
|
92
|
-
|
|
93
|
-
constructor(hostElement: HTMLDivElement, tableModel: TableModelIf, domService: DomServiceIf, tableOptions: TableOptionsIf, protected readonly eventListener: EventListenerIf, public readonly copyService: CopyServiceIf = new CopyService()) {
|
|
94
|
-
super(hostElement, tableModel, new ConvenienceDomService(domService), tableOptions);
|
|
95
|
-
if (!eventListener) {
|
|
96
|
-
this.eventListener = new EventAdapter();
|
|
97
|
-
}
|
|
98
|
-
if (this.tableOptions?.autoRestoreOptions) {
|
|
99
|
-
const autoRestoreOptions = this.tableOptions.autoRestoreOptions;
|
|
100
|
-
const keyFn = autoRestoreOptions.getStorageKeyFn;
|
|
101
|
-
if (keyFn) {
|
|
102
|
-
if (autoRestoreOptions.autoRestoreScrollPosition) {
|
|
103
|
-
this.storeScrollPosStateService = new StoreStateScrollPosService(keyFn);
|
|
104
|
-
}
|
|
105
|
-
if (autoRestoreOptions.autoRestoreCollapsedExpandedState) {
|
|
106
|
-
this.storeStateCollapsedExpandService = new StoreStateCollapsedExpandService(keyFn);
|
|
107
|
-
}
|
|
108
|
-
if (autoRestoreOptions.autoRestoreSortingState) {
|
|
109
|
-
this.storeSortingService = new StoreStateSortingService(keyFn);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
this.mouseHandler = new MouseHandler(this);
|
|
114
|
-
this.inputHandler = new InputHandler(this);
|
|
115
|
-
|
|
116
|
-
this.shortcutService = new ShortcutService(this);
|
|
117
|
-
this.shortcutService.addListener(this.selectionService);
|
|
118
|
-
|
|
119
|
-
const sm = this.getSelectionModel ? this.getSelectionModel() : undefined;
|
|
120
|
-
if (sm) {
|
|
121
|
-
sm.addEventSelectionChangedListener(this);
|
|
122
|
-
}
|
|
123
|
-
const fm = this.getFocusModel ? this.getFocusModel() : undefined;
|
|
124
|
-
if (fm) {
|
|
125
|
-
fm.addEventFocusChangedListener(this);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Creates a TableScope instance.
|
|
131
|
-
*
|
|
132
|
-
* @param {HTMLDivElement} hostElement - The HTML div element that will contain the table.
|
|
133
|
-
* @param {TableModelIf} tableModel - The table model object.
|
|
134
|
-
* @param {TableOptionsIf} [tableOptions=new TableOptions()] - The optional table options object.
|
|
135
|
-
* @param {EventListenerIf} [eventListener=new EventAdapter()] - The optional event listener object.
|
|
136
|
-
* @param {DomServiceIf} [domService=new SimpleDomService()] - The optional DOM service object.
|
|
137
|
-
* @param {CopyServiceIf} [copyService=new CopyService()] - The optional copy service object.
|
|
138
|
-
*
|
|
139
|
-
* @return {TableScope} - The newly created TableScope instance.
|
|
140
|
-
*/
|
|
141
|
-
static create(hostElement: HTMLDivElement, tableModel: TableModelIf, tableOptions: TableOptionsIf = new TableOptions(), eventListener: EventListenerIf = new EventAdapter(), domService: DomServiceIf = new SimpleDomService(), copyService: CopyServiceIf = new CopyService()): TableScope {
|
|
142
|
-
return new TableScope(hostElement, tableModel, domService, tableOptions, eventListener, copyService);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Triggers an action based on the provided actionId.
|
|
147
|
-
*
|
|
148
|
-
* This function can be invoked manually via the table API or by keyboard shortcuts.
|
|
149
|
-
*
|
|
150
|
-
* @param {ActionId} actionId - The identifier of the action to be triggered.
|
|
151
|
-
* @return {boolean} - Returns true if the action was triggered successfully, false otherwise.
|
|
152
|
-
*/
|
|
153
|
-
onActionTriggered(actionId: ActionId): boolean {
|
|
154
|
-
if (actionId === 'NAVIGATE_DOWN') {
|
|
155
|
-
if (this.changeFocusCell(0, 1)) {
|
|
156
|
-
return true;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
if (actionId === 'NAVIGATE_UP') {
|
|
160
|
-
if (this.changeFocusCell(0, -1)) {
|
|
161
|
-
return true;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
if (actionId === 'NAVIGATE_LEFT') {
|
|
165
|
-
if (this.changeFocusCell(-1, 0)) {
|
|
166
|
-
return true;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
if (actionId === 'NAVIGATE_RIGHT') {
|
|
170
|
-
if (this.changeFocusCell(1, 0)) {
|
|
171
|
-
return true;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
if (actionId === 'START_EDITING') {
|
|
175
|
-
if (this.getFocusModel) {
|
|
176
|
-
const fm = this.getFocusModel();
|
|
177
|
-
if (fm) {
|
|
178
|
-
const [rowIdx, colIdx] = fm.getFocus();
|
|
179
|
-
if (this.tableModel.getBodyModel().isEditable(rowIdx, colIdx)) {
|
|
180
|
-
this.clearSelection();
|
|
181
|
-
this.initRenderEditor(rowIdx, colIdx);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
return true;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
if (actionId === 'COPY_2_CLIPBOARD') {
|
|
188
|
-
const sm = this.getSelectionModel ? this.getSelectionModel() : undefined;
|
|
189
|
-
const fm = this.getFocusModel ? this.getFocusModel() : undefined;
|
|
190
|
-
this.copyService
|
|
191
|
-
.createContent(this.tableModel, sm, fm)
|
|
192
|
-
.then(txt => this.copyService.copyContent(txt));
|
|
193
|
-
}
|
|
194
|
-
return false;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
updateModelValueAfterEdit(areaIdent: AreaIdent, rowIndex: number, columnIndex: number, value: string) {
|
|
198
|
-
if (areaIdent === 'body') {
|
|
199
|
-
const bodyAreaModel = this.tableModel.getAreaModel(areaIdent);
|
|
200
|
-
const ok: boolean = bodyAreaModel.setValue(rowIndex, columnIndex, value);
|
|
201
|
-
if (ok) {
|
|
202
|
-
this.resetEditorRenderer();
|
|
203
|
-
this.repaint();
|
|
204
|
-
this.eventListener.onModelChanged(GeModelChangeEvent.createSingle(rowIndex, columnIndex));
|
|
205
|
-
this.hostElement.focus();
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
/**
|
|
211
|
-
* Retrieves the TableApi object.
|
|
212
|
-
*
|
|
213
|
-
* @return {TableApi} The TableApi object.
|
|
214
|
-
*/
|
|
215
|
-
getApi(): TableApi {
|
|
216
|
-
return this.api;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
/**
|
|
221
|
-
* Initializes the table. Called by the table component.
|
|
222
|
-
*
|
|
223
|
-
* @function firstInit
|
|
224
|
-
* @memberof TableScope
|
|
225
|
-
*
|
|
226
|
-
* @returns {TableScope} This instance of the table scope.
|
|
227
|
-
*/
|
|
228
|
-
firstInit(): TableScope {
|
|
229
|
-
this.tableModel.init();
|
|
230
|
-
if (this.tableOptions?.externalFilterFunction) {
|
|
231
|
-
this.externalFilterChanged(false);
|
|
232
|
-
}
|
|
233
|
-
this.autoRestoreCollapsedExpandedState();
|
|
234
|
-
this.autoRestoreSortingState();
|
|
235
|
-
this.resetSizeOfWrapperDiv();
|
|
236
|
-
this.adjustContainersAndRows();
|
|
237
|
-
this.autoRestoreScrollPosition();
|
|
238
|
-
return this;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
/**
|
|
242
|
-
* Creates a GeMouseEvent object based on a MouseEvent.
|
|
243
|
-
*
|
|
244
|
-
* @param {MouseEvent} mouseEvent - The MouseEvent object to create the GeMouseEvent from.
|
|
245
|
-
* @return {GeMouseEvent} - The created GeMouseEvent object.
|
|
246
|
-
*/
|
|
247
|
-
createGeMouseEvent(mouseEvent: MouseEvent): GeMouseEvent {
|
|
248
|
-
const ret: GeMouseEvent = new GeMouseEvent();
|
|
249
|
-
ret.originalEvent = mouseEvent;
|
|
250
|
-
|
|
251
|
-
if (mouseEvent) {
|
|
252
|
-
const target = mouseEvent.target as HTMLElement;
|
|
253
|
-
[ret.areaIdent, ret.sideIdent] = this.getAreaAndSideIdentByAttr(target);
|
|
254
|
-
ret.rowIndex = this.getNumberByAttr(target, 'data-row-index');
|
|
255
|
-
ret.columnIndex = this.getNumberByAttr(target, 'data-col-index');
|
|
256
|
-
ret.action = this.getStringByAttr(target, 'data-ge-action');
|
|
257
|
-
|
|
258
|
-
// const bodyY = mouseEvent.clientY - this.hostElement.offsetTop - this.areaHeaderCenter.parent.clientHeight;
|
|
259
|
-
// const bodyX = mouseEvent.clientX - this.hostElement.offsetLeft - this.areaBodyWestGeo.width;
|
|
260
|
-
|
|
261
|
-
if (ret.areaIdent) {
|
|
262
|
-
const am = this.tableModel.getAreaModel(ret.areaIdent);
|
|
263
|
-
ret.rowTop = am.getYPosByRowIndex(ret.rowIndex);
|
|
264
|
-
}
|
|
265
|
-
ret.columnLeft = this.tableModel.getXPosByColumnIndex(ret.columnIndex);
|
|
266
|
-
|
|
267
|
-
if (mouseEvent.ctrlKey && mouseEvent.altKey) {
|
|
268
|
-
const bodyY = mouseEvent.clientY - this.hostElement.offsetTop - this.areaHeaderCenter.parent.clientHeight;
|
|
269
|
-
const bodyX = mouseEvent.clientX - this.hostElement.offsetLeft - this.areaBodyWestGeo.width;
|
|
270
|
-
this.debugOnce(bodyX, bodyY);
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
return ret;
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
/**
|
|
277
|
-
* Handles the mouse down event.
|
|
278
|
-
*
|
|
279
|
-
* @param {GeMouseEvent} mouseEvent - The mouse event object.
|
|
280
|
-
* @return {void}
|
|
281
|
-
*/
|
|
282
|
-
onMouseDown(mouseEvent: GeMouseEvent) {
|
|
283
|
-
if (mouseEvent.columnIndex > -1 && mouseEvent.action && ['resize-column', 'drag-column'].includes(mouseEvent.action)) {
|
|
284
|
-
|
|
285
|
-
this.mouseStartWidth = this.tableModel.getColumnWidth(mouseEvent.columnIndex);
|
|
286
|
-
this.mouseStartAction = mouseEvent.action;
|
|
287
|
-
this.mouseStartColumnIndex = mouseEvent.columnIndex;
|
|
288
|
-
|
|
289
|
-
if (this.mouseStartAction === 'drag-column') {
|
|
290
|
-
this.firstDraggingRendering = true;
|
|
291
|
-
this.dragFrom = this.mouseStartColumnIndex;
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
/**
|
|
297
|
-
* Handles mouse dragging on the frame.
|
|
298
|
-
*
|
|
299
|
-
* @param {GeMouseEvent} mouseEvent - The mouse event object.
|
|
300
|
-
* @param startMouseEvent
|
|
301
|
-
*/
|
|
302
|
-
mouseDraggingOnFrame(mouseEvent: GeMouseEvent, startMouseEvent: GeMouseEvent | undefined) {
|
|
303
|
-
this.eventListener.onMouseDragging(mouseEvent);
|
|
304
|
-
this.mouseEvent = mouseEvent;
|
|
305
|
-
|
|
306
|
-
if (this.mouseStartColumnIndex > -1 && this.mouseStartAction === 'resize-column' && this.tableOptions.columnsResizable) {
|
|
307
|
-
this.resizeColumn(mouseEvent);
|
|
308
|
-
|
|
309
|
-
} else if (this.mouseStartAction === 'drag-column' && mouseEvent.columnIndex > -1 && this.tableOptions.columnsDraggable) {
|
|
310
|
-
|
|
311
|
-
this.draggingTargetColumnIndex = mouseEvent.columnIndex;
|
|
312
|
-
this.dragTo = this.draggingTargetColumnIndex;
|
|
313
|
-
|
|
314
|
-
if (this.dragFrom > -1 && this.dragTo > -1 && this.dragFrom !== this.dragTo) {
|
|
315
|
-
if (!(this.lastDragFrom === this.dragTo && this.lastDragTo === this.dragFrom)) {
|
|
316
|
-
this.tableModel.changeColumnOrder(this.dragFrom, this.dragTo);
|
|
317
|
-
this.lastDragFrom = this.dragFrom;
|
|
318
|
-
this.lastDragTo = this.dragTo;
|
|
319
|
-
this.dragFrom = this.dragTo;
|
|
320
|
-
this.resetSizeOfWrapperDiv();
|
|
321
|
-
this.adjustContainersAndRows();
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
if (startMouseEvent) {
|
|
325
|
-
this.adjustDraggingColumn(mouseEvent, startMouseEvent.columnIndex, this.firstDraggingRendering);
|
|
326
|
-
this.firstDraggingRendering = false;
|
|
327
|
-
}
|
|
328
|
-
this.repaint();
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
/**
|
|
333
|
-
* Handles the end of mouse dragging event on a frame.
|
|
334
|
-
*
|
|
335
|
-
* @param {GeMouseEvent} mouseEvent - The mouse event object.
|
|
336
|
-
*
|
|
337
|
-
* @returns {void}
|
|
338
|
-
*/
|
|
339
|
-
mouseDraggingEndOnFrame(mouseEvent: GeMouseEvent) {
|
|
340
|
-
this.eventListener.onMouseDraggingEnd(mouseEvent);
|
|
341
|
-
this.draggingTargetColumnIndex = -1;
|
|
342
|
-
|
|
343
|
-
if (this.mouseStartAction === 'resize-column') {
|
|
344
|
-
this.resizeColumn(mouseEvent);
|
|
345
|
-
|
|
346
|
-
} else if (this.mouseStartAction === 'drag-column') {
|
|
347
|
-
this.hideDraggingColumn();
|
|
348
|
-
this.repaint();
|
|
349
|
-
}
|
|
350
|
-
this.mouseStartWidth = -1;
|
|
351
|
-
this.mouseStartColumnIndex = -1;
|
|
352
|
-
this.dragFrom = -1;
|
|
353
|
-
this.dragTo = -1;
|
|
354
|
-
this.firstDraggingRendering = true;
|
|
355
|
-
this.mouseStartAction = '';
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
/**
|
|
359
|
-
* Handles the mouse move event.
|
|
360
|
-
*
|
|
361
|
-
* @param {GeMouseEvent} mouseMoveEvent - The mouse move event object.
|
|
362
|
-
* @return {void}
|
|
363
|
-
*/
|
|
364
|
-
mouseMove(mouseMoveEvent: GeMouseEvent) {
|
|
365
|
-
this.eventListener.onMouseMoved(mouseMoveEvent);
|
|
366
|
-
this.adjustHoverRows(mouseMoveEvent);
|
|
367
|
-
this.adjustHoverColumns(mouseMoveEvent);
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
/**
|
|
371
|
-
* Triggers the context menu event based on the mouse move event.
|
|
372
|
-
*
|
|
373
|
-
* @param {GeMouseEvent} mouseMoveEvent - The mouse move event object.
|
|
374
|
-
* @return {void}
|
|
375
|
-
*/
|
|
376
|
-
contextmenu(mouseMoveEvent: GeMouseEvent) {
|
|
377
|
-
this.eventListener.onContextmenu(mouseMoveEvent);
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
/**
|
|
381
|
-
* Toggles the expand or collapse state of all items in the body area model.
|
|
382
|
-
*
|
|
383
|
-
* @param {boolean} [expand=true] - Whether to expand or collapse all items. Default is true.
|
|
384
|
-
*
|
|
385
|
-
* @return {void}
|
|
386
|
-
*/
|
|
387
|
-
toggleExpandCollapseAll(expand: boolean = true) {
|
|
388
|
-
const bodyAreaModel = this.tableModel.getBodyModel();
|
|
389
|
-
if (isAreaModelTree(bodyAreaModel)) {
|
|
390
|
-
const amt: AreaModelTree<any> = bodyAreaModel as AreaModelTree<any>;
|
|
391
|
-
amt.toggleExpandCollapseAll(expand);
|
|
392
|
-
this.repaint();
|
|
393
|
-
this.storeStateCollapsedExpandService?.collapsedStateAll(expand);
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
/**
|
|
398
|
-
* Toggles the checkbox state of a specific row in a table.
|
|
399
|
-
*
|
|
400
|
-
* @param {number} rowIdx - The index of the row to toggle the checkbox state.
|
|
401
|
-
* @param {number} _colIdx - The index of the column. This parameter is unused.
|
|
402
|
-
* @param {AreaIdent} areaIdent - The identifier of the table area.
|
|
403
|
-
*
|
|
404
|
-
* @return {void} - This method does not return anything.
|
|
405
|
-
*/
|
|
406
|
-
toggleRowCheckbox(rowIdx: number, _colIdx: number, areaIdent: AreaIdent) {
|
|
407
|
-
const areaModel = this.tableModel.getAreaModel(areaIdent);
|
|
408
|
-
const state = areaModel.isRowChecked(rowIdx);
|
|
409
|
-
const unsel = (state === undefined || state === 'semi' || state === 'none');
|
|
410
|
-
areaModel.setRowChecked(rowIdx, unsel);
|
|
411
|
-
this.repaint(); // TODO repaint cell only
|
|
412
|
-
const selectedRows = areaModel.rowSelectionModel?.getCheckedRows();
|
|
413
|
-
this.eventListener.onCheckboxChanged(selectedRows ? selectedRows : []);
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
/**
|
|
417
|
-
* Handle mouse click events.
|
|
418
|
-
*
|
|
419
|
-
* @param {GeMouseEvent} evt - The mouse click event.
|
|
420
|
-
* @param {GeMouseEvent | undefined} previousEvt - The previous mouse click event, if any.
|
|
421
|
-
* @returns {void}
|
|
422
|
-
*/
|
|
423
|
-
onMouseClicked(evt: GeMouseEvent, previousEvt: GeMouseEvent | undefined): boolean {
|
|
424
|
-
let dirty = this.selectionService.onMouseClicked(evt, previousEvt);
|
|
425
|
-
if (!dirty) {
|
|
426
|
-
if (this.getFocusModel) {
|
|
427
|
-
this.resetEditorRenderer();
|
|
428
|
-
const fm = this.getFocusModel();
|
|
429
|
-
if (fm) {
|
|
430
|
-
dirty = fm.hasChanged();
|
|
431
|
-
fm.clearChanged();
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
return dirty;
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
debounceRepaint() {
|
|
439
|
-
this.debounce(this.repaint.bind(this), 1);
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
publishGeMouseEvent(evt: GeMouseEvent) {
|
|
443
|
-
this.eventListener.onMouseClicked(evt);
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
onFocusChanged(sm: FocusModelIf) {
|
|
447
|
-
this.eventListener.onFocusChanged(sm);
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
onSelectionChanged(sm: SelectionModelIf) {
|
|
451
|
-
this.eventListener.onSelectionChanged(sm);
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
/**
|
|
457
|
-
* Updates the table (repaint) when an external filter is changed.
|
|
458
|
-
*
|
|
459
|
-
* @param {boolean} clearSelection - Indicates whether to clear the selection model or not. Default value is true.
|
|
460
|
-
* @return {void}
|
|
461
|
-
*/
|
|
462
|
-
externalFilterChanged(clearSelection: boolean = true) {
|
|
463
|
-
const predictFn = this.tableOptions.externalFilterFunction;
|
|
464
|
-
if (predictFn) {
|
|
465
|
-
if (clearSelection) {
|
|
466
|
-
this.clearSelectionModel();
|
|
467
|
-
}
|
|
468
|
-
this.tableModel.externalFilterChanged(predictFn);
|
|
469
|
-
this.scrollViewport.scrollTo(0, 0);
|
|
470
|
-
this.tableModel.recalcHeightAndPadding();
|
|
471
|
-
this.resetSizeOfWrapperDiv();
|
|
472
|
-
this.repaint();
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
/**
|
|
477
|
-
* Handle the double click event on the table header.
|
|
478
|
-
*
|
|
479
|
-
* @param {MouseEvent} event - The mouse event that triggered the double click.
|
|
480
|
-
* @param {number} _rowIdx - The row index of the header.
|
|
481
|
-
* @param {number} colIdx - The column index of the header.
|
|
482
|
-
*
|
|
483
|
-
* @return {void}
|
|
484
|
-
*/
|
|
485
|
-
onHeaderDblClicked(event: MouseEvent, _rowIdx: number, colIdx: number) {
|
|
486
|
-
const colDef = this.tableModel.getColumnDef(colIdx);
|
|
487
|
-
if (colDef?.sortable && colDef.sortable()) {
|
|
488
|
-
event.preventDefault();
|
|
489
|
-
event.stopPropagation();
|
|
490
|
-
const states: SortState[] = colDef.sortStatesOrder ? colDef.sortStatesOrder : this.tableOptions.sortOrder;
|
|
491
|
-
const currentState: SortState = colDef.sortState ?? '';
|
|
492
|
-
const newState = states[(states.indexOf(currentState) + 1) % states.length];
|
|
493
|
-
|
|
494
|
-
const sortItem = new SortItem(colIdx, newState);
|
|
495
|
-
const done = this.tableModel.doSort([sortItem]);
|
|
496
|
-
if (done) {
|
|
497
|
-
this.tableModel.getColumnDefs()?.forEach(cd => cd.sortState = '');
|
|
498
|
-
colDef.sortState = newState;
|
|
499
|
-
}
|
|
500
|
-
this.repaint();
|
|
501
|
-
this.storeSortingService?.setSortItems([sortItem]);
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
/**
|
|
506
|
-
* Scrolls the viewport to the specified pixel coordinates.
|
|
507
|
-
*
|
|
508
|
-
* @param {number} px - The horizontal pixel coordinate to scroll to.
|
|
509
|
-
* @param {number} py - The vertical pixel coordinate to scroll to.
|
|
510
|
-
*
|
|
511
|
-
* @return {void}
|
|
512
|
-
*/
|
|
513
|
-
scrollToPixel(px: number, py: number) {
|
|
514
|
-
this.scrollViewport.scrollTo(px, py);
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
/**
|
|
518
|
-
* Scrolls to the specified index in the table.
|
|
519
|
-
*
|
|
520
|
-
* @param {number} _indexX - The horizontal index of the table where scrolling is needed.
|
|
521
|
-
* @param {number} indexY - The vertical index of the table where scrolling is needed.
|
|
522
|
-
* @return {void}
|
|
523
|
-
*/
|
|
524
|
-
scrollToIndex(_indexX: number, indexY: number) {
|
|
525
|
-
const bodyAreaModel = this.tableModel.getAreaModel('body');
|
|
526
|
-
const py = bodyAreaModel.getYPosByRowIndex(indexY);
|
|
527
|
-
this.scrollToPixel(0, py); // TODO calc indexX -> px
|
|
528
|
-
}
|
|
529
|
-
|
|
530
|
-
/**
|
|
531
|
-
* Sets the selection model for the table.
|
|
532
|
-
*
|
|
533
|
-
* @param {SelectionModel} sm - The selection model to be set.
|
|
534
|
-
* @param {boolean} rerender - Optional parameter indicating whether to rerender the table after setting the selection model. Default value is false.
|
|
535
|
-
*
|
|
536
|
-
* @return {void} - This method does not return any value.
|
|
537
|
-
*/
|
|
538
|
-
setSelectionModel(sm: SelectionModel, rerender: boolean = false) {
|
|
539
|
-
const getSm = () => sm;
|
|
540
|
-
this.tableOptions.getSelectionModel = getSm;
|
|
541
|
-
this.getSelectionModel = getSm;
|
|
542
|
-
this.selectionService.getSelectionModel = getSm;
|
|
543
|
-
if (rerender) {
|
|
544
|
-
this.repaint();
|
|
545
|
-
}
|
|
546
|
-
}
|
|
547
|
-
|
|
548
|
-
toggleHeaderGroup(mouseTargetData: MouseTargetData) {
|
|
549
|
-
const headerAreaModel = this.tableModel.getAreaModel('header') as AreaModelCellGroups;
|
|
550
|
-
|
|
551
|
-
if ('columnDefs' in this.tableModel) {
|
|
552
|
-
this.tableModel.columnDefs = headerAreaModel.toggleHeaderGroup(mouseTargetData);
|
|
553
|
-
console.info('####### !!!!!! *******, this.tableModel.columnDefs');
|
|
554
|
-
}
|
|
555
|
-
// this.repaint();
|
|
556
|
-
this.firstInit();
|
|
557
|
-
|
|
558
|
-
// this.tableModel.recalcPadding();
|
|
559
|
-
// this.resetSizeOfWrapperDiv();
|
|
560
|
-
// this.adjustContainersAndRows();
|
|
561
|
-
//
|
|
562
|
-
// console.info('this.tableModel.getColumnCount()', this.tableModel.getColumnCount());
|
|
563
|
-
// const columnDefs = this.tableModel.getColumnDefs();
|
|
564
|
-
// if (columnDefs) {
|
|
565
|
-
// console.info('this.tableModel.getColumnDefs()', columnDefs);
|
|
566
|
-
// for (const cd of columnDefs) {
|
|
567
|
-
// if (cd?.isVisible) console.info(cd.isVisible(), cd);
|
|
568
|
-
// }
|
|
569
|
-
// }
|
|
570
|
-
|
|
571
|
-
// this.adjustColumnsToRowParent({
|
|
572
|
-
// areaIdent: 'header',
|
|
573
|
-
// sideIdent: 'left',
|
|
574
|
-
// areaModel: headerAreaModel,
|
|
575
|
-
// geo: this.tableModel.getAreaGeo('header', 'left'),
|
|
576
|
-
// parent: this.tableModel.getAreaParent('header', 'left'),
|
|
577
|
-
// rowIndex: mouseTargetData.rowIndex,
|
|
578
|
-
// columnIndexStart: mouseTargetData.columnIndex,
|
|
579
|
-
// columnIndexEnd: mouseTargetData.columnIndex,
|
|
580
|
-
// verticalFixed: true,
|
|
581
|
-
// lastRowOfModel: false
|
|
582
|
-
// });
|
|
583
|
-
// console.info('_______-headerAreaModel', headerAreaModel);
|
|
584
|
-
// console.info('_______-mouseTargetData', mouseTargetData);
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
/**
|
|
588
|
-
* Retrieves the selection model.
|
|
589
|
-
* @returns {SelectionModelIf | undefined} The selection model if available, otherwise undefined.
|
|
590
|
-
*/
|
|
591
|
-
selectionModel(): SelectionModelIf | undefined {
|
|
592
|
-
if (this?.getSelectionModel) {
|
|
593
|
-
return this.getSelectionModel();
|
|
594
|
-
}
|
|
595
|
-
return undefined;
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
/**
|
|
599
|
-
* Retrieves the focus model.
|
|
600
|
-
*
|
|
601
|
-
* @returns {FocusModelIf | undefined} The focus model if it exists, or undefined otherwise.
|
|
602
|
-
*/
|
|
603
|
-
focusModel(): FocusModelIf | undefined {
|
|
604
|
-
if (this?.getFocusModel) {
|
|
605
|
-
return this.getFocusModel();
|
|
606
|
-
}
|
|
607
|
-
return undefined;
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
setDragging(dragging: boolean) {
|
|
611
|
-
this.dragging = dragging;
|
|
612
|
-
if (this.dragging) {
|
|
613
|
-
this.storeColumnWidths();
|
|
614
|
-
this.lastDragFrom = -1;
|
|
615
|
-
this.lastDragTo = -1;
|
|
616
|
-
} else {
|
|
617
|
-
this.storedColumnWidths = [];
|
|
618
|
-
}
|
|
619
|
-
}
|
|
620
|
-
|
|
621
|
-
/**
|
|
622
|
-
* Changes the focus cell using the specified deltas.
|
|
623
|
-
*
|
|
624
|
-
* @param {number} dx - The delta for the column index.
|
|
625
|
-
* @param {number} dy - The delta for the row index.
|
|
626
|
-
* @return {boolean} - True if the focus cell was changed, false otherwise.
|
|
627
|
-
*/
|
|
628
|
-
private changeFocusCell(dx: number, dy: number): boolean {
|
|
629
|
-
if (!this.isEditing() && this.getFocusModel) {
|
|
630
|
-
const fm = this.getFocusModel();
|
|
631
|
-
if (fm) {
|
|
632
|
-
const [rowIdx, colIdx] = fm.getFocus();
|
|
633
|
-
fm.setFocus(rowIdx + dy, colIdx + dx);
|
|
634
|
-
this.repaint();
|
|
635
|
-
return true;
|
|
636
|
-
}
|
|
637
|
-
}
|
|
638
|
-
return false;
|
|
639
|
-
}
|
|
640
|
-
|
|
641
|
-
/**
|
|
642
|
-
* Resizes the column based on the mouse event.
|
|
643
|
-
*
|
|
644
|
-
* @param {GeMouseEvent} mouseEvent - The mouse event that triggered the resize.
|
|
645
|
-
*/
|
|
646
|
-
private resizeColumn(mouseEvent: GeMouseEvent) {
|
|
647
|
-
this.tableModel.setColumnWidth(this.mouseStartColumnIndex, this.mouseStartWidth + mouseEvent.draggingX);
|
|
648
|
-
this.tableModel.recalcPadding();
|
|
649
|
-
this.resetSizeOfWrapperDiv();
|
|
650
|
-
this.adjustContainersAndRows();
|
|
651
|
-
}
|
|
652
|
-
|
|
653
|
-
/**
|
|
654
|
-
* Clears the selection model, if available.
|
|
655
|
-
*
|
|
656
|
-
* @return {void}
|
|
657
|
-
*/
|
|
658
|
-
private clearSelectionModel() {
|
|
659
|
-
if (this.getSelectionModel) {
|
|
660
|
-
this.getSelectionModel()?.clear();
|
|
661
|
-
}
|
|
662
|
-
}
|
|
663
|
-
|
|
664
|
-
private debugOnce(bodyX: number, bodyY: number) {
|
|
665
|
-
console.clear();
|
|
666
|
-
console.info('this.hostElement.offsetTop', this.hostElement.offsetTop); // pageY of table tag
|
|
667
|
-
console.info('this.hostElement.scrollHeight', this.hostElement.scrollHeight); // height of visible scroll area
|
|
668
|
-
console.info('this.scrollViewportTop', this.scrollTop); // amount of px scrolled to top (initial : 0)
|
|
669
|
-
console.info('this.areaHeaderCenter.parent.clientHeight', this.areaHeaderCenter.parent.clientHeight);
|
|
670
|
-
console.info('bodyY', bodyY);
|
|
671
|
-
console.info('bodyX', bodyX);
|
|
672
|
-
console.info('rows', this.firstVisibleRowIndex);
|
|
673
|
-
console.info('');
|
|
674
|
-
console.info('this.tableModel', this.tableModel);
|
|
675
|
-
console.info('');
|
|
676
|
-
console.info('this.mouseMoveEvent.clientX', this.mouseHandler.mouseEvent?.clientX);
|
|
677
|
-
console.info('this.hostElement.offsetLeft', this.hostElement.offsetLeft);
|
|
678
|
-
console.info('this.areaBodyWestGeo.width', this.areaBodyWestGeo.width);
|
|
679
|
-
}
|
|
680
|
-
|
|
681
|
-
/**
|
|
682
|
-
* Restores the scroll position of the table if auto restore options are enabled.
|
|
683
|
-
*
|
|
684
|
-
*
|
|
685
|
-
* @returns {void}
|
|
686
|
-
*/
|
|
687
|
-
private autoRestoreScrollPosition() {
|
|
688
|
-
if (this.tableOptions?.autoRestoreOptions && this.storeScrollPosStateService) {
|
|
689
|
-
const autoRestoreOptions = this.tableOptions.autoRestoreOptions;
|
|
690
|
-
if (autoRestoreOptions.autoRestoreScrollPosition) {
|
|
691
|
-
const scrollOffset = this.storeScrollPosStateService.getScrollOffset();
|
|
692
|
-
if (scrollOffset) {
|
|
693
|
-
this.scrollViewport.scrollTo(...scrollOffset);
|
|
694
|
-
}
|
|
695
|
-
}
|
|
696
|
-
}
|
|
697
|
-
}
|
|
698
|
-
|
|
699
|
-
/**
|
|
700
|
-
* Automatically restores the sorting state of the table.
|
|
701
|
-
*
|
|
702
|
-
* @private
|
|
703
|
-
* @function autoRestoreSortingState
|
|
704
|
-
* @memberof ClassName
|
|
705
|
-
*
|
|
706
|
-
* @description
|
|
707
|
-
* This method checks if the autoRestoreSortingState option is enabled in the tableOptions.
|
|
708
|
-
* If enabled, it uses the storeSortingService to retrieve the sort items array.
|
|
709
|
-
* If there are sort items present, it applies them to the table's body model using the doSort method.
|
|
710
|
-
*
|
|
711
|
-
* @returns {void}
|
|
712
|
-
*/
|
|
713
|
-
private autoRestoreSortingState() {
|
|
714
|
-
if (this.tableOptions?.autoRestoreOptions?.autoRestoreSortingState && this.storeSortingService) {
|
|
715
|
-
const sortItems = this.storeSortingService.getSortItems();
|
|
716
|
-
if (sortItems?.length) {
|
|
717
|
-
const areaModel = this.tableModel.getBodyModel();
|
|
718
|
-
areaModel.doSort(sortItems);
|
|
719
|
-
}
|
|
720
|
-
}
|
|
721
|
-
}
|
|
722
|
-
|
|
723
|
-
/**
|
|
724
|
-
* Restores the collapsed/expanded state of the rows in the table based on the autoRestoreOptions
|
|
725
|
-
* specified in the tableOptions. This method is private and should not be called directly.
|
|
726
|
-
*
|
|
727
|
-
* @private
|
|
728
|
-
*/
|
|
729
|
-
private autoRestoreCollapsedExpandedState() {
|
|
730
|
-
if (this.tableOptions?.autoRestoreOptions?.getRowId && this.storeStateCollapsedExpandService) {
|
|
731
|
-
const autoRestoreOptions = this.tableOptions.autoRestoreOptions;
|
|
732
|
-
const getRowId = autoRestoreOptions.getRowId;
|
|
733
|
-
if (autoRestoreOptions.autoRestoreCollapsedExpandedState && getRowId) {
|
|
734
|
-
const state = this.storeStateCollapsedExpandService.collapsedExpandedStateGet();
|
|
735
|
-
const areaModel = this.tableModel.getAreaModel('body');
|
|
736
|
-
if (isAreaModelTree(areaModel)) {
|
|
737
|
-
const amtr: AreaModelTree<any> = areaModel as AreaModelTree<any>;
|
|
738
|
-
const rowCount = areaModel.getRowCount();
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
for (let i = 0; i < rowCount; i++) {
|
|
742
|
-
const row: TreeRowIf<any> | undefined = areaModel.getRowByIndex(i);
|
|
743
|
-
if (row) {
|
|
744
|
-
if (state.allExpanded) {
|
|
745
|
-
row.expanded = true;
|
|
746
|
-
|
|
747
|
-
} else if (state.allCollapsed) {
|
|
748
|
-
row.expanded = false;
|
|
749
|
-
|
|
750
|
-
} else {
|
|
751
|
-
const rowId = getRowId(row.data);
|
|
752
|
-
if (state.mode === 'expanded') {
|
|
753
|
-
row.expanded = (this.storeStateCollapsedExpandService.collapsedExpandedStateIncludes(rowId));
|
|
754
|
-
|
|
755
|
-
} else if (state.mode === 'collapsed') {
|
|
756
|
-
row.expanded = (!this.storeStateCollapsedExpandService.collapsedExpandedStateIncludes(rowId));
|
|
757
|
-
}
|
|
758
|
-
}
|
|
759
|
-
}
|
|
760
|
-
}
|
|
761
|
-
amtr.recalcVisibleTreeRows();
|
|
762
|
-
}
|
|
763
|
-
}
|
|
764
|
-
}
|
|
765
|
-
}
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
}
|
|
769
|
-
|
|
770
|
-
|