@revolist/revogrid 4.9.41 → 4.9.42
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-c0b20747.js.map +1 -1
- package/dist/cjs/{column.drag.plugin-fcd892ec.js → column.drag.plugin-a6ef25bf.js} +1034 -149
- package/dist/cjs/column.drag.plugin-a6ef25bf.js.map +1 -0
- package/dist/cjs/column.service-831e1c92.js +1321 -0
- package/dist/cjs/column.service-831e1c92.js.map +1 -0
- package/dist/cjs/{column.service-26c61ed6.js → dimension.helpers-1927ad24.js} +490 -1273
- package/dist/cjs/dimension.helpers-1927ad24.js.map +1 -0
- package/dist/cjs/{edit.utils-179c0800.js → edit.utils-e51411f6.js} +3 -3
- package/dist/cjs/{edit.utils-179c0800.js.map → edit.utils-e51411f6.js.map} +1 -1
- package/dist/cjs/{header-cell-renderer-d879d95e.js → header-cell-renderer-53ecdcdb.js} +2 -2
- package/dist/cjs/{header-cell-renderer-d879d95e.js.map → header-cell-renderer-53ecdcdb.js.map} +1 -1
- package/dist/cjs/index.cjs.js +127 -69
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/key.utils-96d0bc42.js +101 -0
- package/dist/cjs/key.utils-96d0bc42.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +310 -941
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revo-grid.cjs.js +1 -1
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +100 -70
- package/dist/cjs/revogr-attribution_7.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +11 -10
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +88 -78
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +33 -13
- package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/{text-editor-b756d6b3.js → text-editor-1afffaf1.js} +6 -6
- package/dist/cjs/text-editor-1afffaf1.js.map +1 -0
- package/dist/cjs/{throttle-a57f51f9.js → throttle-bb713c73.js} +4 -4
- package/dist/cjs/{throttle-a57f51f9.js.map → throttle-bb713c73.js.map} +1 -1
- package/dist/cjs/{row-header-utils-c37f76e4.js → viewport.store-69b45f22.js} +15 -14
- package/dist/cjs/viewport.store-69b45f22.js.map +1 -0
- package/dist/collection/components/attribution/revogr-attribution.js +1 -1
- package/dist/collection/components/attribution/revogr-attribution.js.map +1 -1
- package/dist/collection/components/data/cell-renderer.js +11 -9
- package/dist/collection/components/data/cell-renderer.js.map +1 -1
- package/dist/collection/components/data/column.service.js +7 -19
- package/dist/collection/components/data/column.service.js.map +1 -1
- package/dist/collection/components/data/revogr-data-style.css +10 -5
- package/dist/collection/components/data/revogr-data.js +50 -28
- 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/data/row-renderer.js.map +1 -1
- package/dist/collection/components/editors/revogr-edit-style.css +8 -5
- package/dist/collection/components/editors/revogr-edit.js +2 -2
- package/dist/collection/components/editors/revogr-edit.js.map +1 -1
- package/dist/collection/components/editors/text-editor.js +2 -2
- package/dist/collection/components/editors/text-editor.js.map +1 -1
- package/dist/collection/components/extra/revogr-extra.js +44 -6
- package/dist/collection/components/extra/revogr-extra.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/resizable.element.js.map +1 -1
- package/dist/collection/components/header/revogr-header-style.css +8 -5
- package/dist/collection/components/header/revogr-header.js +9 -9
- 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/revogr-order-editor.js +12 -24
- package/dist/collection/components/order/revogr-order-editor.js.map +1 -1
- package/dist/collection/components/overlay/autofill.service.js +7 -5
- package/dist/collection/components/overlay/autofill.service.js.map +1 -1
- package/dist/collection/components/overlay/keyboard.service.js +1 -4
- package/dist/collection/components/overlay/keyboard.service.js.map +1 -1
- package/dist/collection/components/overlay/revogr-overlay-selection.js +88 -72
- package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
- package/dist/collection/components/overlay/revogr-overlay-style.css +8 -5
- package/dist/collection/components/overlay/selection.utils.js.map +1 -1
- package/dist/collection/components/revoGrid/plugin.service.js +81 -0
- package/dist/collection/components/revoGrid/plugin.service.js.map +1 -0
- package/dist/collection/components/revoGrid/revo-grid-style.css +18 -11
- package/dist/collection/components/revoGrid/revo-grid.js +289 -140
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/components/revoGrid/viewport.service.js +9 -9
- package/dist/collection/components/revoGrid/viewport.service.js.map +1 -1
- package/dist/collection/components/rowHeaders/revogr-row-headers.js +1 -1
- 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-style.css +8 -5
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +26 -20
- package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -1
- package/dist/collection/components/scrollable/revogr-scroll-style.css +10 -7
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js +10 -8
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -1
- package/dist/collection/components/selectionFocus/revogr-focus-style.css +8 -5
- package/dist/collection/components/selectionFocus/revogr-focus.js +10 -10
- package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -1
- package/dist/collection/components/selectionTempRange/revogr-temp-range-style.css +8 -5
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js +6 -6
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -1
- package/dist/collection/components/vnode/vnode-converter.js +1 -1
- package/dist/collection/components/vnode/vnode-converter.js.map +1 -1
- package/dist/collection/components/vnode/vnode.utils.js.map +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/plugins/add-rows-on-paste.plugin.js +40 -0
- package/dist/collection/plugins/add-rows-on-paste.plugin.js.map +1 -0
- package/dist/collection/plugins/base.plugin.js.map +1 -1
- package/dist/collection/plugins/column.auto-size.plugin.js +1 -1
- package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -1
- package/dist/collection/plugins/column.stretch.plugin.js +1 -1
- package/dist/collection/plugins/column.stretch.plugin.js.map +1 -1
- package/dist/collection/plugins/export/csv.js +1 -1
- package/dist/collection/plugins/export/csv.js.map +1 -1
- package/dist/collection/plugins/export/export.plugin.js +4 -2
- package/dist/collection/plugins/export/export.plugin.js.map +1 -1
- package/dist/collection/plugins/filter/filter.indexed.js +1 -0
- package/dist/collection/plugins/filter/filter.indexed.js.map +1 -1
- package/dist/collection/plugins/filter/filter.panel.js +35 -35
- package/dist/collection/plugins/filter/filter.panel.js.map +1 -1
- package/dist/collection/plugins/filter/filter.plugin.js +117 -77
- package/dist/collection/plugins/filter/filter.plugin.js.map +1 -1
- package/dist/collection/plugins/filter/filter.style.css +19 -5
- package/dist/collection/plugins/filter/filter.types.js.map +1 -1
- package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +1 -1
- package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.const.js +1 -0
- package/dist/collection/plugins/groupingRow/grouping.const.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +64 -79
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +3 -3
- 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 +40 -6
- package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -1
- package/dist/collection/plugins/index.js +2 -0
- package/dist/collection/plugins/index.js.map +1 -1
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js +12 -6
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.func.js +42 -0
- package/dist/collection/plugins/sorting/sorting.func.js.map +1 -0
- package/dist/collection/plugins/sorting/sorting.plugin.js +71 -69
- package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.types.js +2 -0
- package/dist/collection/plugins/sorting/sorting.types.js.map +1 -0
- package/dist/collection/serve/controller.js +32 -15
- package/dist/collection/serve/data.js +18 -11
- package/dist/collection/services/column.data.provider.js +5 -2
- package/dist/collection/services/column.data.provider.js.map +1 -1
- package/dist/collection/services/data.provider.js +18 -7
- package/dist/collection/services/data.provider.js.map +1 -1
- package/dist/collection/services/dimension.provider.js +32 -33
- package/dist/collection/services/dimension.provider.js.map +1 -1
- package/dist/collection/services/selection.store.connector.js +1 -1
- package/dist/collection/services/selection.store.connector.js.map +1 -1
- package/dist/collection/store/dataSource/data.proxy.js +9 -15
- 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 +5 -8
- package/dist/collection/store/dataSource/trimmed.plugin.js.map +1 -1
- package/dist/collection/store/dimension/dimension.helpers.js +7 -9
- package/dist/collection/store/dimension/dimension.helpers.js.map +1 -1
- package/dist/collection/store/dimension/dimension.recalculate.plugin.js +35 -0
- package/dist/collection/store/dimension/dimension.recalculate.plugin.js.map +1 -0
- package/dist/collection/store/dimension/dimension.store.js +47 -67
- package/dist/collection/store/dimension/dimension.store.js.map +1 -1
- package/dist/collection/store/dimension/dimension.trim.plugin.js +61 -0
- package/dist/collection/store/dimension/dimension.trim.plugin.js.map +1 -0
- package/dist/collection/store/selection/selection.store.js +1 -1
- package/dist/collection/store/selection/selection.store.js.map +1 -1
- package/dist/collection/store/vp/viewport.store.js +4 -2
- package/dist/collection/store/vp/viewport.store.js.map +1 -1
- package/dist/collection/types/events.js +6 -2
- package/dist/collection/types/events.js.map +1 -1
- package/dist/collection/types/interfaces.js +4 -0
- package/dist/collection/types/interfaces.js.map +1 -1
- package/dist/collection/types/plugin.types.js.map +1 -1
- package/dist/collection/types/selection.js.map +1 -1
- package/dist/collection/types/viewport.interfaces.js.map +1 -1
- package/dist/collection/utils/column.utils.js +13 -3
- package/dist/collection/utils/column.utils.js.map +1 -1
- package/dist/esm/app-globals-3a760941.js.map +1 -1
- package/dist/esm/{column.drag.plugin-3cc77986.js → column.drag.plugin-50f49fa9.js} +1012 -130
- package/dist/esm/column.drag.plugin-50f49fa9.js.map +1 -0
- package/dist/esm/column.service-a6a7c415.js +1281 -0
- package/dist/esm/column.service-a6a7c415.js.map +1 -0
- package/dist/esm/{debounce-72878ced.js → debounce-b3166f78.js} +2 -2
- package/dist/esm/{debounce-72878ced.js.map → debounce-b3166f78.js.map} +1 -1
- package/dist/esm/{column.service-751345b2.js → dimension.helpers-d0d709c4.js} +450 -1234
- package/dist/esm/dimension.helpers-d0d709c4.js.map +1 -0
- package/dist/esm/{edit.utils-6fc686b9.js → edit.utils-0ae0db50.js} +2 -2
- package/dist/esm/{edit.utils-6fc686b9.js.map → edit.utils-0ae0db50.js.map} +1 -1
- package/dist/esm/{header-cell-renderer-32d2ed96.js → header-cell-renderer-36ecbdef.js} +2 -2
- package/dist/esm/{header-cell-renderer-32d2ed96.js.map → header-cell-renderer-36ecbdef.js.map} +1 -1
- package/dist/esm/index.js +52 -11
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{key.utils-17273f42.js → key.utils-7c3218d4.js} +2 -2
- package/dist/esm/{key.utils-17273f42.js.map → key.utils-7c3218d4.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/revo-grid.entry.js +246 -877
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revo-grid.js +1 -1
- package/dist/esm/revogr-attribution_7.entry.js +63 -33
- package/dist/esm/revogr-attribution_7.entry.js.map +1 -1
- package/dist/esm/revogr-clipboard_3.entry.js +7 -6
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/esm/revogr-data_4.entry.js +60 -50
- package/dist/esm/revogr-data_4.entry.js.map +1 -1
- package/dist/esm/revogr-filter-panel.entry.js +34 -14
- package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
- package/dist/esm/{text-editor-901c3eb8.js → text-editor-148a17c1.js} +5 -5
- package/dist/esm/text-editor-148a17c1.js.map +1 -0
- package/dist/esm/{throttle-138d69c3.js → throttle-394e489c.js} +3 -3
- package/dist/esm/{throttle-138d69c3.js.map → throttle-394e489c.js.map} +1 -1
- package/dist/esm/{row-header-utils-3dfbb81f.js → viewport.store-afa8c4fe.js} +11 -10
- package/dist/esm/viewport.store-afa8c4fe.js.map +1 -0
- package/dist/revo-grid/app-globals-3a760941.js +8 -1
- package/dist/revo-grid/app-globals-3a760941.js.map +1 -1
- package/dist/revo-grid/column.drag.plugin-50f49fa9.js +2541 -0
- package/dist/revo-grid/column.drag.plugin-50f49fa9.js.map +1 -0
- package/dist/revo-grid/column.service-a6a7c415.js +1281 -0
- package/dist/revo-grid/column.service-a6a7c415.js.map +1 -0
- package/dist/revo-grid/debounce-b3166f78.js +495 -0
- package/dist/revo-grid/debounce-b3166f78.js.map +1 -0
- package/dist/revo-grid/dimension.helpers-d0d709c4.js +3611 -0
- package/dist/revo-grid/dimension.helpers-d0d709c4.js.map +1 -0
- package/dist/revo-grid/edit.utils-0ae0db50.js +17 -0
- package/dist/revo-grid/edit.utils-0ae0db50.js.map +1 -0
- package/dist/revo-grid/events-cf0893a3.js +38 -1
- package/dist/revo-grid/events-cf0893a3.js.map +1 -1
- package/dist/revo-grid/filter.button-d40ab17b.js +34 -1
- package/dist/revo-grid/filter.button-d40ab17b.js.map +1 -1
- package/dist/revo-grid/header-cell-renderer-36ecbdef.js +339 -0
- package/dist/revo-grid/header-cell-renderer-36ecbdef.js.map +1 -0
- package/dist/revo-grid/index-a61f225b.js +1845 -2
- package/dist/revo-grid/index-a61f225b.js.map +1 -1
- package/dist/revo-grid/index.esm.js +160 -1
- package/dist/revo-grid/index.esm.js.map +1 -1
- package/dist/revo-grid/key.utils-7c3218d4.js +89 -0
- package/dist/revo-grid/key.utils-7c3218d4.js.map +1 -0
- package/dist/revo-grid/resize-observer-83c9e167.js +501 -1
- package/dist/revo-grid/resize-observer-83c9e167.js.map +1 -1
- package/dist/revo-grid/revo-grid.entry.js +1934 -1
- package/dist/revo-grid/revo-grid.entry.js.map +1 -1
- package/dist/revo-grid/revo-grid.esm.js +21 -1
- package/dist/revo-grid/revo-grid.esm.js.map +1 -1
- package/dist/revo-grid/revogr-attribution_7.entry.js +1431 -1
- package/dist/revo-grid/revogr-attribution_7.entry.js.map +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js +455 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +974 -1
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
- package/dist/revo-grid/revogr-filter-panel.entry.js +340 -1
- package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
- package/dist/revo-grid/sorting.sign-1a675bf7.js +9 -1
- package/dist/revo-grid/sorting.sign-1a675bf7.js.map +1 -1
- package/dist/revo-grid/text-editor-148a17c1.js +80 -0
- package/dist/revo-grid/text-editor-148a17c1.js.map +1 -0
- package/dist/revo-grid/throttle-394e489c.js +230 -0
- package/dist/revo-grid/throttle-394e489c.js.map +1 -0
- package/dist/revo-grid/viewport.helpers-7e7f9dad.js +48 -1
- package/dist/revo-grid/viewport.helpers-7e7f9dad.js.map +1 -1
- package/dist/revo-grid/viewport.store-afa8c4fe.js +406 -0
- package/dist/revo-grid/viewport.store-afa8c4fe.js.map +1 -0
- package/dist/types/components/data/cell-renderer.d.ts +3 -5
- package/dist/types/components/data/column.service.d.ts +2 -3
- package/dist/types/components/data/revogr-data.d.ts +10 -6
- package/dist/types/components/data/row-highlight.plugin.d.ts +1 -1
- package/dist/types/components/data/row-renderer.d.ts +1 -1
- package/dist/types/components/editors/revogr-edit.d.ts +2 -2
- package/dist/types/components/editors/text-editor.d.ts +5 -6
- package/dist/types/components/extra/revogr-extra.d.ts +17 -3
- 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/resizable.element.d.ts +1 -1
- package/dist/types/components/header/revogr-header.d.ts +2 -3
- package/dist/types/components/order/order-renderer.d.ts +1 -1
- package/dist/types/components/order/revogr-order-editor.d.ts +4 -10
- package/dist/types/components/overlay/autofill.service.d.ts +2 -2
- package/dist/types/components/overlay/keyboard.service.d.ts +1 -1
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +16 -13
- package/dist/types/components/overlay/selection.utils.d.ts +1 -1
- package/dist/types/components/revoGrid/plugin.service.d.ts +37 -0
- package/dist/types/components/revoGrid/revo-grid.d.ts +105 -61
- package/dist/types/components/revoGrid/viewport.service.d.ts +2 -2
- package/dist/types/components/rowHeaders/row-header-render.d.ts +2 -2
- package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +2 -5
- package/dist/types/components/scrollable/revogr-scroll-virtual.d.ts +2 -3
- package/dist/types/components/selectionFocus/revogr-focus.d.ts +2 -2
- package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +2 -3
- package/dist/types/components/vnode/vnode-converter.d.ts +1 -1
- package/dist/types/components/vnode/vnode.utils.d.ts +2 -2
- package/dist/types/components.d.ts +191 -108
- package/dist/types/index.d.ts +1 -1
- package/dist/types/plugins/add-rows-on-paste.plugin.d.ts +14 -0
- package/dist/types/plugins/base.plugin.d.ts +3 -4
- package/dist/types/plugins/column.auto-size.plugin.d.ts +1 -1
- package/dist/types/plugins/column.stretch.plugin.d.ts +1 -1
- package/dist/types/plugins/export/csv.d.ts +1 -1
- package/dist/types/plugins/export/export.plugin.d.ts +4 -3
- package/dist/types/plugins/filter/filter.panel.d.ts +2 -2
- package/dist/types/plugins/filter/filter.plugin.d.ts +25 -7
- package/dist/types/plugins/filter/filter.types.d.ts +32 -10
- package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +2 -2
- package/dist/types/plugins/groupingColumn/headerGroupRenderer.d.ts +3 -4
- package/dist/types/plugins/groupingRow/grouping.const.d.ts +3 -1
- package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +15 -10
- package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +38 -4
- package/dist/types/plugins/groupingRow/grouping.service.d.ts +9 -12
- package/dist/types/plugins/index.d.ts +2 -0
- package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +2 -2
- package/dist/types/plugins/sorting/sorting.func.d.ts +3 -0
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +14 -13
- package/dist/types/plugins/sorting/sorting.types.d.ts +13 -0
- package/dist/types/services/column.data.provider.d.ts +5 -2
- package/dist/types/services/data.provider.d.ts +3 -1
- package/dist/types/services/dimension.provider.d.ts +9 -4
- package/dist/types/services/selection.store.connector.d.ts +4 -4
- package/dist/types/store/dataSource/data.proxy.d.ts +7 -9
- package/dist/types/store/dataSource/data.store.d.ts +2 -3
- package/dist/types/store/dataSource/trimmed.plugin.d.ts +1 -1
- package/dist/types/store/dimension/dimension.helpers.d.ts +1 -4
- package/dist/types/store/dimension/dimension.recalculate.plugin.d.ts +9 -0
- package/dist/types/store/dimension/dimension.store.d.ts +3 -2
- package/dist/types/store/dimension/dimension.trim.plugin.d.ts +13 -0
- package/dist/types/store/selection/selection.store.d.ts +1 -1
- package/dist/types/store/vp/viewport.store.d.ts +1 -1
- package/dist/types/types/events.d.ts +1 -1
- package/dist/types/types/interfaces.d.ts +36 -12
- package/dist/types/types/plugin.types.d.ts +17 -1
- package/dist/types/types/selection.d.ts +23 -17
- package/dist/types/types/viewport.interfaces.d.ts +1 -3
- package/dist/types/utils/column.utils.d.ts +1 -0
- package/hydrate/index.js +2490 -2135
- package/hydrate/index.mjs +2490 -2135
- package/package.json +20 -19
- package/readme.md +15 -17
- package/standalone/column.service.js +192 -160
- package/standalone/column.service.js.map +1 -1
- package/standalone/data.store.js +36 -25
- package/standalone/data.store.js.map +1 -1
- package/standalone/dimension.helpers.js +8 -10
- package/standalone/dimension.helpers.js.map +1 -1
- package/standalone/index.js +46 -6
- package/standalone/index.js.map +1 -1
- package/standalone/revo-grid.js +1275 -1022
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-attribution2.js +1 -1
- package/standalone/revogr-attribution2.js.map +1 -1
- package/standalone/revogr-data2.js +26 -22
- package/standalone/revogr-data2.js.map +1 -1
- package/standalone/revogr-edit2.js +3 -3
- package/standalone/revogr-edit2.js.map +1 -1
- package/standalone/revogr-extra2.js +25 -4
- package/standalone/revogr-extra2.js.map +1 -1
- package/standalone/revogr-filter-panel.js +34 -14
- package/standalone/revogr-filter-panel.js.map +1 -1
- package/standalone/revogr-focus2.js +2 -1
- package/standalone/revogr-focus2.js.map +1 -1
- package/standalone/revogr-header2.js +6 -5
- 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 +29 -17
- package/standalone/revogr-overlay-selection2.js.map +1 -1
- package/standalone/revogr-row-headers2.js +12 -9
- package/standalone/revogr-row-headers2.js.map +1 -1
- package/standalone/revogr-scroll-virtual2.js +6 -4
- 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 +27 -21
- package/standalone/revogr-viewport-scroll2.js.map +1 -1
- package/standalone/selection.utils.js +1 -0
- package/standalone/selection.utils.js.map +1 -1
- package/standalone/vnode-converter.js +1 -1
- package/standalone/vnode-converter.js.map +1 -1
- package/dist/cjs/column.drag.plugin-fcd892ec.js.map +0 -1
- package/dist/cjs/column.service-26c61ed6.js.map +0 -1
- package/dist/cjs/index-3ab26ab9.js +0 -513
- package/dist/cjs/index-3ab26ab9.js.map +0 -1
- package/dist/cjs/key.utils-f49d7bee.js +0 -101
- package/dist/cjs/key.utils-f49d7bee.js.map +0 -1
- package/dist/cjs/row-header-utils-c37f76e4.js.map +0 -1
- package/dist/cjs/text-editor-b756d6b3.js.map +0 -1
- package/dist/esm/column.drag.plugin-3cc77986.js.map +0 -1
- package/dist/esm/column.service-751345b2.js.map +0 -1
- package/dist/esm/index-1dcad6ef.js +0 -476
- package/dist/esm/index-1dcad6ef.js.map +0 -1
- package/dist/esm/row-header-utils-3dfbb81f.js.map +0 -1
- package/dist/esm/text-editor-901c3eb8.js.map +0 -1
- package/dist/revo-grid/column.drag.plugin-3cc77986.js +0 -5
- package/dist/revo-grid/column.drag.plugin-3cc77986.js.map +0 -1
- package/dist/revo-grid/column.service-751345b2.js +0 -5
- package/dist/revo-grid/column.service-751345b2.js.map +0 -1
- package/dist/revo-grid/debounce-72878ced.js +0 -5
- package/dist/revo-grid/debounce-72878ced.js.map +0 -1
- package/dist/revo-grid/edit.utils-6fc686b9.js +0 -5
- package/dist/revo-grid/edit.utils-6fc686b9.js.map +0 -1
- package/dist/revo-grid/header-cell-renderer-32d2ed96.js +0 -5
- package/dist/revo-grid/header-cell-renderer-32d2ed96.js.map +0 -1
- package/dist/revo-grid/index-1dcad6ef.js +0 -5
- package/dist/revo-grid/index-1dcad6ef.js.map +0 -1
- package/dist/revo-grid/key.utils-17273f42.js +0 -5
- package/dist/revo-grid/key.utils-17273f42.js.map +0 -1
- package/dist/revo-grid/row-header-utils-3dfbb81f.js +0 -5
- package/dist/revo-grid/row-header-utils-3dfbb81f.js.map +0 -1
- package/dist/revo-grid/text-editor-901c3eb8.js +0 -5
- package/dist/revo-grid/text-editor-901c3eb8.js.map +0 -1
- package/dist/revo-grid/throttle-138d69c3.js +0 -5
- package/dist/revo-grid/throttle-138d69c3.js.map +0 -1
- package/standalone/identity.js +0 -26
- package/standalone/identity.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@revolist/revogrid",
|
|
3
|
-
"version": "4.9.
|
|
3
|
+
"version": "4.9.42",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Virtual reactive data grid spreadsheet component - RevoGrid.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -62,26 +62,26 @@
|
|
|
62
62
|
"types": "dist/types/index.d.ts",
|
|
63
63
|
"exports": {
|
|
64
64
|
".": {
|
|
65
|
+
"types": "./dist/types/index.d.ts",
|
|
65
66
|
"import": "./dist/index.js",
|
|
66
|
-
"require": "./dist/index.cjs.js"
|
|
67
|
-
"types": "./dist/types/index.d.ts"
|
|
67
|
+
"require": "./dist/index.cjs.js"
|
|
68
68
|
},
|
|
69
69
|
"./standalone": {
|
|
70
|
-
"
|
|
71
|
-
"
|
|
70
|
+
"types": "./standalone/revo-grid.d.ts",
|
|
71
|
+
"import": "./standalone/revo-grid.js"
|
|
72
72
|
},
|
|
73
73
|
"./standalone/revo-grid.js": {
|
|
74
|
-
"
|
|
75
|
-
"
|
|
74
|
+
"types": "./standalone/revo-grid.d.ts",
|
|
75
|
+
"import": "./standalone/revo-grid.js"
|
|
76
76
|
},
|
|
77
77
|
"./standalone/revogr-filter-panel.js": {
|
|
78
|
-
"
|
|
79
|
-
"
|
|
78
|
+
"types": "./standalone/revogr-filter-panel.d.ts",
|
|
79
|
+
"import": "./standalone/revogr-filter-panel.js"
|
|
80
80
|
},
|
|
81
81
|
"./loader": {
|
|
82
|
+
"types": "./loader/index.d.ts",
|
|
82
83
|
"import": "./loader/index.js",
|
|
83
|
-
"require": "./loader/index.cjs"
|
|
84
|
-
"types": "./loader/index.d.ts"
|
|
84
|
+
"require": "./loader/index.cjs"
|
|
85
85
|
}
|
|
86
86
|
},
|
|
87
87
|
"files": [
|
|
@@ -104,14 +104,14 @@
|
|
|
104
104
|
"devDependencies": {
|
|
105
105
|
"@angular/core": "^18.1.2",
|
|
106
106
|
"@juggle/resize-observer": "^3.4.0",
|
|
107
|
-
"@revolist/stencil-vue2-output-target": "^0.0.
|
|
107
|
+
"@revolist/stencil-vue2-output-target": "^0.0.6",
|
|
108
|
+
"@revolist/svelte-output-target": "0.0.5",
|
|
108
109
|
"@stencil/angular-output-target": "0.8.4",
|
|
109
110
|
"@stencil/core": "4.20.0",
|
|
110
111
|
"@stencil/react-output-target": "0.5.3",
|
|
111
112
|
"@stencil/sass": "^3.0.12",
|
|
112
113
|
"@stencil/store": "^2.0.16",
|
|
113
|
-
"@stencil/
|
|
114
|
-
"@stencil/vue-output-target": "^0.8.8",
|
|
114
|
+
"@stencil/vue-output-target": "^0.8.9",
|
|
115
115
|
"@types/events": "^3.0.3",
|
|
116
116
|
"@types/jest": "^29.5.12",
|
|
117
117
|
"@types/lodash": "^4.17.5",
|
|
@@ -121,23 +121,24 @@
|
|
|
121
121
|
"@types/resize-observer-browser": "^0.1.11",
|
|
122
122
|
"bootstrap": "^5.3.2",
|
|
123
123
|
"chalk": "^5.3.0",
|
|
124
|
+
"minimist": "^1.2.8",
|
|
124
125
|
"execa": "^9.2.0",
|
|
125
126
|
"fs": "^0.0.1-security",
|
|
126
|
-
"jest": "
|
|
127
|
-
"jest-cli": "
|
|
127
|
+
"jest": "^29.7.0",
|
|
128
|
+
"jest-cli": "^29.7.0",
|
|
129
|
+
"json2md": "^2.0.1",
|
|
128
130
|
"lodash": "npm:lodash-es@4.17.21",
|
|
129
131
|
"path": "^0.12.7",
|
|
130
132
|
"prettier": "3.3.2",
|
|
131
133
|
"react": "^18.3.1",
|
|
132
134
|
"react-dom": "^18.3.1",
|
|
133
135
|
"rxjs": "^7.8.1",
|
|
134
|
-
"svelte": "^
|
|
136
|
+
"svelte": "^5.2.10",
|
|
135
137
|
"typedoc": "^0.26.5",
|
|
136
138
|
"typedoc-plugin-markdown": "^4.2.3",
|
|
137
139
|
"typescript": "^5.5.4",
|
|
138
140
|
"url": "^0.11.3",
|
|
139
|
-
"vue": "^3.4.34"
|
|
140
|
-
"json2md": "^2.0.1"
|
|
141
|
+
"vue": "^3.4.34"
|
|
141
142
|
},
|
|
142
143
|
"publishConfig": {
|
|
143
144
|
"access": "public"
|
package/readme.md
CHANGED
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
<p align="center">
|
|
8
8
|
<a href="https://www.npmjs.com/package/@revolist/revogrid"><img src="https://img.shields.io/npm/v/@revolist/revogrid" alt="Latest Version on NPM"/></a>
|
|
9
9
|
<a href="https://github.com/revolist/revogrid/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/@revolist/revogrid" alt="Software License"/></a>
|
|
10
|
-
<img src="https://badgen.net/bundlephobia/dependency-count/@revolist/revogrid
|
|
11
|
-
<img src="https://badgen.net/bundlephobia/tree-shaking/@revolist/revogrid
|
|
10
|
+
<img src="https://badgen.net/bundlephobia/dependency-count/@revolist/revogrid" alt="Dependency count"/>
|
|
11
|
+
<img src="https://badgen.net/bundlephobia/tree-shaking/@revolist/revogrid" alt="Tree shaking"/>
|
|
12
|
+
<img src="https://img.shields.io/bundlephobia/min/@revolist/revogrid" alt="Bundle size"/>
|
|
12
13
|
<img src="https://sonarcloud.io/api/project_badges/measure?project=revolist_revogrid&metric=alert_status" alt="Sonar Quality Gate"/>
|
|
13
14
|
</p>
|
|
14
15
|
|
|
@@ -53,6 +54,8 @@ Support Millions of cells and thousands of columns easy and efficiently for fast
|
|
|
53
54
|
|
|
54
55
|
- **Formula Support**: Evaluate formulas in cell data.
|
|
55
56
|
|
|
57
|
+
- **Master Detail/Subtables/Forms**: Expand rows to reveal child data.
|
|
58
|
+
|
|
56
59
|
- **Drag and Drop**: Drag and drop in rows and columns.
|
|
57
60
|
|
|
58
61
|
- **Sorting**: Multiple options, customizable per column, with advanced event handling.
|
|
@@ -225,11 +228,11 @@ grid.source = items;
|
|
|
225
228
|
|
|
226
229
|
- Redesigned type support:
|
|
227
230
|
- Removed deprecated namespaces:
|
|
228
|
-
- **Before**: `RevoGrid.
|
|
229
|
-
- **Now**: `
|
|
231
|
+
- **Before**: `RevoGrid.ColumnRegular`
|
|
232
|
+
- **Now**: `ColumnRegular`;
|
|
230
233
|
- Improved type import:
|
|
231
234
|
- **Before**: `import { RevoGrid } from '@revolist/revogrid/dist/types/interfaces'`
|
|
232
|
-
- **Now**: `import {
|
|
235
|
+
- **Now**: `import { ColumnRegular } from '@revolist/revogrid'`.
|
|
233
236
|
- Changed viewport type names everywhere. For example, before: `rowDefinitions: [{ type: "row", index: 0, size: 145 }]`, after: `rowDefinitions: [{ type: "rgRow", index: 0, size: 145 }]`.
|
|
234
237
|
- Updated [event](https://rv-grid.com/guide/api/revoGrid.html#Events) naming convention. Review your [event](https://rv-grid.com/guide/api/revoGrid.html#Events) usage. [Event names](https://rv-grid.com/guide/api/revoGrid.html#Events) are all lowercase now and are aligned with modern event naming conventions. For example, `afterEdit` -> `afteredit`.
|
|
235
238
|
- Multiple event breaking changes introduced: beforerowrender now returns `BeforeRowRenderEvent`. Check all events for details.
|
|
@@ -251,33 +254,28 @@ grid.source = items;
|
|
|
251
254
|
|
|
252
255
|
## Our Sponsors
|
|
253
256
|
|
|
254
|
-
We would like to extend our heartfelt gratitude to our sponsors for their generous support. Their contributions help us maintain and develop RevoGrid
|
|
257
|
+
We would like to extend our heartfelt gratitude to our sponsors for their generous support. Their contributions help us maintain and develop RevoGrid.
|
|
255
258
|
|
|
256
259
|
[](https://altruistiq.com)
|
|
257
260
|
|
|
258
261
|
|
|
259
262
|
### Become a Sponsor
|
|
260
263
|
|
|
261
|
-
If you or your company would like to support the ongoing development of RevoGrid, please consider
|
|
262
|
-
|
|
263
|
-
[](https://opencollective.com/revogrid)
|
|
264
|
+
If you or your company would like to support the ongoing development of RevoGrid, please consider [](https://opencollective.com/revogrid) or use a [Pro version](https://rv-grid.com/pro/). Your support will help us continue to improve the project and provide the best possible tool for the community.
|
|
264
265
|
|
|
265
266
|
Thank you for supporting RevoGrid! 🙏
|
|
266
267
|
|
|
268
|
+
|
|
267
269
|
## Contributing
|
|
268
270
|
|
|
269
|
-
|
|
271
|
+
By getting involved, you'll have the opportunity to enhance your skills, gain valuable experience, and make a significant impact on an innovative project. Your contribution, no matter how big or small, is valuable.
|
|
270
272
|
|
|
271
273
|
### Why Contribute?
|
|
272
274
|
|
|
273
|
-
- **Expand Your Knowledge**: Working on
|
|
274
|
-
- **
|
|
275
|
-
- **Professional Growth**: By contributing, you become part of a network of talented developers. This can lead to mentorship opportunities, collaborations, and professional connections that can benefit your career.
|
|
276
|
-
- **Make a Difference**: Your contributions can help improve RevoGrid, making it more powerful and user-friendly for developers around the world. Your input can shape the future of the project and drive innovation.
|
|
277
|
-
|
|
278
|
-
### Join Us
|
|
275
|
+
- **Expand Your Knowledge**: Working on complex libraries allows you to dive deep into modern web technologies, improve your coding skills, and learn best practices in performance optimization, data handling, and component-based architecture.
|
|
276
|
+
- **Experience**: Contributing to an open-source project like provides you with practical experience that can be a great addition to your portfolio. It demonstrates your ability to work collaboratively, solve complex problems, and contribute to a project's success.
|
|
277
|
+
- **Professional Growth**: By contributing, you become part of a network of talented developers. This can lead to mentorship opportunities, collaborations, and professional connections that can benefit your career.
|
|
279
278
|
|
|
280
|
-
Your contribution, no matter how big or small, is valuable. By working on RevoGrid, you'll be part of an exciting project that's making a difference in the world of data grids. Join us today and let's build something amazing together!
|
|
281
279
|
|
|
282
280
|
## License
|
|
283
281
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { y as keys, q as isArrayLike, x as baseIteratee, l as isArray, j as createStore, i as setStore, n as isIterateeCall, m as toInteger, a as getVisibleSourceItem, b as getSourceItem } from './data.store.js';
|
|
5
5
|
import '@stencil/core/internal/client';
|
|
6
6
|
import { G as GRID_INTERNALS, C as CELL_CLASS, b as DISABLED_CLASS } from './consts.js';
|
|
7
7
|
import './platform.js';
|
|
@@ -189,6 +189,150 @@ function reduce(collection, iteratee, accumulator) {
|
|
|
189
189
|
return func(collection, baseIteratee(iteratee), accumulator, initAccum, baseEach$1);
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
+
function getCellData(val) {
|
|
193
|
+
if (typeof val === 'undefined' || val === null) {
|
|
194
|
+
return '';
|
|
195
|
+
}
|
|
196
|
+
return val;
|
|
197
|
+
}
|
|
198
|
+
function getCellRaw(model, column) {
|
|
199
|
+
if (!column) {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
if (column.cellParser) {
|
|
203
|
+
return column.cellParser(model, column);
|
|
204
|
+
}
|
|
205
|
+
return model[column.prop];
|
|
206
|
+
}
|
|
207
|
+
function getCellDataParsed(model, column) {
|
|
208
|
+
return getCellData(getCellRaw(model, column));
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Get column type from column data
|
|
212
|
+
*/
|
|
213
|
+
function getColumnType(rgCol) {
|
|
214
|
+
if (rgCol.pin) {
|
|
215
|
+
return rgCol.pin;
|
|
216
|
+
}
|
|
217
|
+
return 'rgCol';
|
|
218
|
+
}
|
|
219
|
+
function getColumnSizes(cols) {
|
|
220
|
+
const res = {};
|
|
221
|
+
for (const [i, c] of cols.entries()) {
|
|
222
|
+
if (c.size) {
|
|
223
|
+
res[i] = c.size;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return res;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Check if column is grouping column
|
|
230
|
+
*/
|
|
231
|
+
function isColGrouping(colData) {
|
|
232
|
+
return !!colData.children;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* This function is used to create a collection of columns.
|
|
236
|
+
*/
|
|
237
|
+
function getColumns(columns, level = 0, types) {
|
|
238
|
+
const collection = {
|
|
239
|
+
// columns as they are in stores per type
|
|
240
|
+
columns: {
|
|
241
|
+
rgCol: [],
|
|
242
|
+
colPinStart: [],
|
|
243
|
+
colPinEnd: [],
|
|
244
|
+
},
|
|
245
|
+
// columns indexed by prop for quick access
|
|
246
|
+
columnByProp: {},
|
|
247
|
+
// column grouping
|
|
248
|
+
columnGrouping: {
|
|
249
|
+
rgCol: [],
|
|
250
|
+
colPinStart: [],
|
|
251
|
+
colPinEnd: [],
|
|
252
|
+
},
|
|
253
|
+
// max depth level for column grouping
|
|
254
|
+
maxLevel: level,
|
|
255
|
+
// sorting
|
|
256
|
+
sort: {},
|
|
257
|
+
};
|
|
258
|
+
return reduce(columns, (res, colData) => {
|
|
259
|
+
// Grouped column
|
|
260
|
+
if (isColGrouping(colData)) {
|
|
261
|
+
res = gatherGroup(res, colData, getColumns(colData.children, level + 1, types), level);
|
|
262
|
+
return res;
|
|
263
|
+
}
|
|
264
|
+
// Column type
|
|
265
|
+
const columnDefinitionFromType = colData.columnType && (types === null || types === void 0 ? void 0 : types[colData.columnType]);
|
|
266
|
+
// Regular column
|
|
267
|
+
const regularColumn = Object.assign(Object.assign({}, columnDefinitionFromType), colData);
|
|
268
|
+
// Regular column, no Pin
|
|
269
|
+
if (!regularColumn.pin) {
|
|
270
|
+
res.columns.rgCol.push(regularColumn);
|
|
271
|
+
// Pin
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
res.columns[regularColumn.pin].push(regularColumn);
|
|
275
|
+
}
|
|
276
|
+
if (regularColumn.order) {
|
|
277
|
+
res.sort[regularColumn.prop] = regularColumn;
|
|
278
|
+
}
|
|
279
|
+
// it's possible that some columns have same prop, but better to avoid it
|
|
280
|
+
if (!res.columnByProp[regularColumn.prop]) {
|
|
281
|
+
res.columnByProp[regularColumn.prop] = [];
|
|
282
|
+
}
|
|
283
|
+
res.columnByProp[regularColumn.prop].push(regularColumn);
|
|
284
|
+
// trigger setup hook if present
|
|
285
|
+
regularColumn.beforeSetup && regularColumn.beforeSetup(regularColumn);
|
|
286
|
+
return res;
|
|
287
|
+
}, collection);
|
|
288
|
+
}
|
|
289
|
+
function gatherGroup(res, colData, collection, level = 0) {
|
|
290
|
+
// group template
|
|
291
|
+
const group = Object.assign(Object.assign({}, colData), { level, ids: [] });
|
|
292
|
+
// check columns for update
|
|
293
|
+
for (let k in collection.columns) {
|
|
294
|
+
const key = k;
|
|
295
|
+
const resultItem = res.columns[key];
|
|
296
|
+
const collectionItem = collection.columns[key];
|
|
297
|
+
// if column data
|
|
298
|
+
if (isArray(resultItem) && isArray(collectionItem)) {
|
|
299
|
+
// fill columns
|
|
300
|
+
resultItem.push(...collectionItem);
|
|
301
|
+
// fill grouping
|
|
302
|
+
if (collectionItem.length) {
|
|
303
|
+
res.columnGrouping[key].push(Object.assign(Object.assign({}, group), { ids: collectionItem.map(item => item.prop) }));
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
// merge column groupings
|
|
308
|
+
for (let k in collection.columnGrouping) {
|
|
309
|
+
const key = k;
|
|
310
|
+
const collectionItem = collection.columnGrouping[key];
|
|
311
|
+
res.columnGrouping[key].push(...collectionItem);
|
|
312
|
+
}
|
|
313
|
+
res.maxLevel = Math.max(res.maxLevel, collection.maxLevel);
|
|
314
|
+
res.sort = Object.assign(Object.assign({}, res.sort), collection.sort);
|
|
315
|
+
res.columnByProp = Object.assign(Object.assign({}, res.columnByProp), collection.columnByProp);
|
|
316
|
+
return res;
|
|
317
|
+
}
|
|
318
|
+
function findColumn(columns, prop) {
|
|
319
|
+
for (const c of columns) {
|
|
320
|
+
if (isColGrouping(c)) {
|
|
321
|
+
const found = findColumn(c.children, prop);
|
|
322
|
+
if (found) {
|
|
323
|
+
return found;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
else if (c.prop === prop) {
|
|
327
|
+
return c;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
return undefined;
|
|
331
|
+
}
|
|
332
|
+
function getColumnByProp(columns, prop) {
|
|
333
|
+
return findColumn(columns, prop);
|
|
334
|
+
}
|
|
335
|
+
|
|
192
336
|
/**
|
|
193
337
|
* Selection store
|
|
194
338
|
*/
|
|
@@ -620,164 +764,62 @@ function isRangeSingleCell(a) {
|
|
|
620
764
|
return a.x === a.x1 && a.y === a.y1;
|
|
621
765
|
}
|
|
622
766
|
|
|
623
|
-
function getCellData(val) {
|
|
624
|
-
if (typeof val === 'undefined' || val === null) {
|
|
625
|
-
return '';
|
|
626
|
-
}
|
|
627
|
-
return val;
|
|
628
|
-
}
|
|
629
|
-
function getCellDataParsed(model, column) {
|
|
630
|
-
const val = column.cellParser ? column.cellParser(model, column) : model[column.prop];
|
|
631
|
-
return getCellData(val);
|
|
632
|
-
}
|
|
633
|
-
/**
|
|
634
|
-
* Get column type from column data
|
|
635
|
-
*/
|
|
636
|
-
function getColumnType(rgCol) {
|
|
637
|
-
if (rgCol.pin) {
|
|
638
|
-
return rgCol.pin;
|
|
639
|
-
}
|
|
640
|
-
return 'rgCol';
|
|
641
|
-
}
|
|
642
|
-
function getColumnSizes(cols) {
|
|
643
|
-
const res = {};
|
|
644
|
-
for (const [i, c] of cols.entries()) {
|
|
645
|
-
if (c.size) {
|
|
646
|
-
res[i] = c.size;
|
|
647
|
-
}
|
|
648
|
-
}
|
|
649
|
-
return res;
|
|
650
|
-
}
|
|
651
|
-
/**
|
|
652
|
-
* Check if column is grouping column
|
|
653
|
-
*/
|
|
654
|
-
function isColGrouping(colData) {
|
|
655
|
-
return !!colData.children;
|
|
656
|
-
}
|
|
657
|
-
/**
|
|
658
|
-
* This function is used to create a collection of columns.
|
|
659
|
-
*/
|
|
660
|
-
function getColumns(columns, level = 0, types) {
|
|
661
|
-
const collection = {
|
|
662
|
-
// columns as they are in stores per type
|
|
663
|
-
columns: {
|
|
664
|
-
rgCol: [],
|
|
665
|
-
colPinStart: [],
|
|
666
|
-
colPinEnd: [],
|
|
667
|
-
},
|
|
668
|
-
// columns indexed by prop for quick access
|
|
669
|
-
columnByProp: {},
|
|
670
|
-
// column grouping
|
|
671
|
-
columnGrouping: {
|
|
672
|
-
rgCol: [],
|
|
673
|
-
colPinStart: [],
|
|
674
|
-
colPinEnd: [],
|
|
675
|
-
},
|
|
676
|
-
// max depth level for column grouping
|
|
677
|
-
maxLevel: level,
|
|
678
|
-
// sorting
|
|
679
|
-
sort: {},
|
|
680
|
-
};
|
|
681
|
-
return reduce(columns, (res, colData) => {
|
|
682
|
-
// Grouped column
|
|
683
|
-
if (isColGrouping(colData)) {
|
|
684
|
-
return gatherGroup(res, colData, getColumns(colData.children, level + 1, types), level);
|
|
685
|
-
}
|
|
686
|
-
// Column type
|
|
687
|
-
const columnDefinitionFromType = colData.columnType && (types === null || types === void 0 ? void 0 : types[colData.columnType]);
|
|
688
|
-
// Regular column
|
|
689
|
-
const regularColumn = Object.assign(Object.assign({}, columnDefinitionFromType), colData);
|
|
690
|
-
// Regular column, no Pin
|
|
691
|
-
if (!regularColumn.pin) {
|
|
692
|
-
res.columns.rgCol.push(regularColumn);
|
|
693
|
-
// Pin
|
|
694
|
-
}
|
|
695
|
-
else {
|
|
696
|
-
res.columns[regularColumn.pin].push(regularColumn);
|
|
697
|
-
}
|
|
698
|
-
if (regularColumn.order) {
|
|
699
|
-
res.sort[regularColumn.prop] = regularColumn;
|
|
700
|
-
}
|
|
701
|
-
// it's possible that some columns have same prop, but better to avoid it
|
|
702
|
-
if (!res.columnByProp[regularColumn.prop]) {
|
|
703
|
-
res.columnByProp[regularColumn.prop] = [];
|
|
704
|
-
}
|
|
705
|
-
res.columnByProp[regularColumn.prop].push(regularColumn);
|
|
706
|
-
// trigger setup hook if present
|
|
707
|
-
regularColumn.beforeSetup && regularColumn.beforeSetup(regularColumn);
|
|
708
|
-
return res;
|
|
709
|
-
}, collection);
|
|
710
|
-
}
|
|
711
|
-
function gatherGroup(res, colData, collection, level = 0) {
|
|
712
|
-
// group template
|
|
713
|
-
const group = Object.assign(Object.assign({}, colData), { level, ids: [] });
|
|
714
|
-
// check columns for update
|
|
715
|
-
for (let k in collection.columns) {
|
|
716
|
-
const key = k;
|
|
717
|
-
const resultItem = res.columns[key];
|
|
718
|
-
const collectionItem = collection.columns[key];
|
|
719
|
-
// if column data
|
|
720
|
-
if (isArray(resultItem) && isArray(collectionItem)) {
|
|
721
|
-
// fill columns
|
|
722
|
-
resultItem.push(...collectionItem);
|
|
723
|
-
// fill grouping
|
|
724
|
-
if (collectionItem.length) {
|
|
725
|
-
res.columnGrouping[key].push(Object.assign(Object.assign({}, group), { ids: collectionItem.map(item => item.prop) }));
|
|
726
|
-
}
|
|
727
|
-
}
|
|
728
|
-
}
|
|
729
|
-
// merge column groupings
|
|
730
|
-
for (let k in collection.columnGrouping) {
|
|
731
|
-
const key = k;
|
|
732
|
-
const collectionItem = collection.columnGrouping[key];
|
|
733
|
-
res.columnGrouping[key].push(...collectionItem);
|
|
734
|
-
}
|
|
735
|
-
res.maxLevel = Math.max(res.maxLevel, collection.maxLevel);
|
|
736
|
-
res.sort = Object.assign(Object.assign({}, res.sort), collection.sort);
|
|
737
|
-
return res;
|
|
738
|
-
}
|
|
739
|
-
function findColumn(columns, prop) {
|
|
740
|
-
for (const c of columns) {
|
|
741
|
-
if (isColGrouping(c)) {
|
|
742
|
-
const found = findColumn(c.children, prop);
|
|
743
|
-
if (found) {
|
|
744
|
-
return found;
|
|
745
|
-
}
|
|
746
|
-
}
|
|
747
|
-
else if (c.prop === prop) {
|
|
748
|
-
return c;
|
|
749
|
-
}
|
|
750
|
-
}
|
|
751
|
-
return undefined;
|
|
752
|
-
}
|
|
753
|
-
function getColumnByProp(columns, prop) {
|
|
754
|
-
return findColumn(columns, prop);
|
|
755
|
-
}
|
|
756
|
-
|
|
757
767
|
const GROUP_DEPTH = `${GRID_INTERNALS}-depth`;
|
|
758
768
|
const PSEUDO_GROUP_ITEM = `${GRID_INTERNALS}-name`;
|
|
759
769
|
const PSEUDO_GROUP_ITEM_ID = `${GRID_INTERNALS}-id`;
|
|
760
770
|
const PSEUDO_GROUP_ITEM_VALUE = `${GRID_INTERNALS}-value`;
|
|
761
771
|
const PSEUDO_GROUP_COLUMN = `${GRID_INTERNALS}-column`;
|
|
762
772
|
const GROUP_EXPANDED = `${GRID_INTERNALS}-expanded`;
|
|
773
|
+
const GROUP_COLUMN_PROP = `${GRID_INTERNALS}-prop`;
|
|
763
774
|
const GROUP_ORIGINAL_INDEX = `${GRID_INTERNALS}-original-index`;
|
|
764
775
|
const GROUP_EXPAND_BTN = `group-expand`;
|
|
765
|
-
const GROUP_EXPAND_EVENT = `groupexpandclick`;
|
|
766
776
|
const GROUPING_ROW_TYPE = 'rgRow';
|
|
767
777
|
|
|
768
778
|
function getGroupValueDefault(item, prop) {
|
|
769
779
|
return item[prop] || null;
|
|
770
780
|
}
|
|
781
|
+
// get source based on proxy item collection to preserve rgRow order
|
|
782
|
+
function getSource(source, items, withoutGrouping = false) {
|
|
783
|
+
let index = 0;
|
|
784
|
+
const result = {
|
|
785
|
+
source: [],
|
|
786
|
+
prevExpanded: {},
|
|
787
|
+
oldNewIndexes: {},
|
|
788
|
+
};
|
|
789
|
+
// order important here, expected parent is first, then others
|
|
790
|
+
items.forEach(i => {
|
|
791
|
+
const model = source[i];
|
|
792
|
+
if (!withoutGrouping) {
|
|
793
|
+
result.source.push(model);
|
|
794
|
+
return;
|
|
795
|
+
}
|
|
796
|
+
// grouping filter
|
|
797
|
+
if (isGrouping(model)) {
|
|
798
|
+
if (getExpanded(model)) {
|
|
799
|
+
result.prevExpanded[model[PSEUDO_GROUP_ITEM_VALUE]] = true;
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
else {
|
|
803
|
+
result.source.push(model);
|
|
804
|
+
result.oldNewIndexes[i] = index;
|
|
805
|
+
index++;
|
|
806
|
+
}
|
|
807
|
+
});
|
|
808
|
+
return result;
|
|
809
|
+
}
|
|
810
|
+
function getExpanded(model = {}) {
|
|
811
|
+
return model[GROUP_EXPANDED];
|
|
812
|
+
}
|
|
771
813
|
/**
|
|
772
814
|
* Gather data for grouping
|
|
773
815
|
* @param array - flat data array
|
|
774
|
-
* @param
|
|
816
|
+
* @param columnProps - ids of groups
|
|
775
817
|
* @param expanded - potentially expanded items if present
|
|
776
818
|
*/
|
|
777
|
-
function gatherGrouping(array,
|
|
819
|
+
function gatherGrouping(array, columnProps, { prevExpanded, expandedAll, getGroupValue = getGroupValueDefault, }) {
|
|
778
820
|
const groupedItems = new Map();
|
|
779
821
|
array.forEach((item, originalIndex) => {
|
|
780
|
-
const groupLevelValues =
|
|
822
|
+
const groupLevelValues = columnProps.map(groupId => getGroupValue(item, groupId));
|
|
781
823
|
const lastLevelValue = groupLevelValues.pop();
|
|
782
824
|
let currentGroupLevel = groupedItems;
|
|
783
825
|
groupLevelValues.forEach(value => {
|
|
@@ -793,7 +835,7 @@ function gatherGrouping(array, groupIds, { prevExpanded, expandedAll, getGroupVa
|
|
|
793
835
|
lastLevelItems.push(Object.assign(Object.assign({}, item), { [GROUP_ORIGINAL_INDEX]: originalIndex }));
|
|
794
836
|
});
|
|
795
837
|
let itemIndex = -1;
|
|
796
|
-
const groupingDepth =
|
|
838
|
+
const groupingDepth = columnProps.length;
|
|
797
839
|
// collapse all groups in the beginning
|
|
798
840
|
const trimmed = {};
|
|
799
841
|
// index mapping
|
|
@@ -813,6 +855,8 @@ function gatherGrouping(array, groupIds, { prevExpanded, expandedAll, getGroupVa
|
|
|
813
855
|
[PSEUDO_GROUP_ITEM_ID]: JSON.stringify(levelIds),
|
|
814
856
|
[PSEUDO_GROUP_ITEM_VALUE]: mergedIds,
|
|
815
857
|
[GROUP_EXPANDED]: isGroupExpanded,
|
|
858
|
+
[GROUP_COLUMN_PROP]: columnProps[depth],
|
|
859
|
+
[columnProps[depth]]: groupId,
|
|
816
860
|
});
|
|
817
861
|
itemIndex += 1;
|
|
818
862
|
if (!isGroupExpanded && depth) {
|
|
@@ -856,7 +900,7 @@ function isGrouping(rgRow) {
|
|
|
856
900
|
return typeof (rgRow === null || rgRow === void 0 ? void 0 : rgRow[PSEUDO_GROUP_ITEM]) !== 'undefined';
|
|
857
901
|
}
|
|
858
902
|
function isGroupingColumn(column) {
|
|
859
|
-
return column
|
|
903
|
+
return typeof (column === null || column === void 0 ? void 0 : column[PSEUDO_GROUP_COLUMN]) !== 'undefined';
|
|
860
904
|
}
|
|
861
905
|
function measureEqualDepth(groupA, groupB) {
|
|
862
906
|
const ln = groupA.length;
|
|
@@ -979,12 +1023,13 @@ class ColumnService {
|
|
|
979
1023
|
}
|
|
980
1024
|
return !!readOnly;
|
|
981
1025
|
}
|
|
982
|
-
mergeProperties(r, c, defaultProps,
|
|
1026
|
+
mergeProperties(r, c, defaultProps, schemaModel) {
|
|
1027
|
+
var _a, _b;
|
|
983
1028
|
const props = Object.assign({}, defaultProps);
|
|
984
1029
|
props.class = Object.assign(Object.assign({}, (typeof props.class === 'string'
|
|
985
1030
|
? { [props.class]: true }
|
|
986
1031
|
: props.class)), { [CELL_CLASS]: true, [DISABLED_CLASS]: this.isReadOnly(r, c) });
|
|
987
|
-
const extra =
|
|
1032
|
+
const extra = (_b = (_a = schemaModel.column) === null || _a === void 0 ? void 0 : _a.cellProperties) === null || _b === void 0 ? void 0 : _b.call(_a, schemaModel);
|
|
988
1033
|
if (!extra) {
|
|
989
1034
|
return props;
|
|
990
1035
|
}
|
|
@@ -994,24 +1039,12 @@ class ColumnService {
|
|
|
994
1039
|
const model = getSourceItem(this.dataStore, r) || {};
|
|
995
1040
|
return model[prop] || '';
|
|
996
1041
|
}
|
|
997
|
-
getCellData(r, c) {
|
|
998
|
-
const data = this.rowDataModel(r, c);
|
|
999
|
-
return getCellData(data.model[data.prop]);
|
|
1000
|
-
}
|
|
1001
1042
|
getSaveData(rowIndex, colIndex, val) {
|
|
1002
1043
|
const data = this.rowDataModel(rowIndex, colIndex);
|
|
1003
1044
|
if (typeof val === 'undefined') {
|
|
1004
|
-
val = getCellData(data.
|
|
1045
|
+
val = getCellData(data.value);
|
|
1005
1046
|
}
|
|
1006
|
-
return {
|
|
1007
|
-
prop: data.prop,
|
|
1008
|
-
rowIndex,
|
|
1009
|
-
colIndex,
|
|
1010
|
-
val,
|
|
1011
|
-
model: data.model,
|
|
1012
|
-
colType: this.type,
|
|
1013
|
-
type: this.dataStore.get('type'),
|
|
1014
|
-
};
|
|
1047
|
+
return Object.assign(Object.assign({}, data), { val });
|
|
1015
1048
|
}
|
|
1016
1049
|
getCellEditor(_r, c, editors) {
|
|
1017
1050
|
var _a;
|
|
@@ -1033,7 +1066,6 @@ class ColumnService {
|
|
|
1033
1066
|
const column = this.columns[colIndex];
|
|
1034
1067
|
const prop = column === null || column === void 0 ? void 0 : column.prop;
|
|
1035
1068
|
const model = getSourceItem(this.dataStore, rowIndex) || {};
|
|
1036
|
-
const value = model[prop];
|
|
1037
1069
|
const type = this.dataStore.get('type');
|
|
1038
1070
|
return {
|
|
1039
1071
|
prop,
|
|
@@ -1044,7 +1076,7 @@ class ColumnService {
|
|
|
1044
1076
|
colIndex,
|
|
1045
1077
|
colType: this.type,
|
|
1046
1078
|
type,
|
|
1047
|
-
value,
|
|
1079
|
+
value: getCellRaw(model, column),
|
|
1048
1080
|
};
|
|
1049
1081
|
}
|
|
1050
1082
|
getRangeData(d, columns) {
|
|
@@ -1246,6 +1278,6 @@ function doPropMerge(existing, extra) {
|
|
|
1246
1278
|
return props;
|
|
1247
1279
|
}
|
|
1248
1280
|
|
|
1249
|
-
export {
|
|
1281
|
+
export { PSEUDO_GROUP_ITEM_VALUE as A, GROUPING_ROW_TYPE as B, PSEUDO_GROUP_COLUMN as C, SelectionStoreConnector as D, EMPTY_INDEX as E, doPropMerge as F, GROUP_EXPANDED as G, GROUP_EXPAND_BTN as H, PSEUDO_GROUP_ITEM as I, isRowDragService as J, ColumnService as K, PSEUDO_GROUP_ITEM_ID as P, SelectionStore as S, isRangeSingleCell as a, getSource as b, cropCellToMax as c, getExpanded as d, gatherGrouping as e, getGroupingName as f, getRange as g, isGrouping as h, isHiddenStore as i, isGroupingColumn as j, getParsedGroup as k, isSameGroup as l, measureEqualDepth as m, nextCell as n, getCellData as o, getCellRaw as p, getCellDataParsed as q, getColumnType as r, getColumnSizes as s, isColGrouping as t, getColumns as u, gatherGroup as v, getColumnByProp as w, reduce as x, baseEach$1 as y, GROUP_DEPTH as z };
|
|
1250
1282
|
|
|
1251
1283
|
//# sourceMappingURL=column.service.js.map
|