@revolist/revogrid 4.0.11 → 4.0.13
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 +8 -9
- package/readme.md +8 -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
|
@@ -5,74 +5,16 @@ import { h, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/
|
|
|
5
5
|
import { g as getRange, C as ColumnService, a as isRangeSingleCell } from './column.service.js';
|
|
6
6
|
import { c as codesLetter, i as isClear, a as isEnterKey, b as isCopy, e as isCut, f as isPaste, g as isAll, h as isLetterKey, j as isEditInput, d as defineCustomElement$2 } from './revogr-edit2.js';
|
|
7
7
|
import { R as RESIZE_INTERVAL, k as CELL_HANDLER_CLASS, l as MOBILE_CLASS, S as SELECTION_BORDER_CLASS } from './consts.js';
|
|
8
|
-
import
|
|
8
|
+
import './_baseIteratee.js';
|
|
9
|
+
import './isObjectLike.js';
|
|
10
|
+
import './_nodeUtil.js';
|
|
11
|
+
import { b as getCoordinate, i as isAfterLast, c as isBeforeFirst, d as getCell, g as getPropertyFromEvent, e as getCurrentCell, a as getElStyle, f as getFocusCellBasedOnEvent, v as verifyTouchTarget } from './selection.utils.js';
|
|
9
12
|
import { t as timeout } from './index2.js';
|
|
10
13
|
import { d as debounce_1 } from './debounce.js';
|
|
11
14
|
import { b as getSourceItem } from './data.store.js';
|
|
12
15
|
import { d as defineCustomElement$3 } from './revogr-clipboard2.js';
|
|
13
16
|
import { d as defineCustomElement$1 } from './revogr-order-editor2.js';
|
|
14
17
|
|
|
15
|
-
class SelectionStoreService {
|
|
16
|
-
constructor(store, config) {
|
|
17
|
-
this.store = store;
|
|
18
|
-
this.config = config;
|
|
19
|
-
this.store = store;
|
|
20
|
-
}
|
|
21
|
-
get edited() {
|
|
22
|
-
return this.store.get('edit');
|
|
23
|
-
}
|
|
24
|
-
get focused() {
|
|
25
|
-
return this.store.get('focus');
|
|
26
|
-
}
|
|
27
|
-
get ranged() {
|
|
28
|
-
return this.store.get('range');
|
|
29
|
-
}
|
|
30
|
-
changeRange(range) {
|
|
31
|
-
return this.config.changeRange(range);
|
|
32
|
-
}
|
|
33
|
-
focus(cell, isMulti = false) {
|
|
34
|
-
if (!cell) {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
let end = cell;
|
|
38
|
-
// range edit
|
|
39
|
-
if (isMulti) {
|
|
40
|
-
let start = this.store.get('focus');
|
|
41
|
-
if (start) {
|
|
42
|
-
return this.config.changeRange(getRange(start, end));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
// single focus
|
|
46
|
-
return this.config.focus(cell, end);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function isTouch(e) {
|
|
51
|
-
return !!e.touches;
|
|
52
|
-
}
|
|
53
|
-
function verifyTouchTarget(touchEvent, focusClass) {
|
|
54
|
-
if (focusClass && touchEvent) {
|
|
55
|
-
if (!(touchEvent.target instanceof Element && touchEvent.target.classList.contains(focusClass))) {
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
function getFromEvent(e, prop, focusClass // for touch events
|
|
62
|
-
) {
|
|
63
|
-
if (isTouch(e)) {
|
|
64
|
-
if (e.touches.length > 0) {
|
|
65
|
-
const touchEvent = e.touches[0];
|
|
66
|
-
if (!verifyTouchTarget(touchEvent, focusClass)) {
|
|
67
|
-
return null;
|
|
68
|
-
}
|
|
69
|
-
return touchEvent[prop] || 0;
|
|
70
|
-
}
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
return e[prop] || 0;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
18
|
const DIRECTION_CODES = [
|
|
77
19
|
codesLetter.TAB,
|
|
78
20
|
codesLetter.ARROW_UP,
|
|
@@ -84,9 +26,9 @@ class KeyboardService {
|
|
|
84
26
|
constructor(sv) {
|
|
85
27
|
this.sv = sv;
|
|
86
28
|
}
|
|
87
|
-
async keyDown(e, canRange) {
|
|
29
|
+
async keyDown(e, canRange, isEditMode, { range, focus }) {
|
|
88
30
|
// IF EDIT MODE
|
|
89
|
-
if (
|
|
31
|
+
if (isEditMode) {
|
|
90
32
|
switch (e.code) {
|
|
91
33
|
case codesLetter.ESCAPE:
|
|
92
34
|
this.sv.cancel();
|
|
@@ -96,12 +38,12 @@ class KeyboardService {
|
|
|
96
38
|
}
|
|
97
39
|
// IF NOT EDIT MODE
|
|
98
40
|
// pressed clear key
|
|
99
|
-
if (
|
|
41
|
+
if (range && isClear(e.code)) {
|
|
100
42
|
this.sv.clearCell();
|
|
101
43
|
return;
|
|
102
44
|
}
|
|
103
45
|
// below works with focus only
|
|
104
|
-
if (!
|
|
46
|
+
if (!focus) {
|
|
105
47
|
return;
|
|
106
48
|
}
|
|
107
49
|
// tab key means same as arrow right
|
|
@@ -177,7 +119,7 @@ class KeyboardService {
|
|
|
177
119
|
}
|
|
178
120
|
if (isMulti) {
|
|
179
121
|
const eData = this.sv.getData();
|
|
180
|
-
if (isAfterLast(data.end, eData) || isBeforeFirst(data.start)) {
|
|
122
|
+
if (isAfterLast(data.end, eData.lastCell) || isBeforeFirst(data.start)) {
|
|
181
123
|
return false;
|
|
182
124
|
}
|
|
183
125
|
const range = getRange(data.start, data.end);
|
|
@@ -229,7 +171,10 @@ class AutoFillService {
|
|
|
229
171
|
return (h("div", { class: {
|
|
230
172
|
[CELL_HANDLER_CLASS]: true,
|
|
231
173
|
[MOBILE_CLASS]: true,
|
|
232
|
-
}, style: {
|
|
174
|
+
}, style: {
|
|
175
|
+
left: `${handlerStyle.right}px`,
|
|
176
|
+
top: `${handlerStyle.bottom}px`,
|
|
177
|
+
}, onMouseDown: (e) => this.autoFillHandler(e), onTouchStart: (e) => this.autoFillHandler(e) }));
|
|
233
178
|
}
|
|
234
179
|
autoFillHandler(e, type = "AutoFill" /* AutoFillType.autoFill */) {
|
|
235
180
|
let target = null;
|
|
@@ -245,7 +190,9 @@ class AutoFillService {
|
|
|
245
190
|
get isAutoFill() {
|
|
246
191
|
return !!this.autoFillType;
|
|
247
192
|
}
|
|
248
|
-
/**
|
|
193
|
+
/**
|
|
194
|
+
* Process mouse move events
|
|
195
|
+
*/
|
|
249
196
|
selectionMouseMove(e) {
|
|
250
197
|
// initiate mouse move debounce if not present
|
|
251
198
|
if (!this.onMouseMoveAutofill) {
|
|
@@ -255,9 +202,7 @@ class AutoFillService {
|
|
|
255
202
|
this.onMouseMoveAutofill(e, this.sv.getData());
|
|
256
203
|
}
|
|
257
204
|
}
|
|
258
|
-
getFocus() {
|
|
259
|
-
let focus = this.sv.selectionStoreService.focused;
|
|
260
|
-
const range = this.sv.selectionStoreService.ranged;
|
|
205
|
+
getFocus(focus, range) {
|
|
261
206
|
// there was an issue that it was taking last cell from range but focus was out
|
|
262
207
|
if (!focus && range) {
|
|
263
208
|
focus = { x: range.x, y: range.y };
|
|
@@ -273,8 +218,8 @@ class AutoFillService {
|
|
|
273
218
|
if (!this.autoFillInitial) {
|
|
274
219
|
return;
|
|
275
220
|
}
|
|
276
|
-
const x =
|
|
277
|
-
const y =
|
|
221
|
+
const x = getPropertyFromEvent(event, 'clientX', MOBILE_CLASS);
|
|
222
|
+
const y = getPropertyFromEvent(event, 'clientY', MOBILE_CLASS);
|
|
278
223
|
// skip touch
|
|
279
224
|
if (x === null || y === null) {
|
|
280
225
|
return;
|
|
@@ -287,11 +232,12 @@ class AutoFillService {
|
|
|
287
232
|
}
|
|
288
233
|
}
|
|
289
234
|
// check if not the latest, if latest - do nothing
|
|
290
|
-
if (isAfterLast(current, data)) {
|
|
235
|
+
if (isAfterLast(current, data.lastCell)) {
|
|
291
236
|
return;
|
|
292
237
|
}
|
|
293
238
|
this.autoFillLast = current;
|
|
294
|
-
const isSame = current.x === this.autoFillInitial.x &&
|
|
239
|
+
const isSame = current.x === this.autoFillInitial.x &&
|
|
240
|
+
current.y === this.autoFillInitial.y;
|
|
295
241
|
// if same as initial - clear
|
|
296
242
|
if (isSame) {
|
|
297
243
|
this.sv.setTempRange(null);
|
|
@@ -312,39 +258,48 @@ class AutoFillService {
|
|
|
312
258
|
selectionStart(target, data, type = "Selection" /* AutoFillType.selection */) {
|
|
313
259
|
/** Get cell by autofill element */
|
|
314
260
|
const { top, left } = target.getBoundingClientRect();
|
|
315
|
-
this.autoFillInitial = this.getFocus();
|
|
261
|
+
this.autoFillInitial = this.getFocus(data.focus, data.range);
|
|
316
262
|
this.autoFillType = type;
|
|
317
263
|
this.autoFillStart = getCurrentCell({ x: left, y: top }, data);
|
|
318
264
|
}
|
|
319
265
|
/**
|
|
320
|
-
* Clear current range selection
|
|
321
|
-
* on mouse up and mouse leave events
|
|
266
|
+
* Clear current range selection on mouse up and mouse leave events
|
|
322
267
|
*/
|
|
323
|
-
clearAutoFillSelection() {
|
|
324
|
-
//
|
|
268
|
+
clearAutoFillSelection(focus, oldRange) {
|
|
269
|
+
// If autofill was active, apply autofill values
|
|
325
270
|
if (this.autoFillInitial) {
|
|
326
|
-
//
|
|
327
|
-
this.autoFillInitial = this.getFocus();
|
|
328
|
-
// Apply range data if
|
|
271
|
+
// Fetch latest focus
|
|
272
|
+
this.autoFillInitial = this.getFocus(focus, oldRange);
|
|
273
|
+
// Apply range data if autofill mode is active
|
|
329
274
|
if (this.autoFillType === "AutoFill" /* AutoFillType.autoFill */) {
|
|
330
275
|
const range = getRange(this.autoFillInitial, this.autoFillLast);
|
|
276
|
+
// If range is present, apply data
|
|
331
277
|
if (range) {
|
|
332
|
-
const { defaultPrevented: stopApply, detail: { range: newRange } } = this.sv.clearRangeDataApply({
|
|
278
|
+
const { defaultPrevented: stopApply, detail: { range: newRange }, } = this.sv.clearRangeDataApply({
|
|
333
279
|
range,
|
|
334
280
|
});
|
|
281
|
+
// If data apply was not prevented, apply new range
|
|
335
282
|
if (!stopApply) {
|
|
336
|
-
this.applyRangeWithData(newRange);
|
|
283
|
+
this.applyRangeWithData(newRange, oldRange);
|
|
337
284
|
}
|
|
338
285
|
else {
|
|
339
|
-
//
|
|
286
|
+
// If data apply was prevented, clear temporary range
|
|
340
287
|
this.sv.setTempRange(null);
|
|
341
288
|
}
|
|
342
289
|
}
|
|
343
290
|
}
|
|
344
291
|
else {
|
|
292
|
+
// If not autofill mode, apply range only
|
|
345
293
|
this.applyRangeOnly(this.autoFillInitial, this.autoFillLast);
|
|
346
294
|
}
|
|
347
295
|
}
|
|
296
|
+
// Reset autofill state
|
|
297
|
+
this.resetAutoFillState();
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Reset autofill state
|
|
301
|
+
*/
|
|
302
|
+
resetAutoFillState() {
|
|
348
303
|
this.autoFillType = null;
|
|
349
304
|
this.autoFillInitial = null;
|
|
350
305
|
this.autoFillLast = null;
|
|
@@ -364,8 +319,7 @@ class AutoFillService {
|
|
|
364
319
|
this.sv.setRange(range);
|
|
365
320
|
}
|
|
366
321
|
/** Apply range and copy data during range application */
|
|
367
|
-
applyRangeWithData(newRange) {
|
|
368
|
-
const oldRange = this.sv.selectionStoreService.ranged;
|
|
322
|
+
applyRangeWithData(newRange, oldRange) {
|
|
369
323
|
const rangeData = {
|
|
370
324
|
type: this.sv.dataStore.get('type'),
|
|
371
325
|
colType: this.sv.columnService.type,
|
|
@@ -455,44 +409,60 @@ const OverlaySelection = /*@__PURE__*/ proxyCustomElement(class OverlaySelection
|
|
|
455
409
|
// #endregion
|
|
456
410
|
// #region Listeners
|
|
457
411
|
onMouseMove(e) {
|
|
458
|
-
if (this.
|
|
412
|
+
if (this.selectionStore.get('focus')) {
|
|
459
413
|
this.autoFillService.selectionMouseMove(e);
|
|
460
414
|
}
|
|
461
415
|
}
|
|
462
|
-
/**
|
|
463
|
-
|
|
416
|
+
/**
|
|
417
|
+
* Action finished inside of the document.
|
|
418
|
+
* Pointer left document, clear any active operation.
|
|
419
|
+
*/
|
|
464
420
|
onMouseUp() {
|
|
465
|
-
|
|
421
|
+
// Clear auto fill selection
|
|
422
|
+
// when pointer left document,
|
|
423
|
+
// clear any active operation.
|
|
424
|
+
this.autoFillService.clearAutoFillSelection(this.selectionStore.get('focus'), this.selectionStore.get('range'));
|
|
466
425
|
}
|
|
467
|
-
/**
|
|
426
|
+
/**
|
|
427
|
+
* Row drag started.
|
|
428
|
+
* This event is fired when drag action started on cell.
|
|
429
|
+
*/
|
|
468
430
|
onCellDrag(e) {
|
|
469
431
|
var _a;
|
|
432
|
+
// Invoke drag start on order editor.
|
|
470
433
|
(_a = this.orderEditor) === null || _a === void 0 ? void 0 : _a.dragStart(e.detail);
|
|
471
434
|
}
|
|
472
|
-
/**
|
|
435
|
+
/**
|
|
436
|
+
* Get keyboard down from element.
|
|
437
|
+
* This event is fired when keyboard key is released.
|
|
438
|
+
*/
|
|
473
439
|
onKeyUp(e) {
|
|
440
|
+
// Emit before key up event.
|
|
474
441
|
this.beforeKeyUp.emit(e);
|
|
475
442
|
}
|
|
476
|
-
/**
|
|
443
|
+
/**
|
|
444
|
+
* Get keyboard down from element.
|
|
445
|
+
* This event is fired when keyboard key is pressed.
|
|
446
|
+
*/
|
|
477
447
|
onKeyDown(e) {
|
|
478
448
|
var _a;
|
|
449
|
+
// Emit before key down event and check if default prevention is set.
|
|
479
450
|
const proxy = this.beforeKeyDown.emit(e);
|
|
480
451
|
if (e.defaultPrevented || proxy.defaultPrevented) {
|
|
481
452
|
return;
|
|
482
453
|
}
|
|
483
|
-
|
|
454
|
+
// Invoke key down on keyboard service.
|
|
455
|
+
(_a = this.keyboardService) === null || _a === void 0 ? void 0 : _a.keyDown(e, this.range, !!this.selectionStore.get('edit'), {
|
|
456
|
+
focus: this.selectionStore.get('focus'),
|
|
457
|
+
range: this.selectionStore.get('range'),
|
|
458
|
+
});
|
|
484
459
|
}
|
|
485
460
|
// #endregion
|
|
486
461
|
/** Selection & Keyboard */
|
|
487
462
|
selectionServiceSet(s) {
|
|
488
|
-
this.selectionStoreService = new SelectionStoreService(s, {
|
|
489
|
-
changeRange: range => this.triggerRangeEvent(range),
|
|
490
|
-
focus: (focus, end) => this.doFocus(focus, end),
|
|
491
|
-
});
|
|
492
463
|
this.keyboardService = new KeyboardService({
|
|
493
|
-
selectionStoreService: this.selectionStoreService,
|
|
494
464
|
selectionStore: s,
|
|
495
|
-
range: r => this.
|
|
465
|
+
range: r => this.triggerRangeEvent(r),
|
|
496
466
|
focusNext: (f, next) => this.doFocus(f, f, next),
|
|
497
467
|
change: val => {
|
|
498
468
|
if (this.readonly) {
|
|
@@ -514,7 +484,6 @@ const OverlaySelection = /*@__PURE__*/ proxyCustomElement(class OverlaySelection
|
|
|
514
484
|
/** Autofill */
|
|
515
485
|
createAutoFillService() {
|
|
516
486
|
this.autoFillService = new AutoFillService({
|
|
517
|
-
selectionStoreService: this.selectionStoreService,
|
|
518
487
|
dimensionRow: this.dimensionRow,
|
|
519
488
|
dimensionCol: this.dimensionCol,
|
|
520
489
|
columnService: this.columnService,
|
|
@@ -590,10 +559,10 @@ const OverlaySelection = /*@__PURE__*/ proxyCustomElement(class OverlaySelection
|
|
|
590
559
|
nodes.push(editCell);
|
|
591
560
|
}
|
|
592
561
|
else {
|
|
593
|
-
const range = this.
|
|
594
|
-
const
|
|
562
|
+
const range = this.selectionStore.get('range');
|
|
563
|
+
const focus = this.selectionStore.get('focus');
|
|
595
564
|
// Clipboard
|
|
596
|
-
if ((range ||
|
|
565
|
+
if ((range || focus) && this.useClipboard) {
|
|
597
566
|
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) }));
|
|
598
567
|
}
|
|
599
568
|
// Range
|
|
@@ -601,23 +570,19 @@ const OverlaySelection = /*@__PURE__*/ proxyCustomElement(class OverlaySelection
|
|
|
601
570
|
nodes.push(...this.renderRange(range));
|
|
602
571
|
}
|
|
603
572
|
// Autofill
|
|
604
|
-
if (
|
|
605
|
-
nodes.push(this.autoFillService.renderAutofill(range,
|
|
573
|
+
if (focus && !this.readonly && this.range) {
|
|
574
|
+
nodes.push(this.autoFillService.renderAutofill(range, focus));
|
|
606
575
|
}
|
|
607
576
|
// Order
|
|
608
577
|
if (this.canDrag) {
|
|
609
578
|
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) }));
|
|
610
579
|
}
|
|
611
580
|
}
|
|
612
|
-
return (h(Host, { key: '
|
|
613
|
-
// Open Editor on DblClick
|
|
614
|
-
onDblClick: (e) => {
|
|
615
|
-
// DblClick prevented outside - Editor will not open
|
|
616
|
-
if (!e.defaultPrevented) {
|
|
617
|
-
this.doEdit();
|
|
618
|
-
}
|
|
619
|
-
}, onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true) }, nodes, h("slot", { key: '89b9bec7824739ea11fadeecbf3908ac74e85c96', name: "data" })));
|
|
581
|
+
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" })));
|
|
620
582
|
}
|
|
583
|
+
/**
|
|
584
|
+
* Executes the focus operation on the specified range of cells.
|
|
585
|
+
*/
|
|
621
586
|
doFocus(focus, end, next) {
|
|
622
587
|
const { defaultPrevented } = this.beforeFocusCell.emit(this.columnService.getSaveData(focus.y, focus.x));
|
|
623
588
|
if (defaultPrevented) {
|
|
@@ -651,31 +616,48 @@ const OverlaySelection = /*@__PURE__*/ proxyCustomElement(class OverlaySelection
|
|
|
651
616
|
}
|
|
652
617
|
return !e.defaultPrevented;
|
|
653
618
|
}
|
|
619
|
+
/**
|
|
620
|
+
* Open Editor on DblClick
|
|
621
|
+
*/
|
|
622
|
+
onElementDblClick(e) {
|
|
623
|
+
// DblClick prevented outside - Editor will not open
|
|
624
|
+
// Get data from the component
|
|
625
|
+
const data = this.getData();
|
|
626
|
+
const focusCell = getFocusCellBasedOnEvent(e, data);
|
|
627
|
+
if (!focusCell) {
|
|
628
|
+
return;
|
|
629
|
+
}
|
|
630
|
+
this.doEdit();
|
|
631
|
+
}
|
|
632
|
+
/**
|
|
633
|
+
* Handle mouse down event on Host element
|
|
634
|
+
*/
|
|
654
635
|
onElementMouseDown(e, touch = false) {
|
|
636
|
+
// Get the target element from the event object
|
|
637
|
+
const targetElement = e.target;
|
|
655
638
|
// Ignore focus if clicked input
|
|
656
|
-
if (isEditInput(
|
|
639
|
+
if (isEditInput(targetElement)) {
|
|
657
640
|
return;
|
|
658
641
|
}
|
|
642
|
+
// Get data from the component
|
|
659
643
|
const data = this.getData();
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
}
|
|
663
|
-
const x = getFromEvent(e, 'clientX');
|
|
664
|
-
const y = getFromEvent(e, 'clientY');
|
|
665
|
-
// skip touch
|
|
666
|
-
if (x === null || y === null) {
|
|
644
|
+
const focusCell = getFocusCellBasedOnEvent(e, data);
|
|
645
|
+
if (!focusCell) {
|
|
667
646
|
return;
|
|
668
647
|
}
|
|
669
|
-
//
|
|
670
|
-
|
|
671
|
-
this.selectionStoreService.focus(focusCell, this.range && e.shiftKey);
|
|
648
|
+
// Set focus on the current cell
|
|
649
|
+
this.focus(focusCell, this.range && e.shiftKey);
|
|
672
650
|
// Initiate autofill selection
|
|
673
651
|
if (this.range) {
|
|
674
|
-
this.autoFillService.selectionStart(
|
|
652
|
+
this.autoFillService.selectionStart(targetElement, this.getData());
|
|
653
|
+
// Prevent default behavior for mouse events,
|
|
654
|
+
// but only if target element is not a mobile input
|
|
675
655
|
if (!touch) {
|
|
676
656
|
e.preventDefault();
|
|
677
657
|
}
|
|
678
658
|
else if (verifyTouchTarget(e.touches[0], MOBILE_CLASS)) {
|
|
659
|
+
// Prevent default behavior for touch events
|
|
660
|
+
// if target element is a mobile input
|
|
679
661
|
e.preventDefault();
|
|
680
662
|
}
|
|
681
663
|
}
|
|
@@ -686,8 +668,8 @@ const OverlaySelection = /*@__PURE__*/ proxyCustomElement(class OverlaySelection
|
|
|
686
668
|
doEdit(val = '') {
|
|
687
669
|
var _a;
|
|
688
670
|
if (this.canEdit()) {
|
|
689
|
-
const
|
|
690
|
-
const data = this.columnService.getSaveData(
|
|
671
|
+
const focus = this.selectionStore.get('focus');
|
|
672
|
+
const data = this.columnService.getSaveData(focus.y, focus.x);
|
|
691
673
|
(_a = this.setEdit) === null || _a === void 0 ? void 0 : _a.emit(Object.assign(Object.assign({}, data), { val }));
|
|
692
674
|
}
|
|
693
675
|
}
|
|
@@ -710,8 +692,8 @@ const OverlaySelection = /*@__PURE__*/ proxyCustomElement(class OverlaySelection
|
|
|
710
692
|
this.cellEditApply.emit(dataToSave);
|
|
711
693
|
}
|
|
712
694
|
getRegion() {
|
|
713
|
-
const focus = this.
|
|
714
|
-
let range = this.
|
|
695
|
+
const focus = this.selectionStore.get('focus');
|
|
696
|
+
let range = this.selectionStore.get('range');
|
|
715
697
|
if (!range) {
|
|
716
698
|
range = getRange(focus, focus);
|
|
717
699
|
}
|
|
@@ -737,8 +719,8 @@ const OverlaySelection = /*@__PURE__*/ proxyCustomElement(class OverlaySelection
|
|
|
737
719
|
return true;
|
|
738
720
|
}
|
|
739
721
|
onPaste(data) {
|
|
740
|
-
const focus = this.
|
|
741
|
-
const isEditing = this.
|
|
722
|
+
const focus = this.selectionStore.get('focus');
|
|
723
|
+
const isEditing = this.selectionStore.get('edit') !== null;
|
|
742
724
|
if (!focus || isEditing) {
|
|
743
725
|
return;
|
|
744
726
|
}
|
|
@@ -758,13 +740,13 @@ const OverlaySelection = /*@__PURE__*/ proxyCustomElement(class OverlaySelection
|
|
|
758
740
|
}
|
|
759
741
|
}
|
|
760
742
|
clearCell() {
|
|
761
|
-
if (this.
|
|
762
|
-
!isRangeSingleCell(this.
|
|
763
|
-
const data = this.columnService.getRangeStaticData(this.
|
|
764
|
-
this.autoFillService.onRangeApply(data, this.
|
|
743
|
+
if (this.selectionStore.get('range') &&
|
|
744
|
+
!isRangeSingleCell(this.selectionStore.get('range'))) {
|
|
745
|
+
const data = this.columnService.getRangeStaticData(this.selectionStore.get('range'), '');
|
|
746
|
+
this.autoFillService.onRangeApply(data, this.selectionStore.get('range'));
|
|
765
747
|
}
|
|
766
748
|
else if (this.canEdit()) {
|
|
767
|
-
const focused = this.
|
|
749
|
+
const focused = this.selectionStore.get('focus');
|
|
768
750
|
const cell = this.columnService.getSaveData(focused.y, focused.x);
|
|
769
751
|
this.cellEdit({
|
|
770
752
|
rgRow: focused.y,
|
|
@@ -786,8 +768,24 @@ const OverlaySelection = /*@__PURE__*/ proxyCustomElement(class OverlaySelection
|
|
|
786
768
|
if (this.readonly) {
|
|
787
769
|
return false;
|
|
788
770
|
}
|
|
789
|
-
const
|
|
790
|
-
return
|
|
771
|
+
const focus = this.selectionStore.get('focus');
|
|
772
|
+
return focus && !((_a = this.columnService) === null || _a === void 0 ? void 0 : _a.isReadOnly(focus.y, focus.x));
|
|
773
|
+
}
|
|
774
|
+
get edited() {
|
|
775
|
+
return this.selectionStore.get('edit');
|
|
776
|
+
}
|
|
777
|
+
/**
|
|
778
|
+
* Sets the focus on a cell and optionally edits a range.
|
|
779
|
+
*/
|
|
780
|
+
focus(cell, isRangeEdit = false) {
|
|
781
|
+
if (!cell)
|
|
782
|
+
return false;
|
|
783
|
+
const end = cell;
|
|
784
|
+
const start = this.selectionStore.get('focus');
|
|
785
|
+
if (isRangeEdit && start) {
|
|
786
|
+
return this.triggerRangeEvent(getRange(start, end));
|
|
787
|
+
}
|
|
788
|
+
return this.doFocus(cell, end);
|
|
791
789
|
}
|
|
792
790
|
get types() {
|
|
793
791
|
return {
|
|
@@ -804,6 +802,8 @@ const OverlaySelection = /*@__PURE__*/ proxyCustomElement(class OverlaySelection
|
|
|
804
802
|
rows: this.dimensionRow.state,
|
|
805
803
|
cols: this.dimensionCol.state,
|
|
806
804
|
lastCell: this.lastCell,
|
|
805
|
+
focus: this.selectionStore.get('focus'),
|
|
806
|
+
range: this.selectionStore.get('range'),
|
|
807
807
|
};
|
|
808
808
|
}
|
|
809
809
|
get element() { return this; }
|
|
@@ -866,6 +866,6 @@ function defineCustomElement() {
|
|
|
866
866
|
} });
|
|
867
867
|
}
|
|
868
868
|
|
|
869
|
-
export { OverlaySelection as O, defineCustomElement as d
|
|
869
|
+
export { OverlaySelection as O, defineCustomElement as d };
|
|
870
870
|
|
|
871
871
|
//# sourceMappingURL=revogr-overlay-selection2.js.map
|