@revolist/revogrid 4.0.11 → 4.0.14
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/dist/cjs/app-globals-53fde1aa.js.map +1 -1
- package/dist/cjs/base.plugin-32f80cb5.js +219 -0
- package/dist/cjs/base.plugin-32f80cb5.js.map +1 -0
- package/dist/cjs/{column.service-e83d9809.js → column.service-52b4cac9.js} +28 -12
- package/dist/cjs/column.service-52b4cac9.js.map +1 -0
- package/dist/cjs/dimension.helpers-ee39d6c4.js.map +1 -1
- package/dist/cjs/events-b28cc194.js +52 -0
- package/dist/cjs/events-b28cc194.js.map +1 -0
- package/dist/cjs/filter.button-db6cbd2e.js.map +1 -1
- package/dist/cjs/{header-cell-renderer-8ba9b56d.js → header-cell-renderer-a3f202a1.js} +2 -2
- package/dist/cjs/{header-cell-renderer-8ba9b56d.js.map → header-cell-renderer-a3f202a1.js.map} +1 -1
- package/dist/cjs/{index-73c149e3.js → index-a9f1b728.js} +3 -4
- package/dist/cjs/index-a9f1b728.js.map +1 -0
- package/dist/cjs/index.cjs.js +26 -23
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{key.utils-59b9b528.js → key.utils-ee3d9eab.js} +2 -2
- package/dist/cjs/{key.utils-59b9b528.js.map → key.utils-ee3d9eab.js.map} +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +74 -164
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-attribution_6.cjs.entry.js +193 -142
- package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +2 -2
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +9 -9
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/{selection.store-2e110a67.js → selection.helpers-32abb2a9.js} +77 -75
- package/dist/cjs/selection.helpers-32abb2a9.js.map +1 -0
- package/dist/cjs/{throttle-f7aee21b.js → throttle-46478b04.js} +2 -2
- package/dist/cjs/{throttle-f7aee21b.js.map → throttle-46478b04.js.map} +1 -1
- package/dist/cjs/{viewport.helpers-6670177c.js → viewport.store-2ab4e166.js} +186 -1
- package/dist/cjs/viewport.store-2ab4e166.js.map +1 -0
- package/dist/collection/components/clipboard/revogr-clipboard.js +2 -2
- package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
- package/dist/collection/components/data/cell-renderer.js.map +1 -1
- package/dist/collection/components/data/column.service.js +2 -2
- package/dist/collection/components/data/column.service.js.map +1 -1
- package/dist/collection/components/data/revogr-data.js +46 -46
- package/dist/collection/components/data/revogr-data.js.map +1 -1
- package/dist/collection/components/data/row-highlight.plugin.js.map +1 -1
- package/dist/collection/components/editors/edit.utils.js.map +1 -1
- package/dist/collection/components/editors/revogr-edit.js +9 -9
- package/dist/collection/components/editors/revogr-edit.js.map +1 -1
- package/dist/collection/components/editors/text-editor.js.map +1 -1
- package/dist/collection/components/header/header-cell-renderer.js.map +1 -1
- package/dist/collection/components/header/header-renderer.js.map +1 -1
- package/dist/collection/components/header/revogr-header.js +28 -28
- package/dist/collection/components/header/revogr-header.js.map +1 -1
- package/dist/collection/components/order/order-renderer.js.map +1 -1
- package/dist/collection/components/order/order-row.service.js +1 -1
- package/dist/collection/components/order/order-row.service.js.map +1 -1
- package/dist/collection/components/order/revogr-order-editor.js +31 -28
- package/dist/collection/components/order/revogr-order-editor.js.map +1 -1
- package/dist/collection/components/overlay/autofill.service.js +37 -26
- package/dist/collection/components/overlay/autofill.service.js.map +1 -1
- package/dist/collection/components/overlay/keyboard.service.js +8 -8
- package/dist/collection/components/overlay/keyboard.service.js.map +1 -1
- package/dist/collection/components/overlay/revogr-overlay-selection.js +141 -93
- package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
- package/dist/collection/components/overlay/selection.utils.js +37 -9
- package/dist/collection/components/overlay/selection.utils.js.map +1 -1
- package/dist/collection/components/revoGrid/grid.helpers.js.map +1 -1
- package/dist/collection/components/revoGrid/revo-grid-style.css +8 -3
- package/dist/collection/components/revoGrid/revo-grid.js +150 -135
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/components/revoGrid/viewport.helpers.js +22 -8
- package/dist/collection/components/revoGrid/viewport.helpers.js.map +1 -1
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js +4 -2
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -1
- package/dist/collection/components/revoGrid/viewport.service.js +2 -2
- package/dist/collection/components/revoGrid/viewport.service.js.map +1 -1
- package/dist/collection/components/rowHeaders/revogr-row-headers.js +11 -12
- package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -1
- package/dist/collection/components/rowHeaders/row-header-render.js.map +1 -1
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +17 -17
- package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -1
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js +17 -17
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -1
- package/dist/collection/components/selectionFocus/revogr-focus.js +44 -43
- package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -1
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js +12 -12
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -1
- package/dist/collection/components/vnode/vnode.utils.js.map +1 -1
- package/dist/collection/index.js +2 -12
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/plugins/column.auto-size.plugin.js +3 -4
- package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -1
- package/dist/collection/plugins/export/export.plugin.js +1 -1
- package/dist/collection/plugins/export/export.plugin.js.map +1 -1
- package/dist/collection/plugins/export/types.js.map +1 -1
- package/dist/collection/plugins/filter/filter.button.js.map +1 -1
- package/dist/collection/plugins/filter/filter.plugin.js.map +1 -1
- package/dist/collection/plugins/filter/filter.pop.js +4 -4
- package/dist/collection/plugins/filter/filter.pop.js.map +1 -1
- package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +1 -1
- package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +1 -1
- package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js.map +1 -1
- package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +1 -2
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.row.types.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +1 -1
- package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js.map +1 -1
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js +1 -1
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.plugin.js +2 -2
- package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.sign.js.map +1 -1
- package/dist/collection/serve/controller.js +86 -18
- package/dist/collection/services/column.data.provider.js +1 -2
- package/dist/collection/services/column.data.provider.js.map +1 -1
- package/dist/collection/services/data.provider.js +1 -2
- package/dist/collection/services/data.provider.js.map +1 -1
- package/dist/collection/services/dimension.provider.js +3 -5
- package/dist/collection/services/dimension.provider.js.map +1 -1
- package/dist/collection/services/selection.store.connector.js +1 -2
- package/dist/collection/services/selection.store.connector.js.map +1 -1
- package/dist/collection/services/viewport.provider.js +1 -2
- package/dist/collection/services/viewport.provider.js.map +1 -1
- package/dist/collection/store/dataSource/data.proxy.js.map +1 -1
- package/dist/collection/store/dataSource/data.store.js +1 -1
- package/dist/collection/store/dataSource/data.store.js.map +1 -1
- package/dist/collection/store/dataSource/trimmed.plugin.js.map +1 -1
- package/dist/collection/store/dimension/dimension.helpers.js.map +1 -1
- package/dist/collection/store/dimension/dimension.store.js +1 -1
- package/dist/collection/store/dimension/dimension.store.js.map +1 -1
- package/dist/collection/store/{storeTypes.js → index.js} +5 -1
- package/dist/collection/store/index.js.map +1 -0
- package/dist/collection/store/selection/index.js +0 -1
- package/dist/collection/store/selection/index.js.map +1 -1
- package/dist/collection/store/selection/selection.helpers.js.map +1 -1
- package/dist/collection/store/selection/selection.store.js +1 -1
- package/dist/collection/store/selection/selection.store.js.map +1 -1
- package/dist/collection/store/vp/index.js.map +1 -0
- package/dist/collection/store/vp/viewport.helpers.js.map +1 -0
- package/dist/collection/store/{viewport → vp}/viewport.store.js +4 -7
- package/dist/collection/store/vp/viewport.store.js.map +1 -0
- package/dist/collection/types/index.js +11 -0
- package/dist/collection/types/index.js.map +1 -0
- package/dist/collection/types/interfaces.js +4 -0
- package/dist/collection/types/interfaces.js.map +1 -1
- package/dist/collection/types/viewport.interfaces.js.map +1 -1
- package/dist/collection/utils/events.js +11 -1
- package/dist/collection/utils/events.js.map +1 -1
- package/dist/collection/utils/index.js +0 -1
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/collection/utils/row-header-utils.js +2 -2
- package/dist/collection/utils/row-header-utils.js.map +1 -1
- package/dist/collection/utils/store.utils.js.map +1 -1
- package/dist/esm/app-globals-ef1fca59.js.map +1 -1
- package/dist/esm/base.plugin-d0e589d8.js +213 -0
- package/dist/esm/base.plugin-d0e589d8.js.map +1 -0
- package/dist/esm/{column.service-f4922a8d.js → column.service-a826bbd6.js} +27 -11
- package/dist/esm/column.service-a826bbd6.js.map +1 -0
- package/dist/esm/dimension.helpers-a3065cb1.js.map +1 -1
- package/dist/esm/events-77b43b40.js +48 -0
- package/dist/esm/events-77b43b40.js.map +1 -0
- package/dist/esm/filter.button-46ce4f80.js.map +1 -1
- package/dist/esm/{header-cell-renderer-ac962570.js → header-cell-renderer-19738045.js} +2 -2
- package/dist/esm/{header-cell-renderer-ac962570.js.map → header-cell-renderer-19738045.js.map} +1 -1
- package/dist/esm/{index-98fd0168.js → index-5a722722.js} +3 -4
- package/dist/esm/index-5a722722.js.map +1 -0
- package/dist/esm/index.js +4 -4
- package/dist/esm/{key.utils-2836e8ae.js → key.utils-7c5d91dd.js} +2 -2
- package/dist/esm/{key.utils-2836e8ae.js.map → key.utils-7c5d91dd.js.map} +1 -1
- package/dist/esm/revo-grid.entry.js +42 -132
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revogr-attribution_6.entry.js +187 -136
- package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
- package/dist/esm/revogr-clipboard_3.entry.js +2 -2
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/esm/revogr-data_4.entry.js +9 -9
- package/dist/esm/revogr-data_4.entry.js.map +1 -1
- package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
- package/dist/esm/{selection.store-2577ddf9.js → selection.helpers-883ce6bc.js} +77 -75
- package/dist/esm/selection.helpers-883ce6bc.js.map +1 -0
- package/dist/esm/{throttle-cfd527d6.js → throttle-eeca0062.js} +2 -2
- package/dist/esm/{throttle-cfd527d6.js.map → throttle-eeca0062.js.map} +1 -1
- package/dist/esm/{viewport.helpers-6591d423.js → viewport.store-d9e291c5.js} +187 -3
- package/dist/esm/viewport.store-d9e291c5.js.map +1 -0
- package/dist/revo-grid/app-globals-ef1fca59.js.map +1 -1
- package/dist/revo-grid/base.plugin-d0e589d8.js +5 -0
- package/dist/revo-grid/base.plugin-d0e589d8.js.map +1 -0
- package/dist/revo-grid/column.service-a826bbd6.js +5 -0
- package/dist/revo-grid/column.service-a826bbd6.js.map +1 -0
- package/dist/revo-grid/dimension.helpers-a3065cb1.js.map +1 -1
- package/dist/revo-grid/events-77b43b40.js +5 -0
- package/dist/revo-grid/events-77b43b40.js.map +1 -0
- package/dist/revo-grid/filter.button-46ce4f80.js.map +1 -1
- package/dist/revo-grid/{header-cell-renderer-ac962570.js → header-cell-renderer-19738045.js} +2 -2
- package/dist/revo-grid/{header-cell-renderer-ac962570.js.map → header-cell-renderer-19738045.js.map} +1 -1
- package/dist/revo-grid/index-5a722722.js +5 -0
- package/dist/{esm/index-98fd0168.js.map → revo-grid/index-5a722722.js.map} +1 -1
- package/dist/revo-grid/index.esm.js +1 -1
- package/dist/revo-grid/{key.utils-2836e8ae.js → key.utils-7c5d91dd.js} +2 -2
- package/dist/revo-grid/key.utils-7c5d91dd.js.map +1 -0
- package/dist/revo-grid/revo-grid.entry.js +1 -1
- package/dist/revo-grid/revo-grid.entry.js.map +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js.map +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
- package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
- package/dist/revo-grid/selection.helpers-883ce6bc.js +5 -0
- package/dist/revo-grid/selection.helpers-883ce6bc.js.map +1 -0
- package/dist/revo-grid/{throttle-cfd527d6.js → throttle-eeca0062.js} +2 -2
- package/dist/revo-grid/viewport.store-d9e291c5.js +5 -0
- package/dist/revo-grid/viewport.store-d9e291c5.js.map +1 -0
- package/dist/types/components/clipboard/revogr-clipboard.d.ts +1 -1
- package/dist/types/components/data/cell-renderer.d.ts +1 -1
- package/dist/types/components/data/column.service.d.ts +5 -5
- package/dist/types/components/data/revogr-data.d.ts +4 -4
- package/dist/types/components/data/row-highlight.plugin.d.ts +1 -1
- package/dist/types/components/editors/edit.utils.d.ts +1 -1
- package/dist/types/components/editors/revogr-edit.d.ts +2 -2
- package/dist/types/components/editors/text-editor.d.ts +2 -2
- package/dist/types/components/header/header-cell-renderer.d.ts +1 -1
- package/dist/types/components/header/header-renderer.d.ts +2 -2
- package/dist/types/components/header/revogr-header.d.ts +4 -4
- package/dist/types/components/order/order-renderer.d.ts +2 -2
- package/dist/types/components/order/order-row.service.d.ts +1 -2
- package/dist/types/components/order/revogr-order-editor.d.ts +7 -4
- package/dist/types/components/overlay/autofill.service.d.ts +11 -10
- package/dist/types/components/overlay/keyboard.service.d.ts +4 -5
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +42 -19
- package/dist/types/components/overlay/selection.utils.d.ts +13 -6
- package/dist/types/components/revoGrid/grid.helpers.d.ts +1 -1
- package/dist/types/components/revoGrid/revo-grid.d.ts +10 -7
- package/dist/types/components/revoGrid/viewport.helpers.d.ts +14 -5
- package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +1 -3
- package/dist/types/components/revoGrid/viewport.service.d.ts +1 -4
- package/dist/types/components/rowHeaders/revogr-row-headers.d.ts +1 -2
- package/dist/types/components/rowHeaders/row-header-render.d.ts +1 -1
- package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +2 -2
- package/dist/types/components/scrollable/revogr-scroll-virtual.d.ts +2 -2
- package/dist/types/components/selectionFocus/revogr-focus.d.ts +3 -5
- package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +2 -2
- package/dist/types/components/vnode/vnode.utils.d.ts +1 -1
- package/dist/types/components.d.ts +30 -16
- package/dist/types/index.d.ts +2 -12
- package/dist/types/plugins/export/export.plugin.d.ts +1 -1
- package/dist/types/plugins/export/types.d.ts +1 -1
- package/dist/types/plugins/filter/filter.button.d.ts +1 -1
- package/dist/types/plugins/filter/filter.plugin.d.ts +2 -2
- package/dist/types/plugins/filter/filter.pop.d.ts +1 -1
- package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +3 -4
- package/dist/types/plugins/groupingColumn/grouping.col.plugin.d.ts +3 -3
- package/dist/types/plugins/groupingColumn/headerGroupRenderer.d.ts +2 -2
- package/dist/types/plugins/groupingRow/grouping.row.expand.service.d.ts +1 -1
- package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +2 -2
- package/dist/types/plugins/groupingRow/grouping.row.renderer.d.ts +1 -1
- package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +1 -1
- package/dist/types/plugins/groupingRow/grouping.service.d.ts +1 -1
- package/dist/types/plugins/groupingRow/grouping.trimmed.service.d.ts +1 -1
- package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +1 -3
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +1 -3
- package/dist/types/plugins/sorting/sorting.sign.d.ts +1 -1
- package/dist/types/services/column.data.provider.d.ts +2 -3
- package/dist/types/services/data.provider.d.ts +2 -5
- package/dist/types/services/dimension.provider.d.ts +2 -4
- package/dist/types/services/selection.store.connector.d.ts +2 -3
- package/dist/types/services/viewport.provider.d.ts +3 -3
- package/dist/types/store/dataSource/data.proxy.d.ts +2 -2
- package/dist/types/store/dataSource/data.store.d.ts +3 -3
- package/dist/types/store/dataSource/trimmed.plugin.d.ts +1 -1
- package/dist/types/store/dimension/dimension.helpers.d.ts +1 -1
- package/dist/types/store/dimension/dimension.store.d.ts +4 -5
- package/dist/types/store/{storeTypes.d.ts → index.d.ts} +5 -1
- package/dist/types/store/selection/index.d.ts +0 -1
- package/dist/types/store/selection/selection.helpers.d.ts +1 -1
- package/dist/types/store/selection/selection.store.d.ts +2 -2
- package/dist/types/store/vp/index.d.ts +7 -0
- package/dist/types/store/{viewport → vp}/viewport.helpers.d.ts +1 -1
- package/dist/types/store/{viewport → vp}/viewport.store.d.ts +3 -7
- package/dist/types/types/index.d.ts +7 -0
- package/dist/types/types/interfaces.d.ts +444 -23
- package/dist/types/types/viewport.interfaces.d.ts +5 -8
- package/dist/types/utils/events.d.ts +4 -1
- package/dist/types/utils/index.d.ts +0 -1
- package/dist/types/utils/row-header-utils.d.ts +1 -1
- package/dist/types/utils/store.utils.d.ts +1 -1
- package/hydrate/index.js +3224 -3126
- package/package.json +7 -8
- package/standalone/_baseIteratee.js +1104 -13
- package/standalone/_baseIteratee.js.map +1 -1
- package/standalone/_nodeUtil.js +260 -0
- package/standalone/_nodeUtil.js.map +1 -0
- package/standalone/column.service.js +78 -74
- package/standalone/column.service.js.map +1 -1
- package/standalone/data.store.js +2 -4
- package/standalone/data.store.js.map +1 -1
- package/standalone/debounce.js +2 -2
- package/standalone/dimension.helpers.js +1 -1
- package/standalone/dimension.helpers.js.map +1 -1
- package/standalone/filter.button.js.map +1 -1
- package/standalone/identity.js +42 -2
- package/standalone/identity.js.map +1 -1
- package/standalone/index.js +5 -7
- package/standalone/index.js.map +1 -1
- package/standalone/index2.js +2 -3
- package/standalone/index2.js.map +1 -1
- package/standalone/isObjectLike.js +1 -34
- package/standalone/isObjectLike.js.map +1 -1
- package/standalone/revo-grid.js +125 -106
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-clipboard2.js.map +1 -1
- package/standalone/revogr-data2.js +3 -0
- package/standalone/revogr-data2.js.map +1 -1
- package/standalone/revogr-edit2.js +1 -1
- package/standalone/revogr-edit2.js.map +1 -1
- package/standalone/revogr-filter-panel.js.map +1 -1
- package/standalone/revogr-focus2.js +7 -3
- package/standalone/revogr-focus2.js.map +1 -1
- package/standalone/revogr-header2.js +5 -4
- package/standalone/revogr-header2.js.map +1 -1
- package/standalone/revogr-order-editor2.js +3 -0
- package/standalone/revogr-order-editor2.js.map +1 -1
- package/standalone/revogr-overlay-selection2.js +143 -143
- package/standalone/revogr-overlay-selection2.js.map +1 -1
- package/standalone/revogr-row-headers2.js +7 -7
- package/standalone/revogr-row-headers2.js.map +1 -1
- package/standalone/revogr-scroll-virtual2.js +1 -1
- package/standalone/revogr-scroll-virtual2.js.map +1 -1
- package/standalone/revogr-temp-range2.js +1 -1
- package/standalone/revogr-temp-range2.js.map +1 -1
- package/standalone/revogr-viewport-scroll2.js +23 -9
- package/standalone/revogr-viewport-scroll2.js.map +1 -1
- package/standalone/selection.utils.js +76 -9
- package/standalone/selection.utils.js.map +1 -1
- package/standalone/throttle.js +1 -1
- package/standalone/toNumber.js +35 -2
- package/standalone/toNumber.js.map +1 -1
- package/dist/cjs/column.service-e83d9809.js.map +0 -1
- package/dist/cjs/events-7ccd6894.js +0 -233
- package/dist/cjs/events-7ccd6894.js.map +0 -1
- package/dist/cjs/index-73c149e3.js.map +0 -1
- package/dist/cjs/selection.store-2e110a67.js.map +0 -1
- package/dist/cjs/storeTypes-b3f924b2.js +0 -106
- package/dist/cjs/storeTypes-b3f924b2.js.map +0 -1
- package/dist/cjs/viewport.helpers-6670177c.js.map +0 -1
- package/dist/collection/store/selection/selection.store.service.js +0 -39
- package/dist/collection/store/selection/selection.store.service.js.map +0 -1
- package/dist/collection/store/storeTypes.js.map +0 -1
- package/dist/collection/store/viewport/index.js.map +0 -1
- package/dist/collection/store/viewport/viewport.helpers.js.map +0 -1
- package/dist/collection/store/viewport/viewport.store.js.map +0 -1
- package/dist/esm/column.service-f4922a8d.js.map +0 -1
- package/dist/esm/events-3dd8ee7c.js +0 -228
- package/dist/esm/events-3dd8ee7c.js.map +0 -1
- package/dist/esm/selection.store-2577ddf9.js.map +0 -1
- package/dist/esm/storeTypes-f2647985.js +0 -101
- package/dist/esm/storeTypes-f2647985.js.map +0 -1
- package/dist/esm/viewport.helpers-6591d423.js.map +0 -1
- package/dist/revo-grid/column.service-f4922a8d.js +0 -5
- package/dist/revo-grid/column.service-f4922a8d.js.map +0 -1
- package/dist/revo-grid/events-3dd8ee7c.js +0 -5
- package/dist/revo-grid/events-3dd8ee7c.js.map +0 -1
- package/dist/revo-grid/index-98fd0168.js +0 -5
- package/dist/revo-grid/index-98fd0168.js.map +0 -1
- package/dist/revo-grid/key.utils-2836e8ae.js.map +0 -1
- package/dist/revo-grid/selection.store-2577ddf9.js +0 -5
- package/dist/revo-grid/selection.store-2577ddf9.js.map +0 -1
- package/dist/revo-grid/storeTypes-f2647985.js +0 -5
- package/dist/revo-grid/storeTypes-f2647985.js.map +0 -1
- package/dist/revo-grid/viewport.helpers-6591d423.js +0 -5
- package/dist/revo-grid/viewport.helpers-6591d423.js.map +0 -1
- package/dist/types/store/selection/selection.store.service.d.ts +0 -17
- package/dist/types/store/viewport/index.d.ts +0 -2
- package/standalone/_stringToPath.js +0 -1389
- package/standalone/_stringToPath.js.map +0 -1
- /package/dist/collection/store/{viewport → vp}/index.js +0 -0
- /package/dist/collection/store/{viewport → vp}/viewport.helpers.js +0 -0
- /package/dist/revo-grid/{throttle-cfd527d6.js.map → throttle-eeca0062.js.map} +0 -0
|
@@ -2,51 +2,16 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, h, H as Host, c as createEvent, a as getElement } from './index-21436631.js';
|
|
5
|
-
import { F as FOCUS_CLASS, t as timeout, R as RESIZE_INTERVAL, a as CELL_HANDLER_CLASS, M as MOBILE_CLASS, S as SELECTION_BORDER_CLASS, b as ROW_HEADER_TYPE, g as getScrollbarSize, T as TMP_SELECTION_BG_CLASS } from './index-
|
|
5
|
+
import { F as FOCUS_CLASS, t as timeout, R as RESIZE_INTERVAL, a as CELL_HANDLER_CLASS, M as MOBILE_CLASS, S as SELECTION_BORDER_CLASS, b as ROW_HEADER_TYPE, g as getScrollbarSize, T as TMP_SELECTION_BG_CLASS } from './index-5a722722.js';
|
|
6
6
|
import { i as getItemByPosition, j as getItemByIndex, b as getSourceItem, D as DataStore } from './dimension.helpers-a3065cb1.js';
|
|
7
|
-
import { n as ColumnService, H as HEADER_SLOT } from './column.service-f4922a8d.js';
|
|
8
|
-
import { g as getRange, a as isRangeSingleCell } from './selection.store-2577ddf9.js';
|
|
9
|
-
import { c as codesLetter, i as isClear, a as isEnterKey, b as isCopy, d as isCut, e as isPaste, f as isAll, g as isLetterKey, h as isEditInput } from './key.utils-2836e8ae.js';
|
|
10
|
-
import { d as debounce_1 } from './debounce-7781346d.js';
|
|
11
|
-
import { g as getFromEvent, v as verifyTouchTarget, V as ViewportStore, c as calculateRowHeaderSize } from './events-3dd8ee7c.js';
|
|
12
|
-
import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle_1 } from './throttle-cfd527d6.js';
|
|
13
7
|
import './toNumber-8de324a7.js';
|
|
14
|
-
import './
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
get edited() {
|
|
23
|
-
return this.store.get('edit');
|
|
24
|
-
}
|
|
25
|
-
get focused() {
|
|
26
|
-
return this.store.get('focus');
|
|
27
|
-
}
|
|
28
|
-
get ranged() {
|
|
29
|
-
return this.store.get('range');
|
|
30
|
-
}
|
|
31
|
-
changeRange(range) {
|
|
32
|
-
return this.config.changeRange(range);
|
|
33
|
-
}
|
|
34
|
-
focus(cell, isMulti = false) {
|
|
35
|
-
if (!cell) {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
let end = cell;
|
|
39
|
-
// range edit
|
|
40
|
-
if (isMulti) {
|
|
41
|
-
let start = this.store.get('focus');
|
|
42
|
-
if (start) {
|
|
43
|
-
return this.config.changeRange(getRange(start, end));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
// single focus
|
|
47
|
-
return this.config.focus(cell, end);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
8
|
+
import { g as getPropertyFromEvent, v as verifyTouchTarget, c as calculateRowHeaderSize } from './events-77b43b40.js';
|
|
9
|
+
import { n as ColumnService, H as HEADER_SLOT } from './column.service-a826bbd6.js';
|
|
10
|
+
import { c as codesLetter, i as isClear, a as isEnterKey, b as isCopy, d as isCut, e as isPaste, f as isAll, g as isLetterKey, h as isEditInput } from './key.utils-7c5d91dd.js';
|
|
11
|
+
import { g as getRange, a as isRangeSingleCell } from './selection.helpers-883ce6bc.js';
|
|
12
|
+
import { d as debounce_1 } from './debounce-7781346d.js';
|
|
13
|
+
import { V as ViewportStore } from './viewport.store-d9e291c5.js';
|
|
14
|
+
import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle_1 } from './throttle-eeca0062.js';
|
|
50
15
|
|
|
51
16
|
const Attribution = class {
|
|
52
17
|
constructor(hostRef) {
|
|
@@ -57,26 +22,50 @@ const Attribution = class {
|
|
|
57
22
|
}
|
|
58
23
|
};
|
|
59
24
|
|
|
60
|
-
|
|
25
|
+
function getFocusCellBasedOnEvent(e, data) {
|
|
26
|
+
// If event default is prevented, return
|
|
27
|
+
if (e.defaultPrevented) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
// Get coordinates from event object
|
|
31
|
+
const x = getPropertyFromEvent(e, 'clientX');
|
|
32
|
+
const y = getPropertyFromEvent(e, 'clientY');
|
|
33
|
+
// If coordinates are not available, return
|
|
34
|
+
if (x === null || y === null) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
// Get current cell based on coordinates and data
|
|
38
|
+
const focusCell = getCurrentCell({ x, y }, data);
|
|
39
|
+
// If current cell is not available, return
|
|
40
|
+
if (isAfterLast(focusCell, data.lastCell)) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
return focusCell;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Calculate cell based on x, y position
|
|
47
|
+
*/
|
|
61
48
|
function getCurrentCell({ x, y }, { el, rows, cols }) {
|
|
49
|
+
// Get the bounding rectangle of the element
|
|
62
50
|
const { top, left, height, width } = el.getBoundingClientRect();
|
|
51
|
+
// Calculate the cell position relative to the element
|
|
63
52
|
let cellY = y - top;
|
|
64
|
-
|
|
53
|
+
let cellX = x - left;
|
|
54
|
+
// Limit the cell position to the element height
|
|
65
55
|
if (cellY >= height) {
|
|
66
56
|
cellY = height - 1;
|
|
67
57
|
}
|
|
68
|
-
|
|
69
|
-
// limit to element width
|
|
58
|
+
// Limit the cell position to the element width
|
|
70
59
|
if (cellX >= width) {
|
|
71
60
|
cellX = width - 1;
|
|
72
61
|
}
|
|
62
|
+
// Get the row and column items based on the cell position
|
|
73
63
|
const rgRow = getItemByPosition(rows, cellY);
|
|
74
64
|
const rgCol = getItemByPosition(cols, cellX);
|
|
75
|
-
// before first
|
|
65
|
+
// Set the row and column index to 0 if they are before the first item
|
|
76
66
|
if (rgCol.itemIndex < 0) {
|
|
77
67
|
rgCol.itemIndex = 0;
|
|
78
68
|
}
|
|
79
|
-
// before first
|
|
80
69
|
if (rgRow.itemIndex < 0) {
|
|
81
70
|
rgRow.itemIndex = 0;
|
|
82
71
|
}
|
|
@@ -98,8 +87,11 @@ function getCoordinate(range, focus, changes, isMulti = false) {
|
|
|
98
87
|
}
|
|
99
88
|
return null;
|
|
100
89
|
}
|
|
101
|
-
/**
|
|
102
|
-
|
|
90
|
+
/**
|
|
91
|
+
* Check if the x coordinate of the cell position is after or equal to the x coordinate of the last cell position
|
|
92
|
+
* or if the y coordinate of the cell position is after or equal to the y coordinate of the last cell position
|
|
93
|
+
*/
|
|
94
|
+
function isAfterLast({ x, y }, lastCell) {
|
|
103
95
|
return x >= lastCell.x || y >= lastCell.y;
|
|
104
96
|
}
|
|
105
97
|
/** check if out of range */
|
|
@@ -188,13 +180,14 @@ const RevogrFocus$1 = class {
|
|
|
188
180
|
const column = getSourceItem(this.colData, focus.x);
|
|
189
181
|
this.afterFocus.emit({
|
|
190
182
|
model,
|
|
191
|
-
column
|
|
183
|
+
column,
|
|
192
184
|
});
|
|
193
185
|
}
|
|
194
186
|
componentDidRender() {
|
|
195
187
|
var _a, _b;
|
|
196
188
|
const currentFocus = this.selectionStore.get('focus');
|
|
197
|
-
if (((_a = this.activeFocus) === null || _a === void 0 ? void 0 : _a.x) === (currentFocus === null || currentFocus === void 0 ? void 0 : currentFocus.x) &&
|
|
189
|
+
if (((_a = this.activeFocus) === null || _a === void 0 ? void 0 : _a.x) === (currentFocus === null || currentFocus === void 0 ? void 0 : currentFocus.x) &&
|
|
190
|
+
((_b = this.activeFocus) === null || _b === void 0 ? void 0 : _b.y) === (currentFocus === null || currentFocus === void 0 ? void 0 : currentFocus.y)) {
|
|
198
191
|
return;
|
|
199
192
|
}
|
|
200
193
|
this.activeFocus = currentFocus;
|
|
@@ -240,9 +233,9 @@ class KeyboardService {
|
|
|
240
233
|
constructor(sv) {
|
|
241
234
|
this.sv = sv;
|
|
242
235
|
}
|
|
243
|
-
async keyDown(e, canRange) {
|
|
236
|
+
async keyDown(e, canRange, isEditMode, { range, focus }) {
|
|
244
237
|
// IF EDIT MODE
|
|
245
|
-
if (
|
|
238
|
+
if (isEditMode) {
|
|
246
239
|
switch (e.code) {
|
|
247
240
|
case codesLetter.ESCAPE:
|
|
248
241
|
this.sv.cancel();
|
|
@@ -252,12 +245,12 @@ class KeyboardService {
|
|
|
252
245
|
}
|
|
253
246
|
// IF NOT EDIT MODE
|
|
254
247
|
// pressed clear key
|
|
255
|
-
if (
|
|
248
|
+
if (range && isClear(e.code)) {
|
|
256
249
|
this.sv.clearCell();
|
|
257
250
|
return;
|
|
258
251
|
}
|
|
259
252
|
// below works with focus only
|
|
260
|
-
if (!
|
|
253
|
+
if (!focus) {
|
|
261
254
|
return;
|
|
262
255
|
}
|
|
263
256
|
// tab key means same as arrow right
|
|
@@ -333,7 +326,7 @@ class KeyboardService {
|
|
|
333
326
|
}
|
|
334
327
|
if (isMulti) {
|
|
335
328
|
const eData = this.sv.getData();
|
|
336
|
-
if (isAfterLast(data.end, eData) || isBeforeFirst(data.start)) {
|
|
329
|
+
if (isAfterLast(data.end, eData.lastCell) || isBeforeFirst(data.start)) {
|
|
337
330
|
return false;
|
|
338
331
|
}
|
|
339
332
|
const range = getRange(data.start, data.end);
|
|
@@ -385,7 +378,10 @@ class AutoFillService {
|
|
|
385
378
|
return (h("div", { class: {
|
|
386
379
|
[CELL_HANDLER_CLASS]: true,
|
|
387
380
|
[MOBILE_CLASS]: true,
|
|
388
|
-
}, style: {
|
|
381
|
+
}, style: {
|
|
382
|
+
left: `${handlerStyle.right}px`,
|
|
383
|
+
top: `${handlerStyle.bottom}px`,
|
|
384
|
+
}, onMouseDown: (e) => this.autoFillHandler(e), onTouchStart: (e) => this.autoFillHandler(e) }));
|
|
389
385
|
}
|
|
390
386
|
autoFillHandler(e, type = "AutoFill" /* AutoFillType.autoFill */) {
|
|
391
387
|
let target = null;
|
|
@@ -401,7 +397,9 @@ class AutoFillService {
|
|
|
401
397
|
get isAutoFill() {
|
|
402
398
|
return !!this.autoFillType;
|
|
403
399
|
}
|
|
404
|
-
/**
|
|
400
|
+
/**
|
|
401
|
+
* Process mouse move events
|
|
402
|
+
*/
|
|
405
403
|
selectionMouseMove(e) {
|
|
406
404
|
// initiate mouse move debounce if not present
|
|
407
405
|
if (!this.onMouseMoveAutofill) {
|
|
@@ -411,9 +409,7 @@ class AutoFillService {
|
|
|
411
409
|
this.onMouseMoveAutofill(e, this.sv.getData());
|
|
412
410
|
}
|
|
413
411
|
}
|
|
414
|
-
getFocus() {
|
|
415
|
-
let focus = this.sv.selectionStoreService.focused;
|
|
416
|
-
const range = this.sv.selectionStoreService.ranged;
|
|
412
|
+
getFocus(focus, range) {
|
|
417
413
|
// there was an issue that it was taking last cell from range but focus was out
|
|
418
414
|
if (!focus && range) {
|
|
419
415
|
focus = { x: range.x, y: range.y };
|
|
@@ -429,8 +425,8 @@ class AutoFillService {
|
|
|
429
425
|
if (!this.autoFillInitial) {
|
|
430
426
|
return;
|
|
431
427
|
}
|
|
432
|
-
const x =
|
|
433
|
-
const y =
|
|
428
|
+
const x = getPropertyFromEvent(event, 'clientX', MOBILE_CLASS);
|
|
429
|
+
const y = getPropertyFromEvent(event, 'clientY', MOBILE_CLASS);
|
|
434
430
|
// skip touch
|
|
435
431
|
if (x === null || y === null) {
|
|
436
432
|
return;
|
|
@@ -443,11 +439,12 @@ class AutoFillService {
|
|
|
443
439
|
}
|
|
444
440
|
}
|
|
445
441
|
// check if not the latest, if latest - do nothing
|
|
446
|
-
if (isAfterLast(current, data)) {
|
|
442
|
+
if (isAfterLast(current, data.lastCell)) {
|
|
447
443
|
return;
|
|
448
444
|
}
|
|
449
445
|
this.autoFillLast = current;
|
|
450
|
-
const isSame = current.x === this.autoFillInitial.x &&
|
|
446
|
+
const isSame = current.x === this.autoFillInitial.x &&
|
|
447
|
+
current.y === this.autoFillInitial.y;
|
|
451
448
|
// if same as initial - clear
|
|
452
449
|
if (isSame) {
|
|
453
450
|
this.sv.setTempRange(null);
|
|
@@ -468,39 +465,48 @@ class AutoFillService {
|
|
|
468
465
|
selectionStart(target, data, type = "Selection" /* AutoFillType.selection */) {
|
|
469
466
|
/** Get cell by autofill element */
|
|
470
467
|
const { top, left } = target.getBoundingClientRect();
|
|
471
|
-
this.autoFillInitial = this.getFocus();
|
|
468
|
+
this.autoFillInitial = this.getFocus(data.focus, data.range);
|
|
472
469
|
this.autoFillType = type;
|
|
473
470
|
this.autoFillStart = getCurrentCell({ x: left, y: top }, data);
|
|
474
471
|
}
|
|
475
472
|
/**
|
|
476
|
-
* Clear current range selection
|
|
477
|
-
* on mouse up and mouse leave events
|
|
473
|
+
* Clear current range selection on mouse up and mouse leave events
|
|
478
474
|
*/
|
|
479
|
-
clearAutoFillSelection() {
|
|
480
|
-
//
|
|
475
|
+
clearAutoFillSelection(focus, oldRange) {
|
|
476
|
+
// If autofill was active, apply autofill values
|
|
481
477
|
if (this.autoFillInitial) {
|
|
482
|
-
//
|
|
483
|
-
this.autoFillInitial = this.getFocus();
|
|
484
|
-
// Apply range data if
|
|
478
|
+
// Fetch latest focus
|
|
479
|
+
this.autoFillInitial = this.getFocus(focus, oldRange);
|
|
480
|
+
// Apply range data if autofill mode is active
|
|
485
481
|
if (this.autoFillType === "AutoFill" /* AutoFillType.autoFill */) {
|
|
486
482
|
const range = getRange(this.autoFillInitial, this.autoFillLast);
|
|
483
|
+
// If range is present, apply data
|
|
487
484
|
if (range) {
|
|
488
|
-
const { defaultPrevented: stopApply, detail: { range: newRange } } = this.sv.clearRangeDataApply({
|
|
485
|
+
const { defaultPrevented: stopApply, detail: { range: newRange }, } = this.sv.clearRangeDataApply({
|
|
489
486
|
range,
|
|
490
487
|
});
|
|
488
|
+
// If data apply was not prevented, apply new range
|
|
491
489
|
if (!stopApply) {
|
|
492
|
-
this.applyRangeWithData(newRange);
|
|
490
|
+
this.applyRangeWithData(newRange, oldRange);
|
|
493
491
|
}
|
|
494
492
|
else {
|
|
495
|
-
//
|
|
493
|
+
// If data apply was prevented, clear temporary range
|
|
496
494
|
this.sv.setTempRange(null);
|
|
497
495
|
}
|
|
498
496
|
}
|
|
499
497
|
}
|
|
500
498
|
else {
|
|
499
|
+
// If not autofill mode, apply range only
|
|
501
500
|
this.applyRangeOnly(this.autoFillInitial, this.autoFillLast);
|
|
502
501
|
}
|
|
503
502
|
}
|
|
503
|
+
// Reset autofill state
|
|
504
|
+
this.resetAutoFillState();
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* Reset autofill state
|
|
508
|
+
*/
|
|
509
|
+
resetAutoFillState() {
|
|
504
510
|
this.autoFillType = null;
|
|
505
511
|
this.autoFillInitial = null;
|
|
506
512
|
this.autoFillLast = null;
|
|
@@ -520,8 +526,7 @@ class AutoFillService {
|
|
|
520
526
|
this.sv.setRange(range);
|
|
521
527
|
}
|
|
522
528
|
/** Apply range and copy data during range application */
|
|
523
|
-
applyRangeWithData(newRange) {
|
|
524
|
-
const oldRange = this.sv.selectionStoreService.ranged;
|
|
529
|
+
applyRangeWithData(newRange, oldRange) {
|
|
525
530
|
const rangeData = {
|
|
526
531
|
type: this.sv.dataStore.get('type'),
|
|
527
532
|
colType: this.sv.columnService.type,
|
|
@@ -610,44 +615,60 @@ const OverlaySelection = class {
|
|
|
610
615
|
// #endregion
|
|
611
616
|
// #region Listeners
|
|
612
617
|
onMouseMove(e) {
|
|
613
|
-
if (this.
|
|
618
|
+
if (this.selectionStore.get('focus')) {
|
|
614
619
|
this.autoFillService.selectionMouseMove(e);
|
|
615
620
|
}
|
|
616
621
|
}
|
|
617
|
-
/**
|
|
618
|
-
|
|
622
|
+
/**
|
|
623
|
+
* Action finished inside of the document.
|
|
624
|
+
* Pointer left document, clear any active operation.
|
|
625
|
+
*/
|
|
619
626
|
onMouseUp() {
|
|
620
|
-
|
|
627
|
+
// Clear auto fill selection
|
|
628
|
+
// when pointer left document,
|
|
629
|
+
// clear any active operation.
|
|
630
|
+
this.autoFillService.clearAutoFillSelection(this.selectionStore.get('focus'), this.selectionStore.get('range'));
|
|
621
631
|
}
|
|
622
|
-
/**
|
|
632
|
+
/**
|
|
633
|
+
* Row drag started.
|
|
634
|
+
* This event is fired when drag action started on cell.
|
|
635
|
+
*/
|
|
623
636
|
onCellDrag(e) {
|
|
624
637
|
var _a;
|
|
638
|
+
// Invoke drag start on order editor.
|
|
625
639
|
(_a = this.orderEditor) === null || _a === void 0 ? void 0 : _a.dragStart(e.detail);
|
|
626
640
|
}
|
|
627
|
-
/**
|
|
641
|
+
/**
|
|
642
|
+
* Get keyboard down from element.
|
|
643
|
+
* This event is fired when keyboard key is released.
|
|
644
|
+
*/
|
|
628
645
|
onKeyUp(e) {
|
|
646
|
+
// Emit before key up event.
|
|
629
647
|
this.beforeKeyUp.emit(e);
|
|
630
648
|
}
|
|
631
|
-
/**
|
|
649
|
+
/**
|
|
650
|
+
* Get keyboard down from element.
|
|
651
|
+
* This event is fired when keyboard key is pressed.
|
|
652
|
+
*/
|
|
632
653
|
onKeyDown(e) {
|
|
633
654
|
var _a;
|
|
655
|
+
// Emit before key down event and check if default prevention is set.
|
|
634
656
|
const proxy = this.beforeKeyDown.emit(e);
|
|
635
657
|
if (e.defaultPrevented || proxy.defaultPrevented) {
|
|
636
658
|
return;
|
|
637
659
|
}
|
|
638
|
-
|
|
660
|
+
// Invoke key down on keyboard service.
|
|
661
|
+
(_a = this.keyboardService) === null || _a === void 0 ? void 0 : _a.keyDown(e, this.range, !!this.selectionStore.get('edit'), {
|
|
662
|
+
focus: this.selectionStore.get('focus'),
|
|
663
|
+
range: this.selectionStore.get('range'),
|
|
664
|
+
});
|
|
639
665
|
}
|
|
640
666
|
// #endregion
|
|
641
667
|
/** Selection & Keyboard */
|
|
642
668
|
selectionServiceSet(s) {
|
|
643
|
-
this.selectionStoreService = new SelectionStoreService(s, {
|
|
644
|
-
changeRange: range => this.triggerRangeEvent(range),
|
|
645
|
-
focus: (focus, end) => this.doFocus(focus, end),
|
|
646
|
-
});
|
|
647
669
|
this.keyboardService = new KeyboardService({
|
|
648
|
-
selectionStoreService: this.selectionStoreService,
|
|
649
670
|
selectionStore: s,
|
|
650
|
-
range: r => this.
|
|
671
|
+
range: r => this.triggerRangeEvent(r),
|
|
651
672
|
focusNext: (f, next) => this.doFocus(f, f, next),
|
|
652
673
|
change: val => {
|
|
653
674
|
if (this.readonly) {
|
|
@@ -669,7 +690,6 @@ const OverlaySelection = class {
|
|
|
669
690
|
/** Autofill */
|
|
670
691
|
createAutoFillService() {
|
|
671
692
|
this.autoFillService = new AutoFillService({
|
|
672
|
-
selectionStoreService: this.selectionStoreService,
|
|
673
693
|
dimensionRow: this.dimensionRow,
|
|
674
694
|
dimensionCol: this.dimensionCol,
|
|
675
695
|
columnService: this.columnService,
|
|
@@ -745,10 +765,10 @@ const OverlaySelection = class {
|
|
|
745
765
|
nodes.push(editCell);
|
|
746
766
|
}
|
|
747
767
|
else {
|
|
748
|
-
const range = this.
|
|
749
|
-
const
|
|
768
|
+
const range = this.selectionStore.get('range');
|
|
769
|
+
const focus = this.selectionStore.get('focus');
|
|
750
770
|
// Clipboard
|
|
751
|
-
if ((range ||
|
|
771
|
+
if ((range || focus) && this.useClipboard) {
|
|
752
772
|
nodes.push(h("revogr-clipboard", { readonly: this.readonly, onCopyregion: e => this.onCopy(e.detail), onClearregion: () => !this.readonly && this.clearCell(), ref: e => (this.clipboard = e), onPasteregion: e => this.onPaste(e.detail) }));
|
|
753
773
|
}
|
|
754
774
|
// Range
|
|
@@ -756,23 +776,19 @@ const OverlaySelection = class {
|
|
|
756
776
|
nodes.push(...this.renderRange(range));
|
|
757
777
|
}
|
|
758
778
|
// Autofill
|
|
759
|
-
if (
|
|
760
|
-
nodes.push(this.autoFillService.renderAutofill(range,
|
|
779
|
+
if (focus && !this.readonly && this.range) {
|
|
780
|
+
nodes.push(this.autoFillService.renderAutofill(range, focus));
|
|
761
781
|
}
|
|
762
782
|
// Order
|
|
763
783
|
if (this.canDrag) {
|
|
764
784
|
nodes.push(h("revogr-order-editor", { ref: e => (this.orderEditor = e), dataStore: this.dataStore, dimensionRow: this.dimensionRow, dimensionCol: this.dimensionCol, parent: this.element, onRowdragstartinit: e => this.rowDragStart(e) }));
|
|
765
785
|
}
|
|
766
786
|
}
|
|
767
|
-
return (h(Host, { key: '
|
|
768
|
-
// Open Editor on DblClick
|
|
769
|
-
onDblClick: (e) => {
|
|
770
|
-
// DblClick prevented outside - Editor will not open
|
|
771
|
-
if (!e.defaultPrevented) {
|
|
772
|
-
this.doEdit();
|
|
773
|
-
}
|
|
774
|
-
}, onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true) }, nodes, h("slot", { key: '89b9bec7824739ea11fadeecbf3908ac74e85c96', name: "data" })));
|
|
787
|
+
return (h(Host, { key: '3d40ea4ca89197d464bc5b84354e859a7bb9e1fa', class: { mobile: this.isMobileDevice }, onDblClick: (e) => this.onElementDblClick(e), onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true) }, nodes, h("slot", { key: '0d318f6e73fe84efd8d3b621c463bb3700d11eed', name: "data" })));
|
|
775
788
|
}
|
|
789
|
+
/**
|
|
790
|
+
* Executes the focus operation on the specified range of cells.
|
|
791
|
+
*/
|
|
776
792
|
doFocus(focus, end, next) {
|
|
777
793
|
const { defaultPrevented } = this.beforeFocusCell.emit(this.columnService.getSaveData(focus.y, focus.x));
|
|
778
794
|
if (defaultPrevented) {
|
|
@@ -806,31 +822,48 @@ const OverlaySelection = class {
|
|
|
806
822
|
}
|
|
807
823
|
return !e.defaultPrevented;
|
|
808
824
|
}
|
|
825
|
+
/**
|
|
826
|
+
* Open Editor on DblClick
|
|
827
|
+
*/
|
|
828
|
+
onElementDblClick(e) {
|
|
829
|
+
// DblClick prevented outside - Editor will not open
|
|
830
|
+
// Get data from the component
|
|
831
|
+
const data = this.getData();
|
|
832
|
+
const focusCell = getFocusCellBasedOnEvent(e, data);
|
|
833
|
+
if (!focusCell) {
|
|
834
|
+
return;
|
|
835
|
+
}
|
|
836
|
+
this.doEdit();
|
|
837
|
+
}
|
|
838
|
+
/**
|
|
839
|
+
* Handle mouse down event on Host element
|
|
840
|
+
*/
|
|
809
841
|
onElementMouseDown(e, touch = false) {
|
|
842
|
+
// Get the target element from the event object
|
|
843
|
+
const targetElement = e.target;
|
|
810
844
|
// Ignore focus if clicked input
|
|
811
|
-
if (isEditInput(
|
|
845
|
+
if (isEditInput(targetElement)) {
|
|
812
846
|
return;
|
|
813
847
|
}
|
|
848
|
+
// Get data from the component
|
|
814
849
|
const data = this.getData();
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
}
|
|
818
|
-
const x = getFromEvent(e, 'clientX');
|
|
819
|
-
const y = getFromEvent(e, 'clientY');
|
|
820
|
-
// skip touch
|
|
821
|
-
if (x === null || y === null) {
|
|
850
|
+
const focusCell = getFocusCellBasedOnEvent(e, data);
|
|
851
|
+
if (!focusCell) {
|
|
822
852
|
return;
|
|
823
853
|
}
|
|
824
|
-
//
|
|
825
|
-
|
|
826
|
-
this.selectionStoreService.focus(focusCell, this.range && e.shiftKey);
|
|
854
|
+
// Set focus on the current cell
|
|
855
|
+
this.focus(focusCell, this.range && e.shiftKey);
|
|
827
856
|
// Initiate autofill selection
|
|
828
857
|
if (this.range) {
|
|
829
|
-
this.autoFillService.selectionStart(
|
|
858
|
+
this.autoFillService.selectionStart(targetElement, this.getData());
|
|
859
|
+
// Prevent default behavior for mouse events,
|
|
860
|
+
// but only if target element is not a mobile input
|
|
830
861
|
if (!touch) {
|
|
831
862
|
e.preventDefault();
|
|
832
863
|
}
|
|
833
864
|
else if (verifyTouchTarget(e.touches[0], MOBILE_CLASS)) {
|
|
865
|
+
// Prevent default behavior for touch events
|
|
866
|
+
// if target element is a mobile input
|
|
834
867
|
e.preventDefault();
|
|
835
868
|
}
|
|
836
869
|
}
|
|
@@ -841,8 +874,8 @@ const OverlaySelection = class {
|
|
|
841
874
|
doEdit(val = '') {
|
|
842
875
|
var _a;
|
|
843
876
|
if (this.canEdit()) {
|
|
844
|
-
const
|
|
845
|
-
const data = this.columnService.getSaveData(
|
|
877
|
+
const focus = this.selectionStore.get('focus');
|
|
878
|
+
const data = this.columnService.getSaveData(focus.y, focus.x);
|
|
846
879
|
(_a = this.setEdit) === null || _a === void 0 ? void 0 : _a.emit(Object.assign(Object.assign({}, data), { val }));
|
|
847
880
|
}
|
|
848
881
|
}
|
|
@@ -865,8 +898,8 @@ const OverlaySelection = class {
|
|
|
865
898
|
this.cellEditApply.emit(dataToSave);
|
|
866
899
|
}
|
|
867
900
|
getRegion() {
|
|
868
|
-
const focus = this.
|
|
869
|
-
let range = this.
|
|
901
|
+
const focus = this.selectionStore.get('focus');
|
|
902
|
+
let range = this.selectionStore.get('range');
|
|
870
903
|
if (!range) {
|
|
871
904
|
range = getRange(focus, focus);
|
|
872
905
|
}
|
|
@@ -892,8 +925,8 @@ const OverlaySelection = class {
|
|
|
892
925
|
return true;
|
|
893
926
|
}
|
|
894
927
|
onPaste(data) {
|
|
895
|
-
const focus = this.
|
|
896
|
-
const isEditing = this.
|
|
928
|
+
const focus = this.selectionStore.get('focus');
|
|
929
|
+
const isEditing = this.selectionStore.get('edit') !== null;
|
|
897
930
|
if (!focus || isEditing) {
|
|
898
931
|
return;
|
|
899
932
|
}
|
|
@@ -913,13 +946,13 @@ const OverlaySelection = class {
|
|
|
913
946
|
}
|
|
914
947
|
}
|
|
915
948
|
clearCell() {
|
|
916
|
-
if (this.
|
|
917
|
-
!isRangeSingleCell(this.
|
|
918
|
-
const data = this.columnService.getRangeStaticData(this.
|
|
919
|
-
this.autoFillService.onRangeApply(data, this.
|
|
949
|
+
if (this.selectionStore.get('range') &&
|
|
950
|
+
!isRangeSingleCell(this.selectionStore.get('range'))) {
|
|
951
|
+
const data = this.columnService.getRangeStaticData(this.selectionStore.get('range'), '');
|
|
952
|
+
this.autoFillService.onRangeApply(data, this.selectionStore.get('range'));
|
|
920
953
|
}
|
|
921
954
|
else if (this.canEdit()) {
|
|
922
|
-
const focused = this.
|
|
955
|
+
const focused = this.selectionStore.get('focus');
|
|
923
956
|
const cell = this.columnService.getSaveData(focused.y, focused.x);
|
|
924
957
|
this.cellEdit({
|
|
925
958
|
rgRow: focused.y,
|
|
@@ -941,8 +974,24 @@ const OverlaySelection = class {
|
|
|
941
974
|
if (this.readonly) {
|
|
942
975
|
return false;
|
|
943
976
|
}
|
|
944
|
-
const
|
|
945
|
-
return
|
|
977
|
+
const focus = this.selectionStore.get('focus');
|
|
978
|
+
return focus && !((_a = this.columnService) === null || _a === void 0 ? void 0 : _a.isReadOnly(focus.y, focus.x));
|
|
979
|
+
}
|
|
980
|
+
get edited() {
|
|
981
|
+
return this.selectionStore.get('edit');
|
|
982
|
+
}
|
|
983
|
+
/**
|
|
984
|
+
* Sets the focus on a cell and optionally edits a range.
|
|
985
|
+
*/
|
|
986
|
+
focus(cell, isRangeEdit = false) {
|
|
987
|
+
if (!cell)
|
|
988
|
+
return false;
|
|
989
|
+
const end = cell;
|
|
990
|
+
const start = this.selectionStore.get('focus');
|
|
991
|
+
if (isRangeEdit && start) {
|
|
992
|
+
return this.triggerRangeEvent(getRange(start, end));
|
|
993
|
+
}
|
|
994
|
+
return this.doFocus(cell, end);
|
|
946
995
|
}
|
|
947
996
|
get types() {
|
|
948
997
|
return {
|
|
@@ -959,6 +1008,8 @@ const OverlaySelection = class {
|
|
|
959
1008
|
rows: this.dimensionRow.state,
|
|
960
1009
|
cols: this.dimensionCol.state,
|
|
961
1010
|
lastCell: this.lastCell,
|
|
1011
|
+
focus: this.selectionStore.get('focus'),
|
|
1012
|
+
range: this.selectionStore.get('range'),
|
|
962
1013
|
};
|
|
963
1014
|
}
|
|
964
1015
|
get element() { return getElement(this); }
|
|
@@ -1002,7 +1053,7 @@ const RevogrRowHeaders = class {
|
|
|
1002
1053
|
const colData = new DataStore('colPinStart');
|
|
1003
1054
|
const column = Object.assign({ cellTemplate: RowHeaderRender(totalLength) }, this.rowHeaderColumn);
|
|
1004
1055
|
colData.updateData([column]);
|
|
1005
|
-
dataViews.push(h("revogr-data", Object.assign({}, data, { colType:
|
|
1056
|
+
dataViews.push(h("revogr-data", Object.assign({}, data, { colType: "rowHeaders", jobsBeforeRender: this.jobsBeforeRender, rowClass: this.rowClass, dataStore: dataStore.store, colData: colData.store, viewportCol: viewport.store, readonly: true, range: false })));
|
|
1006
1057
|
totalLength += itemCount;
|
|
1007
1058
|
}
|
|
1008
1059
|
const colSize = calculateRowHeaderSize(totalLength, this.rowHeaderColumn);
|
|
@@ -1029,7 +1080,7 @@ const RevogrRowHeaders = class {
|
|
|
1029
1080
|
const viewportHeader = Object.assign(Object.assign({}, this.headerProp), { colData: typeof this.rowHeaderColumn === 'object' ? [this.rowHeaderColumn] : [], viewportCol: viewport.store, canResize: false, type: ROW_HEADER_TYPE,
|
|
1030
1081
|
// parent,
|
|
1031
1082
|
slot: HEADER_SLOT });
|
|
1032
|
-
return (h(Host, { class: { [ROW_HEADER_TYPE]: true }, key: ROW_HEADER_TYPE }, h("revogr-viewport-scroll", Object.assign({ key: '
|
|
1083
|
+
return (h(Host, { class: { [ROW_HEADER_TYPE]: true }, key: ROW_HEADER_TYPE }, h("revogr-viewport-scroll", Object.assign({ key: 'efaaa386cb5ea8b848d42e3407dbde8ad99d1db8' }, viewportScroll, { "row-header": true }), h("revogr-header", Object.assign({ key: '57fb6d08cd094f9b19145ff65c3ab805992fbb68' }, viewportHeader)), dataViews)));
|
|
1033
1084
|
}
|
|
1034
1085
|
};
|
|
1035
1086
|
|
|
@@ -1182,7 +1233,7 @@ const RevogrScrollVirtual = class {
|
|
|
1182
1233
|
}
|
|
1183
1234
|
render() {
|
|
1184
1235
|
const sizeType = this.dimension === 'rgRow' ? 'height' : 'width';
|
|
1185
|
-
return (h(Host, { key: '
|
|
1236
|
+
return (h(Host, { key: '9d672a8992b1c13814270537389142ef53d322f9', onScroll: (e) => this.onScroll(e) }, h("div", { key: '250886ee28842f087d815d66cbb046b38c466ebf', style: {
|
|
1186
1237
|
[sizeType]: `${getContentSize(this.dimensionStore.get('realSize'), this.size, this.viewportStore.get('virtualSize'))}px`,
|
|
1187
1238
|
} })));
|
|
1188
1239
|
}
|