@revolist/revogrid 4.0.2-next → 4.0.2
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/LICENSE +1 -1
- package/dist/cjs/app-globals-53fde1aa.js +14 -0
- package/dist/cjs/app-globals-53fde1aa.js.map +1 -0
- package/dist/cjs/column.service-2066d651.js +545 -0
- package/dist/cjs/column.service-2066d651.js.map +1 -0
- package/dist/cjs/debounce-e2b7c6fb.js +226 -0
- package/dist/cjs/debounce-e2b7c6fb.js.map +1 -0
- package/dist/cjs/dimension.helpers-ee39d6c4.js +4218 -0
- package/dist/cjs/dimension.helpers-ee39d6c4.js.map +1 -0
- package/dist/cjs/dispatcher-a58fa91a.js +34 -0
- package/dist/cjs/dispatcher-a58fa91a.js.map +1 -0
- package/dist/cjs/events-7ccd6894.js +233 -0
- package/dist/cjs/events-7ccd6894.js.map +1 -0
- package/dist/cjs/filter.button-db6cbd2e.js +44 -0
- package/dist/cjs/filter.button-db6cbd2e.js.map +1 -0
- package/dist/cjs/header-cell-renderer-3df76829.js +304 -0
- package/dist/cjs/header-cell-renderer-3df76829.js.map +1 -0
- package/dist/cjs/index-73c149e3.js +106 -0
- package/dist/cjs/index-73c149e3.js.map +1 -0
- package/dist/cjs/index-84e32c2a.js +1868 -0
- package/dist/cjs/index-84e32c2a.js.map +1 -0
- package/dist/cjs/index.cjs.js +53 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/key.utils-dc4ac217.js +129 -0
- package/dist/cjs/key.utils-dc4ac217.js.map +1 -0
- package/dist/cjs/loader.cjs.js +12 -27
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/{resize-observer-8dc80084.js → resize-observer-d009a220.js} +30 -13
- package/dist/cjs/resize-observer-d009a220.js.map +1 -0
- package/dist/cjs/revo-grid.cjs.entry.js +3992 -0
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/revo-grid.cjs.js +22 -65
- package/dist/cjs/revo-grid.cjs.js.map +1 -0
- package/dist/cjs/revogr-attribution_6.cjs.entry.js +1270 -0
- package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -0
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +508 -0
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -0
- package/dist/cjs/revogr-data_4.cjs.entry.js +958 -0
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -0
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +268 -115
- package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -0
- package/dist/cjs/selection.store-2e110a67.js +400 -0
- package/dist/cjs/selection.store-2e110a67.js.map +1 -0
- package/dist/cjs/storeTypes-b3f924b2.js +106 -0
- package/dist/cjs/storeTypes-b3f924b2.js.map +1 -0
- package/dist/cjs/throttle-f7aee21b.js +240 -0
- package/dist/cjs/throttle-f7aee21b.js.map +1 -0
- package/dist/cjs/toNumber-838e6ff5.js +340 -0
- package/dist/cjs/toNumber-838e6ff5.js.map +1 -0
- package/dist/cjs/viewport.helpers-6670177c.js +262 -0
- package/dist/cjs/viewport.helpers-6670177c.js.map +1 -0
- package/dist/collection/collection-manifest.json +18 -16
- package/dist/collection/components/attribution/revogr-attribution.js +20 -0
- package/dist/collection/components/attribution/revogr-attribution.js.map +1 -0
- package/dist/collection/components/clipboard/revogr-clipboard.js +410 -115
- package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -0
- package/dist/collection/components/data/cell-renderer.js +39 -0
- package/dist/collection/components/data/cell-renderer.js.map +1 -0
- package/dist/collection/components/data/column.service.js +302 -0
- package/dist/collection/components/data/column.service.js.map +1 -0
- package/dist/collection/components/data/revogr-data-style.css +18 -11
- package/dist/collection/components/data/revogr-data.js +626 -301
- package/dist/collection/components/data/revogr-data.js.map +1 -0
- package/dist/collection/components/data/row-highlight.plugin.js +51 -0
- package/dist/collection/components/data/row-highlight.plugin.js.map +1 -0
- package/dist/collection/components/data/row-renderer.js +16 -0
- package/dist/collection/components/data/row-renderer.js.map +1 -0
- package/dist/collection/components/editors/edit.utils.js +9 -0
- package/dist/collection/components/editors/edit.utils.js.map +1 -0
- package/dist/collection/components/{overlay → editors}/revogr-edit-style.css +15 -9
- package/dist/collection/components/editors/revogr-edit.js +316 -0
- package/dist/collection/components/editors/revogr-edit.js.map +1 -0
- package/dist/collection/components/editors/text-editor.js +73 -0
- package/dist/collection/components/editors/text-editor.js.map +1 -0
- package/dist/collection/components/header/header-cell-renderer.js +28 -0
- package/dist/collection/components/header/header-cell-renderer.js.map +1 -0
- package/dist/collection/components/header/header-renderer.js +47 -0
- package/dist/collection/components/header/header-renderer.js.map +1 -0
- package/dist/collection/components/header/revogr-header-style.css +15 -9
- package/dist/collection/components/header/revogr-header.js +421 -297
- package/dist/collection/components/header/revogr-header.js.map +1 -0
- package/dist/collection/components/order/order-renderer.js +50 -0
- package/dist/collection/components/order/order-renderer.js.map +1 -0
- package/dist/collection/components/order/order-row.service.js +72 -0
- package/dist/collection/components/order/order-row.service.js.map +1 -0
- package/dist/collection/components/order/revogr-order-editor.js +381 -350
- package/dist/collection/components/order/revogr-order-editor.js.map +1 -0
- package/dist/collection/components/overlay/autofill.service.js +206 -179
- package/dist/collection/components/overlay/autofill.service.js.map +1 -0
- package/dist/collection/components/overlay/keyboard.service.js +137 -124
- package/dist/collection/components/overlay/keyboard.service.js.map +1 -0
- package/dist/collection/components/overlay/revogr-overlay-selection.js +1208 -703
- package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -0
- package/dist/collection/components/overlay/revogr-overlay-style.css +86 -13
- package/dist/collection/components/overlay/selection.utils.js +86 -82
- package/dist/collection/components/overlay/selection.utils.js.map +1 -0
- package/dist/collection/components/revoGrid/grid.helpers.js +28 -13
- package/dist/collection/components/revoGrid/grid.helpers.js.map +1 -0
- package/dist/collection/components/revoGrid/revo-grid-style.css +143 -51
- package/dist/collection/components/revoGrid/revo-grid.js +2834 -2181
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -0
- package/dist/collection/components/revoGrid/viewport.helpers.js +9 -4
- package/dist/collection/components/revoGrid/viewport.helpers.js.map +1 -0
- package/dist/collection/components/revoGrid/viewport.resize.service.js +23 -19
- package/dist/collection/components/revoGrid/viewport.resize.service.js.map +1 -0
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js +78 -50
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -0
- package/dist/collection/components/revoGrid/viewport.service.js +224 -204
- package/dist/collection/components/revoGrid/viewport.service.js.map +1 -0
- package/dist/collection/components/rowHeaders/revogr-row-headers.js +262 -204
- package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -0
- package/dist/collection/components/rowHeaders/row-header-render.js +4 -0
- package/dist/collection/components/rowHeaders/row-header-render.js.map +1 -0
- package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +20 -13
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +535 -369
- package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -0
- package/dist/collection/components/scrollable/autohide-scroll.plugin.js +44 -0
- package/dist/collection/components/scrollable/autohide-scroll.plugin.js.map +1 -0
- package/dist/collection/components/scrollable/revogr-scroll-style.css +24 -18
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js +286 -247
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -0
- package/dist/collection/components/selectionFocus/revogr-focus-style.css +16 -10
- package/dist/collection/components/selectionFocus/revogr-focus.js +366 -96
- package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -0
- package/dist/collection/components/selectionTempRange/revogr-temp-range-style.css +16 -10
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js +149 -128
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -0
- package/dist/collection/components/vnode/vnode-converter.js +81 -0
- package/dist/collection/components/vnode/vnode-converter.js.map +1 -0
- package/dist/collection/components/vnode/vnode.utils.js +18 -0
- package/dist/collection/components/vnode/vnode.utils.js.map +1 -0
- package/dist/collection/global/global.js +15 -11
- package/dist/collection/global/global.js.map +1 -0
- package/dist/collection/index.js +18 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/plugins/base.plugin.js +88 -0
- package/dist/collection/plugins/base.plugin.js.map +1 -0
- package/dist/collection/plugins/column.auto-size.plugin.js +234 -0
- package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -0
- package/dist/collection/plugins/column.stretch.plugin.js +96 -0
- package/dist/collection/plugins/column.stretch.plugin.js.map +1 -0
- package/dist/collection/plugins/dispatcher.js +27 -0
- package/dist/collection/plugins/dispatcher.js.map +1 -0
- package/dist/collection/plugins/export/csv.js +57 -53
- package/dist/collection/plugins/export/csv.js.map +1 -0
- package/dist/collection/plugins/export/export.plugin.js +154 -150
- package/dist/collection/plugins/export/export.plugin.js.map +1 -0
- package/dist/collection/plugins/export/types.js +1 -0
- package/dist/collection/plugins/export/types.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/equal.js +15 -7
- package/dist/collection/plugins/filter/conditions/equal.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/number/greaterThan.js +10 -6
- package/dist/collection/plugins/filter/conditions/number/greaterThan.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js +7 -3
- package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/number/lessThan.js +12 -8
- package/dist/collection/plugins/filter/conditions/number/lessThan.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js +7 -3
- package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/set.js +4 -0
- package/dist/collection/plugins/filter/conditions/set.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/string/beginswith.js +17 -13
- package/dist/collection/plugins/filter/conditions/string/beginswith.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/string/contains.js +17 -10
- package/dist/collection/plugins/filter/conditions/string/contains.js.map +1 -0
- package/dist/collection/plugins/filter/filter.button.js +21 -13
- package/dist/collection/plugins/filter/filter.button.js.map +1 -0
- package/dist/collection/plugins/filter/filter.plugin.js +280 -185
- package/dist/collection/plugins/filter/filter.plugin.js.map +1 -0
- package/dist/collection/plugins/filter/filter.pop.js +492 -246
- package/dist/collection/plugins/filter/filter.pop.js.map +1 -0
- package/dist/collection/plugins/filter/filter.service.js +42 -38
- package/dist/collection/plugins/filter/filter.service.js.map +1 -0
- package/dist/collection/plugins/filter/filter.style.css +68 -15
- package/dist/collection/plugins/filter/filter.types.js +1 -0
- package/dist/collection/plugins/filter/filter.types.js.map +1 -0
- package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +30 -26
- package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +1 -0
- package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js +38 -30
- package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js.map +1 -0
- package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js +22 -18
- package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.const.js +7 -2
- package/dist/collection/plugins/groupingRow/grouping.const.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js +64 -61
- package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +239 -237
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +27 -24
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.types.js +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.types.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.service.js +101 -131
- package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +47 -43
- package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js.map +1 -0
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js +167 -0
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -0
- package/dist/collection/plugins/moveColumn/order-column.handler.js +69 -0
- package/dist/collection/plugins/moveColumn/order-column.handler.js.map +1 -0
- package/dist/collection/plugins/sorting/sorting.plugin.js +218 -163
- package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -0
- package/dist/collection/plugins/sorting/sorting.sign.js +6 -2
- package/dist/collection/plugins/sorting/sorting.sign.js.map +1 -0
- package/dist/collection/serve/controller.js +233 -0
- package/dist/collection/{utilsExternal/generate-data.js → serve/data.js} +72 -32
- package/dist/collection/services/cell.helpers.js +9 -5
- package/dist/collection/services/cell.helpers.js.map +1 -0
- package/dist/collection/services/column.data.provider.js +201 -185
- package/dist/collection/services/column.data.provider.js.map +1 -0
- package/dist/collection/services/data.provider.js +70 -45
- package/dist/collection/services/data.provider.js.map +1 -0
- package/dist/collection/services/dimension.provider.js +143 -84
- package/dist/collection/services/dimension.provider.js.map +1 -0
- package/dist/collection/services/local.scroll.service.js +120 -0
- package/dist/collection/services/local.scroll.service.js.map +1 -0
- package/dist/collection/services/local.scroll.timer.js +42 -0
- package/dist/collection/services/local.scroll.timer.js.map +1 -0
- package/dist/collection/services/resizable.directive.js +211 -226
- package/dist/collection/services/resizable.directive.js.map +1 -0
- package/dist/collection/services/resizable.element.js +39 -0
- package/dist/collection/services/resizable.element.js.map +1 -0
- package/dist/collection/services/selection.store.connector.js +257 -208
- package/dist/collection/services/selection.store.connector.js.map +1 -0
- package/dist/collection/services/viewport.provider.js +16 -12
- package/dist/collection/services/viewport.provider.js.map +1 -0
- package/dist/collection/store/dataSource/data.proxy.js +29 -25
- package/dist/collection/store/dataSource/data.proxy.js.map +1 -0
- package/dist/collection/store/dataSource/data.store.js +100 -93
- package/dist/collection/store/dataSource/data.store.js.map +1 -0
- package/dist/collection/store/dataSource/index.js +7 -0
- package/dist/collection/store/dataSource/index.js.map +1 -0
- package/dist/collection/store/dataSource/trimmed.plugin.js +36 -0
- package/dist/collection/store/dataSource/trimmed.plugin.js.map +1 -0
- package/dist/collection/store/dimension/dimension.helpers.js +97 -95
- package/dist/collection/store/dimension/dimension.helpers.js.map +1 -0
- package/dist/collection/store/dimension/dimension.store.js +106 -48
- package/dist/collection/store/dimension/dimension.store.js.map +1 -0
- package/dist/collection/store/dimension/index.js +6 -0
- package/dist/collection/store/dimension/index.js.map +1 -0
- package/dist/collection/store/selection/index.js +7 -0
- package/dist/collection/store/selection/index.js.map +1 -0
- package/dist/collection/store/selection/selection.helpers.js +43 -39
- package/dist/collection/store/selection/selection.helpers.js.map +1 -0
- package/dist/collection/store/selection/selection.store.js +75 -63
- package/dist/collection/store/selection/selection.store.js.map +1 -0
- package/dist/collection/store/selection/selection.store.service.js +35 -31
- package/dist/collection/store/selection/selection.store.service.js.map +1 -0
- package/dist/collection/store/storeTypes.js +10 -2
- package/dist/collection/store/storeTypes.js.map +1 -0
- package/dist/collection/store/viewport/index.js +6 -0
- package/dist/collection/store/viewport/index.js.map +1 -0
- package/dist/collection/store/viewport/viewport.helpers.js +247 -0
- package/dist/collection/store/viewport/viewport.helpers.js.map +1 -0
- package/dist/collection/store/viewport/viewport.store.js +193 -0
- package/dist/collection/store/viewport/viewport.store.js.map +1 -0
- package/dist/collection/themeManager/theme.compact.js +7 -3
- package/dist/collection/themeManager/theme.compact.js.map +1 -0
- package/dist/collection/themeManager/theme.default.js +7 -3
- package/dist/collection/themeManager/theme.default.js.map +1 -0
- package/dist/collection/themeManager/theme.material.js +7 -3
- package/dist/collection/themeManager/theme.material.js.map +1 -0
- package/dist/collection/themeManager/theme.service.js +53 -0
- package/dist/collection/themeManager/theme.service.js.map +1 -0
- package/dist/collection/types/dimension.js +2 -0
- package/dist/collection/types/dimension.js.map +1 -0
- package/dist/collection/types/interfaces.js +2 -0
- package/dist/collection/types/interfaces.js.map +1 -0
- package/dist/collection/types/plugin.js +2 -0
- package/dist/collection/types/plugin.js.map +1 -0
- package/dist/collection/types/plugin.types.js +2 -0
- package/dist/collection/types/plugin.types.js.map +1 -0
- package/dist/collection/types/selection.js +2 -0
- package/dist/collection/types/selection.js.map +1 -0
- package/dist/collection/types/theme.js +2 -0
- package/dist/collection/types/theme.js.map +1 -0
- package/dist/collection/types/viewport.interfaces.js +2 -0
- package/dist/collection/types/viewport.interfaces.js.map +1 -0
- package/dist/collection/utils/browser.js +7 -0
- package/dist/collection/utils/browser.js.map +1 -0
- package/dist/collection/utils/closest.polifill.js +22 -0
- package/dist/collection/utils/closest.polifill.js.map +1 -0
- package/dist/collection/utils/consts.js +8 -0
- package/dist/collection/utils/consts.js.map +1 -0
- package/dist/collection/utils/events.js +29 -0
- package/dist/collection/utils/events.js.map +1 -0
- package/dist/collection/utils/header.utils.js +24 -0
- package/dist/collection/utils/header.utils.js.map +1 -0
- package/dist/collection/utils/index.js +125 -0
- package/dist/collection/utils/index.js.map +1 -0
- package/dist/collection/utils/key.codes.js +76 -0
- package/dist/collection/utils/key.codes.js.map +1 -0
- package/dist/collection/utils/key.utils.js +84 -0
- package/dist/collection/utils/key.utils.js.map +1 -0
- package/dist/collection/utils/mobile.js +7 -0
- package/dist/collection/utils/mobile.js.map +1 -0
- package/dist/collection/utils/platform.js +5 -1
- package/dist/collection/utils/platform.js.map +1 -0
- package/dist/collection/utils/resize-observer.polifill.js +10 -0
- package/dist/collection/utils/resize-observer.polifill.js.map +1 -0
- package/dist/collection/utils/row-header-utils.js +9 -0
- package/dist/collection/utils/row-header-utils.js.map +1 -0
- package/dist/collection/utils/store.utils.js +7 -3
- package/dist/collection/utils/store.utils.js.map +1 -0
- package/dist/esm/app-globals-ef1fca59.js +12 -0
- package/dist/esm/app-globals-ef1fca59.js.map +1 -0
- package/dist/esm/column.service-21a3af74.js +520 -0
- package/dist/esm/column.service-21a3af74.js.map +1 -0
- package/dist/esm/debounce-7781346d.js +224 -0
- package/dist/esm/debounce-7781346d.js.map +1 -0
- package/dist/esm/dimension.helpers-a3065cb1.js +4185 -0
- package/dist/esm/dimension.helpers-a3065cb1.js.map +1 -0
- package/dist/esm/dispatcher-8ea9187d.js +30 -0
- package/dist/esm/dispatcher-8ea9187d.js.map +1 -0
- package/dist/esm/events-3dd8ee7c.js +228 -0
- package/dist/esm/events-3dd8ee7c.js.map +1 -0
- package/dist/esm/filter.button-46ce4f80.js +38 -0
- package/dist/esm/filter.button-46ce4f80.js.map +1 -0
- package/dist/esm/header-cell-renderer-1ca84d5f.js +301 -0
- package/dist/esm/header-cell-renderer-1ca84d5f.js.map +1 -0
- package/dist/esm/index-21436631.js +1837 -0
- package/dist/esm/index-21436631.js.map +1 -0
- package/dist/esm/index-98fd0168.js +79 -0
- package/dist/esm/index-98fd0168.js.map +1 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/key.utils-4586a3d6.js +120 -0
- package/dist/esm/key.utils-4586a3d6.js.map +1 -0
- package/dist/esm/loader.js +11 -26
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/{resize-observer-56b7b34f.js → resize-observer-83c9e167.js} +30 -14
- package/dist/esm/resize-observer-83c9e167.js.map +1 -0
- package/dist/esm/revo-grid.entry.js +3988 -0
- package/dist/esm/revo-grid.entry.js.map +1 -0
- package/dist/esm/revo-grid.js +19 -65
- package/dist/esm/revo-grid.js.map +1 -0
- package/dist/esm/revogr-attribution_6.entry.js +1261 -0
- package/dist/esm/revogr-attribution_6.entry.js.map +1 -0
- package/dist/esm/revogr-clipboard_3.entry.js +502 -0
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -0
- package/dist/esm/revogr-data_4.entry.js +951 -0
- package/dist/esm/revogr-data_4.entry.js.map +1 -0
- package/dist/esm/revogr-filter-panel.entry.js +268 -115
- package/dist/esm/revogr-filter-panel.entry.js.map +1 -0
- package/dist/esm/selection.store-2577ddf9.js +391 -0
- package/dist/esm/selection.store-2577ddf9.js.map +1 -0
- package/dist/esm/storeTypes-f2647985.js +101 -0
- package/dist/esm/storeTypes-f2647985.js.map +1 -0
- package/dist/esm/throttle-cfd527d6.js +235 -0
- package/dist/esm/throttle-cfd527d6.js.map +1 -0
- package/dist/esm/toNumber-8de324a7.js +331 -0
- package/dist/esm/toNumber-8de324a7.js.map +1 -0
- package/dist/esm/viewport.helpers-6591d423.js +251 -0
- package/dist/esm/viewport.helpers-6591d423.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/loader/cdn.js +4 -0
- package/dist/loader/index.cjs.js +4 -0
- package/{loader → dist/loader}/index.d.ts +11 -3
- package/dist/loader/index.es2017.js +4 -0
- package/dist/{esm/polyfills/es5-html-element.js → loader/index.js} +5 -1
- package/{loader → dist/loader}/package.json +1 -0
- package/dist/revo-grid/app-globals-ef1fca59.js +5 -0
- package/dist/revo-grid/app-globals-ef1fca59.js.map +1 -0
- package/dist/revo-grid/column.service-21a3af74.js +5 -0
- package/dist/revo-grid/column.service-21a3af74.js.map +1 -0
- package/dist/revo-grid/debounce-7781346d.js +5 -0
- package/dist/revo-grid/debounce-7781346d.js.map +1 -0
- package/dist/revo-grid/dimension.helpers-a3065cb1.js +5 -0
- package/dist/revo-grid/dimension.helpers-a3065cb1.js.map +1 -0
- package/dist/revo-grid/dispatcher-8ea9187d.js +5 -0
- package/dist/revo-grid/dispatcher-8ea9187d.js.map +1 -0
- package/dist/revo-grid/events-3dd8ee7c.js +5 -0
- package/dist/revo-grid/events-3dd8ee7c.js.map +1 -0
- package/dist/revo-grid/filter.button-46ce4f80.js +5 -0
- package/dist/revo-grid/filter.button-46ce4f80.js.map +1 -0
- package/dist/revo-grid/header-cell-renderer-1ca84d5f.js +5 -0
- package/dist/revo-grid/header-cell-renderer-1ca84d5f.js.map +1 -0
- package/dist/revo-grid/index-21436631.js +6 -0
- package/dist/revo-grid/index-21436631.js.map +1 -0
- package/dist/revo-grid/index-98fd0168.js +5 -0
- package/dist/revo-grid/index-98fd0168.js.map +1 -0
- package/dist/revo-grid/index.esm.js +5 -0
- package/dist/revo-grid/index.esm.js.map +1 -0
- package/dist/revo-grid/key.utils-4586a3d6.js +5 -0
- package/dist/revo-grid/key.utils-4586a3d6.js.map +1 -0
- package/dist/revo-grid/resize-observer-83c9e167.js +5 -0
- package/dist/revo-grid/resize-observer-83c9e167.js.map +1 -0
- package/dist/revo-grid/revo-grid.entry.js +5 -0
- package/dist/revo-grid/revo-grid.entry.js.map +1 -0
- package/dist/revo-grid/revo-grid.esm.js +5 -1
- package/dist/revo-grid/revo-grid.esm.js.map +1 -0
- package/dist/revo-grid/revogr-attribution_6.entry.js +5 -0
- package/dist/revo-grid/revogr-attribution_6.entry.js.map +1 -0
- package/dist/revo-grid/revogr-clipboard_3.entry.js +5 -0
- package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -0
- package/dist/revo-grid/revogr-data_4.entry.js +5 -0
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -0
- package/dist/revo-grid/revogr-filter-panel.entry.js +5 -1
- package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -0
- package/dist/revo-grid/selection.store-2577ddf9.js +5 -0
- package/dist/revo-grid/selection.store-2577ddf9.js.map +1 -0
- package/dist/revo-grid/storeTypes-f2647985.js +5 -0
- package/dist/revo-grid/storeTypes-f2647985.js.map +1 -0
- package/dist/revo-grid/throttle-cfd527d6.js +5 -0
- package/dist/revo-grid/throttle-cfd527d6.js.map +1 -0
- package/dist/revo-grid/toNumber-8de324a7.js +5 -0
- package/dist/revo-grid/toNumber-8de324a7.js.map +1 -0
- package/dist/revo-grid/viewport.helpers-6591d423.js +5 -0
- package/dist/revo-grid/viewport.helpers-6591d423.js.map +1 -0
- package/dist/types/components/attribution/revogr-attribution.d.ts +12 -0
- package/dist/types/components/clipboard/revogr-clipboard.d.ts +78 -10
- package/dist/types/components/data/cell-renderer.d.ts +14 -0
- package/dist/types/components/data/column.service.d.ts +60 -0
- package/dist/types/components/data/revogr-data.d.ts +101 -27
- package/dist/types/components/data/row-highlight.plugin.d.ts +10 -0
- package/dist/types/components/data/{rowRenderer.d.ts → row-renderer.d.ts} +6 -5
- package/dist/types/components/editors/revogr-edit.d.ts +63 -0
- package/dist/types/components/editors/text-editor.d.ts +46 -0
- package/dist/types/components/header/header-cell-renderer.d.ts +11 -0
- package/dist/types/components/header/header-renderer.d.ts +17 -0
- package/dist/types/components/header/revogr-header.d.ts +70 -22
- package/dist/types/components/order/order-renderer.d.ts +29 -0
- package/dist/types/components/order/order-row.service.d.ts +28 -0
- package/dist/types/components/order/revogr-order-editor.d.ts +43 -41
- package/dist/types/components/overlay/autofill.service.d.ts +69 -54
- package/dist/types/components/overlay/keyboard.service.d.ts +24 -23
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +216 -75
- package/dist/types/components/overlay/selection.utils.d.ts +24 -27
- package/dist/types/components/revoGrid/grid.helpers.d.ts +16 -11
- package/dist/types/components/revoGrid/revo-grid.d.ts +555 -403
- package/dist/types/components/revoGrid/viewport.helpers.d.ts +4 -3
- package/dist/types/components/revoGrid/viewport.resize.service.d.ts +7 -7
- package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +20 -21
- package/dist/types/components/revoGrid/viewport.service.d.ts +54 -56
- package/dist/types/components/rowHeaders/revogr-row-headers.d.ts +45 -12
- package/dist/types/components/rowHeaders/row-header-render.d.ts +5 -5
- package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +115 -76
- package/dist/types/components/scrollable/autohide-scroll.plugin.d.ts +22 -0
- package/dist/types/components/scrollable/revogr-scroll-virtual.d.ts +39 -22
- package/dist/types/components/selectionFocus/revogr-focus.d.ts +61 -9
- package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +26 -11
- package/dist/types/components/vnode/vnode-converter.d.ts +19 -0
- package/dist/types/components/vnode/vnode.utils.d.ts +8 -0
- package/dist/types/components.d.ts +1595 -274
- package/dist/types/index.d.ts +14 -0
- package/dist/types/plugins/base.plugin.d.ts +49 -0
- package/dist/types/plugins/column.auto-size.plugin.d.ts +47 -0
- package/dist/types/plugins/column.stretch.plugin.d.ts +22 -0
- package/dist/types/plugins/dispatcher.d.ts +16 -0
- package/dist/types/plugins/export/csv.d.ts +6 -6
- package/dist/types/plugins/export/export.plugin.d.ts +18 -18
- package/dist/types/plugins/export/types.d.ts +15 -15
- package/dist/types/plugins/filter/filter.button.d.ts +7 -3
- package/dist/types/plugins/filter/filter.plugin.d.ts +61 -43
- package/dist/types/plugins/filter/filter.pop.d.ts +60 -35
- package/dist/types/plugins/filter/filter.service.d.ts +15 -15
- package/dist/types/plugins/filter/filter.types.d.ts +7 -7
- package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +16 -13
- package/dist/types/plugins/groupingColumn/grouping.col.plugin.d.ts +10 -6
- package/dist/types/plugins/groupingColumn/headerGroupRenderer.d.ts +12 -10
- package/dist/types/plugins/groupingRow/grouping.const.d.ts +8 -7
- package/dist/types/plugins/groupingRow/grouping.row.expand.service.d.ts +6 -6
- package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +32 -37
- package/dist/types/plugins/groupingRow/grouping.row.renderer.d.ts +7 -5
- package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +23 -15
- package/dist/types/plugins/groupingRow/grouping.service.d.ts +18 -16
- package/dist/types/plugins/groupingRow/grouping.trimmed.service.d.ts +1 -1
- package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +56 -0
- package/dist/types/plugins/moveColumn/order-column.handler.d.ts +16 -0
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +40 -27
- package/dist/types/plugins/sorting/sorting.sign.d.ts +3 -3
- package/dist/types/services/cell.helpers.d.ts +2 -2
- package/dist/types/services/column.data.provider.d.ts +33 -35
- package/dist/types/services/data.provider.d.ts +27 -21
- package/dist/types/services/dimension.provider.d.ts +52 -32
- package/dist/types/services/local.scroll.service.d.ts +37 -0
- package/dist/types/services/local.scroll.timer.d.ts +26 -0
- package/dist/types/services/resizable.directive.d.ts +52 -51
- package/dist/types/services/resizable.element.d.ts +4 -0
- package/dist/types/services/selection.store.connector.d.ts +54 -36
- package/dist/types/services/viewport.provider.d.ts +6 -8
- package/dist/types/stencil-public-runtime.d.ts +331 -217
- package/dist/types/store/dataSource/data.proxy.d.ts +3 -3
- package/dist/types/store/dataSource/data.store.d.ts +45 -46
- package/dist/types/store/dataSource/index.d.ts +3 -0
- package/dist/types/store/dataSource/trimmed.plugin.d.ts +10 -0
- package/dist/types/store/dimension/dimension.helpers.d.ts +24 -9
- package/dist/types/store/dimension/dimension.store.d.ts +29 -11
- package/dist/types/store/dimension/index.d.ts +2 -0
- package/dist/types/store/selection/index.d.ts +3 -0
- package/dist/types/store/selection/selection.helpers.d.ts +1 -3
- package/dist/types/store/selection/selection.store.d.ts +19 -17
- package/dist/types/store/selection/selection.store.service.d.ts +12 -13
- package/dist/types/store/storeTypes.d.ts +4 -4
- package/dist/types/store/viewport/index.d.ts +2 -0
- package/dist/types/store/viewport/viewport.helpers.d.ts +54 -0
- package/dist/types/store/viewport/viewport.store.d.ts +36 -0
- package/dist/types/themeManager/theme.compact.d.ts +3 -3
- package/dist/types/themeManager/theme.default.d.ts +3 -3
- package/dist/types/themeManager/theme.material.d.ts +3 -3
- package/dist/types/themeManager/theme.service.d.ts +13 -0
- package/dist/types/types/dimension.d.ts +8 -0
- package/dist/types/types/interfaces.d.ts +243 -0
- package/dist/types/types/plugin.d.ts +9 -0
- package/dist/types/types/plugin.types.d.ts +12 -0
- package/dist/types/types/selection.d.ts +115 -0
- package/dist/types/types/theme.d.ts +7 -0
- package/dist/types/types/viewport.interfaces.d.ts +51 -0
- package/dist/types/utils/browser.d.ts +1 -0
- package/dist/types/utils/consts.d.ts +5 -1
- package/dist/types/utils/events.d.ts +2 -0
- package/dist/types/utils/{utils.d.ts → index.d.ts} +17 -1
- package/dist/types/utils/key.codes.d.ts +70 -0
- package/dist/types/utils/{keyCodes.utils.d.ts → key.utils.d.ts} +5 -1
- package/dist/types/utils/mobile.d.ts +1 -0
- package/dist/types/utils/platform.d.ts +1 -1
- package/dist/types/utils/row-header-utils.d.ts +2 -0
- package/dist/types/utils/store.utils.d.ts +2 -2
- package/hydrate/index.d.ts +218 -0
- package/hydrate/index.js +32381 -0
- package/hydrate/package.json +6 -0
- package/package.json +94 -52
- package/readme.md +135 -98
- package/standalone/_baseIteratee.js +1237 -0
- package/standalone/_baseIteratee.js.map +1 -0
- package/standalone/_stringToPath.js +1389 -0
- package/standalone/_stringToPath.js.map +1 -0
- package/standalone/column.service.js +889 -0
- package/standalone/column.service.js.map +1 -0
- package/standalone/consts.js +30 -0
- package/standalone/consts.js.map +1 -0
- package/standalone/data.store.js +705 -0
- package/standalone/data.store.js.map +1 -0
- package/standalone/debounce.js +225 -0
- package/standalone/debounce.js.map +1 -0
- package/standalone/dimension.helpers.js +355 -0
- package/standalone/dimension.helpers.js.map +1 -0
- package/standalone/each.js +200 -0
- package/standalone/each.js.map +1 -0
- package/standalone/filter.button.js +38 -0
- package/standalone/filter.button.js.map +1 -0
- package/standalone/identity.js +349 -0
- package/standalone/identity.js.map +1 -0
- package/standalone/index.d.ts +66 -0
- package/standalone/index.js +42 -0
- package/standalone/index.js.map +1 -0
- package/standalone/index2.js +55 -0
- package/standalone/index2.js.map +1 -0
- package/standalone/isObjectLike.js +195 -0
- package/standalone/isObjectLike.js.map +1 -0
- package/standalone/local.scroll.timer.js +163 -0
- package/standalone/local.scroll.timer.js.map +1 -0
- package/{custom-element → standalone}/resize-observer.js +30 -14
- package/standalone/resize-observer.js.map +1 -0
- package/standalone/revo-grid.d.ts +11 -0
- package/standalone/revo-grid.js +4252 -0
- package/standalone/revo-grid.js.map +1 -0
- package/standalone/revogr-attribution.d.ts +11 -0
- package/standalone/revogr-attribution.js +11 -0
- package/standalone/revogr-attribution.js.map +1 -0
- package/standalone/revogr-attribution2.js +31 -0
- package/standalone/revogr-attribution2.js.map +1 -0
- package/standalone/revogr-clipboard.d.ts +11 -0
- package/standalone/revogr-clipboard.js +11 -0
- package/standalone/revogr-clipboard.js.map +1 -0
- package/standalone/revogr-clipboard2.js +159 -0
- package/standalone/revogr-clipboard2.js.map +1 -0
- package/standalone/revogr-data.d.ts +11 -0
- package/standalone/revogr-data.js +11 -0
- package/standalone/revogr-data.js.map +1 -0
- package/standalone/revogr-data2.js +368 -0
- package/standalone/revogr-data2.js.map +1 -0
- package/standalone/revogr-edit.d.ts +11 -0
- package/standalone/revogr-edit.js +11 -0
- package/standalone/revogr-edit.js.map +1 -0
- package/standalone/revogr-edit2.js +335 -0
- package/standalone/revogr-edit2.js.map +1 -0
- package/standalone/revogr-filter-panel.d.ts +11 -0
- package/standalone/revogr-filter-panel.js +310 -0
- package/standalone/revogr-filter-panel.js.map +1 -0
- package/standalone/revogr-focus.d.ts +11 -0
- package/standalone/revogr-focus.js +11 -0
- package/standalone/revogr-focus.js.map +1 -0
- package/standalone/revogr-focus2.js +106 -0
- package/standalone/revogr-focus2.js.map +1 -0
- package/standalone/revogr-header.d.ts +11 -0
- package/standalone/revogr-header.js +11 -0
- package/standalone/revogr-header.js.map +1 -0
- package/standalone/revogr-header2.js +667 -0
- package/standalone/revogr-header2.js.map +1 -0
- package/standalone/revogr-order-editor.d.ts +11 -0
- package/standalone/revogr-order-editor.js +11 -0
- package/standalone/revogr-order-editor.js.map +1 -0
- package/standalone/revogr-order-editor2.js +199 -0
- package/standalone/revogr-order-editor2.js.map +1 -0
- package/standalone/revogr-overlay-selection.d.ts +11 -0
- package/standalone/revogr-overlay-selection.js +11 -0
- package/standalone/revogr-overlay-selection.js.map +1 -0
- package/standalone/revogr-overlay-selection2.js +876 -0
- package/standalone/revogr-overlay-selection2.js.map +1 -0
- package/standalone/revogr-row-headers.d.ts +11 -0
- package/standalone/revogr-row-headers.js +11 -0
- package/standalone/revogr-row-headers.js.map +1 -0
- package/standalone/revogr-row-headers2.js +555 -0
- package/standalone/revogr-row-headers2.js.map +1 -0
- package/standalone/revogr-scroll-virtual.d.ts +11 -0
- package/standalone/revogr-scroll-virtual.js +11 -0
- package/standalone/revogr-scroll-virtual.js.map +1 -0
- package/standalone/revogr-scroll-virtual2.js +187 -0
- package/standalone/revogr-scroll-virtual2.js.map +1 -0
- package/standalone/revogr-temp-range.d.ts +11 -0
- package/standalone/revogr-temp-range.js +11 -0
- package/standalone/revogr-temp-range.js.map +1 -0
- package/standalone/revogr-temp-range2.js +90 -0
- package/standalone/revogr-temp-range2.js.map +1 -0
- package/standalone/revogr-viewport-scroll.d.ts +11 -0
- package/standalone/revogr-viewport-scroll.js +11 -0
- package/standalone/revogr-viewport-scroll.js.map +1 -0
- package/standalone/revogr-viewport-scroll2.js +336 -0
- package/standalone/revogr-viewport-scroll2.js.map +1 -0
- package/standalone/selection.utils.js +108 -0
- package/standalone/selection.utils.js.map +1 -0
- package/standalone/throttle.js +79 -0
- package/standalone/throttle.js.map +1 -0
- package/standalone/toNumber.js +144 -0
- package/standalone/toNumber.js.map +1 -0
- package/standalone/vnode-converter.js +45 -0
- package/standalone/vnode-converter.js.map +1 -0
- package/standalone/vnode-html.d.ts +11 -0
- package/standalone/vnode-html.js +11 -0
- package/standalone/vnode-html.js.map +1 -0
- package/custom-element/index.d.ts +0 -117
- package/custom-element/index.js +0 -28857
- package/dist/cjs/css-shim-e33df79c.js +0 -6
- package/dist/cjs/dom-c8b6d1a7.js +0 -75
- package/dist/cjs/filter.button-2396a488.js +0 -27
- package/dist/cjs/index-d3f67f2e.js +0 -1729
- package/dist/cjs/revo-grid_11.cjs.entry.js +0 -28621
- package/dist/cjs/revogr-clipboard.cjs.entry.js +0 -53
- package/dist/collection/components/button/button.js +0 -4
- package/dist/collection/components/data/cellRenderer.js +0 -19
- package/dist/collection/components/data/columnService.js +0 -243
- package/dist/collection/components/data/rowRenderer.js +0 -6
- package/dist/collection/components/header/headerCellRenderer.js +0 -19
- package/dist/collection/components/header/headerRenderer.js +0 -45
- package/dist/collection/components/order/orderRenderer.js +0 -50
- package/dist/collection/components/order/rowOrderService.js +0 -68
- package/dist/collection/components/overlay/clipboard.service.js +0 -39
- package/dist/collection/components/overlay/editors/edit.utils.js +0 -5
- package/dist/collection/components/overlay/editors/text.js +0 -35
- package/dist/collection/components/overlay/revogr-edit.js +0 -163
- package/dist/collection/components/revoGrid/viewport.interfaces.js +0 -1
- package/dist/collection/components/revoGrid/viewport.js +0 -18
- package/dist/collection/components/revoGrid/viewport.section.js +0 -28
- package/dist/collection/components/rowHeaders/row-header-utils.js +0 -4
- package/dist/collection/plugins/autoSizeColumn.d.ts +0 -54
- package/dist/collection/plugins/autoSizeColumn.js +0 -230
- package/dist/collection/plugins/basePlugin.d.ts +0 -37
- package/dist/collection/plugins/basePlugin.js +0 -53
- package/dist/collection/plugins/export/csv.d.ts +0 -9
- package/dist/collection/plugins/export/export.plugin.d.ts +0 -24
- package/dist/collection/plugins/export/types.d.ts +0 -23
- package/dist/collection/plugins/filter/conditions/equal.d.ts +0 -4
- package/dist/collection/plugins/filter/conditions/number/greaterThan.d.ts +0 -3
- package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.d.ts +0 -3
- package/dist/collection/plugins/filter/conditions/number/lessThan.d.ts +0 -3
- package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.d.ts +0 -3
- package/dist/collection/plugins/filter/conditions/set.d.ts +0 -4
- package/dist/collection/plugins/filter/conditions/string/beginswith.d.ts +0 -3
- package/dist/collection/plugins/filter/conditions/string/contains.d.ts +0 -4
- package/dist/collection/plugins/filter/filter.button.d.ts +0 -10
- package/dist/collection/plugins/filter/filter.plugin.d.ts +0 -59
- package/dist/collection/plugins/filter/filter.pop.d.ts +0 -42
- package/dist/collection/plugins/filter/filter.service.d.ts +0 -20
- package/dist/collection/plugins/filter/filter.types.d.ts +0 -8
- package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.d.ts +0 -16
- package/dist/collection/plugins/groupingColumn/grouping.col.plugin.d.ts +0 -13
- package/dist/collection/plugins/groupingColumn/headerGroupRenderer.d.ts +0 -14
- package/dist/collection/plugins/groupingRow/grouping.const.d.ts +0 -9
- package/dist/collection/plugins/groupingRow/grouping.row.expand.service.d.ts +0 -15
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.d.ts +0 -40
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.d.ts +0 -9
- package/dist/collection/plugins/groupingRow/grouping.row.types.d.ts +0 -19
- package/dist/collection/plugins/groupingRow/grouping.service.d.ts +0 -25
- package/dist/collection/plugins/groupingRow/grouping.trimmed.service.d.ts +0 -10
- package/dist/collection/plugins/sorting/sorting.plugin.d.ts +0 -32
- package/dist/collection/plugins/sorting/sorting.sign.d.ts +0 -8
- package/dist/collection/plugins/stretchPlugin.d.ts +0 -29
- package/dist/collection/plugins/stretchPlugin.js +0 -90
- package/dist/collection/plugins/trimmed/trimmed.plugin.d.ts +0 -10
- package/dist/collection/plugins/trimmed/trimmed.plugin.js +0 -32
- package/dist/collection/services/localScrollService.js +0 -80
- package/dist/collection/store/viewPort/viewport.helpers.js +0 -180
- package/dist/collection/store/viewPort/viewport.store.js +0 -121
- package/dist/collection/themeManager/themeService.js +0 -43
- package/dist/collection/utils/closestPolifill.js +0 -18
- package/dist/collection/utils/generateAlphabetHeader.js +0 -20
- package/dist/collection/utils/keyCodes.js +0 -70
- package/dist/collection/utils/keyCodes.utils.js +0 -64
- package/dist/collection/utils/resizeObserver.js +0 -6
- package/dist/collection/utils/utils.js +0 -104
- package/dist/esm/css-shim-8d75038b.js +0 -4
- package/dist/esm/dom-1b195079.js +0 -73
- package/dist/esm/filter.button-53ebca66.js +0 -23
- package/dist/esm/index-42c84e7c.js +0 -1694
- package/dist/esm/polyfills/core-js.js +0 -11
- package/dist/esm/polyfills/css-shim.js +0 -1
- package/dist/esm/polyfills/dom.js +0 -79
- package/dist/esm/polyfills/index.js +0 -34
- package/dist/esm/polyfills/system.js +0 -6
- package/dist/esm/revo-grid_11.entry.js +0 -28607
- package/dist/esm/revogr-clipboard.entry.js +0 -49
- package/dist/esm-es5/css-shim-8d75038b.js +0 -1
- package/dist/esm-es5/dom-1b195079.js +0 -21
- package/dist/esm-es5/filter.button-53ebca66.js +0 -1
- package/dist/esm-es5/index-42c84e7c.js +0 -1
- package/dist/esm-es5/loader.js +0 -1
- package/dist/esm-es5/resize-observer-56b7b34f.js +0 -1
- package/dist/esm-es5/revo-grid.js +0 -1
- package/dist/esm-es5/revo-grid_11.entry.js +0 -1
- package/dist/esm-es5/revogr-clipboard.entry.js +0 -1
- package/dist/esm-es5/revogr-filter-panel.entry.js +0 -1
- package/dist/revo-grid/css-shim-88bfb262.system.js +0 -1
- package/dist/revo-grid/css-shim-8d75038b.js +0 -1
- package/dist/revo-grid/dom-1b195079.js +0 -19
- package/dist/revo-grid/dom-ee2dd1b3.system.js +0 -21
- package/dist/revo-grid/filter.button-1509c206.js +0 -1
- package/dist/revo-grid/filter.button-4bd87101.system.js +0 -1
- package/dist/revo-grid/index-a15e7527.system.js +0 -1
- package/dist/revo-grid/index-a7f99799.js +0 -1
- package/dist/revo-grid/index.system.js +0 -1
- package/dist/revo-grid/plugins/autoSizeColumn.d.ts +0 -54
- package/dist/revo-grid/plugins/basePlugin.d.ts +0 -37
- package/dist/revo-grid/plugins/export/csv.d.ts +0 -9
- package/dist/revo-grid/plugins/export/export.plugin.d.ts +0 -24
- package/dist/revo-grid/plugins/export/types.d.ts +0 -23
- package/dist/revo-grid/plugins/filter/conditions/equal.d.ts +0 -4
- package/dist/revo-grid/plugins/filter/conditions/number/greaterThan.d.ts +0 -3
- package/dist/revo-grid/plugins/filter/conditions/number/greaterThanOrEqual.d.ts +0 -3
- package/dist/revo-grid/plugins/filter/conditions/number/lessThan.d.ts +0 -3
- package/dist/revo-grid/plugins/filter/conditions/number/lessThanOrEqual.d.ts +0 -3
- package/dist/revo-grid/plugins/filter/conditions/set.d.ts +0 -4
- package/dist/revo-grid/plugins/filter/conditions/string/beginswith.d.ts +0 -3
- package/dist/revo-grid/plugins/filter/conditions/string/contains.d.ts +0 -4
- package/dist/revo-grid/plugins/filter/filter.button.d.ts +0 -10
- package/dist/revo-grid/plugins/filter/filter.plugin.d.ts +0 -59
- package/dist/revo-grid/plugins/filter/filter.pop.d.ts +0 -42
- package/dist/revo-grid/plugins/filter/filter.service.d.ts +0 -20
- package/dist/revo-grid/plugins/filter/filter.types.d.ts +0 -8
- package/dist/revo-grid/plugins/groupingColumn/columnGroupsRenderer.d.ts +0 -16
- package/dist/revo-grid/plugins/groupingColumn/grouping.col.plugin.d.ts +0 -13
- package/dist/revo-grid/plugins/groupingColumn/headerGroupRenderer.d.ts +0 -14
- package/dist/revo-grid/plugins/groupingRow/grouping.const.d.ts +0 -9
- package/dist/revo-grid/plugins/groupingRow/grouping.row.expand.service.d.ts +0 -15
- package/dist/revo-grid/plugins/groupingRow/grouping.row.plugin.d.ts +0 -40
- package/dist/revo-grid/plugins/groupingRow/grouping.row.renderer.d.ts +0 -9
- package/dist/revo-grid/plugins/groupingRow/grouping.row.types.d.ts +0 -19
- package/dist/revo-grid/plugins/groupingRow/grouping.service.d.ts +0 -25
- package/dist/revo-grid/plugins/groupingRow/grouping.trimmed.service.d.ts +0 -10
- package/dist/revo-grid/plugins/sorting/sorting.plugin.d.ts +0 -32
- package/dist/revo-grid/plugins/sorting/sorting.sign.d.ts +0 -8
- package/dist/revo-grid/plugins/stretchPlugin.d.ts +0 -29
- package/dist/revo-grid/plugins/trimmed/trimmed.plugin.d.ts +0 -10
- package/dist/revo-grid/resize-observer-56b7b34f.js +0 -1
- package/dist/revo-grid/resize-observer-7a7b9757.system.js +0 -1
- package/dist/revo-grid/revo-grid.js +0 -132
- package/dist/revo-grid/revo-grid.system.js +0 -1
- package/dist/revo-grid/revo-grid_11.entry.js +0 -1
- package/dist/revo-grid/revo-grid_11.system.entry.js +0 -1
- package/dist/revo-grid/revogr-clipboard.entry.js +0 -1
- package/dist/revo-grid/revogr-clipboard.system.entry.js +0 -1
- package/dist/revo-grid/revogr-filter-panel.system.entry.js +0 -1
- package/dist/types/components/button/button.d.ts +0 -5
- package/dist/types/components/data/cellRenderer.d.ts +0 -8
- package/dist/types/components/data/columnService.d.ts +0 -42
- package/dist/types/components/header/headerCellRenderer.d.ts +0 -8
- package/dist/types/components/header/headerRenderer.d.ts +0 -15
- package/dist/types/components/order/orderRenderer.d.ts +0 -28
- package/dist/types/components/order/rowOrderService.d.ts +0 -27
- package/dist/types/components/overlay/clipboard.service.d.ts +0 -20
- package/dist/types/components/overlay/editors/text.d.ts +0 -13
- package/dist/types/components/overlay/revogr-edit.d.ts +0 -19
- package/dist/types/components/revoGrid/viewport.d.ts +0 -19
- package/dist/types/components/revoGrid/viewport.interfaces.d.ts +0 -66
- package/dist/types/components/revoGrid/viewport.section.d.ts +0 -24
- package/dist/types/components/rowHeaders/row-header-utils.d.ts +0 -2
- package/dist/types/interfaces.d.ts +0 -437
- package/dist/types/plugins/autoSizeColumn.d.ts +0 -54
- package/dist/types/plugins/basePlugin.d.ts +0 -37
- package/dist/types/plugins/stretchPlugin.d.ts +0 -29
- package/dist/types/plugins/trimmed/trimmed.plugin.d.ts +0 -10
- package/dist/types/services/localScrollService.d.ts +0 -28
- package/dist/types/store/viewPort/viewport.helpers.d.ts +0 -30
- package/dist/types/store/viewPort/viewport.store.d.ts +0 -18
- package/dist/types/themeManager/themeService.d.ts +0 -13
- package/dist/types/utils/closestPolifill.d.ts +0 -0
- package/dist/types/utils/keyCodes.d.ts +0 -68
- package/loader/cdn.js +0 -3
- package/loader/index.cjs.js +0 -3
- package/loader/index.es2017.js +0 -3
- package/loader/index.js +0 -4
- /package/dist/types/components/{overlay/editors → editors}/edit.utils.d.ts +0 -0
- /package/dist/{esm-es5/index.js → types/utils/closest.polifill.d.ts} +0 -0
- /package/dist/types/utils/{generateAlphabetHeader.d.ts → header.utils.d.ts} +0 -0
- /package/dist/types/utils/{resizeObserver.d.ts → resize-observer.polifill.d.ts} +0 -0
|
@@ -1,188 +1,204 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
import reduce from "lodash/reduce";
|
|
5
|
+
import each from "lodash/each";
|
|
6
|
+
import find from "lodash/find";
|
|
7
|
+
import DataStore, { getSourceItem, getSourceItemVirtualIndexByProp, setSourceByVirtualIndex, } from "../store/dataSource/data.store";
|
|
8
|
+
import { columnTypes } from "../store/storeTypes";
|
|
9
|
+
import GroupingColumnPlugin, { isColGrouping, } from "../plugins/groupingColumn/grouping.col.plugin";
|
|
7
10
|
export default class ColumnDataProvider {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
return columnTypes.reduce((r, t) => {
|
|
45
|
-
r.push(...this.dataSources[t].store.get('source'));
|
|
46
|
-
return r;
|
|
47
|
-
}, []);
|
|
48
|
-
}
|
|
49
|
-
getColumnIndexByProp(prop, type) {
|
|
50
|
-
return getSourceItemVirtualIndexByProp(this.dataSources[type].store, prop);
|
|
51
|
-
}
|
|
52
|
-
getColumnByProp(prop, type) {
|
|
53
|
-
const items = this.dataSources[type].store.get('source');
|
|
54
|
-
return find(items, { prop });
|
|
55
|
-
}
|
|
56
|
-
refreshByType(type) {
|
|
57
|
-
this.dataSources[type].refresh();
|
|
58
|
-
}
|
|
59
|
-
setColumns(data) {
|
|
60
|
-
each(columnTypes, k => {
|
|
61
|
-
// set columns data
|
|
62
|
-
this.dataSources[k].updateData(data.columns[k], {
|
|
63
|
-
// max depth level
|
|
64
|
-
depth: data.maxLevel,
|
|
65
|
-
// groups
|
|
66
|
-
groups: reduce(data.columnGrouping[k], (res, g) => {
|
|
67
|
-
if (!res[g.level]) {
|
|
68
|
-
res[g.level] = [];
|
|
69
|
-
}
|
|
70
|
-
res[g.level].push(g);
|
|
71
|
-
return res;
|
|
72
|
-
}, {}),
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
this.sorting = data.sort;
|
|
76
|
-
return data;
|
|
77
|
-
}
|
|
78
|
-
updateColumns(cols) {
|
|
79
|
-
// collect column by type and propert
|
|
80
|
-
const columnByKey = cols.reduce((res, c) => {
|
|
81
|
-
const type = ColumnDataProvider.getColumnType(c);
|
|
82
|
-
if (!res[type]) {
|
|
83
|
-
res[type] = {};
|
|
84
|
-
}
|
|
85
|
-
res[type][c.prop] = c;
|
|
86
|
-
return res;
|
|
87
|
-
}, {});
|
|
88
|
-
// find indexes in source
|
|
89
|
-
const colByIndex = {};
|
|
90
|
-
each(columnByKey, (colsToUpdate, type) => {
|
|
91
|
-
const items = this.dataSources[type].store.get('source');
|
|
92
|
-
colByIndex[type] = items.reduce((result, rgCol, index) => {
|
|
93
|
-
const colToUpdateIfExists = colsToUpdate[rgCol.prop];
|
|
94
|
-
if (colToUpdateIfExists) {
|
|
95
|
-
result[index] = colToUpdateIfExists;
|
|
11
|
+
get order() {
|
|
12
|
+
return reduce(this.sorting, (r, c, prop) => {
|
|
13
|
+
r[prop] = c.order;
|
|
14
|
+
return r;
|
|
15
|
+
}, {});
|
|
16
|
+
}
|
|
17
|
+
get stores() {
|
|
18
|
+
return this.dataSources;
|
|
19
|
+
}
|
|
20
|
+
constructor() {
|
|
21
|
+
this.sorting = null;
|
|
22
|
+
this.dataSources = reduce(columnTypes, (sources, k) => {
|
|
23
|
+
sources[k] = new DataStore(k);
|
|
24
|
+
return sources;
|
|
25
|
+
}, {});
|
|
26
|
+
}
|
|
27
|
+
column(c, pin) {
|
|
28
|
+
return this.getColumn(c, pin || 'rgCol');
|
|
29
|
+
}
|
|
30
|
+
getColumn(virtualIndex, type) {
|
|
31
|
+
return getSourceItem(this.dataSources[type].store, virtualIndex);
|
|
32
|
+
}
|
|
33
|
+
getRawColumns() {
|
|
34
|
+
return reduce(this.dataSources, (result, item, type) => {
|
|
35
|
+
result[type] = item.store.get('source');
|
|
36
|
+
return result;
|
|
37
|
+
}, {
|
|
38
|
+
rgCol: [],
|
|
39
|
+
colPinStart: [],
|
|
40
|
+
colPinEnd: [],
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
getColumns(type = 'all') {
|
|
44
|
+
if (type !== 'all') {
|
|
45
|
+
return this.dataSources[type].store.get('source');
|
|
96
46
|
}
|
|
97
|
-
return
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
47
|
+
return columnTypes.reduce((r, t) => {
|
|
48
|
+
r.push(...this.dataSources[t].store.get('source'));
|
|
49
|
+
return r;
|
|
50
|
+
}, []);
|
|
51
|
+
}
|
|
52
|
+
getColumnIndexByProp(prop, type) {
|
|
53
|
+
return getSourceItemVirtualIndexByProp(this.dataSources[type].store, prop);
|
|
54
|
+
}
|
|
55
|
+
getColumnByProp(prop, type) {
|
|
56
|
+
const items = this.dataSources[type].store.get('source');
|
|
57
|
+
return find(items, { prop });
|
|
58
|
+
}
|
|
59
|
+
refreshByType(type) {
|
|
60
|
+
this.dataSources[type].refresh();
|
|
61
|
+
}
|
|
62
|
+
setColumns(data) {
|
|
63
|
+
columnTypes.forEach(k => {
|
|
64
|
+
// set columns data
|
|
65
|
+
this.dataSources[k].updateData(data.columns[k], {
|
|
66
|
+
// max depth level
|
|
67
|
+
depth: data.maxLevel,
|
|
68
|
+
// groups
|
|
69
|
+
groups: data.columnGrouping[k].reduce((res, g) => {
|
|
70
|
+
if (!res[g.level]) {
|
|
71
|
+
res[g.level] = [];
|
|
72
|
+
}
|
|
73
|
+
res[g.level].push(g);
|
|
74
|
+
return res;
|
|
75
|
+
}, {}),
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
this.sorting = data.sort;
|
|
79
|
+
return data;
|
|
80
|
+
}
|
|
81
|
+
updateColumns(cols) {
|
|
82
|
+
// collect column by type and propert
|
|
83
|
+
const columnByKey = cols.reduce((res, c) => {
|
|
84
|
+
const type = ColumnDataProvider.getColumnType(c);
|
|
85
|
+
if (!res[type]) {
|
|
86
|
+
res[type] = {};
|
|
87
|
+
}
|
|
88
|
+
res[type][c.prop] = c;
|
|
89
|
+
return res;
|
|
90
|
+
}, {});
|
|
91
|
+
// find indexes in source
|
|
92
|
+
const colByIndex = {};
|
|
93
|
+
each(columnByKey, (colsToUpdate, type) => {
|
|
94
|
+
const items = this.dataSources[type].store.get('source');
|
|
95
|
+
colByIndex[type] = items.reduce((result, rgCol, index) => {
|
|
96
|
+
const colToUpdateIfExists = colsToUpdate[rgCol.prop];
|
|
97
|
+
if (colToUpdateIfExists) {
|
|
98
|
+
result[index] = colToUpdateIfExists;
|
|
99
|
+
}
|
|
100
|
+
return result;
|
|
101
|
+
}, {});
|
|
102
|
+
});
|
|
103
|
+
each(colByIndex, (colsToUpdate, type) => setSourceByVirtualIndex(this.dataSources[type].store, colsToUpdate));
|
|
104
|
+
}
|
|
105
|
+
updateColumn(column, index) {
|
|
106
|
+
const type = ColumnDataProvider.getColumnType(column);
|
|
107
|
+
setSourceByVirtualIndex(this.dataSources[type].store, { [index]: column });
|
|
108
|
+
}
|
|
109
|
+
updateColumnSorting(column, index, sorting, additive) {
|
|
110
|
+
if (!additive) {
|
|
111
|
+
this.clearSorting();
|
|
112
|
+
}
|
|
113
|
+
column.order = sorting;
|
|
114
|
+
this.sorting[column.prop] = column;
|
|
115
|
+
this.updateColumn(column, index);
|
|
116
|
+
return column;
|
|
117
|
+
}
|
|
118
|
+
clearSorting() {
|
|
119
|
+
const types = reduce(this.sorting, (r, c) => {
|
|
120
|
+
const k = ColumnDataProvider.getColumnType(c);
|
|
121
|
+
r[k] = true;
|
|
122
|
+
return r;
|
|
123
|
+
}, {});
|
|
124
|
+
each(types, (_, type) => {
|
|
125
|
+
const cols = this.dataSources[type].store.get('source');
|
|
126
|
+
each(cols, (c) => (c.order = undefined));
|
|
127
|
+
this.dataSources[type].setData({ source: [...cols] });
|
|
128
|
+
});
|
|
129
|
+
this.sorting = {};
|
|
130
|
+
}
|
|
131
|
+
static getSizes(cols) {
|
|
132
|
+
return reduce(cols, (res, c, i) => {
|
|
133
|
+
if (c.size) {
|
|
134
|
+
res[i] = c.size;
|
|
135
|
+
}
|
|
136
|
+
return res;
|
|
137
|
+
}, {});
|
|
138
|
+
}
|
|
139
|
+
static getColumnByProp(columns, prop) {
|
|
140
|
+
return find(columns, c => {
|
|
141
|
+
if (isColGrouping(c)) {
|
|
142
|
+
return ColumnDataProvider.getColumnByProp(c.children, prop);
|
|
143
|
+
}
|
|
144
|
+
return c.prop === prop;
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
// columns processing
|
|
148
|
+
static getColumns(columns, level = 0, types) {
|
|
149
|
+
const collection = {
|
|
150
|
+
// columns as they are in stores per type
|
|
151
|
+
columns: {
|
|
152
|
+
rgCol: [],
|
|
153
|
+
colPinStart: [],
|
|
154
|
+
colPinEnd: [],
|
|
155
|
+
},
|
|
156
|
+
// columns grouped by prop for quick access
|
|
157
|
+
columnByProp: {},
|
|
158
|
+
// column grouping
|
|
159
|
+
columnGrouping: {
|
|
160
|
+
rgCol: [],
|
|
161
|
+
colPinStart: [],
|
|
162
|
+
colPinEnd: [],
|
|
163
|
+
},
|
|
164
|
+
// max depth level for column grouping
|
|
165
|
+
maxLevel: level,
|
|
166
|
+
// sorting
|
|
167
|
+
sort: {},
|
|
168
|
+
};
|
|
169
|
+
return reduce(columns, (res, colData) => {
|
|
170
|
+
// Grouped column
|
|
171
|
+
if (isColGrouping(colData)) {
|
|
172
|
+
return GroupingColumnPlugin.gatherGroup(res, colData, ColumnDataProvider.getColumns(colData.children, level + 1, types), level);
|
|
173
|
+
}
|
|
174
|
+
// Regular column
|
|
175
|
+
const regularColumn = Object.assign(Object.assign({}, (colData.columnType && types && types[colData.columnType])), colData);
|
|
176
|
+
// Regular column, no Pin
|
|
177
|
+
if (!regularColumn.pin) {
|
|
178
|
+
res.columns.rgCol.push(regularColumn);
|
|
179
|
+
// Pin
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
res.columns[regularColumn.pin].push(regularColumn);
|
|
183
|
+
}
|
|
184
|
+
if (regularColumn.order) {
|
|
185
|
+
res.sort[regularColumn.prop] = regularColumn;
|
|
186
|
+
}
|
|
187
|
+
// technically it's possible that some columns have same prop, but better to avoid it
|
|
188
|
+
if (!res.columnByProp[regularColumn.prop]) {
|
|
189
|
+
res.columnByProp[regularColumn.prop] = [];
|
|
190
|
+
}
|
|
191
|
+
res.columnByProp[regularColumn.prop].push(regularColumn);
|
|
192
|
+
// trigger setup hook if present
|
|
193
|
+
regularColumn.beforeSetup && regularColumn.beforeSetup(regularColumn);
|
|
194
|
+
return res;
|
|
195
|
+
}, collection);
|
|
196
|
+
}
|
|
197
|
+
static getColumnType(rgCol) {
|
|
198
|
+
if (rgCol.pin) {
|
|
199
|
+
return rgCol.pin;
|
|
200
|
+
}
|
|
201
|
+
return 'rgCol';
|
|
202
|
+
}
|
|
188
203
|
}
|
|
204
|
+
//# sourceMappingURL=column.data.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column.data.provider.js","sourceRoot":"","sources":["../../src/services/column.data.provider.ts"],"names":[],"mappings":"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","sourcesContent":["import reduce from 'lodash/reduce';\nimport each from 'lodash/each';\nimport find from 'lodash/find';\n\nimport DataStore, {\n getSourceItem,\n getSourceItemVirtualIndexByProp,\n Groups,\n setSourceByVirtualIndex,\n} from '../store/dataSource/data.store';\nimport { columnTypes } from '../store/storeTypes';\nimport GroupingColumnPlugin, {\n ColumnGroupingCollection,\n isColGrouping,\n} from '../plugins/groupingColumn/grouping.col.plugin';\nimport { ColumnData, ColumnDataSchema, ColumnProp, ColumnRegular, ColumnTypes, ViewSettingSizeProp } from '..';\nimport { DimensionCols, DimensionColPin } from '..';\n\nexport type ColumnCollection = {\n columns: Record<DimensionCols, ColumnRegular[]>;\n columnByProp: Record<ColumnProp, ColumnRegular[]>;\n columnGrouping: ColumnGroupingCollection;\n maxLevel: number;\n sort: Record<ColumnProp, ColumnRegular>;\n};\n\nexport type ColumnDataSources = Record<\n DimensionCols,\n DataStore<ColumnRegular, DimensionCols>\n>;\ntype Sorting = Record<ColumnProp, ColumnRegular>;\ntype SortingOrder = Record<ColumnProp, 'asc' | 'desc'>;\n\nexport default class ColumnDataProvider {\n readonly dataSources: ColumnDataSources;\n sorting: Sorting | null = null;\n\n get order() {\n return reduce(\n this.sorting,\n (r: SortingOrder, c, prop) => {\n r[prop] = c.order;\n return r;\n },\n {},\n );\n }\n\n get stores() {\n return this.dataSources;\n }\n constructor() {\n this.dataSources = reduce(\n columnTypes,\n (sources: Partial<ColumnDataSources>, k: DimensionCols) => {\n sources[k] = new DataStore(k);\n return sources;\n },\n {},\n ) as ColumnDataSources;\n }\n\n column(\n c: number,\n pin?: DimensionColPin,\n ): ColumnRegular | undefined {\n return this.getColumn(c, pin || 'rgCol');\n }\n\n getColumn(\n virtualIndex: number,\n type: DimensionCols,\n ): ColumnRegular | undefined {\n return getSourceItem(this.dataSources[type].store, virtualIndex);\n }\n\n getRawColumns() {\n return reduce(\n this.dataSources,\n (\n result: Record<DimensionCols, ColumnRegular[]>,\n item,\n type: DimensionCols,\n ) => {\n result[type] = item.store.get('source');\n return result;\n },\n {\n rgCol: [],\n colPinStart: [],\n colPinEnd: [],\n },\n );\n }\n\n getColumns(type: DimensionCols | 'all' = 'all') {\n if (type !== 'all') {\n return this.dataSources[type].store.get('source');\n }\n return columnTypes.reduce((r: ColumnRegular[], t) => {\n r.push(...this.dataSources[t].store.get('source'));\n return r;\n }, []);\n }\n\n getColumnIndexByProp(\n prop: ColumnProp,\n type: DimensionCols,\n ): number {\n return getSourceItemVirtualIndexByProp(this.dataSources[type].store, prop);\n }\n\n getColumnByProp(\n prop: ColumnProp,\n type: DimensionCols,\n ): ColumnRegular | undefined {\n const items = this.dataSources[type].store.get('source');\n return find(items, { prop });\n }\n\n refreshByType(type: DimensionCols) {\n this.dataSources[type].refresh();\n }\n\n setColumns(data: ColumnCollection): ColumnCollection {\n columnTypes.forEach(k => {\n // set columns data\n this.dataSources[k].updateData(data.columns[k], {\n // max depth level\n depth: data.maxLevel,\n\n // groups\n groups: data.columnGrouping[k].reduce((res: Groups, g) => {\n if (!res[g.level]) {\n res[g.level] = [];\n }\n res[g.level].push(g);\n return res;\n },\n {},\n ),\n });\n });\n this.sorting = data.sort;\n return data;\n }\n\n updateColumns(cols: ColumnRegular[]) {\n // collect column by type and propert\n const columnByKey: Partial<\n Record<\n DimensionCols,\n Record<ColumnProp, ColumnRegular>\n >\n > = cols.reduce(\n (\n res: Partial<\n Record<\n DimensionCols,\n Record<ColumnProp, ColumnRegular>\n >\n >,\n c,\n ) => {\n const type = ColumnDataProvider.getColumnType(c);\n if (!res[type]) {\n res[type] = {};\n }\n res[type][c.prop] = c;\n return res;\n },\n {},\n );\n\n // find indexes in source\n const colByIndex: Partial<\n Record<DimensionCols, Record<number, ColumnRegular>>\n > = {};\n each(columnByKey, (colsToUpdate, type: DimensionCols) => {\n const items = this.dataSources[type].store.get('source');\n colByIndex[type] = items.reduce(\n (result: Record<number, ColumnRegular>, rgCol, index) => {\n const colToUpdateIfExists = colsToUpdate[rgCol.prop];\n if (colToUpdateIfExists) {\n result[index] = colToUpdateIfExists;\n }\n return result;\n },\n {},\n );\n });\n each(colByIndex, (colsToUpdate, type: DimensionCols) =>\n setSourceByVirtualIndex(this.dataSources[type].store, colsToUpdate),\n );\n }\n\n updateColumn(column: ColumnRegular, index: number) {\n const type = ColumnDataProvider.getColumnType(column);\n setSourceByVirtualIndex(this.dataSources[type].store, { [index]: column });\n }\n\n updateColumnSorting(\n column: ColumnRegular,\n index: number,\n sorting: 'asc' | 'desc',\n additive: boolean,\n ): ColumnRegular {\n if (!additive) {\n this.clearSorting();\n }\n column.order = sorting;\n this.sorting[column.prop] = column;\n this.updateColumn(column, index);\n return column;\n }\n\n clearSorting() {\n const types = reduce(\n this.sorting,\n (\n r: { [key in Partial<DimensionCols>]: boolean },\n c: ColumnRegular,\n ) => {\n const k = ColumnDataProvider.getColumnType(c);\n r[k] = true;\n return r;\n },\n {} as { [key in Partial<DimensionCols>]: boolean },\n );\n each(types, (_, type: DimensionCols) => {\n const cols = this.dataSources[type].store.get('source');\n each(cols, (c: ColumnRegular) => (c.order = undefined));\n this.dataSources[type].setData({ source: [...cols] });\n });\n\n this.sorting = {};\n }\n\n static getSizes(\n cols: ColumnRegular[],\n ): ViewSettingSizeProp {\n return reduce(\n cols,\n (\n res: ViewSettingSizeProp,\n c: ColumnRegular,\n i: number,\n ) => {\n if (c.size) {\n res[i] = c.size;\n }\n return res;\n },\n {},\n );\n }\n\n static getColumnByProp(\n columns: ColumnData,\n prop: ColumnProp,\n ): ColumnRegular | undefined {\n return find(columns, c => {\n if (isColGrouping(c)) {\n return ColumnDataProvider.getColumnByProp(c.children, prop);\n }\n return c.prop === prop;\n }) as ColumnRegular | undefined;\n }\n\n // columns processing\n static getColumns(\n columns: ColumnData,\n level = 0,\n types?: ColumnTypes,\n ): ColumnCollection {\n const collection: ColumnCollection = {\n // columns as they are in stores per type\n columns: {\n rgCol: [],\n colPinStart: [],\n colPinEnd: [],\n },\n // columns grouped by prop for quick access\n columnByProp: {},\n // column grouping\n columnGrouping: {\n rgCol: [],\n colPinStart: [],\n colPinEnd: [],\n },\n // max depth level for column grouping\n maxLevel: level,\n // sorting\n sort: {},\n };\n\n return reduce(\n columns,\n (res: ColumnCollection, colData: ColumnDataSchema) => {\n // Grouped column\n if (isColGrouping(colData)) {\n return GroupingColumnPlugin.gatherGroup(\n res,\n colData,\n ColumnDataProvider.getColumns(colData.children, level + 1, types),\n level,\n );\n }\n // Regular column\n const regularColumn = {\n ...(colData.columnType && types && types[colData.columnType]),\n ...colData,\n };\n // Regular column, no Pin\n if (!regularColumn.pin) {\n res.columns.rgCol.push(regularColumn);\n // Pin\n } else {\n res.columns[regularColumn.pin].push(regularColumn);\n }\n if (regularColumn.order) {\n res.sort[regularColumn.prop] = regularColumn;\n }\n // technically it's possible that some columns have same prop, but better to avoid it\n if (!res.columnByProp[regularColumn.prop]) {\n res.columnByProp[regularColumn.prop] = [];\n }\n res.columnByProp[regularColumn.prop].push(regularColumn);\n\n // trigger setup hook if present\n regularColumn.beforeSetup && regularColumn.beforeSetup(regularColumn);\n return res;\n },\n collection,\n );\n }\n\n static getColumnType(rgCol: ColumnRegular): DimensionCols {\n if (rgCol.pin) {\n return rgCol.pin;\n }\n return 'rgCol';\n }\n}\n"]}
|
|
@@ -1,47 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
import reduce from "lodash/reduce";
|
|
5
|
+
import DataStore, { getSourceItem, getVisibleSourceItem, setSourceByVirtualIndex, } from "../store/dataSource/data.store";
|
|
6
|
+
import { isRowType, rowTypes } from "../store/storeTypes";
|
|
7
|
+
/**
|
|
8
|
+
* Data source provider
|
|
9
|
+
*/
|
|
4
10
|
export class DataProvider {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
11
|
+
constructor(dimensionProvider) {
|
|
12
|
+
this.dimensionProvider = dimensionProvider;
|
|
13
|
+
this.stores = reduce(rowTypes, (sources, k) => {
|
|
14
|
+
sources[k] = new DataStore(k);
|
|
15
|
+
return sources;
|
|
16
|
+
}, {});
|
|
17
|
+
}
|
|
18
|
+
setData(data, type = 'rgRow', disableVirtualRows = false, grouping, silent = false) {
|
|
19
|
+
// set rgRow data
|
|
20
|
+
this.stores[type].updateData([...data], grouping, silent);
|
|
21
|
+
// for pinned row no need virtual data
|
|
22
|
+
const noVirtual = type !== 'rgRow' || disableVirtualRows;
|
|
23
|
+
this.dimensionProvider.setData(data.length, type, noVirtual);
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
26
|
+
getModel(virtualIndex, type = 'rgRow') {
|
|
27
|
+
const store = this.stores[type].store;
|
|
28
|
+
return getSourceItem(store, virtualIndex);
|
|
29
|
+
}
|
|
30
|
+
setCellData({ type, rowIndex, prop, val }, mutate = true) {
|
|
31
|
+
const model = this.getModel(rowIndex, type);
|
|
32
|
+
model[prop] = val;
|
|
33
|
+
// apply data to source
|
|
34
|
+
setSourceByVirtualIndex(this.stores[type].store, { [rowIndex]: model }, mutate);
|
|
35
|
+
}
|
|
36
|
+
setRangeData(data, type) {
|
|
37
|
+
const items = {};
|
|
38
|
+
for (let rowIndex in data) {
|
|
39
|
+
const oldModel = (items[rowIndex] = getSourceItem(this.stores[type].store, parseInt(rowIndex, 10)));
|
|
40
|
+
if (!oldModel) {
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
for (let prop in data[rowIndex]) {
|
|
44
|
+
oldModel[prop] = data[rowIndex][prop];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// apply data to source
|
|
48
|
+
setSourceByVirtualIndex(this.stores[type].store, items);
|
|
49
|
+
}
|
|
50
|
+
refresh(type = 'all') {
|
|
51
|
+
if (isRowType(type)) {
|
|
52
|
+
this.refreshItems(type);
|
|
53
|
+
}
|
|
54
|
+
rowTypes.forEach((t) => this.refreshItems(t));
|
|
55
|
+
}
|
|
56
|
+
refreshItems(type = 'rgRow') {
|
|
57
|
+
const items = this.stores[type].store.get('items');
|
|
58
|
+
this.stores[type].setData({ items: [...items] });
|
|
59
|
+
}
|
|
60
|
+
setGrouping({ depth }, type = 'rgRow') {
|
|
61
|
+
this.stores[type].setData({ groupingDepth: depth });
|
|
62
|
+
}
|
|
63
|
+
setTrimmed(trimmed, type = 'rgRow') {
|
|
64
|
+
const store = this.stores[type];
|
|
65
|
+
store.addTrimmed(trimmed);
|
|
66
|
+
this.dimensionProvider.setTrimmed(trimmed, type);
|
|
67
|
+
if (type === 'rgRow') {
|
|
68
|
+
this.dimensionProvider.setData(getVisibleSourceItem(store.store).length, type);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
47
71
|
}
|
|
72
|
+
//# sourceMappingURL=data.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.provider.js","sourceRoot":"","sources":["../../src/services/data.provider.ts"],"names":[],"mappings":"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","sourcesContent":["import reduce from 'lodash/reduce';\n\nimport DataStore, {\n getSourceItem,\n getVisibleSourceItem,\n Groups,\n setSourceByVirtualIndex,\n} from '../store/dataSource/data.store';\nimport { isRowType, rowTypes } from '../store/storeTypes';\nimport DimensionProvider from './dimension.provider';\nimport { Trimmed } from '../store/dataSource/trimmed.plugin';\nimport { GroupLabelTemplateFunc } from '../plugins/groupingRow/grouping.row.types';\nimport { DataLookup, DimensionRows } from '..';\nimport { DataType } from '..';\nimport { BeforeSaveDataDetails } from '..';\n\nexport type RowDataSources = {\n [T in DimensionRows]: DataStore<DataType, DimensionRows>;\n};\n\n/**\n * Data source provider\n */\n\nexport class DataProvider {\n public readonly stores: RowDataSources;\n constructor(private dimensionProvider: DimensionProvider) {\n this.stores = reduce(\n rowTypes,\n (sources: Partial<RowDataSources>, k: DimensionRows) => {\n sources[k] = new DataStore(k);\n return sources;\n },\n {},\n ) as RowDataSources;\n }\n\n setData(\n data: DataType[],\n type: DimensionRows = 'rgRow',\n disableVirtualRows = false,\n grouping?: {\n depth: number;\n groups?: Groups;\n customRenderer?: GroupLabelTemplateFunc;\n },\n silent = false,\n ): DataType[] {\n // set rgRow data\n this.stores[type].updateData([...data], grouping, silent);\n\n // for pinned row no need virtual data\n const noVirtual = type !== 'rgRow' || disableVirtualRows;\n this.dimensionProvider.setData(data.length, type, noVirtual);\n return data;\n }\n\n getModel(virtualIndex: number, type: DimensionRows = 'rgRow') {\n const store = this.stores[type].store;\n return getSourceItem(store, virtualIndex);\n }\n\n setCellData({ type, rowIndex, prop, val }: BeforeSaveDataDetails, mutate = true) {\n const model = this.getModel(rowIndex, type);\n model[prop] = val;\n // apply data to source\n setSourceByVirtualIndex(this.stores[type].store, { [rowIndex]: model }, mutate);\n }\n\n setRangeData(data: DataLookup, type: DimensionRows) {\n const items: Record<number, DataType> = {};\n for (let rowIndex in data) {\n const oldModel = (items[rowIndex] = getSourceItem(\n this.stores[type].store,\n parseInt(rowIndex, 10),\n ));\n if (!oldModel) {\n continue;\n }\n for (let prop in data[rowIndex]) {\n oldModel[prop] = data[rowIndex][prop];\n }\n }\n // apply data to source\n setSourceByVirtualIndex(this.stores[type].store, items);\n }\n\n refresh(type: DimensionRows | 'all' = 'all') {\n if (isRowType(type)) {\n this.refreshItems(type);\n }\n rowTypes.forEach((t: DimensionRows) => this.refreshItems(t));\n }\n\n refreshItems(type: DimensionRows = 'rgRow') {\n const items = this.stores[type].store.get('items');\n this.stores[type].setData({ items: [...items] });\n }\n\n setGrouping({ depth }: { depth: number }, type: DimensionRows = 'rgRow') {\n this.stores[type].setData({ groupingDepth: depth });\n }\n\n setTrimmed(trimmed: Partial<Trimmed>, type: DimensionRows = 'rgRow') {\n const store = this.stores[type];\n store.addTrimmed(trimmed);\n this.dimensionProvider.setTrimmed(trimmed, type);\n if (type === 'rgRow') {\n this.dimensionProvider.setData(\n getVisibleSourceItem(store.store).length,\n type,\n );\n }\n }\n}\n"]}
|