lsp-grid 1.0.0
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 +34 -0
- package/dist/cjs/app-globals-Bfsg1bDt.js +16 -0
- package/dist/cjs/app-globals-Bfsg1bDt.js.map +1 -0
- package/dist/cjs/cell-renderer-DtuYp7tj.js +106 -0
- package/dist/cjs/cell-renderer-DtuYp7tj.js.map +1 -0
- package/dist/cjs/column.drag.plugin-BIptTmfz.js +2554 -0
- package/dist/cjs/column.drag.plugin-BIptTmfz.js.map +1 -0
- package/dist/cjs/column.service-BnVSAfcu.js +1391 -0
- package/dist/cjs/column.service-BnVSAfcu.js.map +1 -0
- package/dist/cjs/data.store-CrF4Nf9q.js +3615 -0
- package/dist/cjs/data.store-CrF4Nf9q.js.map +1 -0
- package/dist/cjs/debounce-DgeyTQM0.js +498 -0
- package/dist/cjs/debounce-DgeyTQM0.js.map +1 -0
- package/dist/cjs/edit.utils-Bw-E3Fj6.js +118 -0
- package/dist/cjs/edit.utils-Bw-E3Fj6.js.map +1 -0
- package/dist/cjs/events-D0Syn6ut.js +46 -0
- package/dist/cjs/events-D0Syn6ut.js.map +1 -0
- package/dist/cjs/filter.button-CaAAXq-6.js +49 -0
- package/dist/cjs/filter.button-CaAAXq-6.js.map +1 -0
- package/dist/cjs/header-cell-renderer-DhRJqZ-w.js +356 -0
- package/dist/cjs/header-cell-renderer-DhRJqZ-w.js.map +1 -0
- package/dist/cjs/index-VM40U6Gh.js +2549 -0
- package/dist/cjs/index-VM40U6Gh.js.map +1 -0
- package/dist/cjs/index.cjs.js +346 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +19 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/revo-grid.cjs.entry.js +2187 -0
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/revo-grid.cjs.js +31 -0
- package/dist/cjs/revo-grid.cjs.js.map +1 -0
- package/dist/cjs/revo-grid.entry.cjs.js.map +1 -0
- package/dist/cjs/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.cjs.js.map +1 -0
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +1463 -0
- package/dist/cjs/revogr-attribution_7.cjs.entry.js.map +1 -0
- package/dist/cjs/revogr-clipboard.revogr-edit.revogr-order-editor.entry.cjs.js.map +1 -0
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +456 -0
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -0
- package/dist/cjs/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.cjs.js.map +1 -0
- package/dist/cjs/revogr-data_4.cjs.entry.js +948 -0
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -0
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +382 -0
- package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -0
- package/dist/cjs/revogr-filter-panel.entry.cjs.js.map +1 -0
- package/dist/cjs/row-header-utils-DL640c7x.js +420 -0
- package/dist/cjs/row-header-utils-DL640c7x.js.map +1 -0
- package/dist/cjs/text-editor-DWChyeVV.js +81 -0
- package/dist/cjs/text-editor-DWChyeVV.js.map +1 -0
- package/dist/cjs/throttle-Bb1Bbfd1.js +278 -0
- package/dist/cjs/throttle-Bb1Bbfd1.js.map +1 -0
- package/dist/cjs/viewport.helpers-CI6uB8tu.js +59 -0
- package/dist/cjs/viewport.helpers-CI6uB8tu.js.map +1 -0
- package/dist/collection/collection-manifest.json +28 -0
- package/dist/collection/components/attribution/revogr-attribution.js +20 -0
- package/dist/collection/components/attribution/revogr-attribution.js.map +1 -0
- package/dist/collection/components/clipboard/revogr-clipboard.js +396 -0
- package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -0
- package/dist/collection/components/data/cell-renderer.js +44 -0
- package/dist/collection/components/data/cell-renderer.js.map +1 -0
- package/dist/collection/components/data/column.service.js +293 -0
- package/dist/collection/components/data/column.service.js.map +1 -0
- package/dist/collection/components/data/revogr-data-style.css +75 -0
- package/dist/collection/components/data/revogr-data.js +697 -0
- package/dist/collection/components/data/revogr-data.js.map +1 -0
- package/dist/collection/components/data/row-highlight.plugin.js +51 -0
- package/dist/collection/components/data/row-highlight.plugin.js.map +1 -0
- package/dist/collection/components/data/row-renderer.js +16 -0
- package/dist/collection/components/data/row-renderer.js.map +1 -0
- package/dist/collection/components/editors/edit.utils.js +13 -0
- package/dist/collection/components/editors/edit.utils.js.map +1 -0
- package/dist/collection/components/editors/revogr-edit-style.css +16 -0
- package/dist/collection/components/editors/revogr-edit.js +346 -0
- package/dist/collection/components/editors/revogr-edit.js.map +1 -0
- package/dist/collection/components/editors/text-editor.js +74 -0
- package/dist/collection/components/editors/text-editor.js.map +1 -0
- package/dist/collection/components/extra/revogr-extra.js +125 -0
- package/dist/collection/components/extra/revogr-extra.js.map +1 -0
- package/dist/collection/components/header/header-cell-renderer.js +34 -0
- package/dist/collection/components/header/header-cell-renderer.js.map +1 -0
- package/dist/collection/components/header/header-group-renderer.js +25 -0
- package/dist/collection/components/header/header-group-renderer.js.map +1 -0
- package/dist/collection/components/header/header-renderer.js +61 -0
- package/dist/collection/components/header/header-renderer.js.map +1 -0
- package/dist/collection/components/header/resizable.directive.js +237 -0
- package/dist/collection/components/header/resizable.directive.js.map +1 -0
- package/dist/collection/components/header/resizable.element.js +38 -0
- package/dist/collection/components/header/resizable.element.js.map +1 -0
- package/dist/collection/components/header/revogr-header-style.css +144 -0
- package/dist/collection/components/header/revogr-header.js +573 -0
- package/dist/collection/components/header/revogr-header.js.map +1 -0
- package/dist/collection/components/order/order-renderer.js +50 -0
- package/dist/collection/components/order/order-renderer.js.map +1 -0
- package/dist/collection/components/order/order-row.service.js +72 -0
- package/dist/collection/components/order/order-row.service.js.map +1 -0
- package/dist/collection/components/order/revogr-order-editor.js +461 -0
- package/dist/collection/components/order/revogr-order-editor.js.map +1 -0
- package/dist/collection/components/overlay/autofill.service.js +224 -0
- package/dist/collection/components/overlay/autofill.service.js.map +1 -0
- package/dist/collection/components/overlay/keyboard.service.js +158 -0
- package/dist/collection/components/overlay/keyboard.service.js.map +1 -0
- package/dist/collection/components/overlay/revogr-overlay-selection.js +1515 -0
- package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -0
- package/dist/collection/components/overlay/revogr-overlay-style.css +95 -0
- package/dist/collection/components/overlay/selection.utils.js +136 -0
- package/dist/collection/components/overlay/selection.utils.js.map +1 -0
- package/dist/collection/components/revoGrid/grid.helpers.js +33 -0
- package/dist/collection/components/revoGrid/grid.helpers.js.map +1 -0
- package/dist/collection/components/revoGrid/plugin.service.js +81 -0
- package/dist/collection/components/revoGrid/plugin.service.js.map +1 -0
- package/dist/collection/components/revoGrid/revo-grid-style.css +567 -0
- package/dist/collection/components/revoGrid/revo-grid.js +3671 -0
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -0
- package/dist/collection/components/revoGrid/viewport.helpers.js +49 -0
- package/dist/collection/components/revoGrid/viewport.helpers.js.map +1 -0
- package/dist/collection/components/revoGrid/viewport.resize.service.js +55 -0
- package/dist/collection/components/revoGrid/viewport.resize.service.js.map +1 -0
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js +90 -0
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -0
- package/dist/collection/components/revoGrid/viewport.service.js +237 -0
- package/dist/collection/components/revoGrid/viewport.service.js.map +1 -0
- package/dist/collection/components/rowHeaders/revogr-row-headers.js +291 -0
- package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -0
- package/dist/collection/components/rowHeaders/row-header-render.js +5 -0
- package/dist/collection/components/rowHeaders/row-header-render.js.map +1 -0
- package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +69 -0
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +601 -0
- package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -0
- package/dist/collection/components/scrollable/autohide-scroll.plugin.js +44 -0
- package/dist/collection/components/scrollable/autohide-scroll.plugin.js.map +1 -0
- package/dist/collection/components/scrollable/revogr-scroll-style.css +34 -0
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js +295 -0
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -0
- package/dist/collection/components/selectionFocus/revogr-focus-style.css +7 -0
- package/dist/collection/components/selectionFocus/revogr-focus.js +400 -0
- package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -0
- package/dist/collection/components/selectionTempRange/revogr-temp-range-style.css +28 -0
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js +171 -0
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -0
- package/dist/collection/components/vnode/vnode-converter.js +84 -0
- package/dist/collection/components/vnode/vnode-converter.js.map +1 -0
- package/dist/collection/components/vnode/vnode.utils.js +18 -0
- package/dist/collection/components/vnode/vnode.utils.js.map +1 -0
- package/dist/collection/global/global.js +19 -0
- package/dist/collection/global/global.js.map +1 -0
- package/dist/collection/index.js +13 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/plugins/add-rows-on-paste.plugin.js +40 -0
- package/dist/collection/plugins/add-rows-on-paste.plugin.js.map +1 -0
- package/dist/collection/plugins/base.plugin.js +90 -0
- package/dist/collection/plugins/base.plugin.js.map +1 -0
- package/dist/collection/plugins/column.auto-size.plugin.js +225 -0
- package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -0
- package/dist/collection/plugins/column.stretch.plugin.js +96 -0
- package/dist/collection/plugins/column.stretch.plugin.js.map +1 -0
- package/dist/collection/plugins/dispatcher.js +40 -0
- package/dist/collection/plugins/dispatcher.js.map +1 -0
- package/dist/collection/plugins/export/csv.js +72 -0
- package/dist/collection/plugins/export/csv.js.map +1 -0
- package/dist/collection/plugins/export/export.plugin.js +157 -0
- package/dist/collection/plugins/export/export.plugin.js.map +1 -0
- package/dist/collection/plugins/export/types.js +2 -0
- package/dist/collection/plugins/export/types.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/equal.js +21 -0
- package/dist/collection/plugins/filter/conditions/equal.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/number/greaterThan.js +14 -0
- package/dist/collection/plugins/filter/conditions/number/greaterThan.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js +11 -0
- package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/number/lessThan.js +16 -0
- package/dist/collection/plugins/filter/conditions/number/lessThan.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js +11 -0
- package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/set.js +7 -0
- package/dist/collection/plugins/filter/conditions/set.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/string/beginswith.js +21 -0
- package/dist/collection/plugins/filter/conditions/string/beginswith.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/string/contains.js +25 -0
- package/dist/collection/plugins/filter/conditions/string/contains.js.map +1 -0
- package/dist/collection/plugins/filter/filter.button.js +28 -0
- package/dist/collection/plugins/filter/filter.button.js.map +1 -0
- package/dist/collection/plugins/filter/filter.indexed.js +49 -0
- package/dist/collection/plugins/filter/filter.indexed.js.map +1 -0
- package/dist/collection/plugins/filter/filter.panel.js +610 -0
- package/dist/collection/plugins/filter/filter.panel.js.map +1 -0
- package/dist/collection/plugins/filter/filter.plugin.js +388 -0
- package/dist/collection/plugins/filter/filter.plugin.js.map +1 -0
- package/dist/collection/plugins/filter/filter.style.css +165 -0
- package/dist/collection/plugins/filter/filter.types.js +9 -0
- package/dist/collection/plugins/filter/filter.types.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.const.js +16 -0
- package/dist/collection/plugins/groupingRow/grouping.const.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js +79 -0
- package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +245 -0
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +38 -0
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.types.js +2 -0
- package/dist/collection/plugins/groupingRow/grouping.row.types.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.service.js +178 -0
- package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +61 -0
- package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js.map +1 -0
- package/dist/collection/plugins/index.js +15 -0
- package/dist/collection/plugins/index.js.map +1 -0
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js +175 -0
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -0
- package/dist/collection/plugins/moveColumn/order-column.handler.js +71 -0
- package/dist/collection/plugins/moveColumn/order-column.handler.js.map +1 -0
- package/dist/collection/plugins/rtl/rtl.plugin.js +110 -0
- package/dist/collection/plugins/rtl/rtl.plugin.js.map +1 -0
- package/dist/collection/plugins/sorting/sorting.func.js +82 -0
- package/dist/collection/plugins/sorting/sorting.func.js.map +1 -0
- package/dist/collection/plugins/sorting/sorting.plugin.js +224 -0
- package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -0
- package/dist/collection/plugins/sorting/sorting.sign.js +9 -0
- package/dist/collection/plugins/sorting/sorting.sign.js.map +1 -0
- package/dist/collection/plugins/sorting/sorting.types.js +2 -0
- package/dist/collection/plugins/sorting/sorting.types.js.map +1 -0
- package/dist/collection/plugins/wcag/index.js +84 -0
- package/dist/collection/plugins/wcag/index.js.map +1 -0
- package/dist/collection/serve/controller.js +344 -0
- package/dist/collection/serve/data.js +201 -0
- package/dist/collection/services/cell.helpers.js +12 -0
- package/dist/collection/services/cell.helpers.js.map +1 -0
- package/dist/collection/services/column.data.provider.js +119 -0
- package/dist/collection/services/column.data.provider.js.map +1 -0
- package/dist/collection/services/data.provider.js +89 -0
- package/dist/collection/services/data.provider.js.map +1 -0
- package/dist/collection/services/dimension.provider.js +176 -0
- package/dist/collection/services/dimension.provider.js.map +1 -0
- package/dist/collection/services/local.scroll.service.js +124 -0
- package/dist/collection/services/local.scroll.service.js.map +1 -0
- package/dist/collection/services/local.scroll.timer.js +81 -0
- package/dist/collection/services/local.scroll.timer.js.map +1 -0
- package/dist/collection/services/selection.store.connector.js +307 -0
- package/dist/collection/services/selection.store.connector.js.map +1 -0
- package/dist/collection/services/viewport.provider.js +17 -0
- package/dist/collection/services/viewport.provider.js.map +1 -0
- package/dist/collection/store/dataSource/data.proxy.js +45 -0
- package/dist/collection/store/dataSource/data.proxy.js.map +1 -0
- package/dist/collection/store/dataSource/data.store.js +144 -0
- package/dist/collection/store/dataSource/data.store.js.map +1 -0
- package/dist/collection/store/dataSource/index.js +7 -0
- package/dist/collection/store/dataSource/index.js.map +1 -0
- package/dist/collection/store/dataSource/trimmed.plugin.js +34 -0
- package/dist/collection/store/dataSource/trimmed.plugin.js.map +1 -0
- package/dist/collection/store/dimension/dimension.helpers.js +101 -0
- package/dist/collection/store/dimension/dimension.helpers.js.map +1 -0
- package/dist/collection/store/dimension/dimension.recalculate.plugin.js +35 -0
- package/dist/collection/store/dimension/dimension.recalculate.plugin.js.map +1 -0
- package/dist/collection/store/dimension/dimension.store.js +109 -0
- package/dist/collection/store/dimension/dimension.store.js.map +1 -0
- package/dist/collection/store/dimension/dimension.trim.plugin.js +61 -0
- package/dist/collection/store/dimension/dimension.trim.plugin.js.map +1 -0
- package/dist/collection/store/dimension/index.js +6 -0
- package/dist/collection/store/dimension/index.js.map +1 -0
- package/dist/collection/store/index.js +17 -0
- package/dist/collection/store/index.js.map +1 -0
- package/dist/collection/store/selection/index.js +6 -0
- package/dist/collection/store/selection/index.js.map +1 -0
- package/dist/collection/store/selection/selection.helpers.js +53 -0
- package/dist/collection/store/selection/selection.helpers.js.map +1 -0
- package/dist/collection/store/selection/selection.store.js +85 -0
- package/dist/collection/store/selection/selection.store.js.map +1 -0
- package/dist/collection/store/vp/index.js +6 -0
- package/dist/collection/store/vp/index.js.map +1 -0
- package/dist/collection/store/vp/viewport.helpers.js +251 -0
- package/dist/collection/store/vp/viewport.helpers.js.map +1 -0
- package/dist/collection/store/vp/viewport.store.js +151 -0
- package/dist/collection/store/vp/viewport.store.js.map +1 -0
- package/dist/collection/themeManager/theme.compact.js +9 -0
- package/dist/collection/themeManager/theme.compact.js.map +1 -0
- package/dist/collection/themeManager/theme.default.js +9 -0
- package/dist/collection/themeManager/theme.default.js.map +1 -0
- package/dist/collection/themeManager/theme.material.js +9 -0
- package/dist/collection/themeManager/theme.material.js.map +1 -0
- package/dist/collection/themeManager/theme.service.js +53 -0
- package/dist/collection/themeManager/theme.service.js.map +1 -0
- package/dist/collection/types/dimension.js +2 -0
- package/dist/collection/types/dimension.js.map +1 -0
- package/dist/collection/types/events.js +118 -0
- package/dist/collection/types/events.js.map +1 -0
- package/dist/collection/types/index.js +12 -0
- package/dist/collection/types/index.js.map +1 -0
- package/dist/collection/types/interfaces.js +2 -0
- package/dist/collection/types/interfaces.js.map +1 -0
- package/dist/collection/types/plugin.js +2 -0
- package/dist/collection/types/plugin.js.map +1 -0
- package/dist/collection/types/plugin.types.js +2 -0
- package/dist/collection/types/plugin.types.js.map +1 -0
- package/dist/collection/types/selection.js +2 -0
- package/dist/collection/types/selection.js.map +1 -0
- package/dist/collection/types/theme.js +2 -0
- package/dist/collection/types/theme.js.map +1 -0
- package/dist/collection/types/viewport.interfaces.js +2 -0
- package/dist/collection/types/viewport.interfaces.js.map +1 -0
- package/dist/collection/utils/browser.js +7 -0
- package/dist/collection/utils/browser.js.map +1 -0
- package/dist/collection/utils/closest.polifill.js +22 -0
- package/dist/collection/utils/closest.polifill.js.map +1 -0
- package/dist/collection/utils/column.utils.js +153 -0
- package/dist/collection/utils/column.utils.js.map +1 -0
- package/dist/collection/utils/consts.js +26 -0
- package/dist/collection/utils/consts.js.map +1 -0
- package/dist/collection/utils/events.js +39 -0
- package/dist/collection/utils/events.js.map +1 -0
- package/dist/collection/utils/header.utils.js +24 -0
- package/dist/collection/utils/header.utils.js.map +1 -0
- package/dist/collection/utils/index.js +140 -0
- package/dist/collection/utils/index.js.map +1 -0
- package/dist/collection/utils/key.codes.js +80 -0
- package/dist/collection/utils/key.codes.js.map +1 -0
- package/dist/collection/utils/key.utils.js +90 -0
- package/dist/collection/utils/key.utils.js.map +1 -0
- package/dist/collection/utils/mobile.js +7 -0
- package/dist/collection/utils/mobile.js.map +1 -0
- package/dist/collection/utils/platform.js +9 -0
- package/dist/collection/utils/platform.js.map +1 -0
- package/dist/collection/utils/row-header-utils.js +9 -0
- package/dist/collection/utils/row-header-utils.js.map +1 -0
- package/dist/collection/utils/store.types.js +2 -0
- package/dist/collection/utils/store.types.js.map +1 -0
- package/dist/collection/utils/store.utils.js +15 -0
- package/dist/collection/utils/store.utils.js.map +1 -0
- package/dist/esm/app-globals-FBz64o-g.js +14 -0
- package/dist/esm/app-globals-FBz64o-g.js.map +1 -0
- package/dist/esm/cell-renderer-Ca_PCGjJ.js +98 -0
- package/dist/esm/cell-renderer-Ca_PCGjJ.js.map +1 -0
- package/dist/esm/column.drag.plugin-BtuUyB-2.js +2528 -0
- package/dist/esm/column.drag.plugin-BtuUyB-2.js.map +1 -0
- package/dist/esm/column.service-CTqFIQUy.js +1343 -0
- package/dist/esm/column.service-CTqFIQUy.js.map +1 -0
- package/dist/esm/data.store-B-lvmoFH.js +3553 -0
- package/dist/esm/data.store-B-lvmoFH.js.map +1 -0
- package/dist/esm/debounce-DTUQ1fY7.js +488 -0
- package/dist/esm/debounce-DTUQ1fY7.js.map +1 -0
- package/dist/esm/edit.utils-CyCANCLB.js +103 -0
- package/dist/esm/edit.utils-CyCANCLB.js.map +1 -0
- package/dist/esm/events-CKtYJJSv.js +43 -0
- package/dist/esm/events-CKtYJJSv.js.map +1 -0
- package/dist/esm/filter.button-CjABZQgg.js +39 -0
- package/dist/esm/filter.button-CjABZQgg.js.map +1 -0
- package/dist/esm/header-cell-renderer-DnjpJuXq.js +351 -0
- package/dist/esm/header-cell-renderer-DnjpJuXq.js.map +1 -0
- package/dist/esm/index-BAoInZ4V.js +2519 -0
- package/dist/esm/index-BAoInZ4V.js.map +1 -0
- package/dist/esm/index.js +181 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +17 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/revo-grid.entry.js +2185 -0
- package/dist/esm/revo-grid.entry.js.map +1 -0
- package/dist/esm/revo-grid.js +27 -0
- package/dist/esm/revo-grid.js.map +1 -0
- package/dist/esm/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.js.map +1 -0
- package/dist/esm/revogr-attribution_7.entry.js +1455 -0
- package/dist/esm/revogr-attribution_7.entry.js.map +1 -0
- package/dist/esm/revogr-clipboard.revogr-edit.revogr-order-editor.entry.js.map +1 -0
- package/dist/esm/revogr-clipboard_3.entry.js +452 -0
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -0
- package/dist/esm/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.js.map +1 -0
- package/dist/esm/revogr-data_4.entry.js +943 -0
- package/dist/esm/revogr-data_4.entry.js.map +1 -0
- package/dist/esm/revogr-filter-panel.entry.js +380 -0
- package/dist/esm/revogr-filter-panel.entry.js.map +1 -0
- package/dist/esm/row-header-utils-vnoLGj5A.js +407 -0
- package/dist/esm/row-header-utils-vnoLGj5A.js.map +1 -0
- package/dist/esm/text-editor-Cp7lwBZi.js +79 -0
- package/dist/esm/text-editor-Cp7lwBZi.js.map +1 -0
- package/dist/esm/throttle-DiUrHjcY.js +273 -0
- package/dist/esm/throttle-DiUrHjcY.js.map +1 -0
- package/dist/esm/viewport.helpers-Ch4AQMMg.js +53 -0
- package/dist/esm/viewport.helpers-Ch4AQMMg.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/revo-grid/app-globals-FBz64o-g.js +14 -0
- package/dist/revo-grid/app-globals-FBz64o-g.js.map +1 -0
- package/dist/revo-grid/cell-renderer-Ca_PCGjJ.js +98 -0
- package/dist/revo-grid/cell-renderer-Ca_PCGjJ.js.map +1 -0
- package/dist/revo-grid/column.drag.plugin-BtuUyB-2.js +2528 -0
- package/dist/revo-grid/column.drag.plugin-BtuUyB-2.js.map +1 -0
- package/dist/revo-grid/column.service-CTqFIQUy.js +1343 -0
- package/dist/revo-grid/column.service-CTqFIQUy.js.map +1 -0
- package/dist/revo-grid/data.store-B-lvmoFH.js +3553 -0
- package/dist/revo-grid/data.store-B-lvmoFH.js.map +1 -0
- package/dist/revo-grid/debounce-DTUQ1fY7.js +488 -0
- package/dist/revo-grid/debounce-DTUQ1fY7.js.map +1 -0
- package/dist/revo-grid/edit.utils-CyCANCLB.js +103 -0
- package/dist/revo-grid/edit.utils-CyCANCLB.js.map +1 -0
- package/dist/revo-grid/events-CKtYJJSv.js +43 -0
- package/dist/revo-grid/events-CKtYJJSv.js.map +1 -0
- package/dist/revo-grid/filter.button-CjABZQgg.js +39 -0
- package/dist/revo-grid/filter.button-CjABZQgg.js.map +1 -0
- package/dist/revo-grid/header-cell-renderer-DnjpJuXq.js +351 -0
- package/dist/revo-grid/header-cell-renderer-DnjpJuXq.js.map +1 -0
- package/dist/revo-grid/index-BAoInZ4V.js +2490 -0
- package/dist/revo-grid/index-BAoInZ4V.js.map +1 -0
- package/dist/revo-grid/index.esm.js +181 -0
- package/dist/revo-grid/index.esm.js.map +1 -0
- package/dist/revo-grid/loader.esm.js.map +1 -0
- package/dist/revo-grid/revo-grid.entry.esm.js.map +1 -0
- package/dist/revo-grid/revo-grid.entry.js +2185 -0
- package/dist/revo-grid/revo-grid.entry.js.map +1 -0
- package/dist/revo-grid/revo-grid.esm.js +27 -0
- package/dist/revo-grid/revo-grid.esm.js.map +1 -0
- package/dist/revo-grid/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.esm.js.map +1 -0
- package/dist/revo-grid/revogr-attribution_7.entry.js +1455 -0
- package/dist/revo-grid/revogr-attribution_7.entry.js.map +1 -0
- package/dist/revo-grid/revogr-clipboard.revogr-edit.revogr-order-editor.entry.esm.js.map +1 -0
- package/dist/revo-grid/revogr-clipboard_3.entry.js +452 -0
- package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -0
- package/dist/revo-grid/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.esm.js.map +1 -0
- package/dist/revo-grid/revogr-data_4.entry.js +943 -0
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -0
- package/dist/revo-grid/revogr-filter-panel.entry.esm.js.map +1 -0
- package/dist/revo-grid/revogr-filter-panel.entry.js +380 -0
- package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -0
- package/dist/revo-grid/row-header-utils-vnoLGj5A.js +407 -0
- package/dist/revo-grid/row-header-utils-vnoLGj5A.js.map +1 -0
- package/dist/revo-grid/text-editor-Cp7lwBZi.js +79 -0
- package/dist/revo-grid/text-editor-Cp7lwBZi.js.map +1 -0
- package/dist/revo-grid/throttle-DiUrHjcY.js +273 -0
- package/dist/revo-grid/throttle-DiUrHjcY.js.map +1 -0
- package/dist/revo-grid/viewport.helpers-Ch4AQMMg.js +53 -0
- package/dist/revo-grid/viewport.helpers-Ch4AQMMg.js.map +1 -0
- package/dist/types/components/attribution/revogr-attribution.d.ts +12 -0
- package/dist/types/components/clipboard/revogr-clipboard.d.ts +89 -0
- package/dist/types/components/data/cell-renderer.d.ts +12 -0
- package/dist/types/components/data/column.service.d.ts +61 -0
- package/dist/types/components/data/revogr-data.d.ts +107 -0
- package/dist/types/components/data/row-highlight.plugin.d.ts +10 -0
- package/dist/types/components/data/row-renderer.d.ts +12 -0
- package/dist/types/components/editors/edit.utils.d.ts +3 -0
- package/dist/types/components/editors/revogr-edit.d.ts +63 -0
- package/dist/types/components/editors/text-editor.d.ts +43 -0
- package/dist/types/components/extra/revogr-extra.d.ts +38 -0
- package/dist/types/components/header/header-cell-renderer.d.ts +9 -0
- package/dist/types/components/header/header-group-renderer.d.ts +15 -0
- package/dist/types/components/header/header-renderer.d.ts +16 -0
- package/dist/types/components/header/resizable.directive.d.ts +55 -0
- package/dist/types/components/header/resizable.element.d.ts +5 -0
- package/dist/types/components/header/revogr-header.d.ts +90 -0
- package/dist/types/components/order/order-renderer.d.ts +29 -0
- package/dist/types/components/order/order-row.service.d.ts +27 -0
- package/dist/types/components/order/revogr-order-editor.d.ts +56 -0
- package/dist/types/components/overlay/autofill.service.d.ts +80 -0
- package/dist/types/components/overlay/keyboard.service.d.ts +28 -0
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +278 -0
- package/dist/types/components/overlay/selection.utils.d.ts +47 -0
- package/dist/types/components/revoGrid/grid.helpers.d.ts +17 -0
- package/dist/types/components/revoGrid/plugin.service.d.ts +37 -0
- package/dist/types/components/revoGrid/revo-grid.d.ts +686 -0
- package/dist/types/components/revoGrid/viewport.helpers.d.ts +39 -0
- package/dist/types/components/revoGrid/viewport.resize.service.d.ts +17 -0
- package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +20 -0
- package/dist/types/components/revoGrid/viewport.service.d.ts +59 -0
- package/dist/types/components/rowHeaders/revogr-row-headers.d.ts +51 -0
- package/dist/types/components/rowHeaders/row-header-render.d.ts +9 -0
- package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +117 -0
- package/dist/types/components/scrollable/autohide-scroll.plugin.d.ts +22 -0
- package/dist/types/components/scrollable/revogr-scroll-virtual.d.ts +43 -0
- package/dist/types/components/selectionFocus/revogr-focus.d.ts +58 -0
- package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +28 -0
- package/dist/types/components/vnode/vnode-converter.d.ts +19 -0
- package/dist/types/components/vnode/vnode.utils.d.ts +9 -0
- package/dist/types/components.d.ts +2583 -0
- package/dist/types/global/global.d.ts +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/plugins/add-rows-on-paste.plugin.d.ts +14 -0
- package/dist/types/plugins/base.plugin.d.ts +51 -0
- package/dist/types/plugins/column.auto-size.plugin.d.ts +55 -0
- package/dist/types/plugins/column.stretch.plugin.d.ts +20 -0
- package/dist/types/plugins/dispatcher.d.ts +20 -0
- package/dist/types/plugins/export/csv.d.ts +9 -0
- package/dist/types/plugins/export/export.plugin.d.ts +24 -0
- package/dist/types/plugins/export/types.d.ts +23 -0
- package/dist/types/plugins/filter/conditions/equal.d.ts +4 -0
- package/dist/types/plugins/filter/conditions/number/greaterThan.d.ts +3 -0
- package/dist/types/plugins/filter/conditions/number/greaterThanOrEqual.d.ts +3 -0
- package/dist/types/plugins/filter/conditions/number/lessThan.d.ts +3 -0
- package/dist/types/plugins/filter/conditions/number/lessThanOrEqual.d.ts +3 -0
- package/dist/types/plugins/filter/conditions/set.d.ts +4 -0
- package/dist/types/plugins/filter/conditions/string/beginswith.d.ts +3 -0
- package/dist/types/plugins/filter/conditions/string/contains.d.ts +4 -0
- package/dist/types/plugins/filter/filter.button.d.ts +14 -0
- package/dist/types/plugins/filter/filter.indexed.d.ts +20 -0
- package/dist/types/plugins/filter/filter.panel.d.ts +53 -0
- package/dist/types/plugins/filter/filter.plugin.d.ts +73 -0
- package/dist/types/plugins/filter/filter.types.d.ts +129 -0
- package/dist/types/plugins/groupingRow/grouping.const.d.ts +12 -0
- package/dist/types/plugins/groupingRow/grouping.row.expand.service.d.ts +15 -0
- package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +39 -0
- package/dist/types/plugins/groupingRow/grouping.row.renderer.d.ts +6 -0
- package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +103 -0
- package/dist/types/plugins/groupingRow/grouping.service.d.ts +36 -0
- package/dist/types/plugins/groupingRow/grouping.trimmed.service.d.ts +10 -0
- package/dist/types/plugins/index.d.ts +11 -0
- package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +42 -0
- package/dist/types/plugins/moveColumn/order-column.handler.d.ts +16 -0
- package/dist/types/plugins/rtl/rtl.plugin.d.ts +37 -0
- package/dist/types/plugins/sorting/sorting.func.d.ts +9 -0
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +48 -0
- package/dist/types/plugins/sorting/sorting.sign.d.ts +6 -0
- package/dist/types/plugins/sorting/sorting.types.d.ts +14 -0
- package/dist/types/plugins/wcag/index.d.ts +26 -0
- package/dist/types/services/cell.helpers.d.ts +2 -0
- package/dist/types/services/column.data.provider.d.ts +27 -0
- package/dist/types/services/data.provider.d.ts +36 -0
- package/dist/types/services/dimension.provider.d.ts +66 -0
- package/dist/types/services/local.scroll.service.d.ts +36 -0
- package/dist/types/services/local.scroll.timer.d.ts +32 -0
- package/dist/types/services/selection.store.connector.d.ts +79 -0
- package/dist/types/services/viewport.provider.d.ts +7 -0
- package/dist/types/stencil-public-runtime.d.ts +1709 -0
- package/dist/types/store/dataSource/data.proxy.d.ts +14 -0
- package/dist/types/store/dataSource/data.store.d.ts +74 -0
- package/dist/types/store/dataSource/index.d.ts +3 -0
- package/dist/types/store/dataSource/trimmed.plugin.d.ts +12 -0
- package/dist/types/store/dimension/dimension.helpers.d.ts +24 -0
- package/dist/types/store/dimension/dimension.recalculate.plugin.d.ts +9 -0
- package/dist/types/store/dimension/dimension.store.d.ts +21 -0
- package/dist/types/store/dimension/dimension.trim.plugin.d.ts +13 -0
- package/dist/types/store/dimension/index.d.ts +2 -0
- package/dist/types/store/index.d.ts +8 -0
- package/dist/types/store/selection/index.d.ts +2 -0
- package/dist/types/store/selection/selection.helpers.d.ts +6 -0
- package/dist/types/store/selection/selection.store.d.ts +22 -0
- package/dist/types/store/vp/index.d.ts +7 -0
- package/dist/types/store/vp/viewport.helpers.d.ts +54 -0
- package/dist/types/store/vp/viewport.store.d.ts +26 -0
- package/dist/types/themeManager/theme.compact.d.ts +4 -0
- package/dist/types/themeManager/theme.default.d.ts +4 -0
- package/dist/types/themeManager/theme.material.d.ts +4 -0
- package/dist/types/themeManager/theme.service.d.ts +13 -0
- package/dist/types/types/dimension.d.ts +8 -0
- package/dist/types/types/events.d.ts +2 -0
- package/dist/types/types/index.d.ts +8 -0
- package/dist/types/types/interfaces.d.ts +768 -0
- package/dist/types/types/plugin.d.ts +9 -0
- package/dist/types/types/plugin.types.d.ts +48 -0
- package/dist/types/types/selection.d.ts +178 -0
- package/dist/types/types/theme.d.ts +7 -0
- package/dist/types/types/viewport.interfaces.d.ts +45 -0
- package/dist/types/utils/browser.d.ts +1 -0
- package/dist/types/utils/closest.polifill.d.ts +0 -0
- package/dist/types/utils/column.utils.d.ts +52 -0
- package/dist/types/utils/consts.d.ts +22 -0
- package/dist/types/utils/events.d.ts +5 -0
- package/dist/types/utils/header.utils.d.ts +2 -0
- package/dist/types/utils/index.d.ts +32 -0
- package/dist/types/utils/key.codes.d.ts +73 -0
- package/dist/types/utils/key.utils.d.ts +13 -0
- package/dist/types/utils/mobile.d.ts +1 -0
- package/dist/types/utils/platform.d.ts +4 -0
- package/dist/types/utils/row-header-utils.d.ts +2 -0
- package/dist/types/utils/store.types.d.ts +97 -0
- package/dist/types/utils/store.utils.d.ts +10 -0
- package/hydrate/index.d.ts +273 -0
- package/hydrate/index.js +33890 -0
- package/hydrate/index.mjs +33882 -0
- package/hydrate/package.json +12 -0
- package/loader/cdn.js +4 -0
- package/loader/index.cjs.js +4 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +4 -0
- package/loader/index.js +5 -0
- package/package.json +101 -0
- package/react/dist/index.d.ts +6191 -0
- package/react/dist/react-datagrid.js +260 -0
- package/react/dist/react-datagrid.umd.cjs +272 -0
- package/standalone/column.service.js +1345 -0
- package/standalone/column.service.js.map +1 -0
- package/standalone/consts.js +30 -0
- package/standalone/consts.js.map +1 -0
- package/standalone/data.store.js +3099 -0
- package/standalone/data.store.js.map +1 -0
- package/standalone/debounce.js +215 -0
- package/standalone/debounce.js.map +1 -0
- package/standalone/dimension.helpers.js +229 -0
- package/standalone/dimension.helpers.js.map +1 -0
- package/standalone/filter.button.js +39 -0
- package/standalone/filter.button.js.map +1 -0
- package/standalone/index.d.ts +68 -0
- package/standalone/index.js +217 -0
- package/standalone/index.js.map +1 -0
- package/standalone/index2.js +140 -0
- package/standalone/index2.js.map +1 -0
- package/standalone/local.scroll.timer.js +207 -0
- package/standalone/local.scroll.timer.js.map +1 -0
- package/standalone/platform.js +90 -0
- package/standalone/platform.js.map +1 -0
- package/standalone/revo-grid.d.ts +11 -0
- package/standalone/revo-grid.js +4884 -0
- package/standalone/revo-grid.js.map +1 -0
- package/standalone/revogr-attribution.d.ts +11 -0
- package/standalone/revogr-attribution.js +12 -0
- package/standalone/revogr-attribution.js.map +1 -0
- package/standalone/revogr-attribution2.js +32 -0
- package/standalone/revogr-attribution2.js.map +1 -0
- package/standalone/revogr-clipboard.d.ts +11 -0
- package/standalone/revogr-clipboard.js +12 -0
- package/standalone/revogr-clipboard.js.map +1 -0
- package/standalone/revogr-clipboard2.js +164 -0
- package/standalone/revogr-clipboard2.js.map +1 -0
- package/standalone/revogr-data.d.ts +11 -0
- package/standalone/revogr-data.js +12 -0
- package/standalone/revogr-data.js.map +1 -0
- package/standalone/revogr-data2.js +378 -0
- package/standalone/revogr-data2.js.map +1 -0
- package/standalone/revogr-edit.d.ts +11 -0
- package/standalone/revogr-edit.js +12 -0
- package/standalone/revogr-edit.js.map +1 -0
- package/standalone/revogr-edit2.js +334 -0
- package/standalone/revogr-edit2.js.map +1 -0
- package/standalone/revogr-extra.d.ts +11 -0
- package/standalone/revogr-extra.js +12 -0
- package/standalone/revogr-extra.js.map +1 -0
- package/standalone/revogr-extra2.js +73 -0
- package/standalone/revogr-extra2.js.map +1 -0
- package/standalone/revogr-filter-panel.d.ts +11 -0
- package/standalone/revogr-filter-panel.js +411 -0
- package/standalone/revogr-filter-panel.js.map +1 -0
- package/standalone/revogr-focus.d.ts +11 -0
- package/standalone/revogr-focus.js +12 -0
- package/standalone/revogr-focus.js.map +1 -0
- package/standalone/revogr-focus2.js +112 -0
- package/standalone/revogr-focus2.js.map +1 -0
- package/standalone/revogr-header.d.ts +11 -0
- package/standalone/revogr-header.js +12 -0
- package/standalone/revogr-header.js.map +1 -0
- package/standalone/revogr-header2.js +707 -0
- package/standalone/revogr-header2.js.map +1 -0
- package/standalone/revogr-order-editor.d.ts +11 -0
- package/standalone/revogr-order-editor.js +12 -0
- package/standalone/revogr-order-editor.js.map +1 -0
- package/standalone/revogr-order-editor2.js +201 -0
- package/standalone/revogr-order-editor2.js.map +1 -0
- package/standalone/revogr-overlay-selection.d.ts +11 -0
- package/standalone/revogr-overlay-selection.js +12 -0
- package/standalone/revogr-overlay-selection.js.map +1 -0
- package/standalone/revogr-overlay-selection2.js +972 -0
- package/standalone/revogr-overlay-selection2.js.map +1 -0
- package/standalone/revogr-row-headers.d.ts +11 -0
- package/standalone/revogr-row-headers.js +12 -0
- package/standalone/revogr-row-headers.js.map +1 -0
- package/standalone/revogr-row-headers2.js +520 -0
- package/standalone/revogr-row-headers2.js.map +1 -0
- package/standalone/revogr-scroll-virtual.d.ts +11 -0
- package/standalone/revogr-scroll-virtual.js +12 -0
- package/standalone/revogr-scroll-virtual.js.map +1 -0
- package/standalone/revogr-scroll-virtual2.js +184 -0
- package/standalone/revogr-scroll-virtual2.js.map +1 -0
- package/standalone/revogr-temp-range.d.ts +11 -0
- package/standalone/revogr-temp-range.js +12 -0
- package/standalone/revogr-temp-range.js.map +1 -0
- package/standalone/revogr-temp-range2.js +93 -0
- package/standalone/revogr-temp-range2.js.map +1 -0
- package/standalone/revogr-viewport-scroll.d.ts +11 -0
- package/standalone/revogr-viewport-scroll.js +12 -0
- package/standalone/revogr-viewport-scroll.js.map +1 -0
- package/standalone/revogr-viewport-scroll2.js +421 -0
- package/standalone/revogr-viewport-scroll2.js.map +1 -0
- package/standalone/selection.utils.js +179 -0
- package/standalone/selection.utils.js.map +1 -0
- package/standalone/throttle.js +75 -0
- package/standalone/throttle.js.map +1 -0
- package/standalone/toNumber.js +282 -0
- package/standalone/toNumber.js.map +1 -0
- package/standalone/vnode-converter.js +46 -0
- package/standalone/vnode-converter.js.map +1 -0
- package/standalone/vnode-html.d.ts +11 -0
- package/standalone/vnode-html.js +12 -0
- package/standalone/vnode-html.js.map +1 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by LevelSkill.Pro
|
|
3
|
+
*/
|
|
4
|
+
import { EMPTY_INDEX } from "../../services/selection.store.connector";
|
|
5
|
+
import { columnTypes, getSourceItem, getVisibleSourceItem, rowTypes } from "../../store/index";
|
|
6
|
+
import { CONTENT_SLOT, FOOTER_SLOT, HEADER_SLOT, viewportDataPartition } from "./viewport.helpers";
|
|
7
|
+
/** Collect Column data */
|
|
8
|
+
function gatherColumnData(data) {
|
|
9
|
+
const colDimension = data.dimensions[data.colType].store;
|
|
10
|
+
const realWidth = colDimension.get('realSize');
|
|
11
|
+
const prop = {
|
|
12
|
+
contentWidth: realWidth,
|
|
13
|
+
class: data.colType,
|
|
14
|
+
contentHeight: data.contentHeight,
|
|
15
|
+
key: data.colType,
|
|
16
|
+
colType: data.colType,
|
|
17
|
+
onResizeviewport: data.onResizeviewport,
|
|
18
|
+
// set viewport size to real size
|
|
19
|
+
style: data.fixWidth ? { minWidth: `${realWidth}px` } : undefined,
|
|
20
|
+
};
|
|
21
|
+
const headerProp = {
|
|
22
|
+
colData: getVisibleSourceItem(data.colStore),
|
|
23
|
+
dimensionCol: colDimension,
|
|
24
|
+
type: data.colType,
|
|
25
|
+
groups: data.colStore.get('groups'),
|
|
26
|
+
groupingDepth: data.colStore.get('groupingDepth'),
|
|
27
|
+
resizeHandler: data.colType === 'colPinEnd' ? ['l'] : undefined,
|
|
28
|
+
onHeaderresize: data.onHeaderresize,
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
prop,
|
|
32
|
+
type: data.colType,
|
|
33
|
+
position: data.position,
|
|
34
|
+
headerProp,
|
|
35
|
+
viewportCol: data.viewports[data.colType].store,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export default class ViewportService {
|
|
39
|
+
constructor(config, contentHeight) {
|
|
40
|
+
var _a, _b;
|
|
41
|
+
this.config = config;
|
|
42
|
+
(_a = this.config.selectionStoreConnector) === null || _a === void 0 ? void 0 : _a.beforeUpdate();
|
|
43
|
+
// ----------- Handle columns ----------- //
|
|
44
|
+
// Transform data from stores and apply it to different components
|
|
45
|
+
const columns = [];
|
|
46
|
+
let x = 0; // we increase x only if column present
|
|
47
|
+
columnTypes.forEach(val => {
|
|
48
|
+
const colStore = config.columnProvider.stores[val].store;
|
|
49
|
+
// only columns that have data show
|
|
50
|
+
if (!colStore.get('items').length) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const column = {
|
|
54
|
+
colType: val,
|
|
55
|
+
position: { x, y: 1 },
|
|
56
|
+
contentHeight,
|
|
57
|
+
// only central column has dynamic width
|
|
58
|
+
fixWidth: val !== 'rgCol',
|
|
59
|
+
viewports: config.viewportProvider.stores,
|
|
60
|
+
dimensions: config.dimensionProvider.stores,
|
|
61
|
+
rowStores: config.dataProvider.stores,
|
|
62
|
+
colStore,
|
|
63
|
+
onHeaderresize: e => this.onColumnResize(val, e, colStore),
|
|
64
|
+
};
|
|
65
|
+
if (val === 'rgCol') {
|
|
66
|
+
column.onResizeviewport = (e) => {
|
|
67
|
+
var _a;
|
|
68
|
+
const vpState = {
|
|
69
|
+
clientSize: e.detail.size,
|
|
70
|
+
};
|
|
71
|
+
// virtual size will be handled by dimension provider if disabled
|
|
72
|
+
if ((e.detail.dimension === 'rgRow' && !config.disableVirtualY)
|
|
73
|
+
|| (e.detail.dimension === 'rgCol' && !config.disableVirtualX)) {
|
|
74
|
+
vpState.virtualSize = e.detail.size;
|
|
75
|
+
}
|
|
76
|
+
(_a = config.viewportProvider) === null || _a === void 0 ? void 0 : _a.setViewport(e.detail.dimension, vpState);
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
const colData = gatherColumnData(column);
|
|
80
|
+
const columnSelectionStore = this.registerCol(colData.position.x, val);
|
|
81
|
+
// render per each column data collections vertically
|
|
82
|
+
const dataPorts = this.dataViewPort(column).reduce((r, rgRow) => {
|
|
83
|
+
// register selection store for Segment
|
|
84
|
+
const segmentSelection = this.registerSegment(rgRow.position);
|
|
85
|
+
segmentSelection.setLastCell(rgRow.lastCell);
|
|
86
|
+
// register selection store for Row
|
|
87
|
+
const rowSelectionStore = this.registerRow(rgRow.position.y, rgRow.type);
|
|
88
|
+
const rowDef = Object.assign(Object.assign({ colType: val }, rgRow), { rowSelectionStore, selectionStore: segmentSelection.store, ref: (e) => config.selectionStoreConnector.registerSection(e), onSetrange: e => {
|
|
89
|
+
segmentSelection.setRangeArea(e.detail);
|
|
90
|
+
}, onSettemprange: e => segmentSelection.setTempArea(e.detail), onFocuscell: e => {
|
|
91
|
+
// todo: multi focus
|
|
92
|
+
segmentSelection.clearFocus();
|
|
93
|
+
config.selectionStoreConnector.focus(segmentSelection, e.detail);
|
|
94
|
+
} });
|
|
95
|
+
r.push(rowDef);
|
|
96
|
+
return r;
|
|
97
|
+
}, []);
|
|
98
|
+
columns.push(Object.assign(Object.assign({}, colData), { columnSelectionStore,
|
|
99
|
+
dataPorts }));
|
|
100
|
+
x++;
|
|
101
|
+
});
|
|
102
|
+
this.columns = columns;
|
|
103
|
+
// ----------- Handle columns end ----------- //
|
|
104
|
+
(_b = this.config.scrollingService) === null || _b === void 0 ? void 0 : _b.unregister();
|
|
105
|
+
}
|
|
106
|
+
onColumnResize(type, { detail }, store) {
|
|
107
|
+
var _a;
|
|
108
|
+
// apply to dimension provider
|
|
109
|
+
(_a = this.config.dimensionProvider) === null || _a === void 0 ? void 0 : _a.setCustomSizes(type, detail, true);
|
|
110
|
+
// set resize event
|
|
111
|
+
const changedItems = {};
|
|
112
|
+
for (const [i, size] of Object.entries(detail || {})) {
|
|
113
|
+
const virtualIndex = parseInt(i, 10);
|
|
114
|
+
const item = getSourceItem(store, virtualIndex);
|
|
115
|
+
if (item) {
|
|
116
|
+
changedItems[virtualIndex] = Object.assign(Object.assign({}, item), { size });
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
this.config.resize(changedItems);
|
|
120
|
+
}
|
|
121
|
+
/** register selection store for Segment */
|
|
122
|
+
registerSegment(position) {
|
|
123
|
+
return this.config.selectionStoreConnector.register(position);
|
|
124
|
+
}
|
|
125
|
+
/** register selection store for Row */
|
|
126
|
+
registerRow(y, type) {
|
|
127
|
+
return this.config.selectionStoreConnector.registerRow(y, type).store;
|
|
128
|
+
}
|
|
129
|
+
/** register selection store for Column */
|
|
130
|
+
registerCol(x, type) {
|
|
131
|
+
return this.config.selectionStoreConnector.registerColumn(x, type).store;
|
|
132
|
+
}
|
|
133
|
+
/** Collect Row data */
|
|
134
|
+
dataViewPort(data) {
|
|
135
|
+
const slots = {
|
|
136
|
+
rowPinStart: HEADER_SLOT,
|
|
137
|
+
rgRow: CONTENT_SLOT,
|
|
138
|
+
rowPinEnd: FOOTER_SLOT,
|
|
139
|
+
};
|
|
140
|
+
// y position for selection
|
|
141
|
+
let y = 0;
|
|
142
|
+
return rowTypes.reduce((result, type) => {
|
|
143
|
+
// filter out empty sources, we still need to return source to keep slot working
|
|
144
|
+
const isPresent = data.viewports[type].store.get('realCount') || type === 'rgRow';
|
|
145
|
+
const rgCol = Object.assign(Object.assign({}, data), { position: Object.assign(Object.assign({}, data.position), { y: isPresent ? y : EMPTY_INDEX }) });
|
|
146
|
+
const partition = viewportDataPartition(rgCol, type, slots[type], type !== 'rgRow');
|
|
147
|
+
result.push(partition);
|
|
148
|
+
if (isPresent) {
|
|
149
|
+
y++;
|
|
150
|
+
}
|
|
151
|
+
return result;
|
|
152
|
+
}, []);
|
|
153
|
+
}
|
|
154
|
+
scrollToCell(cell) {
|
|
155
|
+
for (let key in cell) {
|
|
156
|
+
const coordinate = cell[key];
|
|
157
|
+
if (typeof coordinate === 'number') {
|
|
158
|
+
this.config.scrollingService.proxyScroll({
|
|
159
|
+
dimension: key === 'x' ? 'rgCol' : 'rgRow',
|
|
160
|
+
coordinate,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Clear current grid focus
|
|
167
|
+
*/
|
|
168
|
+
clearFocused() {
|
|
169
|
+
this.config.selectionStoreConnector.clearAll();
|
|
170
|
+
}
|
|
171
|
+
clearEdit() {
|
|
172
|
+
this.config.selectionStoreConnector.setEdit(false);
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Collect focused element data
|
|
176
|
+
*/
|
|
177
|
+
getFocused() {
|
|
178
|
+
const focused = this.config.selectionStoreConnector.focusedStore;
|
|
179
|
+
if (!focused) {
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
// get column data
|
|
183
|
+
const colType = this.config.selectionStoreConnector.storesXToType[focused.position.x];
|
|
184
|
+
const column = this.config.columnProvider.getColumn(focused.cell.x, colType);
|
|
185
|
+
// get row data
|
|
186
|
+
const rowType = this.config.selectionStoreConnector.storesYToType[focused.position.y];
|
|
187
|
+
const model = this.config.dataProvider.getModel(focused.cell.y, rowType);
|
|
188
|
+
return {
|
|
189
|
+
column,
|
|
190
|
+
model,
|
|
191
|
+
cell: focused.cell,
|
|
192
|
+
colType,
|
|
193
|
+
rowType,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
getStoreCoordinateByType(colType, rowType) {
|
|
197
|
+
const stores = this.config.selectionStoreConnector.storesByType;
|
|
198
|
+
if (typeof stores[colType] === 'undefined' || typeof stores[rowType] === 'undefined') {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
return {
|
|
202
|
+
x: stores[colType],
|
|
203
|
+
y: stores[rowType],
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
setFocus(colType, rowType, start, end) {
|
|
207
|
+
var _a;
|
|
208
|
+
const coordinate = this.getStoreCoordinateByType(colType, rowType);
|
|
209
|
+
if (coordinate) {
|
|
210
|
+
(_a = this.config.selectionStoreConnector) === null || _a === void 0 ? void 0 : _a.focusByCell(coordinate, start, end);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
getSelectedRange() {
|
|
214
|
+
const focused = this.config.selectionStoreConnector.focusedStore;
|
|
215
|
+
if (!focused) {
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
218
|
+
// get column data
|
|
219
|
+
const colType = this.config.selectionStoreConnector.storesXToType[focused.position.x];
|
|
220
|
+
// get row data
|
|
221
|
+
const rowType = this.config.selectionStoreConnector.storesYToType[focused.position.y];
|
|
222
|
+
const range = focused.entity.store.get('range');
|
|
223
|
+
if (!range) {
|
|
224
|
+
return null;
|
|
225
|
+
}
|
|
226
|
+
return Object.assign(Object.assign({}, range), { colType,
|
|
227
|
+
rowType });
|
|
228
|
+
}
|
|
229
|
+
setEdit(rowIndex, colIndex, colType, rowType) {
|
|
230
|
+
var _a;
|
|
231
|
+
const coordinate = this.getStoreCoordinateByType(colType, rowType);
|
|
232
|
+
if (coordinate) {
|
|
233
|
+
(_a = this.config.selectionStoreConnector) === null || _a === void 0 ? void 0 : _a.setEditByCell(coordinate, { x: colIndex, y: rowIndex });
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=viewport.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport.service.js","sourceRoot":"","sources":["../../../src/components/revoGrid/viewport.service.ts"],"names":[],"mappings":"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","sourcesContent":["import DimensionProvider from '../../services/dimension.provider';\r\nimport { type SelectionStoreConnector, EMPTY_INDEX } from '../../services/selection.store.connector';\r\nimport ViewportProvider from '../../services/viewport.provider';\r\nimport { columnTypes, DSourceState, getSourceItem, getVisibleSourceItem, rowTypes } from '@store';\r\nimport { OrdererService } from '../order/order-renderer';\r\nimport GridScrollingService from './viewport.scrolling.service';\r\nimport { CONTENT_SLOT, FOOTER_SLOT, HEADER_SLOT, viewportDataPartition, VPPartition } from './viewport.helpers';\r\n\r\nimport ColumnDataProvider from '../../services/column.data.provider';\r\nimport { DataProvider } from '../../services/data.provider';\r\nimport type {\r\n AllDimensionType,\r\n Cell,\r\n ColumnRegular,\r\n DimensionCols,\r\n DimensionRows,\r\n HeaderProperties,\r\n RangeArea,\r\n SlotType,\r\n ViewportColumn,\r\n ViewportData,\r\n ViewportProperties,\r\n ViewportProps,\r\n ViewPortResizeEvent,\r\n ViewportState,\r\n ViewSettingSizeProp,\r\n} from '@type';\r\nimport { Observable } from '../../utils';\r\n\r\nexport type ResizeDetails = { [index: number]: ColumnRegular };\r\ntype Config = {\r\n columnProvider: ColumnDataProvider;\r\n dataProvider: DataProvider;\r\n dimensionProvider: DimensionProvider;\r\n viewportProvider: ViewportProvider;\r\n scrollingService: GridScrollingService;\r\n orderService: OrdererService;\r\n selectionStoreConnector: SelectionStoreConnector;\r\n\r\n disableVirtualX?: boolean;\r\n disableVirtualY?: boolean;\r\n\r\n resize(r: ResizeDetails): void;\r\n};\r\n\r\nexport type FocusedData = {\r\n model: any;\r\n cell: Cell;\r\n colType: DimensionCols;\r\n rowType: DimensionRows;\r\n column?: ColumnRegular;\r\n};\r\n\r\n/** Collect Column data */\r\nfunction gatherColumnData(data: ViewportColumn) {\r\n const colDimension = data.dimensions[data.colType].store;\r\n const realWidth = colDimension.get('realSize');\r\n\r\n const prop: ViewportProperties = {\r\n contentWidth: realWidth,\r\n class: data.colType,\r\n contentHeight: data.contentHeight,\r\n key: data.colType,\r\n colType: data.colType,\r\n onResizeviewport: data.onResizeviewport,\r\n // set viewport size to real size\r\n style: data.fixWidth ? { minWidth: `${realWidth}px` } : undefined,\r\n };\r\n\r\n const headerProp: HeaderProperties = {\r\n colData: getVisibleSourceItem(data.colStore),\r\n dimensionCol: colDimension,\r\n type: data.colType,\r\n groups: data.colStore.get('groups'),\r\n groupingDepth: data.colStore.get('groupingDepth'),\r\n resizeHandler: data.colType === 'colPinEnd' ? ['l'] : undefined,\r\n onHeaderresize: data.onHeaderresize,\r\n };\r\n\r\n return {\r\n prop,\r\n type: data.colType,\r\n position: data.position,\r\n headerProp,\r\n viewportCol: data.viewports[data.colType].store,\r\n };\r\n}\r\n\r\nexport default class ViewportService {\r\n readonly columns: ViewportProps[];\r\n constructor(\r\n private config: Config,\r\n contentHeight: number,\r\n ) {\r\n this.config.selectionStoreConnector?.beforeUpdate();\r\n\r\n // ----------- Handle columns ----------- //\r\n\r\n // Transform data from stores and apply it to different components\r\n const columns: ViewportProps[] = [];\r\n let x = 0; // we increase x only if column present\r\n columnTypes.forEach(val => {\r\n const colStore = config.columnProvider.stores[val].store;\r\n // only columns that have data show\r\n if (!colStore.get('items').length) {\r\n return;\r\n }\r\n const column: ViewportColumn = {\r\n colType: val,\r\n position: { x, y: 1 },\r\n\r\n contentHeight,\r\n // only central column has dynamic width\r\n fixWidth: val !== 'rgCol',\r\n\r\n viewports: config.viewportProvider.stores,\r\n dimensions: config.dimensionProvider.stores,\r\n rowStores: config.dataProvider.stores,\r\n\r\n colStore,\r\n onHeaderresize: e => this.onColumnResize(val, e, colStore),\r\n };\r\n if (val === 'rgCol') {\r\n column.onResizeviewport = (e: CustomEvent<ViewPortResizeEvent>) => {\r\n const vpState: Partial<ViewportState> = {\r\n clientSize: e.detail.size,\r\n };\r\n\r\n // virtual size will be handled by dimension provider if disabled\r\n if ((e.detail.dimension === 'rgRow' && !config.disableVirtualY)\r\n || (e.detail.dimension === 'rgCol' && !config.disableVirtualX)) {\r\n vpState.virtualSize = e.detail.size;\r\n }\r\n config.viewportProvider?.setViewport(e.detail.dimension, vpState);\r\n };\r\n }\r\n const colData = gatherColumnData(column);\r\n const columnSelectionStore = this.registerCol(colData.position.x, val);\r\n\r\n // render per each column data collections vertically\r\n const dataPorts = this.dataViewPort(column).reduce<ViewportData[]>(\r\n (r, rgRow) => {\r\n // register selection store for Segment\r\n const segmentSelection = this.registerSegment(rgRow.position);\r\n segmentSelection.setLastCell(rgRow.lastCell);\r\n\r\n // register selection store for Row\r\n const rowSelectionStore = this.registerRow(\r\n rgRow.position.y,\r\n rgRow.type,\r\n );\r\n const rowDef: ViewportData = {\r\n colType: val,\r\n ...rgRow,\r\n rowSelectionStore,\r\n selectionStore: segmentSelection.store,\r\n ref: (e) =>\r\n config.selectionStoreConnector.registerSection(e),\r\n onSetrange: e => {\r\n segmentSelection.setRangeArea(e.detail);\r\n },\r\n onSettemprange: e => segmentSelection.setTempArea(e.detail),\r\n onFocuscell: e => {\r\n // todo: multi focus\r\n segmentSelection.clearFocus();\r\n config.selectionStoreConnector.focus(segmentSelection, e.detail);\r\n },\r\n };\r\n r.push(rowDef);\r\n return r;\r\n },\r\n [],\r\n );\r\n columns.push({\r\n ...colData,\r\n columnSelectionStore,\r\n dataPorts,\r\n });\r\n x++;\r\n });\r\n this.columns = columns;\r\n // ----------- Handle columns end ----------- //\r\n\r\n this.config.scrollingService?.unregister();\r\n }\r\n\r\n private onColumnResize(\r\n type: DimensionCols,\r\n { detail }: CustomEvent<ViewSettingSizeProp>,\r\n store: Observable<DSourceState<ColumnRegular, DimensionCols>>,\r\n ) {\r\n // apply to dimension provider\r\n this.config.dimensionProvider?.setCustomSizes(type, detail, true);\r\n\r\n // set resize event\r\n const changedItems: ResizeDetails = {};\r\n for (const [i, size] of Object.entries(detail || {})) {\r\n const virtualIndex = parseInt(i, 10);\r\n const item = getSourceItem(store, virtualIndex);\r\n if (item) {\r\n changedItems[virtualIndex] = { ...item, size };\r\n }\r\n }\r\n this.config.resize(changedItems);\r\n }\r\n\r\n /** register selection store for Segment */\r\n private registerSegment(position: Cell) {\r\n return this.config.selectionStoreConnector.register(position);\r\n }\r\n\r\n /** register selection store for Row */\r\n private registerRow(y: number, type: DimensionRows) {\r\n return this.config.selectionStoreConnector.registerRow(y, type).store;\r\n }\r\n\r\n /** register selection store for Column */\r\n private registerCol(x: number, type: DimensionCols) {\r\n return this.config.selectionStoreConnector.registerColumn(x, type).store;\r\n }\r\n\r\n /** Collect Row data */\r\n private dataViewPort(data: ViewportColumn) {\r\n const slots: { [key in DimensionRows]: SlotType } = {\r\n rowPinStart: HEADER_SLOT,\r\n rgRow: CONTENT_SLOT,\r\n rowPinEnd: FOOTER_SLOT,\r\n };\r\n\r\n // y position for selection\r\n let y = 0;\r\n return rowTypes.reduce((result: VPPartition[], type) => {\r\n // filter out empty sources, we still need to return source to keep slot working\r\n const isPresent =\r\n data.viewports[type].store.get('realCount') || type === 'rgRow';\r\n const rgCol = {\r\n ...data,\r\n position: { ...data.position, y: isPresent ? y : EMPTY_INDEX },\r\n };\r\n const partition = viewportDataPartition(\r\n rgCol,\r\n type,\r\n slots[type],\r\n type !== 'rgRow', // is fixed row\r\n );\r\n result.push(partition);\r\n if (isPresent) {\r\n y++;\r\n }\r\n return result;\r\n }, []);\r\n }\r\n\r\n scrollToCell(cell: Partial<Cell>) {\r\n for (let key in cell) {\r\n const coordinate = cell[key as keyof Cell];\r\n if (typeof coordinate === 'number') {\r\n this.config.scrollingService.proxyScroll({\r\n dimension: key === 'x' ? 'rgCol' : 'rgRow',\r\n coordinate,\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Clear current grid focus\r\n */\r\n clearFocused() {\r\n this.config.selectionStoreConnector.clearAll();\r\n }\r\n\r\n clearEdit() {\r\n this.config.selectionStoreConnector.setEdit(false);\r\n }\r\n\r\n /**\r\n * Collect focused element data\r\n */\r\n getFocused(): FocusedData | null {\r\n const focused = this.config.selectionStoreConnector.focusedStore;\r\n if (!focused) {\r\n return null;\r\n }\r\n // get column data\r\n const colType =\r\n this.config.selectionStoreConnector.storesXToType[focused.position.x];\r\n const column = this.config.columnProvider.getColumn(\r\n focused.cell.x,\r\n colType,\r\n );\r\n\r\n // get row data\r\n const rowType =\r\n this.config.selectionStoreConnector.storesYToType[focused.position.y];\r\n const model = this.config.dataProvider.getModel(focused.cell.y, rowType);\r\n return {\r\n column,\r\n model,\r\n cell: focused.cell,\r\n colType,\r\n rowType,\r\n };\r\n }\r\n\r\n getStoreCoordinateByType(colType: DimensionCols, rowType: DimensionRows): Cell | undefined {\r\n const stores = this.config.selectionStoreConnector.storesByType;\r\n if (typeof stores[colType] === 'undefined' || typeof stores[rowType] === 'undefined') {\r\n return;\r\n }\r\n return {\r\n x: stores[colType],\r\n y: stores[rowType],\r\n };\r\n }\r\n\r\n setFocus(colType: string, rowType: string, start: Cell, end: Cell) {\r\n const coordinate = this.getStoreCoordinateByType(colType as DimensionCols, rowType as DimensionRows);\r\n if (coordinate) {\r\n this.config.selectionStoreConnector?.focusByCell(\r\n coordinate,\r\n start,\r\n end,\r\n );\r\n }\r\n }\r\n\r\n getSelectedRange(): RangeArea & AllDimensionType | null | undefined {\r\n\r\n const focused = this.config.selectionStoreConnector.focusedStore;\r\n if (!focused) {\r\n return null;\r\n }\r\n // get column data\r\n const colType =\r\n this.config.selectionStoreConnector.storesXToType[focused.position.x];\r\n\r\n // get row data\r\n const rowType =\r\n this.config.selectionStoreConnector.storesYToType[focused.position.y];\r\n\r\n const range = focused.entity.store.get('range');\r\n if (!range) {\r\n return null;\r\n }\r\n return {\r\n ...range,\r\n colType,\r\n rowType,\r\n }\r\n }\r\n\r\n setEdit(\r\n rowIndex: number,\r\n colIndex: number,\r\n colType: DimensionCols,\r\n rowType: DimensionRows,\r\n ) {\r\n const coordinate = this.getStoreCoordinateByType(colType as DimensionCols, rowType as DimensionRows);\r\n if (coordinate) {\r\n this.config.selectionStoreConnector?.setEditByCell(\r\n coordinate,\r\n { x: colIndex, y: rowIndex },\r\n );\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by LevelSkill.Pro
|
|
3
|
+
*/
|
|
4
|
+
import { h, Host } from "@stencil/core";
|
|
5
|
+
import { ViewportStore, DataStore } from "../../store/index";
|
|
6
|
+
import { ROW_HEADER_TYPE } from "../../utils/consts";
|
|
7
|
+
import { RowHeaderRender } from "./row-header-render";
|
|
8
|
+
import { calculateRowHeaderSize } from "../../utils/row-header-utils";
|
|
9
|
+
import { HEADER_SLOT } from "../revoGrid/viewport.helpers";
|
|
10
|
+
/**
|
|
11
|
+
* Row headers component
|
|
12
|
+
* Visible on the left side of the table
|
|
13
|
+
*/
|
|
14
|
+
export class RevogrRowHeaders {
|
|
15
|
+
constructor() {
|
|
16
|
+
/**
|
|
17
|
+
* Prevent rendering until job is done.
|
|
18
|
+
* Can be used for initial rendering performance improvement.
|
|
19
|
+
* When several plugins require initial rendering this will prevent double initial rendering.
|
|
20
|
+
*/
|
|
21
|
+
this.jobsBeforeRender = [];
|
|
22
|
+
}
|
|
23
|
+
render() {
|
|
24
|
+
const dataViews = [];
|
|
25
|
+
const viewport = new ViewportStore('colPinStart');
|
|
26
|
+
/** render viewports rows */
|
|
27
|
+
let totalLength = 1;
|
|
28
|
+
// todo: this part could be optimized to avoid to often re-render dataPorts can be cached
|
|
29
|
+
for (let data of this.dataPorts) {
|
|
30
|
+
const itemCount = data.dataStore.get('items').length;
|
|
31
|
+
// initiate row data
|
|
32
|
+
const dataStore = new DataStore(data.type, Object.assign({}, data.dataStore.state));
|
|
33
|
+
// initiate column data
|
|
34
|
+
const colData = new DataStore('colPinStart');
|
|
35
|
+
const column = Object.assign({ cellTemplate: RowHeaderRender(totalLength) }, this.rowHeaderColumn);
|
|
36
|
+
colData.updateData([column]);
|
|
37
|
+
dataViews.push(h("revogr-data", Object.assign({}, data, { colType: "rowHeaders", jobsBeforeRender: this.jobsBeforeRender, rowClass: this.rowClass, dataStore: dataStore.store, colData: colData.store, viewportCol: viewport.store, readonly: true, range: false })));
|
|
38
|
+
totalLength += itemCount;
|
|
39
|
+
}
|
|
40
|
+
const colSize = calculateRowHeaderSize(totalLength, this.rowHeaderColumn);
|
|
41
|
+
viewport.setViewport({
|
|
42
|
+
realCount: 1,
|
|
43
|
+
virtualSize: 0,
|
|
44
|
+
items: [
|
|
45
|
+
{
|
|
46
|
+
size: colSize,
|
|
47
|
+
start: 0,
|
|
48
|
+
end: colSize,
|
|
49
|
+
itemIndex: 0,
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
});
|
|
53
|
+
const viewportScroll = {
|
|
54
|
+
contentHeight: this.height,
|
|
55
|
+
contentWidth: 0,
|
|
56
|
+
style: { minWidth: `${colSize}px` },
|
|
57
|
+
colType: 'rowHeaders',
|
|
58
|
+
ref: (el) => this.elementToScroll.emit(el),
|
|
59
|
+
onScrollviewport: (e) => this.scrollViewport.emit(e.detail),
|
|
60
|
+
};
|
|
61
|
+
const viewportHeader = Object.assign(Object.assign({}, this.headerProp), {
|
|
62
|
+
// groups not present on row headers
|
|
63
|
+
groups: [], colData: typeof this.rowHeaderColumn === 'object' ? [this.rowHeaderColumn] : [], viewportCol: viewport.store, canResize: false, type: ROW_HEADER_TYPE,
|
|
64
|
+
// parent,
|
|
65
|
+
slot: HEADER_SLOT
|
|
66
|
+
});
|
|
67
|
+
return (h(Host, { class: { [ROW_HEADER_TYPE]: true }, key: ROW_HEADER_TYPE }, h("revogr-viewport-scroll", Object.assign({ key: '28984c9e3e4e84afc0acf66093f4f4f8b5846098' }, viewportScroll, { "row-header": true }), h("revogr-header", Object.assign({ key: 'c80b058075fdb384039a58827c2c498acdbe1cdf' }, viewportHeader)), dataViews)));
|
|
68
|
+
}
|
|
69
|
+
static get is() { return "revogr-row-headers"; }
|
|
70
|
+
static get properties() {
|
|
71
|
+
return {
|
|
72
|
+
"height": {
|
|
73
|
+
"type": "number",
|
|
74
|
+
"attribute": "height",
|
|
75
|
+
"mutable": false,
|
|
76
|
+
"complexType": {
|
|
77
|
+
"original": "number",
|
|
78
|
+
"resolved": "number",
|
|
79
|
+
"references": {}
|
|
80
|
+
},
|
|
81
|
+
"required": false,
|
|
82
|
+
"optional": false,
|
|
83
|
+
"docs": {
|
|
84
|
+
"tags": [],
|
|
85
|
+
"text": "Header height to setup row headers"
|
|
86
|
+
},
|
|
87
|
+
"getter": false,
|
|
88
|
+
"setter": false,
|
|
89
|
+
"reflect": false
|
|
90
|
+
},
|
|
91
|
+
"dataPorts": {
|
|
92
|
+
"type": "unknown",
|
|
93
|
+
"attribute": "data-ports",
|
|
94
|
+
"mutable": false,
|
|
95
|
+
"complexType": {
|
|
96
|
+
"original": "ViewportData[]",
|
|
97
|
+
"resolved": "ViewportData[]",
|
|
98
|
+
"references": {
|
|
99
|
+
"ViewportData": {
|
|
100
|
+
"location": "import",
|
|
101
|
+
"path": "@type",
|
|
102
|
+
"id": "src/types/index.ts::ViewportData"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"required": false,
|
|
107
|
+
"optional": false,
|
|
108
|
+
"docs": {
|
|
109
|
+
"tags": [],
|
|
110
|
+
"text": "Viewport data"
|
|
111
|
+
},
|
|
112
|
+
"getter": false,
|
|
113
|
+
"setter": false
|
|
114
|
+
},
|
|
115
|
+
"headerProp": {
|
|
116
|
+
"type": "unknown",
|
|
117
|
+
"attribute": "header-prop",
|
|
118
|
+
"mutable": false,
|
|
119
|
+
"complexType": {
|
|
120
|
+
"original": "Record<string, any>",
|
|
121
|
+
"resolved": "{ [x: string]: any; }",
|
|
122
|
+
"references": {
|
|
123
|
+
"Record": {
|
|
124
|
+
"location": "global",
|
|
125
|
+
"id": "global::Record"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"required": false,
|
|
130
|
+
"optional": false,
|
|
131
|
+
"docs": {
|
|
132
|
+
"tags": [],
|
|
133
|
+
"text": "Header props"
|
|
134
|
+
},
|
|
135
|
+
"getter": false,
|
|
136
|
+
"setter": false
|
|
137
|
+
},
|
|
138
|
+
"rowClass": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"attribute": "row-class",
|
|
141
|
+
"mutable": false,
|
|
142
|
+
"complexType": {
|
|
143
|
+
"original": "string",
|
|
144
|
+
"resolved": "string",
|
|
145
|
+
"references": {}
|
|
146
|
+
},
|
|
147
|
+
"required": false,
|
|
148
|
+
"optional": false,
|
|
149
|
+
"docs": {
|
|
150
|
+
"tags": [],
|
|
151
|
+
"text": "Row class"
|
|
152
|
+
},
|
|
153
|
+
"getter": false,
|
|
154
|
+
"setter": false,
|
|
155
|
+
"reflect": false
|
|
156
|
+
},
|
|
157
|
+
"resize": {
|
|
158
|
+
"type": "boolean",
|
|
159
|
+
"attribute": "resize",
|
|
160
|
+
"mutable": false,
|
|
161
|
+
"complexType": {
|
|
162
|
+
"original": "boolean",
|
|
163
|
+
"resolved": "boolean",
|
|
164
|
+
"references": {}
|
|
165
|
+
},
|
|
166
|
+
"required": false,
|
|
167
|
+
"optional": false,
|
|
168
|
+
"docs": {
|
|
169
|
+
"tags": [],
|
|
170
|
+
"text": "Enable resize"
|
|
171
|
+
},
|
|
172
|
+
"getter": false,
|
|
173
|
+
"setter": false,
|
|
174
|
+
"reflect": false
|
|
175
|
+
},
|
|
176
|
+
"rowHeaderColumn": {
|
|
177
|
+
"type": "unknown",
|
|
178
|
+
"attribute": "row-header-column",
|
|
179
|
+
"mutable": false,
|
|
180
|
+
"complexType": {
|
|
181
|
+
"original": "RowHeaders",
|
|
182
|
+
"resolved": "RowHeaders",
|
|
183
|
+
"references": {
|
|
184
|
+
"RowHeaders": {
|
|
185
|
+
"location": "import",
|
|
186
|
+
"path": "@type",
|
|
187
|
+
"id": "src/types/index.ts::RowHeaders"
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"required": false,
|
|
192
|
+
"optional": false,
|
|
193
|
+
"docs": {
|
|
194
|
+
"tags": [],
|
|
195
|
+
"text": "Row header column"
|
|
196
|
+
},
|
|
197
|
+
"getter": false,
|
|
198
|
+
"setter": false
|
|
199
|
+
},
|
|
200
|
+
"additionalData": {
|
|
201
|
+
"type": "any",
|
|
202
|
+
"attribute": "additional-data",
|
|
203
|
+
"mutable": false,
|
|
204
|
+
"complexType": {
|
|
205
|
+
"original": "any",
|
|
206
|
+
"resolved": "any",
|
|
207
|
+
"references": {}
|
|
208
|
+
},
|
|
209
|
+
"required": false,
|
|
210
|
+
"optional": false,
|
|
211
|
+
"docs": {
|
|
212
|
+
"tags": [],
|
|
213
|
+
"text": "Additional data to pass to renderer"
|
|
214
|
+
},
|
|
215
|
+
"getter": false,
|
|
216
|
+
"setter": false,
|
|
217
|
+
"reflect": false
|
|
218
|
+
},
|
|
219
|
+
"jobsBeforeRender": {
|
|
220
|
+
"type": "unknown",
|
|
221
|
+
"attribute": "jobs-before-render",
|
|
222
|
+
"mutable": false,
|
|
223
|
+
"complexType": {
|
|
224
|
+
"original": "Promise<any>[]",
|
|
225
|
+
"resolved": "Promise<any>[]",
|
|
226
|
+
"references": {
|
|
227
|
+
"Promise": {
|
|
228
|
+
"location": "global",
|
|
229
|
+
"id": "global::Promise"
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
"required": false,
|
|
234
|
+
"optional": false,
|
|
235
|
+
"docs": {
|
|
236
|
+
"tags": [],
|
|
237
|
+
"text": "Prevent rendering until job is done.\r\nCan be used for initial rendering performance improvement.\r\nWhen several plugins require initial rendering this will prevent double initial rendering."
|
|
238
|
+
},
|
|
239
|
+
"getter": false,
|
|
240
|
+
"setter": false,
|
|
241
|
+
"defaultValue": "[]"
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
static get events() {
|
|
246
|
+
return [{
|
|
247
|
+
"method": "scrollViewport",
|
|
248
|
+
"name": "scrollview",
|
|
249
|
+
"bubbles": false,
|
|
250
|
+
"cancelable": true,
|
|
251
|
+
"composed": true,
|
|
252
|
+
"docs": {
|
|
253
|
+
"tags": [],
|
|
254
|
+
"text": "Scroll viewport"
|
|
255
|
+
},
|
|
256
|
+
"complexType": {
|
|
257
|
+
"original": "ViewPortScrollEvent",
|
|
258
|
+
"resolved": "{ dimension: DimensionType; coordinate: number; viewportRows?: VirtualPositionItem[] | undefined; delta?: number | undefined; outside?: boolean | undefined; }",
|
|
259
|
+
"references": {
|
|
260
|
+
"ViewPortScrollEvent": {
|
|
261
|
+
"location": "import",
|
|
262
|
+
"path": "@type",
|
|
263
|
+
"id": "src/types/index.ts::ViewPortScrollEvent"
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}, {
|
|
268
|
+
"method": "elementToScroll",
|
|
269
|
+
"name": "ref",
|
|
270
|
+
"bubbles": false,
|
|
271
|
+
"cancelable": true,
|
|
272
|
+
"composed": true,
|
|
273
|
+
"docs": {
|
|
274
|
+
"tags": [],
|
|
275
|
+
"text": "Register element to scroll"
|
|
276
|
+
},
|
|
277
|
+
"complexType": {
|
|
278
|
+
"original": "ElementScroll",
|
|
279
|
+
"resolved": "ElementScroll",
|
|
280
|
+
"references": {
|
|
281
|
+
"ElementScroll": {
|
|
282
|
+
"location": "import",
|
|
283
|
+
"path": "@type",
|
|
284
|
+
"id": "src/types/index.ts::ElementScroll"
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}];
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
//# sourceMappingURL=revogr-row-headers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revogr-row-headers.js","sourceRoot":"","sources":["../../../src/components/rowHeaders/revogr-row-headers.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h, Host, Component, Prop, Event, EventEmitter } from '@stencil/core';\r\nimport type { JSXBase } from '@stencil/core/internal';\r\n\r\nimport { ViewportStore, DataStore } from '@store';\r\nimport type {\r\n RowHeaders,\r\n ViewPortScrollEvent,\r\n DataType,\r\n ColumnRegular,\r\n ViewportData,\r\n ElementScroll,\r\n DimensionRows,\r\n DimensionCols,\r\n} from '@type';\r\n\r\nimport { ROW_HEADER_TYPE } from '../../utils/consts';\r\nimport { RowHeaderRender } from './row-header-render';\r\nimport { calculateRowHeaderSize } from '../../utils/row-header-utils';\r\nimport { HEADER_SLOT } from '../revoGrid/viewport.helpers';\r\nimport { type JSX } from '../../components';\r\n\r\n/**\r\n * Row headers component\r\n * Visible on the left side of the table\r\n */\r\n\r\n@Component({ tag: 'revogr-row-headers' })\r\nexport class RevogrRowHeaders {\r\n // #region Properties\r\n /**\r\n * Header height to setup row headers\r\n */\r\n @Prop() height: number;\r\n\r\n /**\r\n * Viewport data\r\n */\r\n @Prop() dataPorts: ViewportData[];\r\n /**\r\n * Header props\r\n */\r\n @Prop() headerProp: Record<string, any>;\r\n\r\n /**\r\n * Row class\r\n */\r\n @Prop() rowClass: string;\r\n\r\n /**\r\n * Enable resize\r\n */\r\n @Prop() resize: boolean;\r\n /**\r\n * Row header column\r\n */\r\n @Prop() rowHeaderColumn: RowHeaders;\r\n /**\r\n * Additional data to pass to renderer\r\n */\r\n @Prop() additionalData: any;\r\n /**\r\n * Prevent rendering until job is done.\r\n * Can be used for initial rendering performance improvement.\r\n * When several plugins require initial rendering this will prevent double initial rendering.\r\n */\r\n @Prop() jobsBeforeRender: Promise<any>[] = [];\r\n // #endregion\r\n\r\n /**\r\n * Scroll viewport\r\n */\r\n @Event({ eventName: 'scrollview', bubbles: false })\r\n scrollViewport: EventEmitter<ViewPortScrollEvent>;\r\n /**\r\n * Register element to scroll\r\n */\r\n @Event({ eventName: 'ref', bubbles: false })\r\n elementToScroll: EventEmitter<ElementScroll>;\r\n\r\n render() {\r\n const dataViews: HTMLElement[] = [];\r\n const viewport = new ViewportStore('colPinStart');\r\n\r\n /** render viewports rows */\r\n let totalLength = 1;\r\n // todo: this part could be optimized to avoid to often re-render dataPorts can be cached\r\n for (let data of this.dataPorts) {\r\n const itemCount = data.dataStore.get('items').length;\r\n\r\n // initiate row data\r\n const dataStore = new DataStore<DataType, DimensionRows>(data.type, {\r\n ...data.dataStore.state,\r\n });\r\n\r\n // initiate column data\r\n const colData = new DataStore<ColumnRegular, DimensionCols>(\r\n 'colPinStart',\r\n );\r\n const column: ColumnRegular = {\r\n cellTemplate: RowHeaderRender(totalLength),\r\n ...this.rowHeaderColumn,\r\n };\r\n colData.updateData([column]);\r\n dataViews.push(\r\n <revogr-data\r\n {...data}\r\n colType=\"rowHeaders\"\r\n jobsBeforeRender={this.jobsBeforeRender}\r\n rowClass={this.rowClass}\r\n dataStore={dataStore.store}\r\n colData={colData.store}\r\n viewportCol={viewport.store}\r\n readonly={true}\r\n range={false}\r\n />,\r\n );\r\n totalLength += itemCount;\r\n }\r\n\r\n const colSize = calculateRowHeaderSize(totalLength, this.rowHeaderColumn);\r\n viewport.setViewport({\r\n realCount: 1,\r\n virtualSize: 0,\r\n items: [\r\n {\r\n size: colSize,\r\n start: 0,\r\n end: colSize,\r\n itemIndex: 0,\r\n },\r\n ],\r\n });\r\n\r\n const viewportScroll: JSX.RevogrViewportScroll &\r\n JSXBase.HTMLAttributes<HTMLRevogrViewportScrollElement> = {\r\n contentHeight: this.height,\r\n contentWidth: 0,\r\n style: { minWidth: `${colSize}px` },\r\n colType: 'rowHeaders',\r\n ref: (el) => this.elementToScroll.emit(el),\r\n onScrollviewport: (e: CustomEvent) => this.scrollViewport.emit(e.detail),\r\n };\r\n const viewportHeader: JSX.RevogrHeader & { slot: string } = {\r\n ...this.headerProp,\r\n // groups not present on row headers\r\n groups: [],\r\n colData:\r\n typeof this.rowHeaderColumn === 'object' ? [this.rowHeaderColumn] : [],\r\n viewportCol: viewport.store,\r\n canResize: false,\r\n type: ROW_HEADER_TYPE,\r\n // parent,\r\n slot: HEADER_SLOT,\r\n };\r\n return (\r\n <Host class={{ [ROW_HEADER_TYPE]: true }} key={ROW_HEADER_TYPE}>\r\n <revogr-viewport-scroll {...viewportScroll} row-header={true}>\r\n <revogr-header {...viewportHeader} />\r\n {dataViews}\r\n </revogr-viewport-scroll>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row-header-render.js","sourceRoot":"","sources":["../../../src/components/rowHeaders/row-header-render.tsx"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,eAAe,GAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC","sourcesContent":["import type { VNode } from '@stencil/core';\r\nimport type { HyperFunc } from '@type';\r\n\r\ntype HeaderRender = {\r\n (start: number): (h: HyperFunc<VNode>, e: { rowIndex: number }) => number;\r\n};\r\nexport const RowHeaderRender: HeaderRender = s => (__, { rowIndex: i }) => s + i;\r\n"]}
|