balala-revogrid 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/LICENSE +21 -0
- package/dist/cjs/app-globals-D67EXhgK.js +16 -0
- package/dist/cjs/app-globals-D67EXhgK.js.map +1 -0
- package/dist/cjs/cell-renderer-B87qecTb.js +57 -0
- package/dist/cjs/cell-renderer-B87qecTb.js.map +1 -0
- package/dist/cjs/debounce-CcpHiH2p.js +498 -0
- package/dist/cjs/debounce-CcpHiH2p.js.map +1 -0
- package/dist/cjs/dimension.helpers-DA9-xqPT.js +3606 -0
- package/dist/cjs/dimension.helpers-DA9-xqPT.js.map +1 -0
- package/dist/cjs/edit.utils-CKsIiHlD.js +113 -0
- package/dist/cjs/edit.utils-CKsIiHlD.js.map +1 -0
- package/dist/cjs/events-DeLDyZlb.js +46 -0
- package/dist/cjs/events-DeLDyZlb.js.map +1 -0
- package/dist/cjs/filter.button-DSsWNs23.js +49 -0
- package/dist/cjs/filter.button-DSsWNs23.js.map +1 -0
- package/dist/cjs/grouping.row.renderer-BqR0ytMi.js +64 -0
- package/dist/cjs/grouping.row.renderer-BqR0ytMi.js.map +1 -0
- package/dist/cjs/header-cell-renderer-D-RjAVfe.js +1766 -0
- package/dist/cjs/header-cell-renderer-D-RjAVfe.js.map +1 -0
- package/dist/cjs/index-BF1c1pO3.js +2549 -0
- package/dist/cjs/index-BF1c1pO3.js.map +1 -0
- package/dist/cjs/index.cjs.js +6426 -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 +3215 -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-grouping-overlay.revogr-header-unified.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.cjs.js.map +1 -0
- package/dist/cjs/revogr-attribution_9.cjs.entry.js +2629 -0
- package/dist/cjs/revogr-attribution_9.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 +471 -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 +1420 -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-renderer-BTE7VKD9.js +49 -0
- package/dist/cjs/row-renderer-BTE7VKD9.js.map +1 -0
- package/dist/cjs/text-editor-BdhmcrkS.js +81 -0
- package/dist/cjs/text-editor-BdhmcrkS.js.map +1 -0
- package/dist/cjs/throttle-2ZxfGjEI.js +533 -0
- package/dist/cjs/throttle-2ZxfGjEI.js.map +1 -0
- package/dist/cjs/tree-data.plugin-BRjwZtxI.js +5350 -0
- package/dist/cjs/tree-data.plugin-BRjwZtxI.js.map +1 -0
- package/dist/cjs/viewport.helpers-BAovztDd.js +61 -0
- package/dist/cjs/viewport.helpers-BAovztDd.js.map +1 -0
- package/dist/cjs/viewport.store-BTbPlyF-.js +525 -0
- package/dist/cjs/viewport.store-BTbPlyF-.js.map +1 -0
- package/dist/collection/collection-manifest.json +30 -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 +411 -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 +333 -0
- package/dist/collection/components/data/column.service.js.map +1 -0
- package/dist/collection/components/data/revogr-data-style.css +95 -0
- package/dist/collection/components/data/revogr-data.js +939 -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 +37 -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/grouping-overlay/revogr-grouping-overlay.css +62 -0
- package/dist/collection/components/grouping-overlay/revogr-grouping-overlay.js +644 -0
- package/dist/collection/components/grouping-overlay/revogr-grouping-overlay.js.map +1 -0
- package/dist/collection/components/header/header-cell-renderer.js +49 -0
- package/dist/collection/components/header/header-cell-renderer.js.map +1 -0
- package/dist/collection/components/header/header-group-renderer.js +29 -0
- package/dist/collection/components/header/header-group-renderer.js.map +1 -0
- package/dist/collection/components/header/header-renderer.js +100 -0
- package/dist/collection/components/header/header-renderer.js.map +1 -0
- package/dist/collection/components/header/resizable.directive.js +274 -0
- package/dist/collection/components/header/resizable.directive.js.map +1 -0
- package/dist/collection/components/header/resizable.element.js +36 -0
- package/dist/collection/components/header/resizable.element.js.map +1 -0
- package/dist/collection/components/header/revogr-header-style.css +164 -0
- package/dist/collection/components/header/revogr-header-unified-style.css +205 -0
- package/dist/collection/components/header/revogr-header-unified.js +1013 -0
- package/dist/collection/components/header/revogr-header-unified.js.map +1 -0
- package/dist/collection/components/header/revogr-header.js +852 -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 +221 -0
- package/dist/collection/components/overlay/autofill.service.js.map +1 -0
- package/dist/collection/components/overlay/keyboard.service.js +178 -0
- package/dist/collection/components/overlay/keyboard.service.js.map +1 -0
- package/dist/collection/components/overlay/revogr-overlay-selection.js +1606 -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 +897 -0
- package/dist/collection/components/revoGrid/revo-grid.js +4717 -0
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -0
- package/dist/collection/components/revoGrid/viewport.helpers.js +51 -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 +139 -0
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -0
- package/dist/collection/components/revoGrid/viewport.service.js +253 -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 +70 -0
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +938 -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 +346 -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 +429 -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-hide.plugin.js +532 -0
- package/dist/collection/plugins/column-hide.plugin.js.map +1 -0
- package/dist/collection/plugins/column-manage.plugin.js +1218 -0
- package/dist/collection/plugins/column-manage.plugin.js.map +1 -0
- package/dist/collection/plugins/column-stretch.plugin.js +921 -0
- package/dist/collection/plugins/column-stretch.plugin.js.map +1 -0
- package/dist/collection/plugins/column.auto-size.plugin.js +308 -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/customColumnDrag/column-move.helper.js +361 -0
- package/dist/collection/plugins/customColumnDrag/column-move.helper.js.map +1 -0
- package/dist/collection/plugins/customColumnDrag/custom-column-drag.plugin.js +145 -0
- package/dist/collection/plugins/customColumnDrag/custom-column-drag.plugin.js.map +1 -0
- package/dist/collection/plugins/customColumnDrag/drag.handler.js +726 -0
- package/dist/collection/plugins/customColumnDrag/drag.handler.js.map +1 -0
- package/dist/collection/plugins/customColumnDrag/example.js +282 -0
- package/dist/collection/plugins/customColumnDrag/example.js.map +1 -0
- package/dist/collection/plugins/customColumnDrag/index.js +8 -0
- package/dist/collection/plugins/customColumnDrag/index.js.map +1 -0
- package/dist/collection/plugins/customColumnDrag/types.js +2 -0
- package/dist/collection/plugins/customColumnDrag/types.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/enhanced-scrollbar.plugin.js +493 -0
- package/dist/collection/plugins/enhanced-scrollbar.plugin.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/grid-setup.js +131 -0
- package/dist/collection/plugins/grid-setup.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.const.js +18 -0
- package/dist/collection/plugins/groupingRow/grouping.const.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js +122 -0
- package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +252 -0
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +49 -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 +215 -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 +26 -0
- package/dist/collection/plugins/index.js.map +1 -0
- package/dist/collection/plugins/manual-focus.plugin.js +353 -0
- package/dist/collection/plugins/manual-focus.plugin.js.map +1 -0
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js +171 -0
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -0
- package/dist/collection/plugins/moveColumn/order-column.handler.js +69 -0
- package/dist/collection/plugins/moveColumn/order-column.handler.js.map +1 -0
- package/dist/collection/plugins/pin-shadow.plugin.js +487 -0
- package/dist/collection/plugins/pin-shadow.plugin.js.map +1 -0
- package/dist/collection/plugins/resize-indicator.plugin.js +430 -0
- package/dist/collection/plugins/resize-indicator.plugin.js.map +1 -0
- package/dist/collection/plugins/row-select-plugin-2026228.js +1803 -0
- package/dist/collection/plugins/row-select-plugin-2026228.js.map +1 -0
- package/dist/collection/plugins/row-select.plugin.js +2096 -0
- package/dist/collection/plugins/row-select.plugin.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/tree-data.plugin.js +447 -0
- package/dist/collection/plugins/tree-data.plugin.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/serve/realData.js +4148 -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 +122 -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 +257 -0
- package/dist/collection/services/dimension.provider.js.map +1 -0
- package/dist/collection/services/local.scroll.service.js +136 -0
- package/dist/collection/services/local.scroll.service.js.map +1 -0
- package/dist/collection/services/local.scroll.timer.js +84 -0
- package/dist/collection/services/local.scroll.timer.js.map +1 -0
- package/dist/collection/services/selection.store.connector.js +274 -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 +146 -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 +29 -0
- package/dist/collection/store/dimension/dimension.recalculate.plugin.js.map +1 -0
- package/dist/collection/store/dimension/dimension.store.js +124 -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 +49 -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 +256 -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 +124 -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 +6 -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/batchGroupCollapse.js +190 -0
- package/dist/collection/utils/batchGroupCollapse.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/cell-template-helper.js +181 -0
- package/dist/collection/utils/cell-template-helper.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 +448 -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 +133 -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 +86 -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-C3ZHKjnB.js +14 -0
- package/dist/esm/app-globals-C3ZHKjnB.js.map +1 -0
- package/dist/esm/cell-renderer-C2Td6LKY.js +54 -0
- package/dist/esm/cell-renderer-C2Td6LKY.js.map +1 -0
- package/dist/esm/debounce-BfO9dz9v.js +488 -0
- package/dist/esm/debounce-BfO9dz9v.js.map +1 -0
- package/dist/esm/dimension.helpers-DDil7Dg0.js +3546 -0
- package/dist/esm/dimension.helpers-DDil7Dg0.js.map +1 -0
- package/dist/esm/edit.utils-ClxXX_x9.js +99 -0
- package/dist/esm/edit.utils-ClxXX_x9.js.map +1 -0
- package/dist/esm/events-BvSmBueA.js +43 -0
- package/dist/esm/events-BvSmBueA.js.map +1 -0
- package/dist/esm/filter.button-DmOE7VCJ.js +39 -0
- package/dist/esm/filter.button-DmOE7VCJ.js.map +1 -0
- package/dist/esm/grouping.row.renderer-6NYszUJA.js +60 -0
- package/dist/esm/grouping.row.renderer-6NYszUJA.js.map +1 -0
- package/dist/esm/header-cell-renderer-BVHTuFGE.js +1715 -0
- package/dist/esm/header-cell-renderer-BVHTuFGE.js.map +1 -0
- package/dist/esm/index-Dyptvvxf.js +2519 -0
- package/dist/esm/index-Dyptvvxf.js.map +1 -0
- package/dist/esm/index.js +6232 -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 +3213 -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-grouping-overlay.revogr-header-unified.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.js.map +1 -0
- package/dist/esm/revogr-attribution_9.entry.js +2619 -0
- package/dist/esm/revogr-attribution_9.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 +467 -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 +1415 -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-renderer-sb6QTqH-.js +46 -0
- package/dist/esm/row-renderer-sb6QTqH-.js.map +1 -0
- package/dist/esm/text-editor-CxXqoicM.js +79 -0
- package/dist/esm/text-editor-CxXqoicM.js.map +1 -0
- package/dist/esm/throttle-DXYrmEeb.js +525 -0
- package/dist/esm/throttle-DXYrmEeb.js.map +1 -0
- package/dist/esm/tree-data.plugin-C2eXkf9_.js +5319 -0
- package/dist/esm/tree-data.plugin-C2eXkf9_.js.map +1 -0
- package/dist/esm/viewport.helpers-VXhsJZtn.js +55 -0
- package/dist/esm/viewport.helpers-VXhsJZtn.js.map +1 -0
- package/dist/esm/viewport.store-C-GnV31k.js +512 -0
- package/dist/esm/viewport.store-C-GnV31k.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/revo-grid/app-globals-C3ZHKjnB.js +14 -0
- package/dist/revo-grid/app-globals-C3ZHKjnB.js.map +1 -0
- package/dist/revo-grid/cell-renderer-C2Td6LKY.js +54 -0
- package/dist/revo-grid/cell-renderer-C2Td6LKY.js.map +1 -0
- package/dist/revo-grid/debounce-BfO9dz9v.js +488 -0
- package/dist/revo-grid/debounce-BfO9dz9v.js.map +1 -0
- package/dist/revo-grid/dimension.helpers-DDil7Dg0.js +3546 -0
- package/dist/revo-grid/dimension.helpers-DDil7Dg0.js.map +1 -0
- package/dist/revo-grid/edit.utils-ClxXX_x9.js +99 -0
- package/dist/revo-grid/edit.utils-ClxXX_x9.js.map +1 -0
- package/dist/revo-grid/events-BvSmBueA.js +43 -0
- package/dist/revo-grid/events-BvSmBueA.js.map +1 -0
- package/dist/revo-grid/filter.button-DmOE7VCJ.js +39 -0
- package/dist/revo-grid/filter.button-DmOE7VCJ.js.map +1 -0
- package/dist/revo-grid/grouping.row.renderer-6NYszUJA.js +60 -0
- package/dist/revo-grid/grouping.row.renderer-6NYszUJA.js.map +1 -0
- package/dist/revo-grid/header-cell-renderer-BVHTuFGE.js +1715 -0
- package/dist/revo-grid/header-cell-renderer-BVHTuFGE.js.map +1 -0
- package/dist/revo-grid/index-Dyptvvxf.js +2490 -0
- package/dist/revo-grid/index-Dyptvvxf.js.map +1 -0
- package/dist/revo-grid/index.esm.js +6232 -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 +3213 -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-grouping-overlay.revogr-header-unified.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.esm.js.map +1 -0
- package/dist/revo-grid/revogr-attribution_9.entry.js +2619 -0
- package/dist/revo-grid/revogr-attribution_9.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 +467 -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 +1415 -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-renderer-sb6QTqH-.js +46 -0
- package/dist/revo-grid/row-renderer-sb6QTqH-.js.map +1 -0
- package/dist/revo-grid/text-editor-CxXqoicM.js +79 -0
- package/dist/revo-grid/text-editor-CxXqoicM.js.map +1 -0
- package/dist/revo-grid/throttle-DXYrmEeb.js +525 -0
- package/dist/revo-grid/throttle-DXYrmEeb.js.map +1 -0
- package/dist/revo-grid/tree-data.plugin-C2eXkf9_.js +5319 -0
- package/dist/revo-grid/tree-data.plugin-C2eXkf9_.js.map +1 -0
- package/dist/revo-grid/viewport.helpers-VXhsJZtn.js +55 -0
- package/dist/revo-grid/viewport.helpers-VXhsJZtn.js.map +1 -0
- package/dist/revo-grid/viewport.store-C-GnV31k.js +512 -0
- package/dist/revo-grid/viewport.store-C-GnV31k.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 +65 -0
- package/dist/types/components/data/revogr-data.d.ts +132 -0
- package/dist/types/components/data/row-highlight.plugin.d.ts +10 -0
- package/dist/types/components/data/row-renderer.d.ts +13 -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/grouping-overlay/revogr-grouping-overlay.d.ts +71 -0
- package/dist/types/components/header/header-cell-renderer.d.ts +10 -0
- package/dist/types/components/header/header-group-renderer.d.ts +17 -0
- package/dist/types/components/header/header-renderer.d.ts +24 -0
- package/dist/types/components/header/resizable.directive.d.ts +60 -0
- package/dist/types/components/header/resizable.element.d.ts +5 -0
- package/dist/types/components/header/revogr-header-unified.d.ts +168 -0
- package/dist/types/components/header/revogr-header.d.ts +131 -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 +29 -0
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +295 -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 +801 -0
- package/dist/types/components/revoGrid/viewport.helpers.d.ts +42 -0
- package/dist/types/components/revoGrid/viewport.resize.service.d.ts +17 -0
- package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +24 -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 +159 -0
- package/dist/types/components/scrollable/autohide-scroll.plugin.d.ts +22 -0
- package/dist/types/components/scrollable/revogr-scroll-virtual.d.ts +49 -0
- package/dist/types/components/selectionFocus/revogr-focus.d.ts +63 -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 +2928 -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-hide.plugin.d.ts +110 -0
- package/dist/types/plugins/column-manage.plugin.d.ts +225 -0
- package/dist/types/plugins/column-stretch.plugin.d.ts +159 -0
- package/dist/types/plugins/column.auto-size.plugin.d.ts +69 -0
- package/dist/types/plugins/column.stretch.plugin.d.ts +20 -0
- package/dist/types/plugins/customColumnDrag/column-move.helper.d.ts +71 -0
- package/dist/types/plugins/customColumnDrag/custom-column-drag.plugin.d.ts +35 -0
- package/dist/types/plugins/customColumnDrag/drag.handler.d.ts +112 -0
- package/dist/types/plugins/customColumnDrag/example.d.ts +31 -0
- package/dist/types/plugins/customColumnDrag/index.d.ts +5 -0
- package/dist/types/plugins/customColumnDrag/types.d.ts +46 -0
- package/dist/types/plugins/dispatcher.d.ts +20 -0
- package/dist/types/plugins/enhanced-scrollbar.plugin.d.ts +76 -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/grid-setup.d.ts +65 -0
- package/dist/types/plugins/groupingRow/grouping.const.d.ts +14 -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 +144 -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 +22 -0
- package/dist/types/plugins/manual-focus.plugin.d.ts +113 -0
- package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +50 -0
- package/dist/types/plugins/moveColumn/order-column.handler.d.ts +16 -0
- package/dist/types/plugins/pin-shadow.plugin.d.ts +73 -0
- package/dist/types/plugins/resize-indicator.plugin.d.ts +71 -0
- package/dist/types/plugins/row-select-plugin-2026228.d.ts +367 -0
- package/dist/types/plugins/row-select.plugin.d.ts +378 -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/tree-data.plugin.d.ts +56 -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 +71 -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 +74 -0
- package/dist/types/services/viewport.provider.d.ts +9 -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 +77 -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 +15 -0
- package/dist/types/store/dimension/dimension.store.d.ts +34 -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 +5 -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 +38 -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 +795 -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/batchGroupCollapse.d.ts +77 -0
- package/dist/types/utils/browser.d.ts +1 -0
- package/dist/types/utils/cell-template-helper.d.ts +74 -0
- package/dist/types/utils/closest.polifill.d.ts +0 -0
- package/dist/types/utils/column.utils.d.ts +110 -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 +12 -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 +39851 -0
- package/hydrate/index.mjs +39843 -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 +149 -0
- package/readme.md +303 -0
- package/standalone/column.service.js +1110 -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 +3101 -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/grouping.service.js +234 -0
- package/standalone/grouping.service.js.map +1 -0
- package/standalone/header-group-renderer.js +634 -0
- package/standalone/header-group-renderer.js.map +1 -0
- package/standalone/index.d.ts +72 -0
- package/standalone/index.js +6272 -0
- package/standalone/index.js.map +1 -0
- package/standalone/index2.js +131 -0
- package/standalone/index2.js.map +1 -0
- package/standalone/local.scroll.timer.js +222 -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 +8734 -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 +179 -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 +503 -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 +330 -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 +119 -0
- package/standalone/revogr-focus2.js.map +1 -0
- package/standalone/revogr-grouping-overlay.d.ts +11 -0
- package/standalone/revogr-grouping-overlay.js +12 -0
- package/standalone/revogr-grouping-overlay.js.map +1 -0
- package/standalone/revogr-grouping-overlay2.js +356 -0
- package/standalone/revogr-grouping-overlay2.js.map +1 -0
- package/standalone/revogr-header-unified.d.ts +11 -0
- package/standalone/revogr-header-unified.js +12 -0
- package/standalone/revogr-header-unified.js.map +1 -0
- package/standalone/revogr-header-unified2.js +781 -0
- package/standalone/revogr-header-unified2.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 +343 -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 +1068 -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 +625 -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 +235 -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 +761 -0
- package/standalone/revogr-viewport-scroll2.js.map +1 -0
- package/standalone/row-renderer.js +41 -0
- package/standalone/row-renderer.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,503 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
import { h, Build, proxyCustomElement, HTMLElement as HTMLElement$1, createEvent, Host } from '@stencil/core/internal/client';
|
|
5
|
+
import { x as isRowDragService, j as getCellDataParsed, C as ColumnService } from './column.service.js';
|
|
6
|
+
import { h as DRAGGABLE_CLASS, g as DRAG_ICON_CLASS, l as ROW_FOCUSED_CLASS, a as DATA_ROW, D as DATA_COL } from './consts.js';
|
|
7
|
+
import { b as getSourceItem } from './data.store.js';
|
|
8
|
+
import './platform.js';
|
|
9
|
+
import { R as RowRenderer } from './row-renderer.js';
|
|
10
|
+
import { o as isGrouping } from './grouping.service.js';
|
|
11
|
+
import { d as defineCustomElement$1 } from './vnode-converter.js';
|
|
12
|
+
|
|
13
|
+
function renderCell(v) {
|
|
14
|
+
var _a;
|
|
15
|
+
const els = [];
|
|
16
|
+
// #region Custom cell
|
|
17
|
+
const template = (_a = v.schemaModel.column) === null || _a === void 0 ? void 0 : _a.cellTemplate;
|
|
18
|
+
if (template) {
|
|
19
|
+
els.push(template(h, v.schemaModel, v.additionalData));
|
|
20
|
+
}
|
|
21
|
+
// #endregion
|
|
22
|
+
// #region Regular cell
|
|
23
|
+
else {
|
|
24
|
+
if (!v.schemaModel.column) {
|
|
25
|
+
// something is wrong with data
|
|
26
|
+
if (Build === null || Build === void 0 ? void 0 : Build.isDev) {
|
|
27
|
+
console.error('Investigate column problem.', v.schemaModel);
|
|
28
|
+
}
|
|
29
|
+
return '';
|
|
30
|
+
}
|
|
31
|
+
// Row drag
|
|
32
|
+
if (v.schemaModel.column.rowDrag &&
|
|
33
|
+
isRowDragService(v.schemaModel.column.rowDrag, v.schemaModel)) {
|
|
34
|
+
els.push(h("span", { class: DRAGGABLE_CLASS, onMouseDown: originalEvent => {
|
|
35
|
+
var _a;
|
|
36
|
+
return (_a = v.dragStartCell) === null || _a === void 0 ? void 0 : _a.emit({
|
|
37
|
+
originalEvent,
|
|
38
|
+
model: v.schemaModel,
|
|
39
|
+
});
|
|
40
|
+
} },
|
|
41
|
+
h("span", { class: DRAG_ICON_CLASS })));
|
|
42
|
+
}
|
|
43
|
+
els.push(`${getCellDataParsed(v.schemaModel.model, v.schemaModel.column)}`);
|
|
44
|
+
}
|
|
45
|
+
return els;
|
|
46
|
+
}
|
|
47
|
+
const CellRenderer = ({ renderProps, cellProps, }) => {
|
|
48
|
+
const render = renderCell.bind(null, renderProps);
|
|
49
|
+
return (h("div", Object.assign({}, cellProps, { redraw: render }), render()));
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Class is responsible for highlighting rows in a table.
|
|
54
|
+
*/
|
|
55
|
+
class RowHighlightPlugin {
|
|
56
|
+
constructor() {
|
|
57
|
+
this.currentRange = null;
|
|
58
|
+
}
|
|
59
|
+
selectionChange(e, renderedRows) {
|
|
60
|
+
// clear previous range
|
|
61
|
+
if (this.currentRange) {
|
|
62
|
+
renderedRows.forEach((row, y) => {
|
|
63
|
+
var _a;
|
|
64
|
+
// skip current range
|
|
65
|
+
if (e && y >= e.y && y <= e.y1) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
// clear previous range
|
|
69
|
+
if (row &&
|
|
70
|
+
row.$elm$ instanceof HTMLElement &&
|
|
71
|
+
row.$elm$.classList.contains(ROW_FOCUSED_CLASS)) {
|
|
72
|
+
row.$elm$.classList.remove(ROW_FOCUSED_CLASS);
|
|
73
|
+
if ((_a = row.$attrs$) === null || _a === void 0 ? void 0 : _a.class.includes(ROW_FOCUSED_CLASS)) {
|
|
74
|
+
row.$attrs$.class = row.$attrs$.class.replace(ROW_FOCUSED_CLASS, '');
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
// apply new range
|
|
80
|
+
if (e) {
|
|
81
|
+
for (let y = e.y; y <= e.y1; y++) {
|
|
82
|
+
const row = renderedRows.get(y);
|
|
83
|
+
if (row &&
|
|
84
|
+
row.$elm$ instanceof HTMLElement &&
|
|
85
|
+
!row.$elm$.classList.contains(ROW_FOCUSED_CLASS)) {
|
|
86
|
+
const attrs = (row.$attrs$ = row.$attrs$ || {});
|
|
87
|
+
attrs.class = (attrs.class || '') + ' ' + ROW_FOCUSED_CLASS;
|
|
88
|
+
row.$elm$.classList.add(ROW_FOCUSED_CLASS);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
this.currentRange = e;
|
|
93
|
+
}
|
|
94
|
+
isRowFocused(y) {
|
|
95
|
+
return (this.currentRange && y >= this.currentRange.y && y <= this.currentRange.y1);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Converts a VNode element into an HTML element and appends it to the specified parentHolder.
|
|
101
|
+
*/
|
|
102
|
+
function convertVNodeToHTML(parentHolder, redraw) {
|
|
103
|
+
return new Promise(resolve => {
|
|
104
|
+
const vnode = document.createElement('vnode-html');
|
|
105
|
+
parentHolder.appendChild(vnode);
|
|
106
|
+
vnode.redraw = redraw;
|
|
107
|
+
vnode.addEventListener('html', e => {
|
|
108
|
+
vnode.remove();
|
|
109
|
+
resolve(e.detail);
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const revogrDataStyleCss = ".revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:\"::\";display:inline-block}.revo-alt-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}revogr-data{display:block;width:100%;position:relative}revogr-data .rgRow{position:absolute;width:100%;left:0}revogr-data .revo-draggable{border:none;height:32px;display:inline-flex;outline:0;padding:0;font-size:0.8125rem;box-sizing:border-box;align-items:center;white-space:nowrap;vertical-align:middle;justify-content:center;text-decoration:none;width:24px;height:100%;cursor:pointer;display:inline-flex;user-select:none}revogr-data .revo-draggable:hover>.revo-drag-icon{opacity:1;zoom:1.2;font-weight:600}revogr-data .revo-draggable>.revo-drag-icon{pointer-events:none;transition:opacity 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, zoom 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}revogr-data .rgCell{top:0;left:0;position:absolute;box-sizing:border-box;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;outline:none;user-select:text}revogr-data .rgCell.align-center{text-align:center}revogr-data .rgCell.align-left{text-align:left}revogr-data .rgCell.align-right{text-align:right}";
|
|
115
|
+
|
|
116
|
+
const RevogrData = /*@__PURE__*/ proxyCustomElement(class RevogrData extends HTMLElement$1 {
|
|
117
|
+
constructor() {
|
|
118
|
+
super();
|
|
119
|
+
this.__registerHost();
|
|
120
|
+
this.beforerowrender = createEvent(this, "beforerowrender", 7);
|
|
121
|
+
this.afterrender = createEvent(this, "afterrender", 7);
|
|
122
|
+
this.beforeCellRender = createEvent(this, "beforecellrender", 7);
|
|
123
|
+
this.beforeDataRender = createEvent(this, "beforedatarender", 7);
|
|
124
|
+
this.dragStartCell = createEvent(this, "dragstartcell", 7);
|
|
125
|
+
/**
|
|
126
|
+
* Prevent rendering until job is done.
|
|
127
|
+
* Can be used for initial rendering performance improvement.
|
|
128
|
+
* When several plugins require initial rendering this will prevent double initial rendering.
|
|
129
|
+
*/
|
|
130
|
+
this.jobsBeforeRender = [];
|
|
131
|
+
/**
|
|
132
|
+
* Rendered rows - virtual index vs vnode
|
|
133
|
+
*/
|
|
134
|
+
this.renderedRows = new Map();
|
|
135
|
+
this.lastMismatchKey = null;
|
|
136
|
+
this.lastStableRows = [];
|
|
137
|
+
this.lastStableCols = [];
|
|
138
|
+
this.lastStableColumns = [];
|
|
139
|
+
this.lastRenderStateKey = null;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Pointed cell update.
|
|
143
|
+
*/
|
|
144
|
+
async updateCell(e) {
|
|
145
|
+
var _a, _b, _c;
|
|
146
|
+
// Stencil tweak to update cell content
|
|
147
|
+
const cell = (_b = (_a = this.renderedRows.get(e.row)) === null || _a === void 0 ? void 0 : _a.$children$) === null || _b === void 0 ? void 0 : _b[e.col];
|
|
148
|
+
if ((_c = cell === null || cell === void 0 ? void 0 : cell.$attrs$) === null || _c === void 0 ? void 0 : _c.redraw) {
|
|
149
|
+
const children = await convertVNodeToHTML(this.element, cell.$attrs$.redraw);
|
|
150
|
+
cell.$elm$.innerHTML = children.html;
|
|
151
|
+
cell.$key$ = Math.random();
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
onDataStoreChange() {
|
|
155
|
+
this.onStoreChange();
|
|
156
|
+
}
|
|
157
|
+
onColDataChange() {
|
|
158
|
+
this.onStoreChange();
|
|
159
|
+
}
|
|
160
|
+
onStoreChange() {
|
|
161
|
+
var _a, _b;
|
|
162
|
+
(_a = this.columnService) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
163
|
+
this.columnService = new ColumnService(this.dataStore, this.colData);
|
|
164
|
+
// make sure we have correct data, before render
|
|
165
|
+
this.providers = {
|
|
166
|
+
type: this.type,
|
|
167
|
+
colType: this.colType,
|
|
168
|
+
readonly: this.readonly,
|
|
169
|
+
data: this.dataStore,
|
|
170
|
+
columns: this.colData,
|
|
171
|
+
viewport: this.viewportCol,
|
|
172
|
+
dimension: this.dimensionRow,
|
|
173
|
+
selection: this.rowSelectionStore,
|
|
174
|
+
};
|
|
175
|
+
(_b = this.rangeUnsubscribe) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
176
|
+
this.rangeUnsubscribe = this.rowSelectionStore.onChange('range', (e) => this.rowHighlightPlugin.selectionChange(e, this.renderedRows));
|
|
177
|
+
}
|
|
178
|
+
connectedCallback() {
|
|
179
|
+
this.rowHighlightPlugin = new RowHighlightPlugin();
|
|
180
|
+
this.onStoreChange();
|
|
181
|
+
}
|
|
182
|
+
disconnectedCallback() {
|
|
183
|
+
var _a, _b;
|
|
184
|
+
(_a = this.columnService) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
185
|
+
(_b = this.rangeUnsubscribe) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
186
|
+
}
|
|
187
|
+
async componentWillRender() {
|
|
188
|
+
var _a;
|
|
189
|
+
this.beforeDataRender.emit({
|
|
190
|
+
rowType: this.type,
|
|
191
|
+
colType: this.colType,
|
|
192
|
+
});
|
|
193
|
+
const grid = (_a = this.element) === null || _a === void 0 ? void 0 : _a.closest('revo-grid');
|
|
194
|
+
const waitForColumnsUpdate = () => {
|
|
195
|
+
if (!grid)
|
|
196
|
+
return null;
|
|
197
|
+
if (!grid.hasAttribute('data-columns-updating'))
|
|
198
|
+
return null;
|
|
199
|
+
// console.log('[data] wait columns update', {
|
|
200
|
+
// colType: this.colType,
|
|
201
|
+
// time: performance.now(),
|
|
202
|
+
// });
|
|
203
|
+
return new Promise(resolve => {
|
|
204
|
+
grid.addEventListener('columnsupdateend', () => {
|
|
205
|
+
// console.log('[data] columns update end', {
|
|
206
|
+
// colType: this.colType,
|
|
207
|
+
// time: performance.now(),
|
|
208
|
+
// });
|
|
209
|
+
resolve();
|
|
210
|
+
}, { once: true });
|
|
211
|
+
});
|
|
212
|
+
};
|
|
213
|
+
const waitForDataUpdate = () => {
|
|
214
|
+
if (!grid)
|
|
215
|
+
return null;
|
|
216
|
+
if (!grid.hasAttribute('data-rows-updating'))
|
|
217
|
+
return null;
|
|
218
|
+
// console.log('[data] wait rows update', {
|
|
219
|
+
// colType: this.colType,
|
|
220
|
+
// time: performance.now(),
|
|
221
|
+
// });
|
|
222
|
+
return new Promise(resolve => {
|
|
223
|
+
grid.addEventListener('dataupdateend', () => {
|
|
224
|
+
// console.log('[data] rows update end', {
|
|
225
|
+
// colType: this.colType,
|
|
226
|
+
// time: performance.now(),
|
|
227
|
+
// });
|
|
228
|
+
resolve();
|
|
229
|
+
}, { once: true });
|
|
230
|
+
});
|
|
231
|
+
};
|
|
232
|
+
const pending = [waitForColumnsUpdate(), waitForDataUpdate(), ...this.jobsBeforeRender.map(p => typeof p === 'function' ? p() : p)].filter(Boolean);
|
|
233
|
+
return Promise.all(pending);
|
|
234
|
+
}
|
|
235
|
+
componentDidRender() {
|
|
236
|
+
this.afterrender.emit({ type: this.type, colType: this.colType });
|
|
237
|
+
}
|
|
238
|
+
render() {
|
|
239
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
240
|
+
this.renderedRows = new Map();
|
|
241
|
+
// always start from live columns, override only when fallback is needed
|
|
242
|
+
this.columnService.setOverrideColumns(null);
|
|
243
|
+
const colVersion = (_a = this.colData) === null || _a === void 0 ? void 0 : _a.get('version');
|
|
244
|
+
const viewportVersion = (_b = this.viewportCol) === null || _b === void 0 ? void 0 : _b.get('version');
|
|
245
|
+
const isSynced = colVersion === undefined ||
|
|
246
|
+
viewportVersion === undefined ||
|
|
247
|
+
colVersion === viewportVersion;
|
|
248
|
+
const columnsData = this.columnService.columns;
|
|
249
|
+
const rows = this.viewportRow.get('items');
|
|
250
|
+
const cols = this.viewportCol.get('items');
|
|
251
|
+
const hasInvalidColIndex = cols.some(col => !columnsData[col.itemIndex]);
|
|
252
|
+
if (hasInvalidColIndex) {
|
|
253
|
+
const colSource = ((_c = this.colData) === null || _c === void 0 ? void 0 : _c.get('source')) || [];
|
|
254
|
+
const colItems = ((_d = this.colData) === null || _d === void 0 ? void 0 : _d.get('items')) || [];
|
|
255
|
+
const missingIndexes = cols
|
|
256
|
+
.filter(col => !columnsData[col.itemIndex])
|
|
257
|
+
.map(col => col.itemIndex);
|
|
258
|
+
const mismatchKey = JSON.stringify({
|
|
259
|
+
colType: this.colType,
|
|
260
|
+
missing: missingIndexes.slice(0, 10),
|
|
261
|
+
cols: cols.length,
|
|
262
|
+
columnsData: columnsData.length,
|
|
263
|
+
colItems: colItems.length,
|
|
264
|
+
colSource: colSource.length,
|
|
265
|
+
});
|
|
266
|
+
if (mismatchKey !== this.lastMismatchKey) {
|
|
267
|
+
this.lastMismatchKey = mismatchKey;
|
|
268
|
+
console.warn('[data] column index mismatch', {
|
|
269
|
+
colType: this.colType,
|
|
270
|
+
type: this.type,
|
|
271
|
+
missingIndexes: missingIndexes.slice(0, 10),
|
|
272
|
+
colsLength: cols.length,
|
|
273
|
+
columnsDataLength: columnsData.length,
|
|
274
|
+
colItemsLength: colItems.length,
|
|
275
|
+
colSourceLength: colSource.length,
|
|
276
|
+
colItemsHead: colItems.slice(0, 10),
|
|
277
|
+
colPropsHead: columnsData
|
|
278
|
+
.slice(0, 10)
|
|
279
|
+
.map(col => col === null || col === void 0 ? void 0 : col.prop),
|
|
280
|
+
viewportItemsHead: cols.slice(0, 10).map(col => col.itemIndex),
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
const hasColumns = columnsData.length > 0;
|
|
285
|
+
const hasCols = cols.length > 0;
|
|
286
|
+
const isEmptyColumns = !hasColumns && !hasCols;
|
|
287
|
+
const gridElement = (_e = this.element) === null || _e === void 0 ? void 0 : _e.closest('revo-grid');
|
|
288
|
+
const isUpdating = !!(gridElement === null || gridElement === void 0 ? void 0 : gridElement.hasAttribute('data-columns-updating')) ||
|
|
289
|
+
!!(gridElement === null || gridElement === void 0 ? void 0 : gridElement.hasAttribute('data-rows-updating'));
|
|
290
|
+
// 主区域在更新中不允许空列,避免取消冻结时主视口短暂清空导致闪烁
|
|
291
|
+
const allowEmptyColumns = this.colType !== 'rgCol' || !isUpdating;
|
|
292
|
+
const canUseCurrent = isSynced &&
|
|
293
|
+
rows.length > 0 &&
|
|
294
|
+
((hasColumns && hasCols) || (isEmptyColumns && allowEmptyColumns)) &&
|
|
295
|
+
!hasInvalidColIndex;
|
|
296
|
+
const usingFallback = !canUseCurrent;
|
|
297
|
+
if (this.colType === 'rgCol' && this.type === 'rgRow' && (isUpdating || usingFallback || hasInvalidColIndex)) {
|
|
298
|
+
const renderStateKey = JSON.stringify({
|
|
299
|
+
isUpdating,
|
|
300
|
+
isSynced,
|
|
301
|
+
colVersion,
|
|
302
|
+
viewportVersion,
|
|
303
|
+
rows: rows.length,
|
|
304
|
+
cols: cols.length,
|
|
305
|
+
columns: columnsData.length,
|
|
306
|
+
hasInvalidColIndex,
|
|
307
|
+
usingFallback,
|
|
308
|
+
rowRealCount: this.viewportRow.get('realCount'),
|
|
309
|
+
rowVirtualSize: this.viewportRow.get('virtualSize'),
|
|
310
|
+
rowClientSize: this.viewportRow.get('clientSize'),
|
|
311
|
+
});
|
|
312
|
+
if (renderStateKey !== this.lastRenderStateKey) {
|
|
313
|
+
this.lastRenderStateKey = renderStateKey;
|
|
314
|
+
// console.log('[data] render state', {
|
|
315
|
+
// colType: this.colType,
|
|
316
|
+
// rowType: this.type,
|
|
317
|
+
// isUpdating,
|
|
318
|
+
// isSynced,
|
|
319
|
+
// colVersion,
|
|
320
|
+
// viewportVersion,
|
|
321
|
+
// rowsLength: rows.length,
|
|
322
|
+
// colsLength: cols.length,
|
|
323
|
+
// columnsLength: columnsData.length,
|
|
324
|
+
// hasInvalidColIndex,
|
|
325
|
+
// usingFallback,
|
|
326
|
+
// rowRealCount: this.viewportRow.get('realCount'),
|
|
327
|
+
// rowVirtualSize: this.viewportRow.get('virtualSize'),
|
|
328
|
+
// rowClientSize: this.viewportRow.get('clientSize'),
|
|
329
|
+
// });
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
const activeColumns = canUseCurrent ? columnsData : this.lastStableColumns;
|
|
333
|
+
const activeRows = canUseCurrent ? rows : this.lastStableRows;
|
|
334
|
+
const activeCols = canUseCurrent ? cols : this.lastStableCols;
|
|
335
|
+
if (canUseCurrent) {
|
|
336
|
+
this.lastStableColumns = [...columnsData];
|
|
337
|
+
this.lastStableRows = [...rows];
|
|
338
|
+
this.lastStableCols = [...cols];
|
|
339
|
+
}
|
|
340
|
+
if (!canUseCurrent && activeColumns.length) {
|
|
341
|
+
this.columnService.setOverrideColumns(activeColumns);
|
|
342
|
+
}
|
|
343
|
+
if (!activeColumns.length || !activeRows.length || !activeCols.length) {
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
const rowsEls = [];
|
|
347
|
+
for (let rgRow of activeRows) {
|
|
348
|
+
const dataItem = getSourceItem(this.dataStore, rgRow.itemIndex);
|
|
349
|
+
// #region Grouping
|
|
350
|
+
// Render empty grouping rows (for borders) - content is in the overlay
|
|
351
|
+
if (isGrouping(dataItem)) {
|
|
352
|
+
const emptyRow = (h(RowRenderer, { index: rgRow.itemIndex, rowClass: "groupingRow", size: rgRow.size, start: rgRow.start }));
|
|
353
|
+
this.beforerowrender.emit({
|
|
354
|
+
node: emptyRow,
|
|
355
|
+
item: rgRow,
|
|
356
|
+
model: dataItem,
|
|
357
|
+
colType: this.columnService.type,
|
|
358
|
+
rowType: this.type,
|
|
359
|
+
});
|
|
360
|
+
rowsEls.push(emptyRow);
|
|
361
|
+
this.renderedRows.set(rgRow.itemIndex, emptyRow);
|
|
362
|
+
continue;
|
|
363
|
+
}
|
|
364
|
+
// #endregion
|
|
365
|
+
const cells = [];
|
|
366
|
+
// #region Cells
|
|
367
|
+
// 判断是否需要给最后一列添加类名
|
|
368
|
+
const lastColIndex = activeCols.length > 0 ? activeCols[activeCols.length - 1].itemIndex : -1;
|
|
369
|
+
// 使用传入的 hasColPinEnd prop,如果没有传入则默认为 false
|
|
370
|
+
const hasColPinEnd = (_f = this.hasColPinEnd) !== null && _f !== void 0 ? _f : false;
|
|
371
|
+
const hasRgCol = (_g = this.hasRgCol) !== null && _g !== void 0 ? _g : false;
|
|
372
|
+
for (let rgCol of activeCols) {
|
|
373
|
+
const smodel = Object.assign(Object.assign({}, this.columnService.rowDataModel(rgRow.itemIndex, rgCol.itemIndex)), { providers: this.providers });
|
|
374
|
+
// call before cell render
|
|
375
|
+
const cellEvent = this.triggerBeforeCellRender(smodel, rgRow, rgCol);
|
|
376
|
+
// if event was prevented
|
|
377
|
+
if (cellEvent.defaultPrevented) {
|
|
378
|
+
continue;
|
|
379
|
+
}
|
|
380
|
+
const { detail: { column: columnProps, row: rowProps, model: schemaModel }, } = cellEvent;
|
|
381
|
+
const defaultProps = {
|
|
382
|
+
[DATA_COL]: columnProps.itemIndex,
|
|
383
|
+
[DATA_ROW]: rowProps.itemIndex,
|
|
384
|
+
style: {
|
|
385
|
+
width: `${columnProps.size}px`,
|
|
386
|
+
transform: `translateX(${columnProps.start}px)`,
|
|
387
|
+
height: rowProps.size ? `${rowProps.size}px` : undefined,
|
|
388
|
+
},
|
|
389
|
+
};
|
|
390
|
+
// 判断是否是最后一列并添加类名
|
|
391
|
+
const isLastColumn = rgCol.itemIndex === lastColIndex;
|
|
392
|
+
if (isLastColumn) {
|
|
393
|
+
// 只在以下情况添加类名:
|
|
394
|
+
// 1. 有右侧冻结列时,只给 colPinEnd 类型的最后一列加
|
|
395
|
+
// 2. 没有右侧冻结列但有主区域时,只给 rgCol 类型的最后一列加
|
|
396
|
+
// 3. 没有右侧冻结列也没有主区域时(全左冻结),给 colPinStart 类型的最后一列加
|
|
397
|
+
const shouldAddClass = (hasColPinEnd && this.colType === 'colPinEnd') ||
|
|
398
|
+
(!hasColPinEnd && hasRgCol && this.colType === 'rgCol') ||
|
|
399
|
+
(!hasColPinEnd && !hasRgCol && this.colType === 'colPinStart');
|
|
400
|
+
if (shouldAddClass) {
|
|
401
|
+
defaultProps.class = { 'last-column': true };
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
const props = this.columnService.mergeProperties(rowProps.itemIndex, columnProps.itemIndex, defaultProps, schemaModel);
|
|
405
|
+
// Never use webcomponent for cell render
|
|
406
|
+
// It's very slow because of webcomponent initialization takes time
|
|
407
|
+
const cellNode = h(CellRenderer, { renderProps: {
|
|
408
|
+
schemaModel,
|
|
409
|
+
additionalData: this.additionalData,
|
|
410
|
+
dragStartCell: this.dragStartCell,
|
|
411
|
+
}, cellProps: props });
|
|
412
|
+
cells.push(cellNode);
|
|
413
|
+
}
|
|
414
|
+
// #endregion
|
|
415
|
+
// #region Rows
|
|
416
|
+
let rowClass = this.rowClass
|
|
417
|
+
? this.columnService.getRowClass(rgRow.itemIndex, this.rowClass)
|
|
418
|
+
: '';
|
|
419
|
+
if (this.rowHighlightPlugin.isRowFocused(rgRow.itemIndex)) {
|
|
420
|
+
rowClass += ` ${ROW_FOCUSED_CLASS}`;
|
|
421
|
+
}
|
|
422
|
+
const row = (h(RowRenderer, { index: rgRow.itemIndex, rowClass: rowClass, size: rgRow.size, start: rgRow.start }, cells));
|
|
423
|
+
this.beforerowrender.emit({
|
|
424
|
+
node: row,
|
|
425
|
+
item: rgRow,
|
|
426
|
+
model: dataItem,
|
|
427
|
+
colType: this.columnService.type,
|
|
428
|
+
rowType: this.type,
|
|
429
|
+
});
|
|
430
|
+
rowsEls.push(row);
|
|
431
|
+
this.renderedRows.set(rgRow.itemIndex, row);
|
|
432
|
+
// #endregion
|
|
433
|
+
}
|
|
434
|
+
const hostAttrs = {};
|
|
435
|
+
if (this.uniqueId !== undefined) {
|
|
436
|
+
hostAttrs['data-unique-id'] = this.uniqueId;
|
|
437
|
+
}
|
|
438
|
+
const renderVNode = (h(Host, Object.assign({}, hostAttrs), h("slot", null), rowsEls));
|
|
439
|
+
return renderVNode;
|
|
440
|
+
}
|
|
441
|
+
triggerBeforeCellRender(model, row, column) {
|
|
442
|
+
const detail = {
|
|
443
|
+
column,
|
|
444
|
+
row,
|
|
445
|
+
model,
|
|
446
|
+
rowType: model.type,
|
|
447
|
+
colType: model.colType,
|
|
448
|
+
};
|
|
449
|
+
return this.beforeCellRender.emit(detail);
|
|
450
|
+
}
|
|
451
|
+
get element() { return this; }
|
|
452
|
+
static get watchers() { return {
|
|
453
|
+
"dataStore": ["onDataStoreChange"],
|
|
454
|
+
"colData": ["onColDataChange"]
|
|
455
|
+
}; }
|
|
456
|
+
static get style() { return revogrDataStyleCss; }
|
|
457
|
+
}, [260, "revogr-data", {
|
|
458
|
+
"readonly": [4],
|
|
459
|
+
"range": [4],
|
|
460
|
+
"rowClass": [1, "row-class"],
|
|
461
|
+
"additionalData": [8, "additional-data"],
|
|
462
|
+
"paddingDepth": [2, "padding-depth"],
|
|
463
|
+
"rowSelectionStore": [16, "row-selection-store"],
|
|
464
|
+
"viewportRow": [16, "viewport-row"],
|
|
465
|
+
"viewportCol": [16, "viewport-col"],
|
|
466
|
+
"dimensionRow": [16, "dimension-row"],
|
|
467
|
+
"colData": [16, "col-data"],
|
|
468
|
+
"dataStore": [16, "data-store"],
|
|
469
|
+
"type": [513],
|
|
470
|
+
"colType": [513, "col-type"],
|
|
471
|
+
"jobsBeforeRender": [16, "jobs-before-render"],
|
|
472
|
+
"uniqueId": [8, "unique-id"],
|
|
473
|
+
"hasColPinEnd": [4, "has-col-pin-end"],
|
|
474
|
+
"hasRgCol": [4, "has-rg-col"],
|
|
475
|
+
"providers": [32],
|
|
476
|
+
"updateCell": [64]
|
|
477
|
+
}, undefined, {
|
|
478
|
+
"dataStore": ["onDataStoreChange"],
|
|
479
|
+
"colData": ["onColDataChange"]
|
|
480
|
+
}]);
|
|
481
|
+
function defineCustomElement() {
|
|
482
|
+
if (typeof customElements === "undefined") {
|
|
483
|
+
return;
|
|
484
|
+
}
|
|
485
|
+
const components = ["revogr-data", "vnode-html"];
|
|
486
|
+
components.forEach(tagName => { switch (tagName) {
|
|
487
|
+
case "revogr-data":
|
|
488
|
+
if (!customElements.get(tagName)) {
|
|
489
|
+
customElements.define(tagName, RevogrData);
|
|
490
|
+
}
|
|
491
|
+
break;
|
|
492
|
+
case "vnode-html":
|
|
493
|
+
if (!customElements.get(tagName)) {
|
|
494
|
+
defineCustomElement$1();
|
|
495
|
+
}
|
|
496
|
+
break;
|
|
497
|
+
} });
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
export { CellRenderer as C, RevogrData as R, defineCustomElement as d };
|
|
501
|
+
//# sourceMappingURL=revogr-data2.js.map
|
|
502
|
+
|
|
503
|
+
//# sourceMappingURL=revogr-data2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"revogr-data2.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/data/cell-renderer.tsx","src/components/data/row-highlight.plugin.ts","src/components/vnode/vnode.utils.ts","src/components/data/revogr-data-style.scss?tag=revogr-data","src/components/data/revogr-data.tsx"],"sourcesContent":["import { h, type VNode, Build, EventEmitter } from '@stencil/core';\nimport {\n DragStartEvent,\n CellTemplateProp,\n} from '@type';\n\nimport {\n DRAGGABLE_CLASS,\n DRAG_ICON_CLASS,\n getCellDataParsed,\n} from '../../utils';\n\nimport { isRowDragService } from './column.service';\n\ninterface RenderProps {\n schemaModel: CellTemplateProp;\n additionalData?: any;\n dragStartCell?: EventEmitter<DragStartEvent>;\n}\n\n\nfunction renderCell(v: RenderProps) {\n const els: (VNode | string)[] = [];\n\n // #region Custom cell\n const template = v.schemaModel.column?.cellTemplate;\n if (template) {\n els.push(template(h, v.schemaModel, v.additionalData));\n }\n // #endregion\n\n // #region Regular cell\n else {\n if (!v.schemaModel.column) {\n // something is wrong with data\n if (Build?.isDev) {\n console.error('Investigate column problem.', v.schemaModel);\n }\n return '';\n }\n\n // Row drag\n if (\n v.schemaModel.column.rowDrag &&\n isRowDragService(v.schemaModel.column.rowDrag, v.schemaModel)\n ) {\n els.push(\n <span\n class={DRAGGABLE_CLASS}\n onMouseDown={originalEvent =>\n v.dragStartCell?.emit({\n originalEvent,\n model: v.schemaModel,\n })\n }\n >\n <span class={DRAG_ICON_CLASS} />\n </span>,\n );\n }\n \n els.push(`${\n getCellDataParsed(v.schemaModel.model, v.schemaModel.column)\n }`);\n }\n return els;\n}\n\nexport const CellRenderer = ({\n renderProps,\n cellProps,\n}: {\n renderProps: RenderProps;\n cellProps: any;\n}): VNode => {\n const render = renderCell.bind(null, renderProps);\n return (\n <div {...cellProps} redraw={render}>\n {render()}\n </div>\n );\n};\n","import { type VNode } from '@stencil/core';\nimport { ROW_FOCUSED_CLASS } from '../../utils/consts';\nimport { RangeArea } from '@type';\n\n/**\n * Class is responsible for highlighting rows in a table.\n */\nexport class RowHighlightPlugin {\n private currentRange: RangeArea | null = null;\n selectionChange(e: RangeArea, renderedRows: Map<number, VNode>) {\n // clear previous range\n if (this.currentRange) {\n renderedRows.forEach((row, y) => {\n // skip current range\n if (e && y >= e.y && y <= e.y1) {\n return;\n }\n\n // clear previous range\n if (\n row &&\n row.$elm$ instanceof HTMLElement &&\n row.$elm$.classList.contains(ROW_FOCUSED_CLASS)\n ) {\n row.$elm$.classList.remove(ROW_FOCUSED_CLASS);\n if (row.$attrs$?.class.includes(ROW_FOCUSED_CLASS)) {\n row.$attrs$.class = row.$attrs$.class.replace(\n ROW_FOCUSED_CLASS,\n '',\n );\n }\n }\n });\n }\n\n // apply new range\n if (e) {\n for (let y = e.y; y <= e.y1; y++) {\n const row = renderedRows.get(y);\n if (\n row &&\n row.$elm$ instanceof HTMLElement &&\n !row.$elm$.classList.contains(ROW_FOCUSED_CLASS)\n ) {\n const attrs = (row.$attrs$ = row.$attrs$ || {});\n attrs.class = (attrs.class || '') + ' ' + ROW_FOCUSED_CLASS;\n row.$elm$.classList.add(ROW_FOCUSED_CLASS);\n }\n }\n }\n this.currentRange = e;\n }\n\n isRowFocused(y: number) {\n return (\n this.currentRange && y >= this.currentRange.y && y <= this.currentRange.y1\n );\n }\n}\n","import { type VNode } from '@stencil/core';\nimport { type JSX } from '../../components';\n\n/**\n * Converts a VNode element into an HTML element and appends it to the specified parentHolder.\n */\nexport function convertVNodeToHTML(parentHolder: Element, redraw: JSX.VnodeHtml['redraw']): Promise<{ html: string; vnodes: (VNode[]) | null }> {\n return new Promise<{ html: string; vnodes: (VNode[]) | null }>(resolve => {\n const vnode = document.createElement('vnode-html');\n parentHolder.appendChild(vnode);\n vnode.redraw = redraw;\n vnode.addEventListener('html', e => {\n vnode.remove();\n resolve(e.detail);\n });\n });\n}\n","@use '../../global/_icons.scss' as *;\n\nrevogr-data {\n display: block;\n width: 100%;\n position: relative;\n\n .rgRow {\n position: absolute;\n width: 100%;\n left: 0;\n }\n\n .revo-draggable {\n $w: 24px;\n\n border: none;\n height: 32px;\n display: inline-flex;\n outline: 0;\n padding: 0;\n font-size: 0.8125rem;\n box-sizing: border-box;\n align-items: center;\n white-space: nowrap;\n vertical-align: middle;\n justify-content: center;\n text-decoration: none;\n width: $w;\n height: 100%;\n cursor: pointer;\n display: inline-flex;\n user-select: none; // 拖拽手柄需要禁用选择\n\n &:hover {\n > .revo-drag-icon {\n opacity: 1;\n zoom: 1.2;\n font-weight: 600;\n }\n }\n\n > .revo-drag-icon {\n pointer-events: none;\n transition:\n opacity 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n zoom 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n }\n }\n\n .rgCell {\n top: 0;\n left: 0;\n position: absolute;\n box-sizing: border-box;\n height: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n outline: none;\n user-select: text; // 允许选择单元格文本\n\n &.align-center {\n text-align: center;\n }\n &.align-left {\n text-align: left;\n }\n &.align-right {\n text-align: right;\n }\n }\n}\n","import {\n type VNode,\n Component,\n Host,\n Watch,\n Element,\n Event,\n Prop,\n EventEmitter,\n h,\n Method,\n State,\n} from '@stencil/core';\n\nimport ColumnService from './column.service';\nimport { DATA_COL, DATA_ROW, ROW_FOCUSED_CLASS } from '../../utils/consts';\n\nimport { type DSourceState, getSourceItem } from '@store';\nimport RowRenderer from './row-renderer';\nimport { isGrouping } from '../../plugins/groupingRow/grouping.service';\nimport type { AllDimensionType, CellTemplateProp, DimensionCols, DimensionRows } from '@type';\nimport { RowHighlightPlugin } from './row-highlight.plugin';\nimport { convertVNodeToHTML } from '../vnode/vnode.utils';\nimport { CellRenderer } from './cell-renderer';\nimport type {\n ViewportState,\n DimensionSettingsState,\n BeforeRowRenderEvent,\n Providers,\n ColumnRegular,\n DataType,\n CellProps,\n BeforeCellRenderEvent,\n DragStartEvent,\n VirtualPositionItem,\n RangeArea,\n SelectionStoreState,\n} from '@type';\nimport type { Observable } from '../../utils';\n\n/**\n * This component is responsible for rendering data\n * Rows, columns, groups and cells\n */\n@Component({\n tag: 'revogr-data',\n styleUrl: 'revogr-data-style.scss',\n})\nexport class RevogrData {\n // #region Properties\n /**\n * Readonly mode\n */\n @Prop() readonly: boolean;\n /**\n * Range allowed\n */\n @Prop() range: boolean;\n\n /**\n * Defines property from which to read row class\n */\n @Prop() rowClass: string;\n /**\n * Additional data to pass to renderer\n * Used in plugins such as vue or react to pass root app entity to cells\n */\n @Prop() additionalData: any;\n /**\n * Padding depth for grouping rows (in pixels per depth level)\n */\n @Prop() paddingDepth?: number;\n /** Stores */\n /** Selection, range, focus for row selection */\n @Prop() rowSelectionStore!: Observable<SelectionStoreState>;\n /** Viewport Y */\n @Prop() viewportRow!: Observable<ViewportState>;\n /** Viewport X */\n @Prop() viewportCol!: Observable<ViewportState>;\n /** Dimension settings Y */\n @Prop() dimensionRow!: Observable<DimensionSettingsState>;\n\n /** Static stores, not expected to change during component lifetime */\n /**\n * Column source\n */\n @Prop() colData!: Observable<DSourceState<ColumnRegular, DimensionCols>>;\n /**\n * Data rows source\n */\n @Prop() dataStore!: Observable<DSourceState<DataType, DimensionRows>>;\n /**\n * Row data type\n */\n @Prop({ reflect: true }) type!: DimensionRows;\n\n /**\n * Column data type\n */\n @Prop({ reflect: true }) colType!: DimensionCols | 'rowHeaders';\n\n /**\n * Prevent rendering until job is done.\n * Can be used for initial rendering performance improvement.\n * When several plugins require initial rendering this will prevent double initial rendering.\n */\n @Prop() jobsBeforeRender: (Promise<any> | (() => Promise<any>))[] = [];\n \n /**\n * Unique identifier for the data component\n * Used for tracking and debugging purposes\n */\n @Prop() uniqueId?: any;\n \n /**\n * Whether there are colPinEnd columns in the grid\n * Used to determine which column should get the last-column class\n */\n @Prop() hasColPinEnd?: boolean;\n \n /**\n * Whether there are rgCol columns in the grid\n * Used to determine which column should get the last-column class\n */\n @Prop() hasRgCol?: boolean;\n // #endregion\n\n /**\n * Before each row render\n */\n @Event() beforerowrender: EventEmitter<BeforeRowRenderEvent>;\n \n /**\n * When data render finished for the designated type\n */\n @Event() afterrender: EventEmitter<{ type: DimensionRows; colType: DimensionCols | 'rowHeaders' }>;\n /**\n * Before each cell render function. Allows to override cell properties\n */\n @Event({ eventName: 'beforecellrender' })\n beforeCellRender: EventEmitter<BeforeCellRenderEvent<CellTemplateProp>>;\n\n /**\n * Before data render\n */\n @Event({ eventName: 'beforedatarender' })\n beforeDataRender: EventEmitter<AllDimensionType>;\n /**\n * Event emitted on cell drag start\n */\n @Event({ eventName: 'dragstartcell' })\n dragStartCell: EventEmitter<DragStartEvent>;\n\n /**\n * Pointed cell update.\n */\n @Method() async updateCell(e: {\n row: number; // virtual\n col: number; // virtual\n }) {\n // Stencil tweak to update cell content\n const cell = this.renderedRows.get(e.row)?.$children$?.[e.col];\n if (cell?.$attrs$?.redraw) {\n const children = await convertVNodeToHTML(\n this.element,\n cell.$attrs$.redraw,\n );\n cell.$elm$.innerHTML = children.html;\n cell.$key$ = Math.random();\n }\n }\n\n @Element() element!: Element;\n @State() providers: Providers;\n private columnService: ColumnService;\n private rowHighlightPlugin: RowHighlightPlugin;\n /**\n * Rendered rows - virtual index vs vnode\n */\n private renderedRows = new Map<number, VNode>();\n private rangeUnsubscribe: (() => void) | undefined;\n private lastMismatchKey: string | null = null;\n private lastStableRows: VirtualPositionItem[] = [];\n private lastStableCols: VirtualPositionItem[] = [];\n private lastStableColumns: ColumnRegular[] = [];\n private lastRenderStateKey: string | null = null;\n\n @Watch('dataStore') onDataStoreChange() {\n this.onStoreChange();\n }\n @Watch('colData') onColDataChange() {\n this.onStoreChange();\n }\n onStoreChange() {\n this.columnService?.destroy();\n this.columnService = new ColumnService(this.dataStore, this.colData);\n // make sure we have correct data, before render\n this.providers = {\n type: this.type,\n colType: this.colType,\n readonly: this.readonly,\n data: this.dataStore,\n columns: this.colData,\n viewport: this.viewportCol,\n dimension: this.dimensionRow,\n selection: this.rowSelectionStore,\n };\n\n this.rangeUnsubscribe?.();\n this.rangeUnsubscribe = this.rowSelectionStore.onChange(\n 'range',\n (e: RangeArea) =>\n this.rowHighlightPlugin.selectionChange(e, this.renderedRows),\n );\n }\n\n connectedCallback() {\n this.rowHighlightPlugin = new RowHighlightPlugin();\n this.onStoreChange();\n }\n\n disconnectedCallback() {\n this.columnService?.destroy();\n this.rangeUnsubscribe?.();\n }\n\n\n async componentWillRender() {\n this.beforeDataRender.emit({\n rowType: this.type,\n colType: this.colType as DimensionCols,\n });\n const grid = this.element?.closest('revo-grid');\n const waitForColumnsUpdate = () => {\n if (!grid) return null;\n if (!grid.hasAttribute('data-columns-updating')) return null;\n // console.log('[data] wait columns update', {\n // colType: this.colType,\n // time: performance.now(),\n // });\n return new Promise<void>(resolve => {\n grid.addEventListener(\n 'columnsupdateend',\n () => {\n // console.log('[data] columns update end', {\n // colType: this.colType,\n // time: performance.now(),\n // });\n resolve();\n },\n { once: true },\n );\n });\n };\n const waitForDataUpdate = () => {\n if (!grid) return null;\n if (!grid.hasAttribute('data-rows-updating')) return null;\n // console.log('[data] wait rows update', {\n // colType: this.colType,\n // time: performance.now(),\n // });\n return new Promise<void>(resolve => {\n grid.addEventListener(\n 'dataupdateend',\n () => {\n // console.log('[data] rows update end', {\n // colType: this.colType,\n // time: performance.now(),\n // });\n resolve();\n },\n { once: true },\n );\n });\n };\n const pending = [waitForColumnsUpdate(), waitForDataUpdate(), ...this.jobsBeforeRender.map(p => typeof p === 'function' ? p() : p)].filter(Boolean);\n return Promise.all(pending as Promise<any>[]);\n }\n\n componentDidRender() {\n this.afterrender.emit({ type: this.type, colType: this.colType });\n }\n\n render() {\n this.renderedRows = new Map();\n // always start from live columns, override only when fallback is needed\n this.columnService.setOverrideColumns(null);\n const colVersion = this.colData?.get('version');\n const viewportVersion = this.viewportCol?.get('version');\n const isSynced =\n colVersion === undefined ||\n viewportVersion === undefined ||\n colVersion === viewportVersion;\n const columnsData = this.columnService.columns;\n const rows = this.viewportRow.get('items');\n const cols = this.viewportCol.get('items');\n const hasInvalidColIndex = cols.some(col => !columnsData[col.itemIndex]);\n if (hasInvalidColIndex) {\n const colSource = this.colData?.get('source') || [];\n const colItems = this.colData?.get('items') || [];\n const missingIndexes = cols\n .filter(col => !columnsData[col.itemIndex])\n .map(col => col.itemIndex);\n const mismatchKey = JSON.stringify({\n colType: this.colType,\n missing: missingIndexes.slice(0, 10),\n cols: cols.length,\n columnsData: columnsData.length,\n colItems: colItems.length,\n colSource: colSource.length,\n });\n if (mismatchKey !== this.lastMismatchKey) {\n this.lastMismatchKey = mismatchKey;\n console.warn('[data] column index mismatch', {\n colType: this.colType,\n type: this.type,\n missingIndexes: missingIndexes.slice(0, 10),\n colsLength: cols.length,\n columnsDataLength: columnsData.length,\n colItemsLength: colItems.length,\n colSourceLength: colSource.length,\n colItemsHead: colItems.slice(0, 10),\n colPropsHead: columnsData\n .slice(0, 10)\n .map(col => col?.prop),\n viewportItemsHead: cols.slice(0, 10).map(col => col.itemIndex),\n });\n }\n }\n const hasColumns = columnsData.length > 0;\n const hasCols = cols.length > 0;\n const isEmptyColumns = !hasColumns && !hasCols;\n const gridElement = this.element?.closest('revo-grid');\n const isUpdating =\n !!gridElement?.hasAttribute('data-columns-updating') ||\n !!gridElement?.hasAttribute('data-rows-updating');\n // 主区域在更新中不允许空列,避免取消冻结时主视口短暂清空导致闪烁\n const allowEmptyColumns = this.colType !== 'rgCol' || !isUpdating;\n const canUseCurrent =\n isSynced &&\n rows.length > 0 &&\n ((hasColumns && hasCols) || (isEmptyColumns && allowEmptyColumns)) &&\n !hasInvalidColIndex;\n const usingFallback = !canUseCurrent;\n if (this.colType === 'rgCol' && this.type === 'rgRow' && (isUpdating || usingFallback || hasInvalidColIndex)) {\n const renderStateKey = JSON.stringify({\n isUpdating,\n isSynced,\n colVersion,\n viewportVersion,\n rows: rows.length,\n cols: cols.length,\n columns: columnsData.length,\n hasInvalidColIndex,\n usingFallback,\n rowRealCount: this.viewportRow.get('realCount'),\n rowVirtualSize: this.viewportRow.get('virtualSize'),\n rowClientSize: this.viewportRow.get('clientSize'),\n });\n if (renderStateKey !== this.lastRenderStateKey) {\n this.lastRenderStateKey = renderStateKey;\n // console.log('[data] render state', {\n // colType: this.colType,\n // rowType: this.type,\n // isUpdating,\n // isSynced,\n // colVersion,\n // viewportVersion,\n // rowsLength: rows.length,\n // colsLength: cols.length,\n // columnsLength: columnsData.length,\n // hasInvalidColIndex,\n // usingFallback,\n // rowRealCount: this.viewportRow.get('realCount'),\n // rowVirtualSize: this.viewportRow.get('virtualSize'),\n // rowClientSize: this.viewportRow.get('clientSize'),\n // });\n }\n }\n const activeColumns = canUseCurrent ? columnsData : this.lastStableColumns;\n const activeRows = canUseCurrent ? rows : this.lastStableRows;\n const activeCols = canUseCurrent ? cols : this.lastStableCols;\n if (canUseCurrent) {\n this.lastStableColumns = [...columnsData];\n this.lastStableRows = [...rows];\n this.lastStableCols = [...cols];\n }\n if (!canUseCurrent && activeColumns.length) {\n this.columnService.setOverrideColumns(activeColumns);\n }\n if (!activeColumns.length || !activeRows.length || !activeCols.length) {\n return;\n }\n const rowsEls: VNode[] = [];\n for (let rgRow of activeRows) {\n const dataItem = getSourceItem(this.dataStore, rgRow.itemIndex);\n\n // #region Grouping\n // Render empty grouping rows (for borders) - content is in the overlay\n if (isGrouping(dataItem)) {\n const emptyRow = (\n <RowRenderer\n index={rgRow.itemIndex}\n rowClass=\"groupingRow\"\n size={rgRow.size}\n start={rgRow.start}\n />\n );\n this.beforerowrender.emit({\n node: emptyRow,\n item: rgRow,\n model: dataItem,\n colType: this.columnService.type,\n rowType: this.type,\n });\n rowsEls.push(emptyRow);\n this.renderedRows.set(rgRow.itemIndex, emptyRow);\n continue;\n }\n // #endregion\n const cells: (VNode | string | void)[] = [];\n\n // #region Cells\n // 判断是否需要给最后一列添加类名\n const lastColIndex = activeCols.length > 0 ? activeCols[activeCols.length - 1].itemIndex : -1;\n \n // 使用传入的 hasColPinEnd prop,如果没有传入则默认为 false\n const hasColPinEnd = this.hasColPinEnd ?? false;\n const hasRgCol = this.hasRgCol ?? false;\n \n for (let rgCol of activeCols) {\n const smodel: CellTemplateProp = {\n ...this.columnService.rowDataModel(\n rgRow.itemIndex,\n rgCol.itemIndex,\n ),\n providers: this.providers,\n };\n\n // call before cell render\n const cellEvent = this.triggerBeforeCellRender(smodel, rgRow, rgCol);\n\n // if event was prevented\n if (cellEvent.defaultPrevented) {\n continue;\n }\n\n const {\n detail: { column: columnProps, row: rowProps, model: schemaModel },\n } = cellEvent;\n\n const defaultProps: CellProps = {\n [DATA_COL]: columnProps.itemIndex,\n [DATA_ROW]: rowProps.itemIndex,\n style: {\n width: `${columnProps.size}px`,\n transform: `translateX(${columnProps.start}px)`,\n height: rowProps.size ? `${rowProps.size}px` : undefined,\n },\n };\n \n // 判断是否是最后一列并添加类名\n const isLastColumn = rgCol.itemIndex === lastColIndex;\n if (isLastColumn) {\n // 只在以下情况添加类名:\n // 1. 有右侧冻结列时,只给 colPinEnd 类型的最后一列加\n // 2. 没有右侧冻结列但有主区域时,只给 rgCol 类型的最后一列加\n // 3. 没有右侧冻结列也没有主区域时(全左冻结),给 colPinStart 类型的最后一列加\n const shouldAddClass = \n (hasColPinEnd && this.colType === 'colPinEnd') || \n (!hasColPinEnd && hasRgCol && this.colType === 'rgCol') ||\n (!hasColPinEnd && !hasRgCol && this.colType === 'colPinStart');\n \n if (shouldAddClass) {\n defaultProps.class = { 'last-column': true };\n }\n }\n\n const props = this.columnService.mergeProperties(\n rowProps.itemIndex,\n columnProps.itemIndex,\n defaultProps,\n schemaModel,\n );\n\n // Never use webcomponent for cell render\n // It's very slow because of webcomponent initialization takes time\n const cellNode = <CellRenderer\n renderProps={{\n schemaModel,\n additionalData: this.additionalData,\n dragStartCell: this.dragStartCell,\n }}\n cellProps={props}\n />;\n cells.push(cellNode);\n }\n // #endregion\n\n // #region Rows\n let rowClass = this.rowClass\n ? this.columnService.getRowClass(rgRow.itemIndex, this.rowClass)\n : '';\n if (this.rowHighlightPlugin.isRowFocused(rgRow.itemIndex)) {\n rowClass += ` ${ROW_FOCUSED_CLASS}`;\n }\n const row: VNode = (\n <RowRenderer\n index={rgRow.itemIndex}\n rowClass={rowClass}\n size={rgRow.size}\n start={rgRow.start}\n >\n {cells}\n </RowRenderer>\n );\n this.beforerowrender.emit({\n node: row,\n item: rgRow,\n model: dataItem,\n colType: this.columnService.type,\n rowType: this.type,\n });\n rowsEls.push(row);\n this.renderedRows.set(rgRow.itemIndex, row);\n // #endregion\n }\n const hostAttrs: any = {};\n if (this.uniqueId !== undefined) {\n hostAttrs['data-unique-id'] = this.uniqueId;\n }\n\n const renderVNode = (\n <Host {...hostAttrs}>\n <slot />\n {rowsEls}\n </Host>\n );\n return renderVNode;\n }\n\n triggerBeforeCellRender(\n model: CellTemplateProp,\n row: VirtualPositionItem,\n column: VirtualPositionItem,\n ) {\n const detail: BeforeCellRenderEvent<CellTemplateProp> = {\n column,\n row,\n model,\n rowType: model.type,\n colType: model.colType,\n };\n return this.beforeCellRender.emit(detail);\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../dist/types/components";
|
|
2
|
+
|
|
3
|
+
interface RevogrEdit extends Components.RevogrEdit, HTMLElement {}
|
|
4
|
+
export const RevogrEdit: {
|
|
5
|
+
prototype: RevogrEdit;
|
|
6
|
+
new (): RevogrEdit;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
import { R as RevoEdit, n as defineCustomElement$1 } from './revogr-edit2.js';
|
|
5
|
+
|
|
6
|
+
const RevogrEdit = RevoEdit;
|
|
7
|
+
const defineCustomElement = defineCustomElement$1;
|
|
8
|
+
|
|
9
|
+
export { RevogrEdit, defineCustomElement };
|
|
10
|
+
//# sourceMappingURL=revogr-edit.js.map
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=revogr-edit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"revogr-edit.js","mappings":";;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|