@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
|
@@ -6,51 +6,16 @@
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
8
|
const index = require('./index-84e32c2a.js');
|
|
9
|
-
const index$1 = require('./index-
|
|
9
|
+
const index$1 = require('./index-a9f1b728.js');
|
|
10
10
|
const dimension_helpers = require('./dimension.helpers-ee39d6c4.js');
|
|
11
|
-
const column_service = require('./column.service-e83d9809.js');
|
|
12
|
-
const selection_store = require('./selection.store-2e110a67.js');
|
|
13
|
-
const key_utils = require('./key.utils-59b9b528.js');
|
|
14
|
-
const debounce = require('./debounce-e2b7c6fb.js');
|
|
15
|
-
const events = require('./events-7ccd6894.js');
|
|
16
|
-
const throttle = require('./throttle-f7aee21b.js');
|
|
17
11
|
require('./toNumber-838e6ff5.js');
|
|
18
|
-
require('./
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
get edited() {
|
|
27
|
-
return this.store.get('edit');
|
|
28
|
-
}
|
|
29
|
-
get focused() {
|
|
30
|
-
return this.store.get('focus');
|
|
31
|
-
}
|
|
32
|
-
get ranged() {
|
|
33
|
-
return this.store.get('range');
|
|
34
|
-
}
|
|
35
|
-
changeRange(range) {
|
|
36
|
-
return this.config.changeRange(range);
|
|
37
|
-
}
|
|
38
|
-
focus(cell, isMulti = false) {
|
|
39
|
-
if (!cell) {
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
let end = cell;
|
|
43
|
-
// range edit
|
|
44
|
-
if (isMulti) {
|
|
45
|
-
let start = this.store.get('focus');
|
|
46
|
-
if (start) {
|
|
47
|
-
return this.config.changeRange(selection_store.getRange(start, end));
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
// single focus
|
|
51
|
-
return this.config.focus(cell, end);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
12
|
+
const events = require('./events-b28cc194.js');
|
|
13
|
+
const column_service = require('./column.service-52b4cac9.js');
|
|
14
|
+
const key_utils = require('./key.utils-ee3d9eab.js');
|
|
15
|
+
const selection_helpers = require('./selection.helpers-32abb2a9.js');
|
|
16
|
+
const debounce = require('./debounce-e2b7c6fb.js');
|
|
17
|
+
const viewport_store = require('./viewport.store-2ab4e166.js');
|
|
18
|
+
const throttle = require('./throttle-46478b04.js');
|
|
54
19
|
|
|
55
20
|
const Attribution = class {
|
|
56
21
|
constructor(hostRef) {
|
|
@@ -61,26 +26,50 @@ const Attribution = class {
|
|
|
61
26
|
}
|
|
62
27
|
};
|
|
63
28
|
|
|
64
|
-
|
|
29
|
+
function getFocusCellBasedOnEvent(e, data) {
|
|
30
|
+
// If event default is prevented, return
|
|
31
|
+
if (e.defaultPrevented) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
// Get coordinates from event object
|
|
35
|
+
const x = events.getPropertyFromEvent(e, 'clientX');
|
|
36
|
+
const y = events.getPropertyFromEvent(e, 'clientY');
|
|
37
|
+
// If coordinates are not available, return
|
|
38
|
+
if (x === null || y === null) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
// Get current cell based on coordinates and data
|
|
42
|
+
const focusCell = getCurrentCell({ x, y }, data);
|
|
43
|
+
// If current cell is not available, return
|
|
44
|
+
if (isAfterLast(focusCell, data.lastCell)) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
return focusCell;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Calculate cell based on x, y position
|
|
51
|
+
*/
|
|
65
52
|
function getCurrentCell({ x, y }, { el, rows, cols }) {
|
|
53
|
+
// Get the bounding rectangle of the element
|
|
66
54
|
const { top, left, height, width } = el.getBoundingClientRect();
|
|
55
|
+
// Calculate the cell position relative to the element
|
|
67
56
|
let cellY = y - top;
|
|
68
|
-
|
|
57
|
+
let cellX = x - left;
|
|
58
|
+
// Limit the cell position to the element height
|
|
69
59
|
if (cellY >= height) {
|
|
70
60
|
cellY = height - 1;
|
|
71
61
|
}
|
|
72
|
-
|
|
73
|
-
// limit to element width
|
|
62
|
+
// Limit the cell position to the element width
|
|
74
63
|
if (cellX >= width) {
|
|
75
64
|
cellX = width - 1;
|
|
76
65
|
}
|
|
66
|
+
// Get the row and column items based on the cell position
|
|
77
67
|
const rgRow = dimension_helpers.getItemByPosition(rows, cellY);
|
|
78
68
|
const rgCol = dimension_helpers.getItemByPosition(cols, cellX);
|
|
79
|
-
// before first
|
|
69
|
+
// Set the row and column index to 0 if they are before the first item
|
|
80
70
|
if (rgCol.itemIndex < 0) {
|
|
81
71
|
rgCol.itemIndex = 0;
|
|
82
72
|
}
|
|
83
|
-
// before first
|
|
84
73
|
if (rgRow.itemIndex < 0) {
|
|
85
74
|
rgRow.itemIndex = 0;
|
|
86
75
|
}
|
|
@@ -102,8 +91,11 @@ function getCoordinate(range, focus, changes, isMulti = false) {
|
|
|
102
91
|
}
|
|
103
92
|
return null;
|
|
104
93
|
}
|
|
105
|
-
/**
|
|
106
|
-
|
|
94
|
+
/**
|
|
95
|
+
* Check if the x coordinate of the cell position is after or equal to the x coordinate of the last cell position
|
|
96
|
+
* or if the y coordinate of the cell position is after or equal to the y coordinate of the last cell position
|
|
97
|
+
*/
|
|
98
|
+
function isAfterLast({ x, y }, lastCell) {
|
|
107
99
|
return x >= lastCell.x || y >= lastCell.y;
|
|
108
100
|
}
|
|
109
101
|
/** check if out of range */
|
|
@@ -192,13 +184,14 @@ const RevogrFocus$1 = class {
|
|
|
192
184
|
const column = dimension_helpers.getSourceItem(this.colData, focus.x);
|
|
193
185
|
this.afterFocus.emit({
|
|
194
186
|
model,
|
|
195
|
-
column
|
|
187
|
+
column,
|
|
196
188
|
});
|
|
197
189
|
}
|
|
198
190
|
componentDidRender() {
|
|
199
191
|
var _a, _b;
|
|
200
192
|
const currentFocus = this.selectionStore.get('focus');
|
|
201
|
-
if (((_a = this.activeFocus) === null || _a === void 0 ? void 0 : _a.x) === (currentFocus === null || currentFocus === void 0 ? void 0 : currentFocus.x) &&
|
|
193
|
+
if (((_a = this.activeFocus) === null || _a === void 0 ? void 0 : _a.x) === (currentFocus === null || currentFocus === void 0 ? void 0 : currentFocus.x) &&
|
|
194
|
+
((_b = this.activeFocus) === null || _b === void 0 ? void 0 : _b.y) === (currentFocus === null || currentFocus === void 0 ? void 0 : currentFocus.y)) {
|
|
202
195
|
return;
|
|
203
196
|
}
|
|
204
197
|
this.activeFocus = currentFocus;
|
|
@@ -244,9 +237,9 @@ class KeyboardService {
|
|
|
244
237
|
constructor(sv) {
|
|
245
238
|
this.sv = sv;
|
|
246
239
|
}
|
|
247
|
-
async keyDown(e, canRange) {
|
|
240
|
+
async keyDown(e, canRange, isEditMode, { range, focus }) {
|
|
248
241
|
// IF EDIT MODE
|
|
249
|
-
if (
|
|
242
|
+
if (isEditMode) {
|
|
250
243
|
switch (e.code) {
|
|
251
244
|
case key_utils.codesLetter.ESCAPE:
|
|
252
245
|
this.sv.cancel();
|
|
@@ -256,12 +249,12 @@ class KeyboardService {
|
|
|
256
249
|
}
|
|
257
250
|
// IF NOT EDIT MODE
|
|
258
251
|
// pressed clear key
|
|
259
|
-
if (
|
|
252
|
+
if (range && key_utils.isClear(e.code)) {
|
|
260
253
|
this.sv.clearCell();
|
|
261
254
|
return;
|
|
262
255
|
}
|
|
263
256
|
// below works with focus only
|
|
264
|
-
if (!
|
|
257
|
+
if (!focus) {
|
|
265
258
|
return;
|
|
266
259
|
}
|
|
267
260
|
// tab key means same as arrow right
|
|
@@ -337,10 +330,10 @@ class KeyboardService {
|
|
|
337
330
|
}
|
|
338
331
|
if (isMulti) {
|
|
339
332
|
const eData = this.sv.getData();
|
|
340
|
-
if (isAfterLast(data.end, eData) || isBeforeFirst(data.start)) {
|
|
333
|
+
if (isAfterLast(data.end, eData.lastCell) || isBeforeFirst(data.start)) {
|
|
341
334
|
return false;
|
|
342
335
|
}
|
|
343
|
-
const range =
|
|
336
|
+
const range = selection_helpers.getRange(data.start, data.end);
|
|
344
337
|
return this.sv.range(range);
|
|
345
338
|
}
|
|
346
339
|
return this.sv.focusNext(data.start, changes);
|
|
@@ -389,7 +382,10 @@ class AutoFillService {
|
|
|
389
382
|
return (index.h("div", { class: {
|
|
390
383
|
[index$1.CELL_HANDLER_CLASS]: true,
|
|
391
384
|
[index$1.MOBILE_CLASS]: true,
|
|
392
|
-
}, style: {
|
|
385
|
+
}, style: {
|
|
386
|
+
left: `${handlerStyle.right}px`,
|
|
387
|
+
top: `${handlerStyle.bottom}px`,
|
|
388
|
+
}, onMouseDown: (e) => this.autoFillHandler(e), onTouchStart: (e) => this.autoFillHandler(e) }));
|
|
393
389
|
}
|
|
394
390
|
autoFillHandler(e, type = "AutoFill" /* AutoFillType.autoFill */) {
|
|
395
391
|
let target = null;
|
|
@@ -405,7 +401,9 @@ class AutoFillService {
|
|
|
405
401
|
get isAutoFill() {
|
|
406
402
|
return !!this.autoFillType;
|
|
407
403
|
}
|
|
408
|
-
/**
|
|
404
|
+
/**
|
|
405
|
+
* Process mouse move events
|
|
406
|
+
*/
|
|
409
407
|
selectionMouseMove(e) {
|
|
410
408
|
// initiate mouse move debounce if not present
|
|
411
409
|
if (!this.onMouseMoveAutofill) {
|
|
@@ -415,9 +413,7 @@ class AutoFillService {
|
|
|
415
413
|
this.onMouseMoveAutofill(e, this.sv.getData());
|
|
416
414
|
}
|
|
417
415
|
}
|
|
418
|
-
getFocus() {
|
|
419
|
-
let focus = this.sv.selectionStoreService.focused;
|
|
420
|
-
const range = this.sv.selectionStoreService.ranged;
|
|
416
|
+
getFocus(focus, range) {
|
|
421
417
|
// there was an issue that it was taking last cell from range but focus was out
|
|
422
418
|
if (!focus && range) {
|
|
423
419
|
focus = { x: range.x, y: range.y };
|
|
@@ -433,8 +429,8 @@ class AutoFillService {
|
|
|
433
429
|
if (!this.autoFillInitial) {
|
|
434
430
|
return;
|
|
435
431
|
}
|
|
436
|
-
const x = events.
|
|
437
|
-
const y = events.
|
|
432
|
+
const x = events.getPropertyFromEvent(event, 'clientX', index$1.MOBILE_CLASS);
|
|
433
|
+
const y = events.getPropertyFromEvent(event, 'clientY', index$1.MOBILE_CLASS);
|
|
438
434
|
// skip touch
|
|
439
435
|
if (x === null || y === null) {
|
|
440
436
|
return;
|
|
@@ -447,18 +443,19 @@ class AutoFillService {
|
|
|
447
443
|
}
|
|
448
444
|
}
|
|
449
445
|
// check if not the latest, if latest - do nothing
|
|
450
|
-
if (isAfterLast(current, data)) {
|
|
446
|
+
if (isAfterLast(current, data.lastCell)) {
|
|
451
447
|
return;
|
|
452
448
|
}
|
|
453
449
|
this.autoFillLast = current;
|
|
454
|
-
const isSame = current.x === this.autoFillInitial.x &&
|
|
450
|
+
const isSame = current.x === this.autoFillInitial.x &&
|
|
451
|
+
current.y === this.autoFillInitial.y;
|
|
455
452
|
// if same as initial - clear
|
|
456
453
|
if (isSame) {
|
|
457
454
|
this.sv.setTempRange(null);
|
|
458
455
|
}
|
|
459
456
|
else {
|
|
460
457
|
this.sv.setTempRange({
|
|
461
|
-
area:
|
|
458
|
+
area: selection_helpers.getRange(this.autoFillInitial, this.autoFillLast),
|
|
462
459
|
type: this.autoFillType,
|
|
463
460
|
});
|
|
464
461
|
}
|
|
@@ -472,39 +469,48 @@ class AutoFillService {
|
|
|
472
469
|
selectionStart(target, data, type = "Selection" /* AutoFillType.selection */) {
|
|
473
470
|
/** Get cell by autofill element */
|
|
474
471
|
const { top, left } = target.getBoundingClientRect();
|
|
475
|
-
this.autoFillInitial = this.getFocus();
|
|
472
|
+
this.autoFillInitial = this.getFocus(data.focus, data.range);
|
|
476
473
|
this.autoFillType = type;
|
|
477
474
|
this.autoFillStart = getCurrentCell({ x: left, y: top }, data);
|
|
478
475
|
}
|
|
479
476
|
/**
|
|
480
|
-
* Clear current range selection
|
|
481
|
-
* on mouse up and mouse leave events
|
|
477
|
+
* Clear current range selection on mouse up and mouse leave events
|
|
482
478
|
*/
|
|
483
|
-
clearAutoFillSelection() {
|
|
484
|
-
//
|
|
479
|
+
clearAutoFillSelection(focus, oldRange) {
|
|
480
|
+
// If autofill was active, apply autofill values
|
|
485
481
|
if (this.autoFillInitial) {
|
|
486
|
-
//
|
|
487
|
-
this.autoFillInitial = this.getFocus();
|
|
488
|
-
// Apply range data if
|
|
482
|
+
// Fetch latest focus
|
|
483
|
+
this.autoFillInitial = this.getFocus(focus, oldRange);
|
|
484
|
+
// Apply range data if autofill mode is active
|
|
489
485
|
if (this.autoFillType === "AutoFill" /* AutoFillType.autoFill */) {
|
|
490
|
-
const range =
|
|
486
|
+
const range = selection_helpers.getRange(this.autoFillInitial, this.autoFillLast);
|
|
487
|
+
// If range is present, apply data
|
|
491
488
|
if (range) {
|
|
492
|
-
const { defaultPrevented: stopApply, detail: { range: newRange } } = this.sv.clearRangeDataApply({
|
|
489
|
+
const { defaultPrevented: stopApply, detail: { range: newRange }, } = this.sv.clearRangeDataApply({
|
|
493
490
|
range,
|
|
494
491
|
});
|
|
492
|
+
// If data apply was not prevented, apply new range
|
|
495
493
|
if (!stopApply) {
|
|
496
|
-
this.applyRangeWithData(newRange);
|
|
494
|
+
this.applyRangeWithData(newRange, oldRange);
|
|
497
495
|
}
|
|
498
496
|
else {
|
|
499
|
-
//
|
|
497
|
+
// If data apply was prevented, clear temporary range
|
|
500
498
|
this.sv.setTempRange(null);
|
|
501
499
|
}
|
|
502
500
|
}
|
|
503
501
|
}
|
|
504
502
|
else {
|
|
503
|
+
// If not autofill mode, apply range only
|
|
505
504
|
this.applyRangeOnly(this.autoFillInitial, this.autoFillLast);
|
|
506
505
|
}
|
|
507
506
|
}
|
|
507
|
+
// Reset autofill state
|
|
508
|
+
this.resetAutoFillState();
|
|
509
|
+
}
|
|
510
|
+
/**
|
|
511
|
+
* Reset autofill state
|
|
512
|
+
*/
|
|
513
|
+
resetAutoFillState() {
|
|
508
514
|
this.autoFillType = null;
|
|
509
515
|
this.autoFillInitial = null;
|
|
510
516
|
this.autoFillLast = null;
|
|
@@ -524,8 +530,7 @@ class AutoFillService {
|
|
|
524
530
|
this.sv.setRange(range);
|
|
525
531
|
}
|
|
526
532
|
/** Apply range and copy data during range application */
|
|
527
|
-
applyRangeWithData(newRange) {
|
|
528
|
-
const oldRange = this.sv.selectionStoreService.ranged;
|
|
533
|
+
applyRangeWithData(newRange, oldRange) {
|
|
529
534
|
const rangeData = {
|
|
530
535
|
type: this.sv.dataStore.get('type'),
|
|
531
536
|
colType: this.sv.columnService.type,
|
|
@@ -559,7 +564,7 @@ class AutoFillService {
|
|
|
559
564
|
if (!start || !end) {
|
|
560
565
|
return;
|
|
561
566
|
}
|
|
562
|
-
const newRange =
|
|
567
|
+
const newRange = selection_helpers.getRange(start, end);
|
|
563
568
|
this.sv.setRange(newRange);
|
|
564
569
|
}
|
|
565
570
|
}
|
|
@@ -614,44 +619,60 @@ const OverlaySelection = class {
|
|
|
614
619
|
// #endregion
|
|
615
620
|
// #region Listeners
|
|
616
621
|
onMouseMove(e) {
|
|
617
|
-
if (this.
|
|
622
|
+
if (this.selectionStore.get('focus')) {
|
|
618
623
|
this.autoFillService.selectionMouseMove(e);
|
|
619
624
|
}
|
|
620
625
|
}
|
|
621
|
-
/**
|
|
622
|
-
|
|
626
|
+
/**
|
|
627
|
+
* Action finished inside of the document.
|
|
628
|
+
* Pointer left document, clear any active operation.
|
|
629
|
+
*/
|
|
623
630
|
onMouseUp() {
|
|
624
|
-
|
|
631
|
+
// Clear auto fill selection
|
|
632
|
+
// when pointer left document,
|
|
633
|
+
// clear any active operation.
|
|
634
|
+
this.autoFillService.clearAutoFillSelection(this.selectionStore.get('focus'), this.selectionStore.get('range'));
|
|
625
635
|
}
|
|
626
|
-
/**
|
|
636
|
+
/**
|
|
637
|
+
* Row drag started.
|
|
638
|
+
* This event is fired when drag action started on cell.
|
|
639
|
+
*/
|
|
627
640
|
onCellDrag(e) {
|
|
628
641
|
var _a;
|
|
642
|
+
// Invoke drag start on order editor.
|
|
629
643
|
(_a = this.orderEditor) === null || _a === void 0 ? void 0 : _a.dragStart(e.detail);
|
|
630
644
|
}
|
|
631
|
-
/**
|
|
645
|
+
/**
|
|
646
|
+
* Get keyboard down from element.
|
|
647
|
+
* This event is fired when keyboard key is released.
|
|
648
|
+
*/
|
|
632
649
|
onKeyUp(e) {
|
|
650
|
+
// Emit before key up event.
|
|
633
651
|
this.beforeKeyUp.emit(e);
|
|
634
652
|
}
|
|
635
|
-
/**
|
|
653
|
+
/**
|
|
654
|
+
* Get keyboard down from element.
|
|
655
|
+
* This event is fired when keyboard key is pressed.
|
|
656
|
+
*/
|
|
636
657
|
onKeyDown(e) {
|
|
637
658
|
var _a;
|
|
659
|
+
// Emit before key down event and check if default prevention is set.
|
|
638
660
|
const proxy = this.beforeKeyDown.emit(e);
|
|
639
661
|
if (e.defaultPrevented || proxy.defaultPrevented) {
|
|
640
662
|
return;
|
|
641
663
|
}
|
|
642
|
-
|
|
664
|
+
// Invoke key down on keyboard service.
|
|
665
|
+
(_a = this.keyboardService) === null || _a === void 0 ? void 0 : _a.keyDown(e, this.range, !!this.selectionStore.get('edit'), {
|
|
666
|
+
focus: this.selectionStore.get('focus'),
|
|
667
|
+
range: this.selectionStore.get('range'),
|
|
668
|
+
});
|
|
643
669
|
}
|
|
644
670
|
// #endregion
|
|
645
671
|
/** Selection & Keyboard */
|
|
646
672
|
selectionServiceSet(s) {
|
|
647
|
-
this.selectionStoreService = new SelectionStoreService(s, {
|
|
648
|
-
changeRange: range => this.triggerRangeEvent(range),
|
|
649
|
-
focus: (focus, end) => this.doFocus(focus, end),
|
|
650
|
-
});
|
|
651
673
|
this.keyboardService = new KeyboardService({
|
|
652
|
-
selectionStoreService: this.selectionStoreService,
|
|
653
674
|
selectionStore: s,
|
|
654
|
-
range: r => this.
|
|
675
|
+
range: r => this.triggerRangeEvent(r),
|
|
655
676
|
focusNext: (f, next) => this.doFocus(f, f, next),
|
|
656
677
|
change: val => {
|
|
657
678
|
if (this.readonly) {
|
|
@@ -673,7 +694,6 @@ const OverlaySelection = class {
|
|
|
673
694
|
/** Autofill */
|
|
674
695
|
createAutoFillService() {
|
|
675
696
|
this.autoFillService = new AutoFillService({
|
|
676
|
-
selectionStoreService: this.selectionStoreService,
|
|
677
697
|
dimensionRow: this.dimensionRow,
|
|
678
698
|
dimensionCol: this.dimensionCol,
|
|
679
699
|
columnService: this.columnService,
|
|
@@ -749,10 +769,10 @@ const OverlaySelection = class {
|
|
|
749
769
|
nodes.push(editCell);
|
|
750
770
|
}
|
|
751
771
|
else {
|
|
752
|
-
const range = this.
|
|
753
|
-
const
|
|
772
|
+
const range = this.selectionStore.get('range');
|
|
773
|
+
const focus = this.selectionStore.get('focus');
|
|
754
774
|
// Clipboard
|
|
755
|
-
if ((range ||
|
|
775
|
+
if ((range || focus) && this.useClipboard) {
|
|
756
776
|
nodes.push(index.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) }));
|
|
757
777
|
}
|
|
758
778
|
// Range
|
|
@@ -760,23 +780,19 @@ const OverlaySelection = class {
|
|
|
760
780
|
nodes.push(...this.renderRange(range));
|
|
761
781
|
}
|
|
762
782
|
// Autofill
|
|
763
|
-
if (
|
|
764
|
-
nodes.push(this.autoFillService.renderAutofill(range,
|
|
783
|
+
if (focus && !this.readonly && this.range) {
|
|
784
|
+
nodes.push(this.autoFillService.renderAutofill(range, focus));
|
|
765
785
|
}
|
|
766
786
|
// Order
|
|
767
787
|
if (this.canDrag) {
|
|
768
788
|
nodes.push(index.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) }));
|
|
769
789
|
}
|
|
770
790
|
}
|
|
771
|
-
return (index.h(index.Host, { key: '
|
|
772
|
-
// Open Editor on DblClick
|
|
773
|
-
onDblClick: (e) => {
|
|
774
|
-
// DblClick prevented outside - Editor will not open
|
|
775
|
-
if (!e.defaultPrevented) {
|
|
776
|
-
this.doEdit();
|
|
777
|
-
}
|
|
778
|
-
}, onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true) }, nodes, index.h("slot", { key: '89b9bec7824739ea11fadeecbf3908ac74e85c96', name: "data" })));
|
|
791
|
+
return (index.h(index.Host, { key: '3d40ea4ca89197d464bc5b84354e859a7bb9e1fa', class: { mobile: this.isMobileDevice }, onDblClick: (e) => this.onElementDblClick(e), onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true) }, nodes, index.h("slot", { key: '0d318f6e73fe84efd8d3b621c463bb3700d11eed', name: "data" })));
|
|
779
792
|
}
|
|
793
|
+
/**
|
|
794
|
+
* Executes the focus operation on the specified range of cells.
|
|
795
|
+
*/
|
|
780
796
|
doFocus(focus, end, next) {
|
|
781
797
|
const { defaultPrevented } = this.beforeFocusCell.emit(this.columnService.getSaveData(focus.y, focus.x));
|
|
782
798
|
if (defaultPrevented) {
|
|
@@ -810,31 +826,48 @@ const OverlaySelection = class {
|
|
|
810
826
|
}
|
|
811
827
|
return !e.defaultPrevented;
|
|
812
828
|
}
|
|
829
|
+
/**
|
|
830
|
+
* Open Editor on DblClick
|
|
831
|
+
*/
|
|
832
|
+
onElementDblClick(e) {
|
|
833
|
+
// DblClick prevented outside - Editor will not open
|
|
834
|
+
// Get data from the component
|
|
835
|
+
const data = this.getData();
|
|
836
|
+
const focusCell = getFocusCellBasedOnEvent(e, data);
|
|
837
|
+
if (!focusCell) {
|
|
838
|
+
return;
|
|
839
|
+
}
|
|
840
|
+
this.doEdit();
|
|
841
|
+
}
|
|
842
|
+
/**
|
|
843
|
+
* Handle mouse down event on Host element
|
|
844
|
+
*/
|
|
813
845
|
onElementMouseDown(e, touch = false) {
|
|
846
|
+
// Get the target element from the event object
|
|
847
|
+
const targetElement = e.target;
|
|
814
848
|
// Ignore focus if clicked input
|
|
815
|
-
if (key_utils.isEditInput(
|
|
849
|
+
if (key_utils.isEditInput(targetElement)) {
|
|
816
850
|
return;
|
|
817
851
|
}
|
|
852
|
+
// Get data from the component
|
|
818
853
|
const data = this.getData();
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
}
|
|
822
|
-
const x = events.getFromEvent(e, 'clientX');
|
|
823
|
-
const y = events.getFromEvent(e, 'clientY');
|
|
824
|
-
// skip touch
|
|
825
|
-
if (x === null || y === null) {
|
|
854
|
+
const focusCell = getFocusCellBasedOnEvent(e, data);
|
|
855
|
+
if (!focusCell) {
|
|
826
856
|
return;
|
|
827
857
|
}
|
|
828
|
-
//
|
|
829
|
-
|
|
830
|
-
this.selectionStoreService.focus(focusCell, this.range && e.shiftKey);
|
|
858
|
+
// Set focus on the current cell
|
|
859
|
+
this.focus(focusCell, this.range && e.shiftKey);
|
|
831
860
|
// Initiate autofill selection
|
|
832
861
|
if (this.range) {
|
|
833
|
-
this.autoFillService.selectionStart(
|
|
862
|
+
this.autoFillService.selectionStart(targetElement, this.getData());
|
|
863
|
+
// Prevent default behavior for mouse events,
|
|
864
|
+
// but only if target element is not a mobile input
|
|
834
865
|
if (!touch) {
|
|
835
866
|
e.preventDefault();
|
|
836
867
|
}
|
|
837
868
|
else if (events.verifyTouchTarget(e.touches[0], index$1.MOBILE_CLASS)) {
|
|
869
|
+
// Prevent default behavior for touch events
|
|
870
|
+
// if target element is a mobile input
|
|
838
871
|
e.preventDefault();
|
|
839
872
|
}
|
|
840
873
|
}
|
|
@@ -845,8 +878,8 @@ const OverlaySelection = class {
|
|
|
845
878
|
doEdit(val = '') {
|
|
846
879
|
var _a;
|
|
847
880
|
if (this.canEdit()) {
|
|
848
|
-
const
|
|
849
|
-
const data = this.columnService.getSaveData(
|
|
881
|
+
const focus = this.selectionStore.get('focus');
|
|
882
|
+
const data = this.columnService.getSaveData(focus.y, focus.x);
|
|
850
883
|
(_a = this.setEdit) === null || _a === void 0 ? void 0 : _a.emit(Object.assign(Object.assign({}, data), { val }));
|
|
851
884
|
}
|
|
852
885
|
}
|
|
@@ -869,10 +902,10 @@ const OverlaySelection = class {
|
|
|
869
902
|
this.cellEditApply.emit(dataToSave);
|
|
870
903
|
}
|
|
871
904
|
getRegion() {
|
|
872
|
-
const focus = this.
|
|
873
|
-
let range = this.
|
|
905
|
+
const focus = this.selectionStore.get('focus');
|
|
906
|
+
let range = this.selectionStore.get('range');
|
|
874
907
|
if (!range) {
|
|
875
|
-
range =
|
|
908
|
+
range = selection_helpers.getRange(focus, focus);
|
|
876
909
|
}
|
|
877
910
|
return range;
|
|
878
911
|
}
|
|
@@ -896,8 +929,8 @@ const OverlaySelection = class {
|
|
|
896
929
|
return true;
|
|
897
930
|
}
|
|
898
931
|
onPaste(data) {
|
|
899
|
-
const focus = this.
|
|
900
|
-
const isEditing = this.
|
|
932
|
+
const focus = this.selectionStore.get('focus');
|
|
933
|
+
const isEditing = this.selectionStore.get('edit') !== null;
|
|
901
934
|
if (!focus || isEditing) {
|
|
902
935
|
return;
|
|
903
936
|
}
|
|
@@ -917,13 +950,13 @@ const OverlaySelection = class {
|
|
|
917
950
|
}
|
|
918
951
|
}
|
|
919
952
|
clearCell() {
|
|
920
|
-
if (this.
|
|
921
|
-
!
|
|
922
|
-
const data = this.columnService.getRangeStaticData(this.
|
|
923
|
-
this.autoFillService.onRangeApply(data, this.
|
|
953
|
+
if (this.selectionStore.get('range') &&
|
|
954
|
+
!selection_helpers.isRangeSingleCell(this.selectionStore.get('range'))) {
|
|
955
|
+
const data = this.columnService.getRangeStaticData(this.selectionStore.get('range'), '');
|
|
956
|
+
this.autoFillService.onRangeApply(data, this.selectionStore.get('range'));
|
|
924
957
|
}
|
|
925
958
|
else if (this.canEdit()) {
|
|
926
|
-
const focused = this.
|
|
959
|
+
const focused = this.selectionStore.get('focus');
|
|
927
960
|
const cell = this.columnService.getSaveData(focused.y, focused.x);
|
|
928
961
|
this.cellEdit({
|
|
929
962
|
rgRow: focused.y,
|
|
@@ -945,8 +978,24 @@ const OverlaySelection = class {
|
|
|
945
978
|
if (this.readonly) {
|
|
946
979
|
return false;
|
|
947
980
|
}
|
|
948
|
-
const
|
|
949
|
-
return
|
|
981
|
+
const focus = this.selectionStore.get('focus');
|
|
982
|
+
return focus && !((_a = this.columnService) === null || _a === void 0 ? void 0 : _a.isReadOnly(focus.y, focus.x));
|
|
983
|
+
}
|
|
984
|
+
get edited() {
|
|
985
|
+
return this.selectionStore.get('edit');
|
|
986
|
+
}
|
|
987
|
+
/**
|
|
988
|
+
* Sets the focus on a cell and optionally edits a range.
|
|
989
|
+
*/
|
|
990
|
+
focus(cell, isRangeEdit = false) {
|
|
991
|
+
if (!cell)
|
|
992
|
+
return false;
|
|
993
|
+
const end = cell;
|
|
994
|
+
const start = this.selectionStore.get('focus');
|
|
995
|
+
if (isRangeEdit && start) {
|
|
996
|
+
return this.triggerRangeEvent(selection_helpers.getRange(start, end));
|
|
997
|
+
}
|
|
998
|
+
return this.doFocus(cell, end);
|
|
950
999
|
}
|
|
951
1000
|
get types() {
|
|
952
1001
|
return {
|
|
@@ -963,6 +1012,8 @@ const OverlaySelection = class {
|
|
|
963
1012
|
rows: this.dimensionRow.state,
|
|
964
1013
|
cols: this.dimensionCol.state,
|
|
965
1014
|
lastCell: this.lastCell,
|
|
1015
|
+
focus: this.selectionStore.get('focus'),
|
|
1016
|
+
range: this.selectionStore.get('range'),
|
|
966
1017
|
};
|
|
967
1018
|
}
|
|
968
1019
|
get element() { return index.getElement(this); }
|
|
@@ -994,7 +1045,7 @@ const RevogrRowHeaders = class {
|
|
|
994
1045
|
}
|
|
995
1046
|
render() {
|
|
996
1047
|
const dataViews = [];
|
|
997
|
-
const viewport = new
|
|
1048
|
+
const viewport = new viewport_store.ViewportStore('colPinStart');
|
|
998
1049
|
/** render viewports rows */
|
|
999
1050
|
let totalLength = 1;
|
|
1000
1051
|
// todo: this part could be optimized to avoid to often re-render dataPorts can be cached
|
|
@@ -1006,7 +1057,7 @@ const RevogrRowHeaders = class {
|
|
|
1006
1057
|
const colData = new dimension_helpers.DataStore('colPinStart');
|
|
1007
1058
|
const column = Object.assign({ cellTemplate: RowHeaderRender(totalLength) }, this.rowHeaderColumn);
|
|
1008
1059
|
colData.updateData([column]);
|
|
1009
|
-
dataViews.push(index.h("revogr-data", Object.assign({}, data, { colType:
|
|
1060
|
+
dataViews.push(index.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 })));
|
|
1010
1061
|
totalLength += itemCount;
|
|
1011
1062
|
}
|
|
1012
1063
|
const colSize = events.calculateRowHeaderSize(totalLength, this.rowHeaderColumn);
|
|
@@ -1033,7 +1084,7 @@ const RevogrRowHeaders = class {
|
|
|
1033
1084
|
const viewportHeader = Object.assign(Object.assign({}, this.headerProp), { colData: typeof this.rowHeaderColumn === 'object' ? [this.rowHeaderColumn] : [], viewportCol: viewport.store, canResize: false, type: index$1.ROW_HEADER_TYPE,
|
|
1034
1085
|
// parent,
|
|
1035
1086
|
slot: column_service.HEADER_SLOT });
|
|
1036
|
-
return (index.h(index.Host, { class: { [index$1.ROW_HEADER_TYPE]: true }, key: index$1.ROW_HEADER_TYPE }, index.h("revogr-viewport-scroll", Object.assign({ key: '
|
|
1087
|
+
return (index.h(index.Host, { class: { [index$1.ROW_HEADER_TYPE]: true }, key: index$1.ROW_HEADER_TYPE }, index.h("revogr-viewport-scroll", Object.assign({ key: 'efaaa386cb5ea8b848d42e3407dbde8ad99d1db8' }, viewportScroll, { "row-header": true }), index.h("revogr-header", Object.assign({ key: '57fb6d08cd094f9b19145ff65c3ab805992fbb68' }, viewportHeader)), dataViews)));
|
|
1037
1088
|
}
|
|
1038
1089
|
};
|
|
1039
1090
|
|
|
@@ -1186,7 +1237,7 @@ const RevogrScrollVirtual = class {
|
|
|
1186
1237
|
}
|
|
1187
1238
|
render() {
|
|
1188
1239
|
const sizeType = this.dimension === 'rgRow' ? 'height' : 'width';
|
|
1189
|
-
return (index.h(index.Host, { key: '
|
|
1240
|
+
return (index.h(index.Host, { key: '9d672a8992b1c13814270537389142ef53d322f9', onScroll: (e) => this.onScroll(e) }, index.h("div", { key: '250886ee28842f087d815d66cbb046b38c466ebf', style: {
|
|
1190
1241
|
[sizeType]: `${throttle.getContentSize(this.dimensionStore.get('realSize'), this.size, this.viewportStore.get('virtualSize'))}px`,
|
|
1191
1242
|
} })));
|
|
1192
1243
|
}
|