@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
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
import{C as t,B as n,a as e,b as o}from"./dimension.helpers-a3065cb1.js";import"./index-21436631.js";import"./toNumber-8de324a7.js";import{g as s}from"./selection.helpers-883ce6bc.js";import{G as r,C as i,D as c}from"./index-5a722722.js";const a=`${r}-depth`;const u=`${r}-name`;const f=`${r}-id`;const l=`${r}-value`;const d=`${r}-column`;const p=`${r}-expanded`;const h=`${r}-original-index`;const y=`group-expand`;const v=`groupexpandclick`;const g="rgRow";function m(t,n){return t[n]||null}function x(t,n,{prevExpanded:e,expandedAll:o,getGroupValue:s=m}){const r=new Map;t.forEach(((t,e)=>{const o=n.map((n=>s(t,n)));const i=o.pop();let c=r;o.forEach((t=>{if(!c.has(t)){c.set(t,new Map)}c=c.get(t)}));if(!c.has(i)){c.set(i,[])}const a=c.get(i);a.push(Object.assign(Object.assign({},t),{[h]:e}))}));let i=-1;const c=n.length;const d={};const y={};const v={};const g=[];function x(t,n,s){const r=n.length;t.forEach(((t,c)=>{const m=[...n,c];const b=m.join(",");const j=s&&(!!o||!!(e===null||e===void 0?void 0:e[b]));g.push({[u]:c,[a]:r,[f]:JSON.stringify(m),[l]:b,[p]:j});i+=1;if(!j&&r){d[i]=true}if(Array.isArray(t)){t.forEach((t=>{i+=1;if(!j){d[i]=true}y[t[h]]=i;const n=m.map(((t,n)=>m.slice(0,n+1).join(",")));n.forEach((t=>{if(!v[t]){v[t]=[]}v[t].push(i)}))}));g.push(...t)}else{x(t,m,j)}}))}x(r,[],true);return{sourceWithGroups:g,depth:c,trimmed:d,oldNewIndexMap:y,childrenByGroup:v}}function b(t){return t&&t[u]}function j(t){return t&&typeof t[u]!=="undefined"}function O(t){return t&&typeof t[d]!=="undefined"}function w(t,n){const e=t.length;let o=0;for(;o<e;o++){if(t[o]!==n[o]){return o}}return o}function I(t){const n=JSON.parse(t);if(!Array.isArray(n)){return null}return n}function C(t,n,e){const o=I(e[f]);if(!o){return false}const s=w(t,o);return n[a]<s}const D="header";const R="footer";const T="content";const $="data";function A(t,n){const e=t.viewports[t.colType].store.get("realCount");const o=t.viewports[n].store.get("realCount");return{x:e,y:o}}function G(t,n,e){var o=-1,s=t.length;if(n<0){n=-n>s?0:s+n}e=e>s?s:e;if(e<0){e+=s}s=n>e?0:e-n>>>0;n>>>=0;var r=Array(s);while(++o<s){r[o]=t[o+n]}return r}var M=G;var N=M,P=t,S=n;function k(t,n,e){var o=t==null?0:t.length;if(!o){return[]}if(e&&typeof e!="number"&&P(t,n,e)){n=0;e=o}else{n=n==null?0:S(n);e=e===undefined?o:S(e)}return N(t,n,e)}var B=k;class E{get columns(){return e(this.source)}constructor(t,n){this.dataStore=t;this.source=n;this.unsubscribe=[];this.hasGrouping=false;this.unsubscribe.push(n.onChange("source",(t=>this.checkGrouping(t))));this.checkGrouping(n.get("source"));this.type=n.get("type")}checkGrouping(t){for(let n of t){if(O(n)){this.hasGrouping=true;return}this.hasGrouping=false}}isReadOnly(t,n){var e;const o=(e=this.columns[n])===null||e===void 0?void 0:e.readonly;if(typeof o==="function"){const e=this.rowDataModel(t,n);return o(e)}return o}mergeProperties(t,n,e,o,s){const r={[i]:true,[c]:this.isReadOnly(t,n)};let a=Object.assign(Object.assign({},e),{class:r});const u=s===null||s===void 0?void 0:s(o);if(!u){return a}return F(a,u)}getRowClass(t,n){const e=o(this.dataStore,t)||{};return e[n]||""}getCellData(t,n){const e=this.rowDataModel(t,n);return J(e.model[e.prop])}getSaveData(t,n,e){if(typeof e==="undefined"){e=this.getCellData(t,n)}const o=this.rowDataModel(t,n);return{prop:o.prop,rowIndex:t,colIndex:n,val:e,model:o.model,colType:this.type,type:this.dataStore.get("type")}}getCellEditor(t,n,e){var o;const s=(o=this.columns[n])===null||o===void 0?void 0:o.editor;if(!s){return undefined}if(typeof s==="string"){return e[s]}return s}rowDataModel(t,n){const e=this.columns[n];const s=e===null||e===void 0?void 0:e.prop;const r=o(this.dataStore,t)||{};const i=r[s];const c=this.dataStore.get("type");return{prop:s,model:r,data:this.dataStore.get("source"),column:e,rowIndex:t,colIndex:n,colType:this.type,type:c,value:i}}getRangeData(t,n){var e;const s={};const r=t.oldRange.x1-t.oldRange.x+1;const i=t.oldRange.y1-t.oldRange.y+1;const c={};for(let a=t.newRange.y,u=0;a<t.newRange.y1+1;a++,u++){const f=t.oldRange.y+u%i;const l=o(this.dataStore,f)||{};for(let o=t.newRange.x,i=0;o<t.newRange.x1+1;o++,i++){if(a>=t.oldRange.y&&a<=t.oldRange.y1&&o>=t.oldRange.x&&o<=t.oldRange.x1){continue}if(!this.columns[o]){continue}const u=(e=this.columns[o])===null||e===void 0?void 0:e.prop;const d=t.oldRange.x+i%r;const p=n[d].prop;if(!this.isReadOnly(a,o)){if(!s[a]){s[a]={}}s[a][u]=l[p];if(!c[a]){c[a]={}}c[a][u]={colIndex:d,colProp:p,rowIndex:f}}}}return{changed:s,mapping:c}}getTransformedDataToApply(t,n){const e={};const o=n.length;const r=this.columns.length;const i=this.dataStore.get("items").length;let c=t.y;let a=0;for(let s=0;c<i&&s<o;c++,s++){const i=n[s%o];const u=(i===null||i===void 0?void 0:i.length)||0;let f=t.x;for(let t=0;f<r&&t<u;f++,t++){const n=this.columns[f].prop;const o=t%r;if(!this.isReadOnly(c,f)){if(!e[c]){e[c]={}}e[c][n]=i[o]}}a=Math.max(a,f-1)}const u=s(t,{y:c-1,x:a});return{changed:e,range:u}}getRangeStaticData(t,n){const e={};for(let o=t.y,s=0;o<t.y1+1;o++,s++){for(let s=t.x,r=0;s<t.x1+1;s++,r++){if(!this.columns[s]){continue}const t=this.columns[s].prop;if(!this.isReadOnly(o,s)){if(!e[o]){e[o]={}}e[o][t]=n}}}return e}getRangeTransformedToProps(t,n){var e;const s=[];const r=this.dataStore.get("type");for(let i=t.y,c=0;i<t.y1+1;i++,c++){for(let c=t.x,a=0;c<t.x1+1;c++,a++){const t=(e=this.columns[c])===null||e===void 0?void 0:e.prop;s.push({prop:t,rowIndex:i,colIndex:c,model:o(n,i),type:r,colType:this.type})}}return s}copyRangeArray(t,n){const e=[...this.columns];const s=B(e,t.x,t.x1+1).map((t=>t.prop));const r=[];const i={};for(let e=t.y;e<=t.y1;e++){const t=[];i[e]={};for(let r of s){const s=o(n,e);if(!s){continue}const c=s[r];t.push(c);i[e][r]=c}r.push(t)}return{data:r,mapping:i}}destroy(){this.unsubscribe.forEach((t=>t()))}}function J(t){if(typeof t==="undefined"||t===null){return""}return t}function q(t,n){if(typeof t==="function"){return t(n)}return!!t}function F(t,n){let e=Object.assign(Object.assign({},n),t);if(n.class){if(typeof n.class==="object"&&typeof e.class==="object"){e.class=Object.assign(Object.assign({},n.class),e.class)}else if(typeof n.class==="string"&&typeof e.class==="object"){e.class[n.class]=true}else if(typeof e.class==="string"){e.class+=" "+n.class}}if(n.style){e.style=Object.assign(Object.assign({},n.style),e.style)}return e}export{T as C,$ as D,R as F,p as G,D as H,l as P,I as a,C as b,a as c,f as d,g as e,d as f,b as g,v as h,j as i,x as j,O as k,A as l,F as m,E as n,y as o,u as p,q,J as r};
|
|
5
|
+
//# sourceMappingURL=column.service-a826bbd6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GROUP_DEPTH","GRID_INTERNALS","PSEUDO_GROUP_ITEM","PSEUDO_GROUP_ITEM_ID","PSEUDO_GROUP_ITEM_VALUE","PSEUDO_GROUP_COLUMN","GROUP_EXPANDED","GROUP_ORIGINAL_INDEX","GROUP_EXPAND_BTN","GROUP_EXPAND_EVENT","GROUPING_ROW_TYPE","getGroupValueDefault","item","prop","gatherGrouping","array","groupIds","prevExpanded","expandedAll","getGroupValue","groupedItems","Map","forEach","originalIndex","groupLevelValues","map","groupId","lastLevelValue","pop","currentGroupLevel","value","has","set","get","lastLevelItems","push","Object","assign","itemIndex","groupingDepth","length","trimmed","oldNewIndexMap","pseudoGroupTest","sourceWithGroups","flattenGroupMaps","groupedValues","parentIds","isExpanded","depth","innerGroupedValues","levelIds","mergedIds","join","isGroupExpanded","JSON","stringify","Array","isArray","pseudoGroupTestIds","_value","index","slice","pseudoGroupTestId","childrenByGroup","getGroupingName","rgRow","isGrouping","isGroupingColumn","column","measureEqualDepth","groupA","groupB","ln","i","getParsedGroup","id","parseGroup","parse","isSameGroup","currentGroup","currentModel","nextModel","nextGroup","HEADER_SLOT","FOOTER_SLOT","CONTENT_SLOT","DATA_SLOT","getLastCell","data","rowType","lastVisibleColumnCount","viewports","colType","store","lastVisibleRowCount","x","y","baseSlice","start","end","result","_baseSlice","require$$0","isIterateeCall","require$$1","toInteger","require$$2","undefined","slice_1","ColumnService","columns","getVisibleSourceItem","this","source","constructor","dataStore","unsubscribe","hasGrouping","onChange","s","checkGrouping","type","cols","rgCol","isReadOnly","r","c","readOnly","_a","readonly","rowDataModel","mergeProperties","defaultProps","model","extraPropsFunc","cellClass","CELL_CLASS","DISABLED_CLASS","props","class","extra","doPropMerge","getRowClass","getSourceItem","getCellData","getSaveData","rowIndex","colIndex","val","getCellEditor","_r","editors","editor","getRangeData","d","changed","copyColLength","oldRange","x1","copyRowLength","y1","mapping","newRange","oldRowIndex","copyRow","j","copyColIndex","copyColumnProp","colProp","getTransformedDataToApply","colLength","rowLength","maxCol","p","currentCol","Math","max","range","getRange","getRangeStaticData","getRangeTransformedToProps","area","copyRangeArray","v","toCopy","destroy","f","isRowDragService","rowDrag","existing","style"],"sources":["src/plugins/groupingRow/grouping.const.ts","src/plugins/groupingRow/grouping.service.ts","src/components/revoGrid/viewport.helpers.ts","node_modules/lodash/_baseSlice.js","node_modules/lodash/slice.js","src/components/data/column.service.ts"],"sourcesContent":["import { GRID_INTERNALS } from '../../utils/consts';\n\nexport const GROUP_DEPTH = `${GRID_INTERNALS}-depth`;\nexport const PSEUDO_GROUP_ITEM = `${GRID_INTERNALS}-name`;\nexport const PSEUDO_GROUP_ITEM_ID = `${GRID_INTERNALS}-id`;\nexport const PSEUDO_GROUP_ITEM_VALUE = `${GRID_INTERNALS}-value`;\nexport const PSEUDO_GROUP_COLUMN = `${GRID_INTERNALS}-column`;\nexport const GROUP_EXPANDED = `${GRID_INTERNALS}-expanded`;\nexport const GROUP_ORIGINAL_INDEX = `${GRID_INTERNALS}-original-index`;\nexport const GROUP_EXPAND_BTN = `group-expand`;\nexport const GROUP_EXPAND_EVENT = `groupexpandclick`;\nexport const GROUPING_ROW_TYPE = 'rgRow';\n","import { DataType, ColumnProp, ColumnRegular } from '@type';\nimport {\n GROUP_DEPTH,\n GROUP_EXPANDED,\n PSEUDO_GROUP_COLUMN,\n PSEUDO_GROUP_ITEM,\n PSEUDO_GROUP_ITEM_ID,\n PSEUDO_GROUP_ITEM_VALUE,\n GROUP_ORIGINAL_INDEX,\n} from './grouping.const';\nimport { GroupLabelTemplateFunc } from './grouping.row.types';\n\nexport type ExpandedOptions = {\n prevExpanded?: Record<string, boolean>;\n expandedAll?: boolean; // skip trim\n\n getGroupValue?(item: DataType, prop: string | number): any;\n groupLabelTemplate?: GroupLabelTemplateFunc;\n};\n\ntype GroupedData = Map<string, GroupedData | DataType[]>;\n\nfunction getGroupValueDefault(item: DataType, prop: string | number) {\n return item[prop] || null;\n}\n\n\n/**\n * Gather data for grouping\n * @param array - flat data array\n * @param groupIds - ids of groups\n * @param expanded - potentially expanded items if present\n */\nexport function gatherGrouping(\n array: DataType[],\n groupIds: ColumnProp[],\n { prevExpanded, expandedAll, getGroupValue = getGroupValueDefault }: ExpandedOptions,\n) {\n const groupedItems: GroupedData = new Map();\n array.forEach((item, originalIndex) => {\n const groupLevelValues = groupIds.map(groupId => getGroupValue(item, groupId));\n const lastLevelValue = groupLevelValues.pop();\n let currentGroupLevel = groupedItems;\n groupLevelValues.forEach(value => {\n if (!currentGroupLevel.has(value)) {\n currentGroupLevel.set(value, new Map());\n }\n currentGroupLevel = currentGroupLevel.get(value) as GroupedData;\n });\n if (!currentGroupLevel.has(lastLevelValue)) {\n currentGroupLevel.set(lastLevelValue, []);\n }\n const lastLevelItems = currentGroupLevel.get(\n lastLevelValue,\n ) as DataType[];\n lastLevelItems.push({\n ...item,\n [GROUP_ORIGINAL_INDEX]: originalIndex,\n });\n });\n\n let itemIndex = -1;\n const groupingDepth = groupIds.length;\n // collapse all groups in the beginning\n const trimmed: Record<number, boolean> = {};\n // index mapping\n const oldNewIndexMap: Record<number, number> = {};\n // check if group header exists\n const pseudoGroupTest: Record<string, number[]> = {};\n const sourceWithGroups: DataType[] = [];\n function flattenGroupMaps(\n groupedValues: GroupedData,\n parentIds: string[],\n isExpanded: boolean,\n ) {\n const depth = parentIds.length;\n groupedValues.forEach((innerGroupedValues, groupId) => {\n const levelIds = [...parentIds, groupId];\n const mergedIds = levelIds.join(',');\n const isGroupExpanded =\n isExpanded && (!!expandedAll || !!prevExpanded?.[mergedIds]);\n sourceWithGroups.push({\n [PSEUDO_GROUP_ITEM]: groupId,\n [GROUP_DEPTH]: depth,\n [PSEUDO_GROUP_ITEM_ID]: JSON.stringify(levelIds),\n [PSEUDO_GROUP_ITEM_VALUE]: mergedIds,\n [GROUP_EXPANDED]: isGroupExpanded,\n });\n itemIndex += 1;\n if (!isGroupExpanded && depth) {\n trimmed[itemIndex] = true;\n }\n if (Array.isArray(innerGroupedValues)) {\n innerGroupedValues.forEach(value => {\n itemIndex += 1;\n if (!isGroupExpanded) {\n trimmed[itemIndex] = true;\n }\n oldNewIndexMap[value[GROUP_ORIGINAL_INDEX]] = itemIndex;\n const pseudoGroupTestIds = levelIds.map((_value, index) =>\n levelIds.slice(0, index + 1).join(','),\n );\n pseudoGroupTestIds.forEach(pseudoGroupTestId => {\n if (!pseudoGroupTest[pseudoGroupTestId]) {\n pseudoGroupTest[pseudoGroupTestId] = [];\n }\n pseudoGroupTest[pseudoGroupTestId].push(itemIndex);\n });\n });\n sourceWithGroups.push(...innerGroupedValues);\n } else {\n flattenGroupMaps(innerGroupedValues, levelIds, isGroupExpanded);\n }\n });\n }\n flattenGroupMaps(groupedItems, [], true);\n\n return {\n sourceWithGroups, // updates source mirror\n depth: groupingDepth, // largest depth for grouping\n trimmed, // used for expand/collapse grouping values\n oldNewIndexMap, // used for mapping old values to new\n childrenByGroup: pseudoGroupTest, // used to get child items in group\n };\n}\n\nexport function getGroupingName(rgRow?: DataType) {\n return rgRow && rgRow[PSEUDO_GROUP_ITEM];\n}\n\nexport function isGrouping(rgRow?: DataType) {\n return rgRow && typeof rgRow[PSEUDO_GROUP_ITEM] !== 'undefined';\n}\n\nexport function isGroupingColumn(column?: ColumnRegular) {\n return column && typeof column[PSEUDO_GROUP_COLUMN] !== 'undefined';\n}\n\nexport function measureEqualDepth<T>(groupA: T[], groupB: T[]) {\n const ln = groupA.length;\n let i = 0;\n for (; i < ln; i++) {\n if (groupA[i] !== groupB[i]) {\n return i;\n }\n }\n return i;\n}\n\nexport function getParsedGroup(id: string): any[] {\n const parseGroup = JSON.parse(id);\n // extra precaution and type safe guard\n if (!Array.isArray(parseGroup)) {\n return null;\n }\n return parseGroup;\n}\n\n// check if items is child of current clicked group\nexport function isSameGroup(\n currentGroup: any[],\n currentModel: DataType,\n nextModel: DataType,\n) {\n const nextGroup = getParsedGroup(nextModel[PSEUDO_GROUP_ITEM_ID]);\n if (!nextGroup) {\n return false;\n }\n\n const depth = measureEqualDepth(currentGroup, nextGroup);\n return currentModel[GROUP_DEPTH] < depth;\n}\n","/**\n * Collects data for pinned columns in the required @ViewportProps format.\n */\n\nimport { MultiDimensionType } from '@type';\nimport { Cell } from '@type';\nimport { ViewportColumn } from '@type';\n\n/**\n * Represents the slot names for the viewport slots.\n */\nexport const HEADER_SLOT = 'header'; // Slot name for the header slot\nexport const FOOTER_SLOT = 'footer'; // Slot name for the footer slot\nexport const CONTENT_SLOT = 'content'; // Slot name for the content slot\nexport const DATA_SLOT = 'data'; // Slot name for the data slot\n\n/**\n * Returns the last visible cell in the viewport for a given row type.\n * Coordinates are not zero-based and are relative to the viewport.\n * If needed to be zero-based they can be adjusted by subtracting 1.\n */\nexport function getLastCell(\n data: ViewportColumn,\n rowType: MultiDimensionType,\n): Cell {\n // Get the last visible column count from the viewport column data.\n const lastVisibleColumnCount = data.viewports[data.colType].store.get('realCount');\n\n // Get the last visible row count for the given row type from the viewport column data.\n const lastVisibleRowCount = data.viewports[rowType].store.get('realCount');\n\n // Return the last visible cell with the last visible column count and row count.\n return {\n x: lastVisibleColumnCount,\n y: lastVisibleRowCount,\n };\n}\n\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var baseSlice = require('./_baseSlice'),\n isIterateeCall = require('./_isIterateeCall'),\n toInteger = require('./toInteger');\n\n/**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n}\n\nmodule.exports = slice;\n","import {\n DSourceState,\n getSourceItem,\n getVisibleSourceItem,\n} from '@store';\nimport { CELL_CLASS, DISABLED_CLASS } from '../../utils/consts';\nimport { getRange } from '@store';\n\nimport { isGroupingColumn } from '../../plugins/groupingRow/grouping.service';\nimport slice from 'lodash/slice';\nimport { DimensionCols, DimensionRows, RowDrag } from '@type';\nimport {\n ColumnRegular,\n Observable,\n DataType,\n ReadOnlyFormat,\n CellProps,\n ColumnDataSchemaModel,\n ColumnProp,\n DataLookup,\n DataFormat,\n} from '@type';\nimport {\n ChangedRange,\n OldNewRangeMapping,\n Cell,\n RangeArea,\n BeforeSaveDataDetails,\n EditorCtr,\n Editors,\n} from '@type';\n\nexport type ColumnStores = {\n [T in DimensionCols]: Observable<DSourceState<ColumnRegular, DimensionCols>>;\n};\nexport type RowStores = {\n [T in DimensionRows]: Observable<DSourceState<DataType, DimensionRows>>;\n};\n\nexport default class ColumnService {\n private unsubscribe: { (): void }[] = [];\n get columns(): ColumnRegular[] {\n return getVisibleSourceItem(this.source);\n }\n\n hasGrouping = false;\n type: DimensionCols;\n\n constructor(\n private dataStore: Observable<DSourceState<DataType, DimensionRows>>,\n private source: Observable<DSourceState<ColumnRegular, DimensionCols>>,\n ) {\n this.unsubscribe.push(\n source.onChange('source', s => this.checkGrouping(s)),\n );\n this.checkGrouping(source.get('source'));\n this.type = source.get('type');\n }\n\n private checkGrouping(cols: ColumnRegular[]) {\n for (let rgCol of cols) {\n if (isGroupingColumn(rgCol)) {\n this.hasGrouping = true;\n return;\n }\n this.hasGrouping = false;\n }\n }\n\n isReadOnly(r: number, c: number): boolean {\n const readOnly: ReadOnlyFormat = this.columns[c]?.readonly;\n if (typeof readOnly === 'function') {\n const data = this.rowDataModel(r, c);\n return readOnly(data);\n }\n return readOnly;\n }\n\n mergeProperties(\n r: number,\n c: number,\n defaultProps: CellProps,\n model: ColumnDataSchemaModel,\n extraPropsFunc: ColumnRegular['cellProperties'],\n ): CellProps {\n const cellClass: { [key: string]: boolean } = {\n [CELL_CLASS]: true,\n [DISABLED_CLASS]: this.isReadOnly(r, c),\n };\n let props: CellProps = {\n ...defaultProps,\n class: cellClass,\n };\n const extra = extraPropsFunc?.(model);\n if (!extra) {\n return props;\n }\n return doPropMerge(props, extra);\n }\n\n getRowClass(r: number, prop: string): string {\n const model = getSourceItem(this.dataStore, r) || {};\n return model[prop] || '';\n }\n\n getCellData(r: number, c: number): string {\n const data = this.rowDataModel(r, c);\n return getCellData(data.model[data.prop as number]);\n }\n\n getSaveData(\n rowIndex: number,\n colIndex: number,\n val?: string,\n ): BeforeSaveDataDetails {\n if (typeof val === 'undefined') {\n val = this.getCellData(rowIndex, colIndex);\n }\n const data = this.rowDataModel(rowIndex, colIndex);\n return {\n prop: data.prop,\n rowIndex,\n colIndex,\n val,\n model: data.model,\n colType: this.type,\n type: this.dataStore.get('type'),\n };\n }\n\n getCellEditor(\n _r: number,\n c: number,\n editors: Editors,\n ): EditorCtr | undefined {\n const editor = this.columns[c]?.editor;\n if (!editor) {\n return undefined;\n }\n // reference\n if (typeof editor === 'string') {\n return editors[editor];\n }\n return editor;\n }\n\n /**\n * Get cell data model for given rowIndex and colIndex\n * Used to pass data to editor/renderer\n */\n rowDataModel(rowIndex: number, colIndex: number): ColumnDataSchemaModel {\n const column = this.columns[colIndex];\n const prop: ColumnProp | undefined = column?.prop;\n const model = getSourceItem(this.dataStore, rowIndex) || {};\n const value = model[prop];\n const type = this.dataStore.get('type');\n return {\n prop,\n model,\n data: this.dataStore.get('source'),\n column,\n rowIndex,\n colIndex,\n colType: this.type,\n type,\n value,\n };\n }\n\n getRangeData(\n d: ChangedRange,\n columns: ColumnRegular[],\n ): {\n changed: DataLookup;\n mapping: OldNewRangeMapping;\n } {\n const changed: DataLookup = {};\n\n // get original length sizes\n const copyColLength = d.oldRange.x1 - d.oldRange.x + 1;\n const copyRowLength = d.oldRange.y1 - d.oldRange.y + 1;\n const mapping: OldNewRangeMapping = {};\n\n // rows\n for (\n let rowIndex = d.newRange.y, i = 0;\n rowIndex < d.newRange.y1 + 1;\n rowIndex++, i++\n ) {\n // copy original data link\n const oldRowIndex = d.oldRange.y + (i % copyRowLength);\n const copyRow = getSourceItem(this.dataStore, oldRowIndex) || {};\n\n // columns\n for (\n let colIndex = d.newRange.x, j = 0;\n colIndex < d.newRange.x1 + 1;\n colIndex++, j++\n ) {\n // check if old range area\n if (\n rowIndex >= d.oldRange.y &&\n rowIndex <= d.oldRange.y1 &&\n colIndex >= d.oldRange.x &&\n colIndex <= d.oldRange.x1\n ) {\n continue;\n }\n\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const prop = this.columns[colIndex]?.prop;\n const copyColIndex = d.oldRange.x + (j % copyColLength);\n const copyColumnProp = columns[copyColIndex].prop;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][prop] = copyRow[copyColumnProp];\n /** Generate mapping object */\n if (!mapping[rowIndex]) {\n mapping[rowIndex] = {};\n }\n mapping[rowIndex][prop] = {\n colIndex: copyColIndex,\n colProp: copyColumnProp,\n rowIndex: oldRowIndex,\n };\n }\n }\n }\n return {\n changed,\n mapping,\n };\n }\n\n getTransformedDataToApply(\n start: Cell,\n data: DataFormat[][],\n ): {\n changed: DataLookup;\n range: RangeArea;\n } {\n const changed: DataLookup = {};\n const copyRowLength = data.length;\n const colLength = this.columns.length;\n const rowLength = this.dataStore.get('items').length;\n // rows\n let rowIndex = start.y;\n let maxCol = 0;\n for (\n let i = 0;\n rowIndex < rowLength && i < copyRowLength;\n rowIndex++, i++\n ) {\n // copy original data link\n const copyRow = data[i % copyRowLength];\n const copyColLength = copyRow?.length || 0;\n // columns\n let colIndex = start.x;\n for (\n let j = 0;\n colIndex < colLength && j < copyColLength;\n colIndex++, j++\n ) {\n const p = this.columns[colIndex].prop;\n const currentCol = j % colLength;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][p] = copyRow[currentCol];\n }\n }\n maxCol = Math.max(maxCol, colIndex - 1);\n }\n const range = getRange(start, {\n y: rowIndex - 1,\n x: maxCol,\n });\n return {\n changed,\n range,\n };\n }\n\n getRangeStaticData(d: RangeArea, value: DataFormat): DataLookup {\n const changed: DataLookup = {};\n\n // rows\n for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {\n // columns\n for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const p = this.columns[colIndex].prop;\n\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][p] = value;\n }\n }\n }\n return changed;\n }\n\n getRangeTransformedToProps(\n d: RangeArea,\n store: Observable<DSourceState<DataType, DimensionRows>>,\n ) {\n const area: {\n prop: ColumnProp;\n rowIndex: number;\n colIndex: number;\n model: DataType;\n colType: DimensionCols;\n type: DimensionRows;\n }[] = [];\n\n const type = this.dataStore.get('type');\n // rows\n for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {\n // columns\n for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {\n const prop = this.columns[colIndex]?.prop;\n area.push({\n prop,\n rowIndex,\n colIndex,\n model: getSourceItem(store, rowIndex),\n type,\n colType: this.type,\n });\n }\n }\n return area;\n }\n\n copyRangeArray(\n range: RangeArea,\n store: Observable<DSourceState<DataType, DimensionRows>>,\n ) {\n const cols = [...this.columns];\n const props = slice(cols, range.x, range.x1 + 1).map(v => v.prop);\n const toCopy: DataFormat[][] = [];\n const mapping: { [rowIndex: number]: { [colProp: ColumnProp]: any } } = {};\n\n // rows indexes\n for (let i = range.y; i <= range.y1; i++) {\n const rgRow: DataFormat[] = [];\n mapping[i] = {};\n\n // columns indexes\n for (let prop of props) {\n const item = getSourceItem(store, i);\n\n // if no item - skip\n if (!item) {\n continue;\n }\n const val = item[prop];\n rgRow.push(val);\n mapping[i][prop] = val;\n }\n\n toCopy.push(rgRow);\n }\n return {\n data: toCopy,\n mapping,\n };\n }\n\n destroy() {\n this.unsubscribe.forEach(f => f());\n }\n}\n\nexport function getCellData(val?: any) {\n if (typeof val === 'undefined' || val === null) {\n return '';\n }\n return val;\n}\n\n/**\n * Checks if the given rowDrag is a service for dragging rows.\n */\nexport function isRowDragService(\n rowDrag: RowDrag,\n model: ColumnDataSchemaModel,\n): boolean {\n if (typeof rowDrag === 'function') {\n return rowDrag(model);\n }\n return !!rowDrag;\n}\nexport function doPropMerge(existing: CellProps, extra: CellProps) {\n let props: CellProps = { ...extra, ...existing };\n // extend existing props\n if (extra.class) {\n if (typeof extra.class === 'object' && typeof props.class === 'object') {\n props.class = { ...extra.class, ...props.class };\n } else if (\n typeof extra.class === 'string' &&\n typeof props.class === 'object'\n ) {\n props.class[extra.class] = true;\n } else if (typeof props.class === 'string') {\n props.class += ' ' + extra.class;\n }\n }\n if (extra.style) {\n props.style = { ...extra.style, ...props.style };\n }\n return props;\n}\n"],"mappings":"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","ignoreList":[]}
|