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,525 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
import { a3 as getNative, a4 as baseIteratee, Y as isArray, M as MIN_COL_SIZE, x as DATA_COL, B as HEADER_SORTABLE_CLASS, H as HEADER_CLASS, J as FOCUS_CLASS, q as scaleValue } from './dimension.helpers-DDil7Dg0.js';
|
|
5
|
+
import { R as baseEach, X as HeaderCellRenderer } from './header-cell-renderer-BVHTuFGE.js';
|
|
6
|
+
import { h } from './index-Dyptvvxf.js';
|
|
7
|
+
import { c as FilterButton } from './filter.button-DmOE7VCJ.js';
|
|
8
|
+
import { S as SortingSign } from './row-renderer-sb6QTqH-.js';
|
|
9
|
+
import { d as debounce, a as isObject } from './debounce-BfO9dz9v.js';
|
|
10
|
+
|
|
11
|
+
var defineProperty = (function() {
|
|
12
|
+
try {
|
|
13
|
+
var func = getNative(Object, 'defineProperty');
|
|
14
|
+
func({}, '', {});
|
|
15
|
+
return func;
|
|
16
|
+
} catch (e) {}
|
|
17
|
+
}());
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The base implementation of `assignValue` and `assignMergeValue` without
|
|
21
|
+
* value checks.
|
|
22
|
+
*
|
|
23
|
+
* @private
|
|
24
|
+
* @param {Object} object The object to modify.
|
|
25
|
+
* @param {string} key The key of the property to assign.
|
|
26
|
+
* @param {*} value The value to assign.
|
|
27
|
+
*/
|
|
28
|
+
function baseAssignValue(object, key, value) {
|
|
29
|
+
if (key == '__proto__' && defineProperty) {
|
|
30
|
+
defineProperty(object, key, {
|
|
31
|
+
'configurable': true,
|
|
32
|
+
'enumerable': true,
|
|
33
|
+
'value': value,
|
|
34
|
+
'writable': true
|
|
35
|
+
});
|
|
36
|
+
} else {
|
|
37
|
+
object[key] = value;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* A specialized version of `baseAggregator` for arrays.
|
|
43
|
+
*
|
|
44
|
+
* @private
|
|
45
|
+
* @param {Array} [array] The array to iterate over.
|
|
46
|
+
* @param {Function} setter The function to set `accumulator` values.
|
|
47
|
+
* @param {Function} iteratee The iteratee to transform keys.
|
|
48
|
+
* @param {Object} accumulator The initial aggregated object.
|
|
49
|
+
* @returns {Function} Returns `accumulator`.
|
|
50
|
+
*/
|
|
51
|
+
function arrayAggregator(array, setter, iteratee, accumulator) {
|
|
52
|
+
var index = -1,
|
|
53
|
+
length = array == null ? 0 : array.length;
|
|
54
|
+
|
|
55
|
+
while (++index < length) {
|
|
56
|
+
var value = array[index];
|
|
57
|
+
setter(accumulator, value, iteratee(value), array);
|
|
58
|
+
}
|
|
59
|
+
return accumulator;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Aggregates elements of `collection` on `accumulator` with keys transformed
|
|
64
|
+
* by `iteratee` and values set by `setter`.
|
|
65
|
+
*
|
|
66
|
+
* @private
|
|
67
|
+
* @param {Array|Object} collection The collection to iterate over.
|
|
68
|
+
* @param {Function} setter The function to set `accumulator` values.
|
|
69
|
+
* @param {Function} iteratee The iteratee to transform keys.
|
|
70
|
+
* @param {Object} accumulator The initial aggregated object.
|
|
71
|
+
* @returns {Function} Returns `accumulator`.
|
|
72
|
+
*/
|
|
73
|
+
function baseAggregator(collection, setter, iteratee, accumulator) {
|
|
74
|
+
baseEach(collection, function(value, key, collection) {
|
|
75
|
+
setter(accumulator, value, iteratee(value), collection);
|
|
76
|
+
});
|
|
77
|
+
return accumulator;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Creates a function like `_.groupBy`.
|
|
82
|
+
*
|
|
83
|
+
* @private
|
|
84
|
+
* @param {Function} setter The function to set accumulator values.
|
|
85
|
+
* @param {Function} [initializer] The accumulator object initializer.
|
|
86
|
+
* @returns {Function} Returns the new aggregator function.
|
|
87
|
+
*/
|
|
88
|
+
function createAggregator(setter, initializer) {
|
|
89
|
+
return function(collection, iteratee) {
|
|
90
|
+
var func = isArray(collection) ? arrayAggregator : baseAggregator,
|
|
91
|
+
accumulator = initializer ? initializer() : {};
|
|
92
|
+
|
|
93
|
+
return func(collection, setter, baseIteratee(iteratee), accumulator);
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Creates an object composed of keys generated from the results of running
|
|
99
|
+
* each element of `collection` thru `iteratee`. The corresponding value of
|
|
100
|
+
* each key is the last element responsible for generating the key. The
|
|
101
|
+
* iteratee is invoked with one argument: (value).
|
|
102
|
+
*
|
|
103
|
+
* @static
|
|
104
|
+
* @memberOf _
|
|
105
|
+
* @since 4.0.0
|
|
106
|
+
* @category Collection
|
|
107
|
+
* @param {Array|Object} collection The collection to iterate over.
|
|
108
|
+
* @param {Function} [iteratee=_.identity] The iteratee to transform keys.
|
|
109
|
+
* @returns {Object} Returns the composed aggregate object.
|
|
110
|
+
* @example
|
|
111
|
+
*
|
|
112
|
+
* var array = [
|
|
113
|
+
* { 'dir': 'left', 'code': 97 },
|
|
114
|
+
* { 'dir': 'right', 'code': 100 }
|
|
115
|
+
* ];
|
|
116
|
+
*
|
|
117
|
+
* _.keyBy(array, function(o) {
|
|
118
|
+
* return String.fromCharCode(o.code);
|
|
119
|
+
* });
|
|
120
|
+
* // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
|
|
121
|
+
*
|
|
122
|
+
* _.keyBy(array, 'dir');
|
|
123
|
+
* // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }
|
|
124
|
+
*/
|
|
125
|
+
var keyBy = createAggregator(function(result, value, key) {
|
|
126
|
+
baseAssignValue(result, key, value);
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
const HeaderRenderer = (p) => {
|
|
130
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
131
|
+
const cellClass = {
|
|
132
|
+
[HEADER_CLASS]: true,
|
|
133
|
+
[HEADER_SORTABLE_CLASS]: !!((_a = p.data) === null || _a === void 0 ? void 0 : _a.sortable),
|
|
134
|
+
'merged-header': !!p.merged,
|
|
135
|
+
'grouped-cell': !!p.isGrouped, // 添加编组标识类名
|
|
136
|
+
'last-column': !!p.isLastColumn, // 添加最后一列类名
|
|
137
|
+
};
|
|
138
|
+
if ((_b = p.data) === null || _b === void 0 ? void 0 : _b.order) {
|
|
139
|
+
cellClass[p.data.order] = true;
|
|
140
|
+
}
|
|
141
|
+
// 添加对齐类
|
|
142
|
+
if ((_c = p.data) === null || _c === void 0 ? void 0 : _c.headerAlign) {
|
|
143
|
+
cellClass[`align-${p.data.headerAlign}`] = true;
|
|
144
|
+
}
|
|
145
|
+
// 计算样式
|
|
146
|
+
const style = {
|
|
147
|
+
width: `${p.column.size}px`,
|
|
148
|
+
transform: `translateX(${p.column.start}px)`,
|
|
149
|
+
};
|
|
150
|
+
// 如果是合并单元格,设置高度(跨越多行)
|
|
151
|
+
// 使用 CSS 变量计算:单行表头高度 / 2 * (分组深度 + 1)
|
|
152
|
+
if (p.merged && p.groupingDepth) {
|
|
153
|
+
style.height = `calc(var(--rg-header-row-height, 45px) / 2 * ${p.groupingDepth + 1})`;
|
|
154
|
+
}
|
|
155
|
+
const dataProps = {
|
|
156
|
+
[DATA_COL]: p.column.itemIndex,
|
|
157
|
+
'data-grouping-depth': (_d = p.groupingDepth) !== null && _d !== void 0 ? _d : 0,
|
|
158
|
+
canResize: p.canResize,
|
|
159
|
+
minWidth: ((_e = p.data) === null || _e === void 0 ? void 0 : _e.minSize) || MIN_COL_SIZE,
|
|
160
|
+
maxWidth: (_f = p.data) === null || _f === void 0 ? void 0 : _f.maxSize,
|
|
161
|
+
active: p.active || ['r'],
|
|
162
|
+
class: cellClass,
|
|
163
|
+
style,
|
|
164
|
+
onResize: p.onResize,
|
|
165
|
+
onDblClick(originalEvent) {
|
|
166
|
+
var _a, _b;
|
|
167
|
+
// 检查列配置是否允许双击事件,默认为 true
|
|
168
|
+
if (((_a = p.data) === null || _a === void 0 ? void 0 : _a.canDblClick) === false) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
// 检查是否点击在 resize 区域
|
|
172
|
+
const target = originalEvent.target;
|
|
173
|
+
// 1. 检查是否直接点击了 resize 元素
|
|
174
|
+
if (target.classList.contains('resizable') ||
|
|
175
|
+
target.classList.contains('resizable-r') ||
|
|
176
|
+
target.classList.contains('resizable-l') ||
|
|
177
|
+
target.classList.contains('no-resize')) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
// 2. 检查是否点击在单元格右边缘的 resize 区域(14px范围)
|
|
181
|
+
const cell = target.closest('.rgHeaderCell');
|
|
182
|
+
if (cell) {
|
|
183
|
+
const rect = cell.getBoundingClientRect();
|
|
184
|
+
const clickX = originalEvent.clientX;
|
|
185
|
+
const resizeZoneWidth = 14;
|
|
186
|
+
// 如果点击位置在右边缘14px范围内,不触发双击
|
|
187
|
+
if (clickX >= rect.right - resizeZoneWidth) {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
(_b = p.onDblClick) === null || _b === void 0 ? void 0 : _b.call(p, {
|
|
192
|
+
column: p.data,
|
|
193
|
+
index: p.column.itemIndex,
|
|
194
|
+
originalEvent,
|
|
195
|
+
providers: p.data.providers,
|
|
196
|
+
});
|
|
197
|
+
},
|
|
198
|
+
onClick(originalEvent) {
|
|
199
|
+
if (originalEvent.defaultPrevented || !p.onClick) {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
p.onClick({
|
|
203
|
+
column: p.data,
|
|
204
|
+
index: p.column.itemIndex,
|
|
205
|
+
originalEvent,
|
|
206
|
+
providers: p.data.providers,
|
|
207
|
+
});
|
|
208
|
+
},
|
|
209
|
+
};
|
|
210
|
+
if (p.range) {
|
|
211
|
+
if (p.column.itemIndex >= p.range.x && p.column.itemIndex <= p.range.x1) {
|
|
212
|
+
if (typeof dataProps.class === 'object') {
|
|
213
|
+
dataProps.class[FOCUS_CLASS] = true;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return (h(HeaderCellRenderer, { data: p.data, props: dataProps, additionalData: p.additionalData },
|
|
218
|
+
h(SortingSign, { column: p.data }),
|
|
219
|
+
p.canFilter && ((_g = p.data) === null || _g === void 0 ? void 0 : _g.filter) !== false ? (h(FilterButton, { column: p.data })) : ('')));
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
const HeaderGroupRenderer = (p) => {
|
|
223
|
+
const cellClass = {
|
|
224
|
+
[HEADER_CLASS]: true,
|
|
225
|
+
'group-header': true, // 编组表头专用类名
|
|
226
|
+
'last-column': !!p.isLastColumn, // 添加最后一列类名
|
|
227
|
+
};
|
|
228
|
+
const groupProps = {
|
|
229
|
+
[DATA_COL]: p.group.indexes[0], // 使用分组下第一个列的索引
|
|
230
|
+
canResize: p.canResize,
|
|
231
|
+
minWidth: p.group.indexes.length * MIN_COL_SIZE,
|
|
232
|
+
maxWidth: 0,
|
|
233
|
+
active: p.active || ['r'],
|
|
234
|
+
class: cellClass,
|
|
235
|
+
style: {
|
|
236
|
+
transform: `translateX(${p.start}px)`,
|
|
237
|
+
width: `${p.end - p.start}px`,
|
|
238
|
+
},
|
|
239
|
+
onResize: p.onResize,
|
|
240
|
+
};
|
|
241
|
+
return (h(HeaderCellRenderer, { data: Object.assign(Object.assign({}, p.group), { prop: '', providers: p.providers, index: p.start, draggable: false }), props: groupProps, additionalData: p.additionalData }));
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
const initialParams = {
|
|
245
|
+
contentSize: 0,
|
|
246
|
+
clientSize: 0,
|
|
247
|
+
virtualSize: 0,
|
|
248
|
+
maxSize: 0,
|
|
249
|
+
};
|
|
250
|
+
const NO_COORDINATE = -1;
|
|
251
|
+
/**
|
|
252
|
+
* Based on content size, client size and virtual size
|
|
253
|
+
* return full size
|
|
254
|
+
*/
|
|
255
|
+
function getContentSize(contentSize, clientSize, virtualSize = 0) {
|
|
256
|
+
if (virtualSize > contentSize) {
|
|
257
|
+
return 0;
|
|
258
|
+
}
|
|
259
|
+
return contentSize + (virtualSize ? clientSize - virtualSize : 0);
|
|
260
|
+
}
|
|
261
|
+
class LocalScrollService {
|
|
262
|
+
constructor(cfg) {
|
|
263
|
+
this.cfg = cfg;
|
|
264
|
+
this.preventArtificialScroll = {
|
|
265
|
+
rgRow: null,
|
|
266
|
+
rgCol: null,
|
|
267
|
+
};
|
|
268
|
+
// to check if scroll changed
|
|
269
|
+
this.previousScroll = {
|
|
270
|
+
rgRow: NO_COORDINATE,
|
|
271
|
+
rgCol: NO_COORDINATE,
|
|
272
|
+
};
|
|
273
|
+
this.params = {
|
|
274
|
+
rgRow: Object.assign({}, initialParams),
|
|
275
|
+
rgCol: Object.assign({}, initialParams),
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
setParams(params, dimension) {
|
|
279
|
+
const virtualContentSize = getContentSize(params.contentSize, params.clientSize, params.virtualSize);
|
|
280
|
+
this.params[dimension] = Object.assign(Object.assign({}, params), { maxSize: virtualContentSize - params.clientSize, virtualContentSize });
|
|
281
|
+
}
|
|
282
|
+
// apply scroll values after scroll done
|
|
283
|
+
async setScroll(e) {
|
|
284
|
+
this.cancelScroll(e.dimension);
|
|
285
|
+
// Outside scroll synchronization (e.g. newly mounted viewport replay)
|
|
286
|
+
// should be applied immediately to avoid one-frame jump/blank flash.
|
|
287
|
+
if (e.outside) {
|
|
288
|
+
const params = this.getParams(e.dimension);
|
|
289
|
+
e.coordinate = Math.ceil(e.coordinate);
|
|
290
|
+
this.previousScroll[e.dimension] = this.wrapCoordinate(e.coordinate, params);
|
|
291
|
+
this.preventArtificialScroll[e.dimension] = null;
|
|
292
|
+
this.cfg.applyScroll(Object.assign(Object.assign({}, e), { coordinate: params.virtualSize
|
|
293
|
+
? this.convert(e.coordinate, params, false)
|
|
294
|
+
: e.coordinate }));
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
// start frame animation
|
|
298
|
+
const frameAnimation = new Promise((resolve, reject) => {
|
|
299
|
+
// for example safari desktop has issues with animation frame
|
|
300
|
+
if (this.cfg.skipAnimationFrame) {
|
|
301
|
+
return resolve();
|
|
302
|
+
}
|
|
303
|
+
const animationId = window.requestAnimationFrame(() => {
|
|
304
|
+
resolve();
|
|
305
|
+
});
|
|
306
|
+
this.preventArtificialScroll[e.dimension] = reject.bind(null, animationId);
|
|
307
|
+
});
|
|
308
|
+
try {
|
|
309
|
+
await frameAnimation;
|
|
310
|
+
const params = this.getParams(e.dimension);
|
|
311
|
+
e.coordinate = Math.ceil(e.coordinate);
|
|
312
|
+
this.previousScroll[e.dimension] = this.wrapCoordinate(e.coordinate, params);
|
|
313
|
+
this.preventArtificialScroll[e.dimension] = null;
|
|
314
|
+
this.cfg.applyScroll(Object.assign(Object.assign({}, e), { coordinate: params.virtualSize
|
|
315
|
+
? this.convert(e.coordinate, params, false)
|
|
316
|
+
: e.coordinate }));
|
|
317
|
+
}
|
|
318
|
+
catch (id) {
|
|
319
|
+
window.cancelAnimationFrame(id);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* On scroll event started
|
|
324
|
+
*/
|
|
325
|
+
scroll(coordinate, dimension, force = false, delta, outside = false) {
|
|
326
|
+
// cancel all previous scrolls for same dimension
|
|
327
|
+
this.cancelScroll(dimension);
|
|
328
|
+
// drop if no change
|
|
329
|
+
if (!force && this.previousScroll[dimension] === coordinate) {
|
|
330
|
+
this.previousScroll[dimension] = NO_COORDINATE;
|
|
331
|
+
return;
|
|
332
|
+
}
|
|
333
|
+
const param = this.getParams(dimension);
|
|
334
|
+
// let component know about scroll event started
|
|
335
|
+
this.cfg.runScroll({
|
|
336
|
+
dimension: dimension,
|
|
337
|
+
coordinate: param.virtualSize
|
|
338
|
+
? this.convert(coordinate, param)
|
|
339
|
+
: coordinate,
|
|
340
|
+
delta,
|
|
341
|
+
outside,
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
getParams(dimension) {
|
|
345
|
+
return this.params[dimension];
|
|
346
|
+
}
|
|
347
|
+
// check if scroll outside of region to avoid looping
|
|
348
|
+
wrapCoordinate(c, param) {
|
|
349
|
+
if (c < 0) {
|
|
350
|
+
return NO_COORDINATE;
|
|
351
|
+
}
|
|
352
|
+
if (typeof param.maxSize === 'number' && c > param.maxSize) {
|
|
353
|
+
return param.maxSize;
|
|
354
|
+
}
|
|
355
|
+
return c;
|
|
356
|
+
}
|
|
357
|
+
// prevent already started scroll, performance optimization
|
|
358
|
+
cancelScroll(dimension) {
|
|
359
|
+
var _a, _b;
|
|
360
|
+
(_b = (_a = this.preventArtificialScroll)[dimension]) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
361
|
+
this.preventArtificialScroll[dimension] = null;
|
|
362
|
+
}
|
|
363
|
+
/* convert virtual to real and back, scale range */
|
|
364
|
+
convert(pos, param, toReal = true) {
|
|
365
|
+
var _a;
|
|
366
|
+
const minRange = param.clientSize;
|
|
367
|
+
const from = [0, ((_a = param.virtualContentSize) !== null && _a !== void 0 ? _a : minRange) - minRange];
|
|
368
|
+
const to = [0, param.contentSize - param.virtualSize];
|
|
369
|
+
if (toReal) {
|
|
370
|
+
return scaleValue(pos, from, to);
|
|
371
|
+
}
|
|
372
|
+
return scaleValue(pos, to, from);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* Apply changes only if mousewheel event happened some time ago (scrollThrottling)
|
|
378
|
+
*/
|
|
379
|
+
class LocalScrollTimer {
|
|
380
|
+
constructor(scrollThrottling = 10) {
|
|
381
|
+
this.scrollThrottling = scrollThrottling;
|
|
382
|
+
/**
|
|
383
|
+
* Last mw event time for trigger scroll function below
|
|
384
|
+
* If mousewheel function was ignored we still need to trigger render
|
|
385
|
+
*/
|
|
386
|
+
this.mouseWheelScrollTimestamp = {
|
|
387
|
+
rgCol: 0,
|
|
388
|
+
rgRow: 0,
|
|
389
|
+
};
|
|
390
|
+
this.lastKnownScrollCoordinate = {
|
|
391
|
+
rgCol: 0,
|
|
392
|
+
rgRow: 0,
|
|
393
|
+
};
|
|
394
|
+
/**
|
|
395
|
+
* Check if scroll is ready to accept new value
|
|
396
|
+
* this is an edge case for scroll events
|
|
397
|
+
* when we need to apply scroll after throttling
|
|
398
|
+
*/
|
|
399
|
+
this.lastScrollUpdateCallbacks = {};
|
|
400
|
+
}
|
|
401
|
+
setCoordinate(e) {
|
|
402
|
+
this.lastKnownScrollCoordinate[e.dimension] = e.coordinate;
|
|
403
|
+
// 程序化/应用滚动应使任何延迟回调失效
|
|
404
|
+
// 使用较旧的坐标排队,以避免过时的回弹更新。
|
|
405
|
+
this.clearLastScrollUpdate(e.dimension);
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* Remember last mw event time
|
|
409
|
+
*/
|
|
410
|
+
latestScrollUpdate(dimension) {
|
|
411
|
+
this.mouseWheelScrollTimestamp[dimension] = new Date().getTime();
|
|
412
|
+
}
|
|
413
|
+
isReady(type, coordinate) {
|
|
414
|
+
// if there is a callback, clear it
|
|
415
|
+
if (this.lastScrollUpdateCallbacks[type]) {
|
|
416
|
+
this.clearLastScrollUpdate(type);
|
|
417
|
+
}
|
|
418
|
+
// apply after throttling
|
|
419
|
+
return this.verifyChange(type, coordinate);
|
|
420
|
+
}
|
|
421
|
+
verifyChange(type, coordinate) {
|
|
422
|
+
const now = new Date().getTime();
|
|
423
|
+
const change = now - this.mouseWheelScrollTimestamp[type];
|
|
424
|
+
return change > this.scrollThrottling &&
|
|
425
|
+
coordinate !== this.lastKnownScrollCoordinate[type];
|
|
426
|
+
}
|
|
427
|
+
clearLastScrollUpdate(type) {
|
|
428
|
+
var _a, _b;
|
|
429
|
+
clearTimeout((_b = (_a = this.lastScrollUpdateCallbacks[type]) === null || _a === void 0 ? void 0 : _a.timeout) !== null && _b !== void 0 ? _b : 0);
|
|
430
|
+
delete this.lastScrollUpdateCallbacks[type];
|
|
431
|
+
}
|
|
432
|
+
throttleLastScrollUpdate(type, coordinate, lastScrollUpdate) {
|
|
433
|
+
// if scrollThrottling is set
|
|
434
|
+
// we need to throttle the last scroll event
|
|
435
|
+
if (this.scrollThrottling) {
|
|
436
|
+
this.clearLastScrollUpdate(type);
|
|
437
|
+
// save lastScrollUpdate callback
|
|
438
|
+
const callback = this.lastScrollUpdateCallbacks[type] = {
|
|
439
|
+
callback: lastScrollUpdate,
|
|
440
|
+
timestamp: new Date().getTime(),
|
|
441
|
+
coordinate,
|
|
442
|
+
timeout: 0,
|
|
443
|
+
};
|
|
444
|
+
callback.timeout = setTimeout(() => {
|
|
445
|
+
// clear timeout
|
|
446
|
+
this.clearLastScrollUpdate(type);
|
|
447
|
+
// if scrollThrottling is set, and the last scroll event happened before the timeout started
|
|
448
|
+
// we need to throttle the last scroll event
|
|
449
|
+
if (this.mouseWheelScrollTimestamp[type] < callback.timestamp && this.verifyChange(type, callback.coordinate)) {
|
|
450
|
+
callback.callback();
|
|
451
|
+
}
|
|
452
|
+
}, this.scrollThrottling + 50);
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
/** Error message constants. */
|
|
458
|
+
var FUNC_ERROR_TEXT = 'Expected a function';
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* Creates a throttled function that only invokes `func` at most once per
|
|
462
|
+
* every `wait` milliseconds. The throttled function comes with a `cancel`
|
|
463
|
+
* method to cancel delayed `func` invocations and a `flush` method to
|
|
464
|
+
* immediately invoke them. Provide `options` to indicate whether `func`
|
|
465
|
+
* should be invoked on the leading and/or trailing edge of the `wait`
|
|
466
|
+
* timeout. The `func` is invoked with the last arguments provided to the
|
|
467
|
+
* throttled function. Subsequent calls to the throttled function return the
|
|
468
|
+
* result of the last `func` invocation.
|
|
469
|
+
*
|
|
470
|
+
* **Note:** If `leading` and `trailing` options are `true`, `func` is
|
|
471
|
+
* invoked on the trailing edge of the timeout only if the throttled function
|
|
472
|
+
* is invoked more than once during the `wait` timeout.
|
|
473
|
+
*
|
|
474
|
+
* If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
|
|
475
|
+
* until to the next tick, similar to `setTimeout` with a timeout of `0`.
|
|
476
|
+
*
|
|
477
|
+
* See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
|
|
478
|
+
* for details over the differences between `_.throttle` and `_.debounce`.
|
|
479
|
+
*
|
|
480
|
+
* @static
|
|
481
|
+
* @memberOf _
|
|
482
|
+
* @since 0.1.0
|
|
483
|
+
* @category Function
|
|
484
|
+
* @param {Function} func The function to throttle.
|
|
485
|
+
* @param {number} [wait=0] The number of milliseconds to throttle invocations to.
|
|
486
|
+
* @param {Object} [options={}] The options object.
|
|
487
|
+
* @param {boolean} [options.leading=true]
|
|
488
|
+
* Specify invoking on the leading edge of the timeout.
|
|
489
|
+
* @param {boolean} [options.trailing=true]
|
|
490
|
+
* Specify invoking on the trailing edge of the timeout.
|
|
491
|
+
* @returns {Function} Returns the new throttled function.
|
|
492
|
+
* @example
|
|
493
|
+
*
|
|
494
|
+
* // Avoid excessively updating the position while scrolling.
|
|
495
|
+
* jQuery(window).on('scroll', _.throttle(updatePosition, 100));
|
|
496
|
+
*
|
|
497
|
+
* // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.
|
|
498
|
+
* var throttled = _.throttle(renewToken, 300000, { 'trailing': false });
|
|
499
|
+
* jQuery(element).on('click', throttled);
|
|
500
|
+
*
|
|
501
|
+
* // Cancel the trailing throttled invocation.
|
|
502
|
+
* jQuery(window).on('popstate', throttled.cancel);
|
|
503
|
+
*/
|
|
504
|
+
function throttle(func, wait, options) {
|
|
505
|
+
var leading = true,
|
|
506
|
+
trailing = true;
|
|
507
|
+
|
|
508
|
+
if (typeof func != 'function') {
|
|
509
|
+
throw new TypeError(FUNC_ERROR_TEXT);
|
|
510
|
+
}
|
|
511
|
+
if (isObject(options)) {
|
|
512
|
+
leading = 'leading' in options ? !!options.leading : leading;
|
|
513
|
+
trailing = 'trailing' in options ? !!options.trailing : trailing;
|
|
514
|
+
}
|
|
515
|
+
return debounce(func, wait, {
|
|
516
|
+
'leading': leading,
|
|
517
|
+
'maxWait': wait,
|
|
518
|
+
'trailing': trailing
|
|
519
|
+
});
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
export { HeaderRenderer as H, LocalScrollTimer as L, HeaderGroupRenderer as a, LocalScrollService as b, getContentSize as g, keyBy as k, throttle as t };
|
|
523
|
+
//# sourceMappingURL=throttle-DXYrmEeb.js.map
|
|
524
|
+
|
|
525
|
+
//# sourceMappingURL=throttle-DXYrmEeb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throttle-DXYrmEeb.js","sources":["node_modules/lodash/_defineProperty.js","node_modules/lodash/_baseAssignValue.js","node_modules/lodash/_arrayAggregator.js","node_modules/lodash/_baseAggregator.js","node_modules/lodash/_createAggregator.js","node_modules/lodash/keyBy.js","src/components/header/header-renderer.tsx","src/components/header/header-group-renderer.tsx","src/services/local.scroll.service.ts","src/services/local.scroll.timer.ts","node_modules/lodash/throttle.js"],"sourcesContent":["import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\nexport default arrayAggregator;\n","import baseEach from './_baseEach.js';\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\nexport default baseAggregator;\n","import arrayAggregator from './_arrayAggregator.js';\nimport baseAggregator from './_baseAggregator.js';\nimport baseIteratee from './_baseIteratee.js';\nimport isArray from './isArray.js';\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\nexport default createAggregator;\n","import baseAssignValue from './_baseAssignValue.js';\nimport createAggregator from './_createAggregator.js';\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\nvar keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n});\n\nexport default keyBy;\n","import { h } from '@stencil/core';\nimport type {\n VirtualPositionItem,\n ColumnTemplateProp,\n InitialHeaderClick,\n RangeArea\n} from '@type';\n\nimport { FilterButton } from '../../plugins/filter/filter.button';\nimport { SortingSign } from '../../plugins/sorting/sorting.sign';\nimport { ResizeEvent, ResizeProps } from './resizable.directive';\nimport {\n DATA_COL,\n FOCUS_CLASS,\n HEADER_CLASS,\n HEADER_SORTABLE_CLASS,\n MIN_COL_SIZE,\n} from '../../utils/consts';\nimport { HeaderCellRenderer } from './header-cell-renderer';\nimport { ResizableElementHTMLAttributes } from './resizable.element';\n\nexport type HeaderRenderProps = {\n column: VirtualPositionItem;\n additionalData: any;\n data: ColumnTemplateProp;\n range?: RangeArea | null;\n canResize?: boolean;\n canFilter?: boolean;\n /** 是否为合并单元格(非分组列跨越分组行) */\n merged?: boolean;\n /** 分组深度 */\n groupingDepth?: number;\n /** 是否属于编组 */\n isGrouped?: boolean;\n /** 是否是最后一列 */\n isLastColumn?: boolean;\n onResize?(e: ResizeEvent): void;\n onClick?(data: InitialHeaderClick): void;\n onDblClick?(data: InitialHeaderClick): void;\n} & Partial<Pick<ResizeProps, 'active'>>;\n\nconst HeaderRenderer = (p: HeaderRenderProps): ReturnType<typeof h> => {\n const cellClass: { [key: string]: boolean } = {\n [HEADER_CLASS]: true,\n [HEADER_SORTABLE_CLASS]: !!p.data?.sortable,\n 'merged-header': !!p.merged,\n 'grouped-cell': !!p.isGrouped, // 添加编组标识类名\n 'last-column': !!p.isLastColumn, // 添加最后一列类名\n };\n if (p.data?.order) {\n cellClass[p.data.order] = true;\n }\n // 添加对齐类\n if (p.data?.headerAlign) {\n cellClass[`align-${p.data.headerAlign}`] = true;\n }\n \n // 计算样式\n const style: { [key: string]: string } = {\n width: `${p.column.size}px`,\n transform: `translateX(${p.column.start}px)`,\n };\n \n // 如果是合并单元格,设置高度(跨越多行)\n // 使用 CSS 变量计算:单行表头高度 / 2 * (分组深度 + 1)\n if (p.merged && p.groupingDepth) {\n style.height = `calc(var(--rg-header-row-height, 45px) / 2 * ${p.groupingDepth + 1})`;\n }\n \n const dataProps: ResizableElementHTMLAttributes = {\n [DATA_COL]: p.column.itemIndex,\n 'data-grouping-depth': p.groupingDepth ?? 0,\n canResize: p.canResize,\n minWidth: p.data?.minSize || MIN_COL_SIZE,\n maxWidth: p.data?.maxSize,\n active: p.active || ['r'],\n class: cellClass,\n style,\n onResize: p.onResize,\n onDblClick(originalEvent: MouseEvent) {\n // 检查列配置是否允许双击事件,默认为 true\n if (p.data?.canDblClick === false) {\n return;\n }\n \n // 检查是否点击在 resize 区域\n const target = originalEvent.target as HTMLElement;\n \n // 1. 检查是否直接点击了 resize 元素\n if (target.classList.contains('resizable') || \n target.classList.contains('resizable-r') || \n target.classList.contains('resizable-l') ||\n target.classList.contains('no-resize')) {\n return;\n }\n \n // 2. 检查是否点击在单元格右边缘的 resize 区域(14px范围)\n const cell = target.closest('.rgHeaderCell') as HTMLElement;\n if (cell) {\n const rect = cell.getBoundingClientRect();\n const clickX = originalEvent.clientX;\n const resizeZoneWidth = 14;\n \n // 如果点击位置在右边缘14px范围内,不触发双击\n if (clickX >= rect.right - resizeZoneWidth) {\n return;\n }\n }\n \n p.onDblClick?.({\n column: p.data,\n index: p.column.itemIndex,\n originalEvent,\n providers: p.data.providers,\n });\n },\n onClick(originalEvent: MouseEvent) {\n if (originalEvent.defaultPrevented || !p.onClick) {\n return;\n }\n p.onClick({\n column: p.data,\n index: p.column.itemIndex,\n originalEvent,\n providers: p.data.providers,\n });\n },\n };\n if (p.range) {\n if (p.column.itemIndex >= p.range.x && p.column.itemIndex <= p.range.x1) {\n if (typeof dataProps.class === 'object') {\n dataProps.class[FOCUS_CLASS] = true;\n }\n }\n }\n return (\n <HeaderCellRenderer\n data={p.data}\n props={dataProps}\n additionalData={p.additionalData}\n >\n {<SortingSign column={p.data} />}\n {p.canFilter && p.data?.filter !== false ? (\n <FilterButton column={p.data} />\n ) : (\n ''\n )}\n </HeaderCellRenderer>\n );\n};\n\nexport default HeaderRenderer;\n","import { h } from '@stencil/core';\nimport { Group } from '@store';\nimport type { CellProps, ProvidersColumns } from '@type';\nimport { ResizeEvent, ResizeProps } from './resizable.directive';\nimport { DATA_COL, HEADER_CLASS, MIN_COL_SIZE } from '../../utils/consts';\nimport { HeaderCellRenderer } from './header-cell-renderer';\n\nexport type HeaderGroupRendererProps = {\n start: number;\n end: number;\n group: Group;\n providers: ProvidersColumns;\n additionalData: any;\n canResize?: boolean;\n /** 是否是最后一列 */\n isLastColumn?: boolean;\n onResize?(e: ResizeEvent): void;\n} & Partial<Pick<ResizeProps, 'active'>>;\n\nconst HeaderGroupRenderer = (p: HeaderGroupRendererProps): ReturnType<typeof h> => {\n const cellClass: { [key: string]: boolean } = {\n [HEADER_CLASS]: true,\n 'group-header': true, // 编组表头专用类名\n 'last-column': !!p.isLastColumn, // 添加最后一列类名\n };\n \n const groupProps: CellProps & Partial<ResizeProps> = {\n [DATA_COL]: p.group.indexes[0], // 使用分组下第一个列的索引\n canResize: p.canResize,\n minWidth: p.group.indexes.length * MIN_COL_SIZE,\n maxWidth: 0,\n\n active: p.active || ['r'],\n class: cellClass,\n style: {\n transform: `translateX(${p.start}px)`,\n width: `${p.end - p.start}px`,\n },\n onResize: p.onResize,\n };\n return (\n <HeaderCellRenderer\n data={{\n ...p.group,\n prop: '',\n providers: p.providers,\n index: p.start,\n draggable: false, // 编组头不允许拖拽\n }}\n props={groupProps}\n additionalData={p.additionalData}\n />\n );\n};\n\nexport default HeaderGroupRenderer;\n","import type { DimensionType, ViewPortScrollEvent } from '@type';\nimport { scaleValue } from '../utils';\n\ninterface Config {\n skipAnimationFrame?: boolean;\n // scroll event inited and direction cached\n // scrollingService.proxyScroll get tiggered\n // setScroll event called from scrollingService\n runScroll(e: ViewPortScrollEvent): void;\n // all operation finished, apply scroll values\n applyScroll(e: ViewPortScrollEvent): void;\n}\n\ntype Params = {\n contentSize: number;\n virtualContentSize?: number;\n clientSize: number;\n virtualSize: number;\n maxSize?: number;\n};\n\nconst initialParams: Params = {\n contentSize: 0,\n clientSize: 0,\n virtualSize: 0,\n maxSize: 0,\n};\nconst NO_COORDINATE = -1;\n\n/**\n * Based on content size, client size and virtual size\n * return full size\n */\nexport function getContentSize(\n contentSize: number,\n clientSize: number,\n virtualSize = 0,\n): number {\n if (virtualSize > contentSize) {\n return 0;\n }\n return contentSize + (virtualSize ? clientSize - virtualSize : 0);\n}\n\nexport default class LocalScrollService {\n private preventArtificialScroll: Record<DimensionType, (() => void) | null> = {\n rgRow: null,\n rgCol: null,\n };\n // to check if scroll changed\n private previousScroll: Record<DimensionType, number> = {\n rgRow: NO_COORDINATE,\n rgCol: NO_COORDINATE,\n };\n private params: Record<DimensionType, Params> = {\n rgRow: { ...initialParams },\n rgCol: { ...initialParams },\n };\n\n constructor(private cfg: Config) {}\n\n setParams(params: Params, dimension: DimensionType) {\n const virtualContentSize = getContentSize(\n params.contentSize,\n params.clientSize,\n params.virtualSize,\n );\n this.params[dimension] = {\n ...params,\n maxSize: virtualContentSize - params.clientSize,\n virtualContentSize,\n };\n }\n\n // apply scroll values after scroll done\n async setScroll(e: ViewPortScrollEvent) {\n this.cancelScroll(e.dimension);\n\n // Outside scroll synchronization (e.g. newly mounted viewport replay)\n // should be applied immediately to avoid one-frame jump/blank flash.\n if (e.outside) {\n const params = this.getParams(e.dimension);\n e.coordinate = Math.ceil(e.coordinate);\n this.previousScroll[e.dimension] = this.wrapCoordinate(\n e.coordinate,\n params,\n );\n this.preventArtificialScroll[e.dimension] = null;\n this.cfg.applyScroll({\n ...e,\n coordinate: params.virtualSize\n ? this.convert(e.coordinate, params, false)\n : e.coordinate,\n });\n return;\n }\n\n // start frame animation\n const frameAnimation = new Promise<void>((resolve, reject) => {\n // for example safari desktop has issues with animation frame\n if (this.cfg.skipAnimationFrame) {\n return resolve();\n }\n const animationId = window.requestAnimationFrame(() => {\n resolve();\n });\n this.preventArtificialScroll[e.dimension] = reject.bind(\n null,\n animationId,\n );\n });\n\n try {\n await frameAnimation;\n const params = this.getParams(e.dimension);\n e.coordinate = Math.ceil(e.coordinate);\n this.previousScroll[e.dimension] = this.wrapCoordinate(\n e.coordinate,\n params,\n );\n this.preventArtificialScroll[e.dimension] = null;\n this.cfg.applyScroll({\n ...e,\n coordinate: params.virtualSize\n ? this.convert(e.coordinate, params, false)\n : e.coordinate,\n });\n } catch (id) {\n window.cancelAnimationFrame(id);\n }\n }\n\n /**\n * On scroll event started\n */\n scroll(\n coordinate: number,\n dimension: DimensionType,\n force = false,\n delta?: number,\n outside = false,\n ) {\n // cancel all previous scrolls for same dimension\n this.cancelScroll(dimension);\n\n // drop if no change\n if (!force && this.previousScroll[dimension] === coordinate) {\n this.previousScroll[dimension] = NO_COORDINATE;\n return;\n }\n\n const param = this.getParams(dimension);\n // let component know about scroll event started\n this.cfg.runScroll({\n dimension: dimension,\n coordinate: param.virtualSize\n ? this.convert(coordinate, param)\n : coordinate,\n delta,\n outside,\n });\n }\n\n private getParams(dimension: DimensionType): Params {\n return this.params[dimension];\n }\n\n // check if scroll outside of region to avoid looping\n private wrapCoordinate(c: number, param: Params): number {\n if (c < 0) {\n return NO_COORDINATE;\n }\n\n if (typeof param.maxSize === 'number' && c > param.maxSize) {\n return param.maxSize;\n }\n return c;\n }\n\n // prevent already started scroll, performance optimization\n private cancelScroll(dimension: DimensionType) {\n this.preventArtificialScroll[dimension]?.();\n this.preventArtificialScroll[dimension] = null;\n }\n\n /* convert virtual to real and back, scale range */\n private convert(pos: number, param: Params, toReal = true): number {\n const minRange = param.clientSize;\n const from: [number, number] = [0, (param.virtualContentSize ?? minRange) - minRange];\n const to: [number, number] = [0, param.contentSize - param.virtualSize];\n if (toReal) {\n return scaleValue(pos, from, to);\n }\n return scaleValue(pos, to, from);\n }\n}\n","import type { DimensionType } from '@type';\n/**\n * Apply changes only if mousewheel event happened some time ago (scrollThrottling)\n */\nexport class LocalScrollTimer {\n /**\n * Last mw event time for trigger scroll function below\n * If mousewheel function was ignored we still need to trigger render\n */\n private mouseWheelScrollTimestamp: Record<DimensionType, number> = {\n rgCol: 0,\n rgRow: 0,\n };\n private lastKnownScrollCoordinate: Record<DimensionType, number> = {\n rgCol: 0,\n rgRow: 0,\n };\n\n constructor(private scrollThrottling = 10) {}\n\n setCoordinate(e: { dimension: DimensionType; coordinate: number }) {\n this.lastKnownScrollCoordinate[e.dimension] = e.coordinate;\n // 程序化/应用滚动应使任何延迟回调失效\n // 使用较旧的坐标排队,以避免过时的回弹更新。\n this.clearLastScrollUpdate(e.dimension);\n }\n\n /**\n * Remember last mw event time\n */\n latestScrollUpdate(dimension: DimensionType) {\n this.mouseWheelScrollTimestamp[dimension] = new Date().getTime();\n }\n\n isReady(type: DimensionType, coordinate: number) {\n // if there is a callback, clear it\n if (this.lastScrollUpdateCallbacks[type]) {\n this.clearLastScrollUpdate(type)\n }\n // apply after throttling\n return this.verifyChange(type, coordinate);\n }\n\n private verifyChange(type: DimensionType, coordinate: number) {\n const now = new Date().getTime();\n const change = now - this.mouseWheelScrollTimestamp[type];\n return change > this.scrollThrottling &&\n coordinate !== this.lastKnownScrollCoordinate[type];\n }\n\n /**\n * Check if scroll is ready to accept new value\n * this is an edge case for scroll events\n * when we need to apply scroll after throttling\n */\n private lastScrollUpdateCallbacks: Partial<Record<DimensionType, {\n callback: () => void;\n timestamp: number;\n coordinate: number;\n timeout: number;\n }>> = {};\n\n private clearLastScrollUpdate(type: DimensionType) {\n clearTimeout(this.lastScrollUpdateCallbacks[type]?.timeout ?? 0);\n delete this.lastScrollUpdateCallbacks[type];\n }\n\n throttleLastScrollUpdate(type: DimensionType, coordinate: number, lastScrollUpdate: () => void) {\n // if scrollThrottling is set\n // we need to throttle the last scroll event\n if (this.scrollThrottling) {\n this.clearLastScrollUpdate(type)\n // save lastScrollUpdate callback\n const callback = this.lastScrollUpdateCallbacks[type] = {\n callback: lastScrollUpdate,\n timestamp: new Date().getTime(),\n coordinate,\n timeout: 0 as any,\n };\n callback.timeout = setTimeout(() => {\n // clear timeout\n this.clearLastScrollUpdate(type)\n // if scrollThrottling is set, and the last scroll event happened before the timeout started\n // we need to throttle the last scroll event\n if (this.mouseWheelScrollTimestamp[type] < callback.timestamp && this.verifyChange(type, callback.coordinate)) {\n callback.callback();\n }\n }, this.scrollThrottling + 50);\n }\n }\n}\n","import debounce from './debounce.js';\nimport isObject from './isObject.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nexport default throttle;\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,10]}
|