lsp-grid 1.0.0
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/README.md +34 -0
- package/dist/cjs/app-globals-Bfsg1bDt.js +16 -0
- package/dist/cjs/app-globals-Bfsg1bDt.js.map +1 -0
- package/dist/cjs/cell-renderer-DtuYp7tj.js +106 -0
- package/dist/cjs/cell-renderer-DtuYp7tj.js.map +1 -0
- package/dist/cjs/column.drag.plugin-BIptTmfz.js +2554 -0
- package/dist/cjs/column.drag.plugin-BIptTmfz.js.map +1 -0
- package/dist/cjs/column.service-BnVSAfcu.js +1391 -0
- package/dist/cjs/column.service-BnVSAfcu.js.map +1 -0
- package/dist/cjs/data.store-CrF4Nf9q.js +3615 -0
- package/dist/cjs/data.store-CrF4Nf9q.js.map +1 -0
- package/dist/cjs/debounce-DgeyTQM0.js +498 -0
- package/dist/cjs/debounce-DgeyTQM0.js.map +1 -0
- package/dist/cjs/edit.utils-Bw-E3Fj6.js +118 -0
- package/dist/cjs/edit.utils-Bw-E3Fj6.js.map +1 -0
- package/dist/cjs/events-D0Syn6ut.js +46 -0
- package/dist/cjs/events-D0Syn6ut.js.map +1 -0
- package/dist/cjs/filter.button-CaAAXq-6.js +49 -0
- package/dist/cjs/filter.button-CaAAXq-6.js.map +1 -0
- package/dist/cjs/header-cell-renderer-DhRJqZ-w.js +356 -0
- package/dist/cjs/header-cell-renderer-DhRJqZ-w.js.map +1 -0
- package/dist/cjs/index-VM40U6Gh.js +2549 -0
- package/dist/cjs/index-VM40U6Gh.js.map +1 -0
- package/dist/cjs/index.cjs.js +346 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +19 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/revo-grid.cjs.entry.js +2187 -0
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/revo-grid.cjs.js +31 -0
- package/dist/cjs/revo-grid.cjs.js.map +1 -0
- package/dist/cjs/revo-grid.entry.cjs.js.map +1 -0
- package/dist/cjs/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.cjs.js.map +1 -0
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +1463 -0
- package/dist/cjs/revogr-attribution_7.cjs.entry.js.map +1 -0
- package/dist/cjs/revogr-clipboard.revogr-edit.revogr-order-editor.entry.cjs.js.map +1 -0
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +456 -0
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -0
- package/dist/cjs/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.cjs.js.map +1 -0
- package/dist/cjs/revogr-data_4.cjs.entry.js +948 -0
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -0
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +382 -0
- package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -0
- package/dist/cjs/revogr-filter-panel.entry.cjs.js.map +1 -0
- package/dist/cjs/row-header-utils-DL640c7x.js +420 -0
- package/dist/cjs/row-header-utils-DL640c7x.js.map +1 -0
- package/dist/cjs/text-editor-DWChyeVV.js +81 -0
- package/dist/cjs/text-editor-DWChyeVV.js.map +1 -0
- package/dist/cjs/throttle-Bb1Bbfd1.js +278 -0
- package/dist/cjs/throttle-Bb1Bbfd1.js.map +1 -0
- package/dist/cjs/viewport.helpers-CI6uB8tu.js +59 -0
- package/dist/cjs/viewport.helpers-CI6uB8tu.js.map +1 -0
- package/dist/collection/collection-manifest.json +28 -0
- 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 +396 -0
- package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -0
- package/dist/collection/components/data/cell-renderer.js +44 -0
- package/dist/collection/components/data/cell-renderer.js.map +1 -0
- package/dist/collection/components/data/column.service.js +293 -0
- package/dist/collection/components/data/column.service.js.map +1 -0
- package/dist/collection/components/data/revogr-data-style.css +75 -0
- package/dist/collection/components/data/revogr-data.js +697 -0
- 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 +13 -0
- package/dist/collection/components/editors/edit.utils.js.map +1 -0
- package/dist/collection/components/editors/revogr-edit-style.css +16 -0
- package/dist/collection/components/editors/revogr-edit.js +346 -0
- package/dist/collection/components/editors/revogr-edit.js.map +1 -0
- package/dist/collection/components/editors/text-editor.js +74 -0
- package/dist/collection/components/editors/text-editor.js.map +1 -0
- package/dist/collection/components/extra/revogr-extra.js +125 -0
- package/dist/collection/components/extra/revogr-extra.js.map +1 -0
- package/dist/collection/components/header/header-cell-renderer.js +34 -0
- package/dist/collection/components/header/header-cell-renderer.js.map +1 -0
- package/dist/collection/components/header/header-group-renderer.js +25 -0
- package/dist/collection/components/header/header-group-renderer.js.map +1 -0
- package/dist/collection/components/header/header-renderer.js +61 -0
- package/dist/collection/components/header/header-renderer.js.map +1 -0
- package/dist/collection/components/header/resizable.directive.js +237 -0
- package/dist/collection/components/header/resizable.directive.js.map +1 -0
- package/dist/collection/components/header/resizable.element.js +38 -0
- package/dist/collection/components/header/resizable.element.js.map +1 -0
- package/dist/collection/components/header/revogr-header-style.css +144 -0
- package/dist/collection/components/header/revogr-header.js +573 -0
- 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 +461 -0
- package/dist/collection/components/order/revogr-order-editor.js.map +1 -0
- package/dist/collection/components/overlay/autofill.service.js +224 -0
- package/dist/collection/components/overlay/autofill.service.js.map +1 -0
- package/dist/collection/components/overlay/keyboard.service.js +158 -0
- package/dist/collection/components/overlay/keyboard.service.js.map +1 -0
- package/dist/collection/components/overlay/revogr-overlay-selection.js +1515 -0
- package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -0
- package/dist/collection/components/overlay/revogr-overlay-style.css +95 -0
- package/dist/collection/components/overlay/selection.utils.js +136 -0
- package/dist/collection/components/overlay/selection.utils.js.map +1 -0
- package/dist/collection/components/revoGrid/grid.helpers.js +33 -0
- package/dist/collection/components/revoGrid/grid.helpers.js.map +1 -0
- 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 +567 -0
- package/dist/collection/components/revoGrid/revo-grid.js +3671 -0
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -0
- package/dist/collection/components/revoGrid/viewport.helpers.js +49 -0
- package/dist/collection/components/revoGrid/viewport.helpers.js.map +1 -0
- package/dist/collection/components/revoGrid/viewport.resize.service.js +55 -0
- package/dist/collection/components/revoGrid/viewport.resize.service.js.map +1 -0
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js +90 -0
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -0
- package/dist/collection/components/revoGrid/viewport.service.js +237 -0
- package/dist/collection/components/revoGrid/viewport.service.js.map +1 -0
- package/dist/collection/components/rowHeaders/revogr-row-headers.js +291 -0
- package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -0
- package/dist/collection/components/rowHeaders/row-header-render.js +5 -0
- package/dist/collection/components/rowHeaders/row-header-render.js.map +1 -0
- package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +69 -0
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +601 -0
- 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 +34 -0
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js +295 -0
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -0
- package/dist/collection/components/selectionFocus/revogr-focus-style.css +7 -0
- package/dist/collection/components/selectionFocus/revogr-focus.js +400 -0
- package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -0
- package/dist/collection/components/selectionTempRange/revogr-temp-range-style.css +28 -0
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js +171 -0
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -0
- package/dist/collection/components/vnode/vnode-converter.js +84 -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 +19 -0
- package/dist/collection/global/global.js.map +1 -0
- package/dist/collection/index.js +13 -0
- package/dist/collection/index.js.map +1 -0
- 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 +90 -0
- package/dist/collection/plugins/base.plugin.js.map +1 -0
- package/dist/collection/plugins/column.auto-size.plugin.js +225 -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 +40 -0
- package/dist/collection/plugins/dispatcher.js.map +1 -0
- package/dist/collection/plugins/export/csv.js +72 -0
- package/dist/collection/plugins/export/csv.js.map +1 -0
- package/dist/collection/plugins/export/export.plugin.js +157 -0
- package/dist/collection/plugins/export/export.plugin.js.map +1 -0
- package/dist/collection/plugins/export/types.js +2 -0
- package/dist/collection/plugins/export/types.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/equal.js +21 -0
- package/dist/collection/plugins/filter/conditions/equal.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/number/greaterThan.js +14 -0
- package/dist/collection/plugins/filter/conditions/number/greaterThan.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js +11 -0
- package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/number/lessThan.js +16 -0
- package/dist/collection/plugins/filter/conditions/number/lessThan.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js +11 -0
- package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/set.js +7 -0
- package/dist/collection/plugins/filter/conditions/set.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/string/beginswith.js +21 -0
- package/dist/collection/plugins/filter/conditions/string/beginswith.js.map +1 -0
- package/dist/collection/plugins/filter/conditions/string/contains.js +25 -0
- package/dist/collection/plugins/filter/conditions/string/contains.js.map +1 -0
- package/dist/collection/plugins/filter/filter.button.js +28 -0
- package/dist/collection/plugins/filter/filter.button.js.map +1 -0
- package/dist/collection/plugins/filter/filter.indexed.js +49 -0
- package/dist/collection/plugins/filter/filter.indexed.js.map +1 -0
- package/dist/collection/plugins/filter/filter.panel.js +610 -0
- package/dist/collection/plugins/filter/filter.panel.js.map +1 -0
- package/dist/collection/plugins/filter/filter.plugin.js +388 -0
- package/dist/collection/plugins/filter/filter.plugin.js.map +1 -0
- package/dist/collection/plugins/filter/filter.style.css +165 -0
- package/dist/collection/plugins/filter/filter.types.js +9 -0
- package/dist/collection/plugins/filter/filter.types.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.const.js +16 -0
- package/dist/collection/plugins/groupingRow/grouping.const.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js +79 -0
- package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +245 -0
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +38 -0
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.row.types.js +2 -0
- package/dist/collection/plugins/groupingRow/grouping.row.types.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.service.js +178 -0
- package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -0
- package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +61 -0
- package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js.map +1 -0
- package/dist/collection/plugins/index.js +15 -0
- package/dist/collection/plugins/index.js.map +1 -0
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js +175 -0
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -0
- package/dist/collection/plugins/moveColumn/order-column.handler.js +71 -0
- package/dist/collection/plugins/moveColumn/order-column.handler.js.map +1 -0
- package/dist/collection/plugins/rtl/rtl.plugin.js +110 -0
- package/dist/collection/plugins/rtl/rtl.plugin.js.map +1 -0
- package/dist/collection/plugins/sorting/sorting.func.js +82 -0
- package/dist/collection/plugins/sorting/sorting.func.js.map +1 -0
- package/dist/collection/plugins/sorting/sorting.plugin.js +224 -0
- package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -0
- package/dist/collection/plugins/sorting/sorting.sign.js +9 -0
- package/dist/collection/plugins/sorting/sorting.sign.js.map +1 -0
- package/dist/collection/plugins/sorting/sorting.types.js +2 -0
- package/dist/collection/plugins/sorting/sorting.types.js.map +1 -0
- package/dist/collection/plugins/wcag/index.js +84 -0
- package/dist/collection/plugins/wcag/index.js.map +1 -0
- package/dist/collection/serve/controller.js +344 -0
- package/dist/collection/serve/data.js +201 -0
- package/dist/collection/services/cell.helpers.js +12 -0
- package/dist/collection/services/cell.helpers.js.map +1 -0
- package/dist/collection/services/column.data.provider.js +119 -0
- package/dist/collection/services/column.data.provider.js.map +1 -0
- package/dist/collection/services/data.provider.js +89 -0
- package/dist/collection/services/data.provider.js.map +1 -0
- package/dist/collection/services/dimension.provider.js +176 -0
- package/dist/collection/services/dimension.provider.js.map +1 -0
- package/dist/collection/services/local.scroll.service.js +124 -0
- package/dist/collection/services/local.scroll.service.js.map +1 -0
- package/dist/collection/services/local.scroll.timer.js +81 -0
- package/dist/collection/services/local.scroll.timer.js.map +1 -0
- package/dist/collection/services/selection.store.connector.js +307 -0
- package/dist/collection/services/selection.store.connector.js.map +1 -0
- package/dist/collection/services/viewport.provider.js +17 -0
- package/dist/collection/services/viewport.provider.js.map +1 -0
- package/dist/collection/store/dataSource/data.proxy.js +45 -0
- package/dist/collection/store/dataSource/data.proxy.js.map +1 -0
- package/dist/collection/store/dataSource/data.store.js +144 -0
- 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 +34 -0
- package/dist/collection/store/dataSource/trimmed.plugin.js.map +1 -0
- package/dist/collection/store/dimension/dimension.helpers.js +101 -0
- package/dist/collection/store/dimension/dimension.helpers.js.map +1 -0
- 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 +109 -0
- package/dist/collection/store/dimension/dimension.store.js.map +1 -0
- 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/dimension/index.js +6 -0
- package/dist/collection/store/dimension/index.js.map +1 -0
- package/dist/collection/store/index.js +17 -0
- package/dist/collection/store/index.js.map +1 -0
- package/dist/collection/store/selection/index.js +6 -0
- package/dist/collection/store/selection/index.js.map +1 -0
- package/dist/collection/store/selection/selection.helpers.js +53 -0
- package/dist/collection/store/selection/selection.helpers.js.map +1 -0
- package/dist/collection/store/selection/selection.store.js +85 -0
- package/dist/collection/store/selection/selection.store.js.map +1 -0
- package/dist/collection/store/vp/index.js +6 -0
- package/dist/collection/store/vp/index.js.map +1 -0
- package/dist/collection/store/vp/viewport.helpers.js +251 -0
- package/dist/collection/store/vp/viewport.helpers.js.map +1 -0
- package/dist/collection/store/vp/viewport.store.js +151 -0
- package/dist/collection/store/vp/viewport.store.js.map +1 -0
- package/dist/collection/themeManager/theme.compact.js +9 -0
- package/dist/collection/themeManager/theme.compact.js.map +1 -0
- package/dist/collection/themeManager/theme.default.js +9 -0
- package/dist/collection/themeManager/theme.default.js.map +1 -0
- package/dist/collection/themeManager/theme.material.js +9 -0
- 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/events.js +118 -0
- package/dist/collection/types/events.js.map +1 -0
- package/dist/collection/types/index.js +12 -0
- package/dist/collection/types/index.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/column.utils.js +153 -0
- package/dist/collection/utils/column.utils.js.map +1 -0
- package/dist/collection/utils/consts.js +26 -0
- package/dist/collection/utils/consts.js.map +1 -0
- package/dist/collection/utils/events.js +39 -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 +140 -0
- package/dist/collection/utils/index.js.map +1 -0
- package/dist/collection/utils/key.codes.js +80 -0
- package/dist/collection/utils/key.codes.js.map +1 -0
- package/dist/collection/utils/key.utils.js +90 -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 +9 -0
- package/dist/collection/utils/platform.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.types.js +2 -0
- package/dist/collection/utils/store.types.js.map +1 -0
- package/dist/collection/utils/store.utils.js +15 -0
- package/dist/collection/utils/store.utils.js.map +1 -0
- package/dist/esm/app-globals-FBz64o-g.js +14 -0
- package/dist/esm/app-globals-FBz64o-g.js.map +1 -0
- package/dist/esm/cell-renderer-Ca_PCGjJ.js +98 -0
- package/dist/esm/cell-renderer-Ca_PCGjJ.js.map +1 -0
- package/dist/esm/column.drag.plugin-BtuUyB-2.js +2528 -0
- package/dist/esm/column.drag.plugin-BtuUyB-2.js.map +1 -0
- package/dist/esm/column.service-CTqFIQUy.js +1343 -0
- package/dist/esm/column.service-CTqFIQUy.js.map +1 -0
- package/dist/esm/data.store-B-lvmoFH.js +3553 -0
- package/dist/esm/data.store-B-lvmoFH.js.map +1 -0
- package/dist/esm/debounce-DTUQ1fY7.js +488 -0
- package/dist/esm/debounce-DTUQ1fY7.js.map +1 -0
- package/dist/esm/edit.utils-CyCANCLB.js +103 -0
- package/dist/esm/edit.utils-CyCANCLB.js.map +1 -0
- package/dist/esm/events-CKtYJJSv.js +43 -0
- package/dist/esm/events-CKtYJJSv.js.map +1 -0
- package/dist/esm/filter.button-CjABZQgg.js +39 -0
- package/dist/esm/filter.button-CjABZQgg.js.map +1 -0
- package/dist/esm/header-cell-renderer-DnjpJuXq.js +351 -0
- package/dist/esm/header-cell-renderer-DnjpJuXq.js.map +1 -0
- package/dist/esm/index-BAoInZ4V.js +2519 -0
- package/dist/esm/index-BAoInZ4V.js.map +1 -0
- package/dist/esm/index.js +181 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +17 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/revo-grid.entry.js +2185 -0
- package/dist/esm/revo-grid.entry.js.map +1 -0
- package/dist/esm/revo-grid.js +27 -0
- package/dist/esm/revo-grid.js.map +1 -0
- package/dist/esm/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.js.map +1 -0
- package/dist/esm/revogr-attribution_7.entry.js +1455 -0
- package/dist/esm/revogr-attribution_7.entry.js.map +1 -0
- package/dist/esm/revogr-clipboard.revogr-edit.revogr-order-editor.entry.js.map +1 -0
- package/dist/esm/revogr-clipboard_3.entry.js +452 -0
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -0
- package/dist/esm/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.js.map +1 -0
- package/dist/esm/revogr-data_4.entry.js +943 -0
- package/dist/esm/revogr-data_4.entry.js.map +1 -0
- package/dist/esm/revogr-filter-panel.entry.js +380 -0
- package/dist/esm/revogr-filter-panel.entry.js.map +1 -0
- package/dist/esm/row-header-utils-vnoLGj5A.js +407 -0
- package/dist/esm/row-header-utils-vnoLGj5A.js.map +1 -0
- package/dist/esm/text-editor-Cp7lwBZi.js +79 -0
- package/dist/esm/text-editor-Cp7lwBZi.js.map +1 -0
- package/dist/esm/throttle-DiUrHjcY.js +273 -0
- package/dist/esm/throttle-DiUrHjcY.js.map +1 -0
- package/dist/esm/viewport.helpers-Ch4AQMMg.js +53 -0
- package/dist/esm/viewport.helpers-Ch4AQMMg.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/revo-grid/app-globals-FBz64o-g.js +14 -0
- package/dist/revo-grid/app-globals-FBz64o-g.js.map +1 -0
- package/dist/revo-grid/cell-renderer-Ca_PCGjJ.js +98 -0
- package/dist/revo-grid/cell-renderer-Ca_PCGjJ.js.map +1 -0
- package/dist/revo-grid/column.drag.plugin-BtuUyB-2.js +2528 -0
- package/dist/revo-grid/column.drag.plugin-BtuUyB-2.js.map +1 -0
- package/dist/revo-grid/column.service-CTqFIQUy.js +1343 -0
- package/dist/revo-grid/column.service-CTqFIQUy.js.map +1 -0
- package/dist/revo-grid/data.store-B-lvmoFH.js +3553 -0
- package/dist/revo-grid/data.store-B-lvmoFH.js.map +1 -0
- package/dist/revo-grid/debounce-DTUQ1fY7.js +488 -0
- package/dist/revo-grid/debounce-DTUQ1fY7.js.map +1 -0
- package/dist/revo-grid/edit.utils-CyCANCLB.js +103 -0
- package/dist/revo-grid/edit.utils-CyCANCLB.js.map +1 -0
- package/dist/revo-grid/events-CKtYJJSv.js +43 -0
- package/dist/revo-grid/events-CKtYJJSv.js.map +1 -0
- package/dist/revo-grid/filter.button-CjABZQgg.js +39 -0
- package/dist/revo-grid/filter.button-CjABZQgg.js.map +1 -0
- package/dist/revo-grid/header-cell-renderer-DnjpJuXq.js +351 -0
- package/dist/revo-grid/header-cell-renderer-DnjpJuXq.js.map +1 -0
- package/dist/revo-grid/index-BAoInZ4V.js +2490 -0
- package/dist/revo-grid/index-BAoInZ4V.js.map +1 -0
- package/dist/revo-grid/index.esm.js +181 -0
- package/dist/revo-grid/index.esm.js.map +1 -0
- package/dist/revo-grid/loader.esm.js.map +1 -0
- package/dist/revo-grid/revo-grid.entry.esm.js.map +1 -0
- package/dist/revo-grid/revo-grid.entry.js +2185 -0
- package/dist/revo-grid/revo-grid.entry.js.map +1 -0
- package/dist/revo-grid/revo-grid.esm.js +27 -0
- package/dist/revo-grid/revo-grid.esm.js.map +1 -0
- package/dist/revo-grid/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.esm.js.map +1 -0
- package/dist/revo-grid/revogr-attribution_7.entry.js +1455 -0
- package/dist/revo-grid/revogr-attribution_7.entry.js.map +1 -0
- package/dist/revo-grid/revogr-clipboard.revogr-edit.revogr-order-editor.entry.esm.js.map +1 -0
- package/dist/revo-grid/revogr-clipboard_3.entry.js +452 -0
- package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -0
- package/dist/revo-grid/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.esm.js.map +1 -0
- package/dist/revo-grid/revogr-data_4.entry.js +943 -0
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -0
- package/dist/revo-grid/revogr-filter-panel.entry.esm.js.map +1 -0
- package/dist/revo-grid/revogr-filter-panel.entry.js +380 -0
- package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -0
- package/dist/revo-grid/row-header-utils-vnoLGj5A.js +407 -0
- package/dist/revo-grid/row-header-utils-vnoLGj5A.js.map +1 -0
- package/dist/revo-grid/text-editor-Cp7lwBZi.js +79 -0
- package/dist/revo-grid/text-editor-Cp7lwBZi.js.map +1 -0
- package/dist/revo-grid/throttle-DiUrHjcY.js +273 -0
- package/dist/revo-grid/throttle-DiUrHjcY.js.map +1 -0
- package/dist/revo-grid/viewport.helpers-Ch4AQMMg.js +53 -0
- package/dist/revo-grid/viewport.helpers-Ch4AQMMg.js.map +1 -0
- package/dist/types/components/attribution/revogr-attribution.d.ts +12 -0
- package/dist/types/components/clipboard/revogr-clipboard.d.ts +89 -0
- package/dist/types/components/data/cell-renderer.d.ts +12 -0
- package/dist/types/components/data/column.service.d.ts +61 -0
- package/dist/types/components/data/revogr-data.d.ts +107 -0
- package/dist/types/components/data/row-highlight.plugin.d.ts +10 -0
- package/dist/types/components/data/row-renderer.d.ts +12 -0
- package/dist/types/components/editors/edit.utils.d.ts +3 -0
- package/dist/types/components/editors/revogr-edit.d.ts +63 -0
- package/dist/types/components/editors/text-editor.d.ts +43 -0
- package/dist/types/components/extra/revogr-extra.d.ts +38 -0
- package/dist/types/components/header/header-cell-renderer.d.ts +9 -0
- package/dist/types/components/header/header-group-renderer.d.ts +15 -0
- package/dist/types/components/header/header-renderer.d.ts +16 -0
- package/dist/types/components/header/resizable.directive.d.ts +55 -0
- package/dist/types/components/header/resizable.element.d.ts +5 -0
- package/dist/types/components/header/revogr-header.d.ts +90 -0
- package/dist/types/components/order/order-renderer.d.ts +29 -0
- package/dist/types/components/order/order-row.service.d.ts +27 -0
- package/dist/types/components/order/revogr-order-editor.d.ts +56 -0
- package/dist/types/components/overlay/autofill.service.d.ts +80 -0
- package/dist/types/components/overlay/keyboard.service.d.ts +28 -0
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +278 -0
- package/dist/types/components/overlay/selection.utils.d.ts +47 -0
- package/dist/types/components/revoGrid/grid.helpers.d.ts +17 -0
- package/dist/types/components/revoGrid/plugin.service.d.ts +37 -0
- package/dist/types/components/revoGrid/revo-grid.d.ts +686 -0
- package/dist/types/components/revoGrid/viewport.helpers.d.ts +39 -0
- package/dist/types/components/revoGrid/viewport.resize.service.d.ts +17 -0
- package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +20 -0
- package/dist/types/components/revoGrid/viewport.service.d.ts +59 -0
- package/dist/types/components/rowHeaders/revogr-row-headers.d.ts +51 -0
- package/dist/types/components/rowHeaders/row-header-render.d.ts +9 -0
- package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +117 -0
- package/dist/types/components/scrollable/autohide-scroll.plugin.d.ts +22 -0
- package/dist/types/components/scrollable/revogr-scroll-virtual.d.ts +43 -0
- package/dist/types/components/selectionFocus/revogr-focus.d.ts +58 -0
- package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +28 -0
- package/dist/types/components/vnode/vnode-converter.d.ts +19 -0
- package/dist/types/components/vnode/vnode.utils.d.ts +9 -0
- package/dist/types/components.d.ts +2583 -0
- package/dist/types/global/global.d.ts +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/plugins/add-rows-on-paste.plugin.d.ts +14 -0
- package/dist/types/plugins/base.plugin.d.ts +51 -0
- package/dist/types/plugins/column.auto-size.plugin.d.ts +55 -0
- package/dist/types/plugins/column.stretch.plugin.d.ts +20 -0
- package/dist/types/plugins/dispatcher.d.ts +20 -0
- package/dist/types/plugins/export/csv.d.ts +9 -0
- package/dist/types/plugins/export/export.plugin.d.ts +24 -0
- package/dist/types/plugins/export/types.d.ts +23 -0
- package/dist/types/plugins/filter/conditions/equal.d.ts +4 -0
- package/dist/types/plugins/filter/conditions/number/greaterThan.d.ts +3 -0
- package/dist/types/plugins/filter/conditions/number/greaterThanOrEqual.d.ts +3 -0
- package/dist/types/plugins/filter/conditions/number/lessThan.d.ts +3 -0
- package/dist/types/plugins/filter/conditions/number/lessThanOrEqual.d.ts +3 -0
- package/dist/types/plugins/filter/conditions/set.d.ts +4 -0
- package/dist/types/plugins/filter/conditions/string/beginswith.d.ts +3 -0
- package/dist/types/plugins/filter/conditions/string/contains.d.ts +4 -0
- package/dist/types/plugins/filter/filter.button.d.ts +14 -0
- package/dist/types/plugins/filter/filter.indexed.d.ts +20 -0
- package/dist/types/plugins/filter/filter.panel.d.ts +53 -0
- package/dist/types/plugins/filter/filter.plugin.d.ts +73 -0
- package/dist/types/plugins/filter/filter.types.d.ts +129 -0
- package/dist/types/plugins/groupingRow/grouping.const.d.ts +12 -0
- package/dist/types/plugins/groupingRow/grouping.row.expand.service.d.ts +15 -0
- package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +39 -0
- package/dist/types/plugins/groupingRow/grouping.row.renderer.d.ts +6 -0
- package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +103 -0
- package/dist/types/plugins/groupingRow/grouping.service.d.ts +36 -0
- package/dist/types/plugins/groupingRow/grouping.trimmed.service.d.ts +10 -0
- package/dist/types/plugins/index.d.ts +11 -0
- package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +42 -0
- package/dist/types/plugins/moveColumn/order-column.handler.d.ts +16 -0
- package/dist/types/plugins/rtl/rtl.plugin.d.ts +37 -0
- package/dist/types/plugins/sorting/sorting.func.d.ts +9 -0
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +48 -0
- package/dist/types/plugins/sorting/sorting.sign.d.ts +6 -0
- package/dist/types/plugins/sorting/sorting.types.d.ts +14 -0
- package/dist/types/plugins/wcag/index.d.ts +26 -0
- package/dist/types/services/cell.helpers.d.ts +2 -0
- package/dist/types/services/column.data.provider.d.ts +27 -0
- package/dist/types/services/data.provider.d.ts +36 -0
- package/dist/types/services/dimension.provider.d.ts +66 -0
- package/dist/types/services/local.scroll.service.d.ts +36 -0
- package/dist/types/services/local.scroll.timer.d.ts +32 -0
- package/dist/types/services/selection.store.connector.d.ts +79 -0
- package/dist/types/services/viewport.provider.d.ts +7 -0
- package/dist/types/stencil-public-runtime.d.ts +1709 -0
- package/dist/types/store/dataSource/data.proxy.d.ts +14 -0
- package/dist/types/store/dataSource/data.store.d.ts +74 -0
- package/dist/types/store/dataSource/index.d.ts +3 -0
- package/dist/types/store/dataSource/trimmed.plugin.d.ts +12 -0
- package/dist/types/store/dimension/dimension.helpers.d.ts +24 -0
- package/dist/types/store/dimension/dimension.recalculate.plugin.d.ts +9 -0
- package/dist/types/store/dimension/dimension.store.d.ts +21 -0
- package/dist/types/store/dimension/dimension.trim.plugin.d.ts +13 -0
- package/dist/types/store/dimension/index.d.ts +2 -0
- package/dist/types/store/index.d.ts +8 -0
- package/dist/types/store/selection/index.d.ts +2 -0
- package/dist/types/store/selection/selection.helpers.d.ts +6 -0
- package/dist/types/store/selection/selection.store.d.ts +22 -0
- package/dist/types/store/vp/index.d.ts +7 -0
- package/dist/types/store/vp/viewport.helpers.d.ts +54 -0
- package/dist/types/store/vp/viewport.store.d.ts +26 -0
- package/dist/types/themeManager/theme.compact.d.ts +4 -0
- package/dist/types/themeManager/theme.default.d.ts +4 -0
- package/dist/types/themeManager/theme.material.d.ts +4 -0
- package/dist/types/themeManager/theme.service.d.ts +13 -0
- package/dist/types/types/dimension.d.ts +8 -0
- package/dist/types/types/events.d.ts +2 -0
- package/dist/types/types/index.d.ts +8 -0
- package/dist/types/types/interfaces.d.ts +768 -0
- package/dist/types/types/plugin.d.ts +9 -0
- package/dist/types/types/plugin.types.d.ts +48 -0
- package/dist/types/types/selection.d.ts +178 -0
- package/dist/types/types/theme.d.ts +7 -0
- package/dist/types/types/viewport.interfaces.d.ts +45 -0
- package/dist/types/utils/browser.d.ts +1 -0
- package/dist/types/utils/closest.polifill.d.ts +0 -0
- package/dist/types/utils/column.utils.d.ts +52 -0
- package/dist/types/utils/consts.d.ts +22 -0
- package/dist/types/utils/events.d.ts +5 -0
- package/dist/types/utils/header.utils.d.ts +2 -0
- package/dist/types/utils/index.d.ts +32 -0
- package/dist/types/utils/key.codes.d.ts +73 -0
- package/dist/types/utils/key.utils.d.ts +13 -0
- package/dist/types/utils/mobile.d.ts +1 -0
- package/dist/types/utils/platform.d.ts +4 -0
- package/dist/types/utils/row-header-utils.d.ts +2 -0
- package/dist/types/utils/store.types.d.ts +97 -0
- package/dist/types/utils/store.utils.d.ts +10 -0
- package/hydrate/index.d.ts +273 -0
- package/hydrate/index.js +33890 -0
- package/hydrate/index.mjs +33882 -0
- package/hydrate/package.json +12 -0
- package/loader/cdn.js +4 -0
- package/loader/index.cjs.js +4 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +4 -0
- package/loader/index.js +5 -0
- package/package.json +101 -0
- package/react/dist/index.d.ts +6191 -0
- package/react/dist/react-datagrid.js +260 -0
- package/react/dist/react-datagrid.umd.cjs +272 -0
- package/standalone/column.service.js +1345 -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 +3099 -0
- package/standalone/data.store.js.map +1 -0
- package/standalone/debounce.js +215 -0
- package/standalone/debounce.js.map +1 -0
- package/standalone/dimension.helpers.js +229 -0
- package/standalone/dimension.helpers.js.map +1 -0
- package/standalone/filter.button.js +39 -0
- package/standalone/filter.button.js.map +1 -0
- package/standalone/index.d.ts +68 -0
- package/standalone/index.js +217 -0
- package/standalone/index.js.map +1 -0
- package/standalone/index2.js +140 -0
- package/standalone/index2.js.map +1 -0
- package/standalone/local.scroll.timer.js +207 -0
- package/standalone/local.scroll.timer.js.map +1 -0
- package/standalone/platform.js +90 -0
- package/standalone/platform.js.map +1 -0
- package/standalone/revo-grid.d.ts +11 -0
- package/standalone/revo-grid.js +4884 -0
- package/standalone/revo-grid.js.map +1 -0
- package/standalone/revogr-attribution.d.ts +11 -0
- package/standalone/revogr-attribution.js +12 -0
- package/standalone/revogr-attribution.js.map +1 -0
- package/standalone/revogr-attribution2.js +32 -0
- package/standalone/revogr-attribution2.js.map +1 -0
- package/standalone/revogr-clipboard.d.ts +11 -0
- package/standalone/revogr-clipboard.js +12 -0
- package/standalone/revogr-clipboard.js.map +1 -0
- package/standalone/revogr-clipboard2.js +164 -0
- package/standalone/revogr-clipboard2.js.map +1 -0
- package/standalone/revogr-data.d.ts +11 -0
- package/standalone/revogr-data.js +12 -0
- package/standalone/revogr-data.js.map +1 -0
- package/standalone/revogr-data2.js +378 -0
- package/standalone/revogr-data2.js.map +1 -0
- package/standalone/revogr-edit.d.ts +11 -0
- package/standalone/revogr-edit.js +12 -0
- package/standalone/revogr-edit.js.map +1 -0
- package/standalone/revogr-edit2.js +334 -0
- package/standalone/revogr-edit2.js.map +1 -0
- package/standalone/revogr-extra.d.ts +11 -0
- package/standalone/revogr-extra.js +12 -0
- package/standalone/revogr-extra.js.map +1 -0
- package/standalone/revogr-extra2.js +73 -0
- package/standalone/revogr-extra2.js.map +1 -0
- package/standalone/revogr-filter-panel.d.ts +11 -0
- package/standalone/revogr-filter-panel.js +411 -0
- package/standalone/revogr-filter-panel.js.map +1 -0
- package/standalone/revogr-focus.d.ts +11 -0
- package/standalone/revogr-focus.js +12 -0
- package/standalone/revogr-focus.js.map +1 -0
- package/standalone/revogr-focus2.js +112 -0
- package/standalone/revogr-focus2.js.map +1 -0
- package/standalone/revogr-header.d.ts +11 -0
- package/standalone/revogr-header.js +12 -0
- package/standalone/revogr-header.js.map +1 -0
- package/standalone/revogr-header2.js +707 -0
- package/standalone/revogr-header2.js.map +1 -0
- package/standalone/revogr-order-editor.d.ts +11 -0
- package/standalone/revogr-order-editor.js +12 -0
- package/standalone/revogr-order-editor.js.map +1 -0
- package/standalone/revogr-order-editor2.js +201 -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 +12 -0
- package/standalone/revogr-overlay-selection.js.map +1 -0
- package/standalone/revogr-overlay-selection2.js +972 -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 +12 -0
- package/standalone/revogr-row-headers.js.map +1 -0
- package/standalone/revogr-row-headers2.js +520 -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 +12 -0
- package/standalone/revogr-scroll-virtual.js.map +1 -0
- package/standalone/revogr-scroll-virtual2.js +184 -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 +12 -0
- package/standalone/revogr-temp-range.js.map +1 -0
- package/standalone/revogr-temp-range2.js +93 -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 +12 -0
- package/standalone/revogr-viewport-scroll.js.map +1 -0
- package/standalone/revogr-viewport-scroll2.js +421 -0
- package/standalone/revogr-viewport-scroll2.js.map +1 -0
- package/standalone/selection.utils.js +179 -0
- package/standalone/selection.utils.js.map +1 -0
- package/standalone/throttle.js +75 -0
- package/standalone/throttle.js.map +1 -0
- package/standalone/toNumber.js +282 -0
- package/standalone/toNumber.js.map +1 -0
- package/standalone/vnode-converter.js +46 -0
- package/standalone/vnode-converter.js.map +1 -0
- package/standalone/vnode-html.d.ts +11 -0
- package/standalone/vnode-html.js +12 -0
- package/standalone/vnode-html.js.map +1 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by LevelSkill.Pro
|
|
3
|
+
*/
|
|
4
|
+
import each from "lodash/each";
|
|
5
|
+
import { calculateRowHeaderSize } from "../utils/row-header-utils";
|
|
6
|
+
import { getScrollbarSize } from "../utils";
|
|
7
|
+
import { BasePlugin } from "./base.plugin";
|
|
8
|
+
export class StretchColumn extends BasePlugin {
|
|
9
|
+
constructor(revogrid, providers) {
|
|
10
|
+
super(revogrid, providers);
|
|
11
|
+
this.providers = providers;
|
|
12
|
+
this.stretchedColumn = null;
|
|
13
|
+
// calculate scroll bar size for current user session
|
|
14
|
+
this.scrollSize = getScrollbarSize(document);
|
|
15
|
+
// subscribe to column changes
|
|
16
|
+
const beforecolumnapplied = ({ detail: { columns }, }) => this.applyStretch(columns);
|
|
17
|
+
this.addEventListener('beforecolumnapplied', beforecolumnapplied);
|
|
18
|
+
}
|
|
19
|
+
setScroll({ type, hasScroll }) {
|
|
20
|
+
var _a;
|
|
21
|
+
if (type === 'rgRow' &&
|
|
22
|
+
this.stretchedColumn &&
|
|
23
|
+
((_a = this.stretchedColumn) === null || _a === void 0 ? void 0 : _a.initialSize) === this.stretchedColumn.size) {
|
|
24
|
+
if (hasScroll) {
|
|
25
|
+
this.stretchedColumn.size -= this.scrollSize;
|
|
26
|
+
this.apply();
|
|
27
|
+
this.dropChanges();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
activateChanges() {
|
|
32
|
+
const setScroll = ({ detail }) => this.setScroll(detail);
|
|
33
|
+
this.addEventListener('scrollchange', setScroll);
|
|
34
|
+
}
|
|
35
|
+
dropChanges() {
|
|
36
|
+
this.stretchedColumn = null;
|
|
37
|
+
this.removeEventListener('scrollchange');
|
|
38
|
+
}
|
|
39
|
+
apply() {
|
|
40
|
+
if (!this.stretchedColumn) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const type = 'rgCol';
|
|
44
|
+
const sizes = this.providers.dimension.stores[type].store.get('sizes');
|
|
45
|
+
this.providers.dimension.setCustomSizes(type, Object.assign(Object.assign({}, sizes), { [this.stretchedColumn.index]: this.stretchedColumn.size }), true);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Apply stretch changes
|
|
49
|
+
*/
|
|
50
|
+
applyStretch(columns) {
|
|
51
|
+
// unsubscribe from all events
|
|
52
|
+
this.dropChanges();
|
|
53
|
+
// calculate grid size
|
|
54
|
+
let sizeDifference = this.revogrid.clientWidth - 1;
|
|
55
|
+
each(columns, (_, type) => {
|
|
56
|
+
const realSize = this.providers.dimension.stores[type].store.get('realSize');
|
|
57
|
+
sizeDifference -= realSize;
|
|
58
|
+
});
|
|
59
|
+
if (this.revogrid.rowHeaders) {
|
|
60
|
+
const itemsLength = this.providers.data.stores.rgRow.store.get('source').length;
|
|
61
|
+
const header = this.revogrid.rowHeaders;
|
|
62
|
+
const rowHeaderSize = calculateRowHeaderSize(itemsLength, typeof header === 'object' ? header : undefined);
|
|
63
|
+
if (rowHeaderSize) {
|
|
64
|
+
sizeDifference -= rowHeaderSize;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (sizeDifference > 0) {
|
|
68
|
+
// currently plugin accepts last column only
|
|
69
|
+
const index = columns.rgCol.length - 1;
|
|
70
|
+
const last = columns.rgCol[index];
|
|
71
|
+
/**
|
|
72
|
+
* has column
|
|
73
|
+
* no auto size applied
|
|
74
|
+
* size for column shouldn't be defined
|
|
75
|
+
*/
|
|
76
|
+
const colSize = (last === null || last === void 0 ? void 0 : last.size) || this.revogrid.colSize || 0;
|
|
77
|
+
const size = sizeDifference + colSize - 1;
|
|
78
|
+
if (last && !last.autoSize && colSize < size) {
|
|
79
|
+
this.stretchedColumn = {
|
|
80
|
+
initialSize: size,
|
|
81
|
+
index,
|
|
82
|
+
size,
|
|
83
|
+
};
|
|
84
|
+
this.apply();
|
|
85
|
+
this.activateChanges();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Check plugin type is Stretch
|
|
92
|
+
*/
|
|
93
|
+
export function isStretchPlugin(plugin) {
|
|
94
|
+
return !!plugin.applyStretch;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=column.stretch.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column.stretch.plugin.js","sourceRoot":"","sources":["../../src/plugins/column.stretch.plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import each from 'lodash/each';\r\nimport { calculateRowHeaderSize } from '../utils/row-header-utils';\r\nimport { getScrollbarSize } from '../utils';\r\nimport { BasePlugin } from './base.plugin';\r\nimport { DimensionCols, DimensionType, PluginBaseComponent, PluginProviders, ColumnRegular } from '@type';\r\nimport { ColumnCollection } from '../utils/column.utils';\r\n\r\n/**\r\n * This plugin serves to recalculate columns initially\r\n * Base on empty space if there is any\r\n * Currently plugin supports only increasing last column\r\n */\r\ntype ScrollChange = {\r\n type: DimensionType;\r\n hasScroll: boolean;\r\n};\r\ntype StretchedData = {\r\n initialSize: number;\r\n size: number;\r\n index: number;\r\n};\r\n\r\nexport class StretchColumn extends BasePlugin {\r\n private stretchedColumn: StretchedData | null = null;\r\n private readonly scrollSize;\r\n constructor(\r\n revogrid: HTMLRevoGridElement,\r\n public providers: PluginProviders,\r\n ) {\r\n super(revogrid, providers);\r\n\r\n // calculate scroll bar size for current user session\r\n this.scrollSize = getScrollbarSize(document);\r\n\r\n // subscribe to column changes\r\n const beforecolumnapplied = ({\r\n detail: { columns },\r\n }: CustomEvent<ColumnCollection>) => this.applyStretch(columns);\r\n this.addEventListener('beforecolumnapplied', beforecolumnapplied);\r\n }\r\n\r\n private setScroll({ type, hasScroll }: ScrollChange) {\r\n if (\r\n type === 'rgRow' &&\r\n this.stretchedColumn &&\r\n this.stretchedColumn?.initialSize === this.stretchedColumn.size\r\n ) {\r\n if (hasScroll) {\r\n this.stretchedColumn.size -= this.scrollSize;\r\n this.apply();\r\n this.dropChanges();\r\n }\r\n }\r\n }\r\n\r\n private activateChanges() {\r\n const setScroll = ({ detail }: CustomEvent<ScrollChange>) =>\r\n this.setScroll(detail);\r\n this.addEventListener('scrollchange', setScroll);\r\n }\r\n\r\n private dropChanges() {\r\n this.stretchedColumn = null;\r\n this.removeEventListener('scrollchange');\r\n }\r\n\r\n private apply() {\r\n if (!this.stretchedColumn) {\r\n return;\r\n }\r\n const type: DimensionCols = 'rgCol';\r\n const sizes = this.providers.dimension.stores[type].store.get('sizes');\r\n this.providers.dimension.setCustomSizes(\r\n type,\r\n {\r\n ...sizes,\r\n [this.stretchedColumn.index]: this.stretchedColumn.size,\r\n },\r\n true,\r\n );\r\n }\r\n\r\n /**\r\n * Apply stretch changes\r\n */\r\n applyStretch(columns: Record<DimensionCols, ColumnRegular[]>) {\r\n // unsubscribe from all events\r\n this.dropChanges();\r\n // calculate grid size\r\n let sizeDifference = this.revogrid.clientWidth - 1;\r\n each(columns, (_, type: DimensionCols) => {\r\n const realSize =\r\n this.providers.dimension.stores[type].store.get('realSize');\r\n sizeDifference -= realSize;\r\n });\r\n if (this.revogrid.rowHeaders) {\r\n const itemsLength =\r\n this.providers.data.stores.rgRow.store.get('source').length;\r\n const header = this.revogrid.rowHeaders;\r\n const rowHeaderSize = calculateRowHeaderSize(\r\n itemsLength,\r\n typeof header === 'object' ? header : undefined,\r\n );\r\n if (rowHeaderSize) {\r\n sizeDifference -= rowHeaderSize;\r\n }\r\n }\r\n if (sizeDifference > 0) {\r\n // currently plugin accepts last column only\r\n const index = columns.rgCol.length - 1;\r\n const last = columns.rgCol[index];\r\n /**\r\n * has column\r\n * no auto size applied\r\n * size for column shouldn't be defined\r\n */\r\n const colSize = last?.size || this.revogrid.colSize || 0;\r\n const size = sizeDifference + colSize - 1;\r\n\r\n if (last && !last.autoSize && colSize < size) {\r\n this.stretchedColumn = {\r\n initialSize: size,\r\n index,\r\n size,\r\n };\r\n this.apply();\r\n this.activateChanges();\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Check plugin type is Stretch\r\n */\r\nexport function isStretchPlugin(\r\n plugin: PluginBaseComponent | StretchColumn,\r\n): plugin is StretchColumn {\r\n return !!(plugin as StretchColumn).applyStretch;\r\n}\r\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by LevelSkill.Pro
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Dispatches a custom event to a specified target element.
|
|
6
|
+
*
|
|
7
|
+
* @param target - The target element to dispatch the event to.
|
|
8
|
+
* @param eventName - The name of the custom event.
|
|
9
|
+
* @param detail - Optional. The detail of the custom event.
|
|
10
|
+
* @returns The custom event that was dispatched.
|
|
11
|
+
*/
|
|
12
|
+
export function dispatch(target, eventName, detail) {
|
|
13
|
+
// Create a new CustomEvent with the specified event name and detail.
|
|
14
|
+
const event = new CustomEvent(eventName, {
|
|
15
|
+
detail,
|
|
16
|
+
cancelable: true, // Indicates whether the event can be canceled.
|
|
17
|
+
bubbles: true, // Indicates whether the event bubbles up through the DOM.
|
|
18
|
+
});
|
|
19
|
+
// Dispatch the event on the target element.
|
|
20
|
+
target === null || target === void 0 ? void 0 : target.dispatchEvent(event);
|
|
21
|
+
// Return the custom event that was dispatched.
|
|
22
|
+
return event;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Dispatches a custom event based on an existing event object and prevents the default behavior of the original event.
|
|
26
|
+
*
|
|
27
|
+
* @param e - The original event object containing the target and preventDefault method.
|
|
28
|
+
* @param eventName - The name of the custom event.
|
|
29
|
+
* @param detail - Optional. The detail of the custom event.
|
|
30
|
+
* @returns The custom event that was dispatched.
|
|
31
|
+
*/
|
|
32
|
+
export function dispatchByEvent(e, // The original event object containing the target and preventDefault method.
|
|
33
|
+
eventName, // The name of the custom event.
|
|
34
|
+
detail) {
|
|
35
|
+
// Prevent the default behavior of the original event.
|
|
36
|
+
e.preventDefault();
|
|
37
|
+
// Dispatch the custom event to the target element specified in the original event object.
|
|
38
|
+
return dispatch(e.target, eventName, detail);
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=dispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/plugins/dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CACtB,MAA4B,EAC5B,SAAiB,EACjB,MAAuB;IAEvB,qEAAqE;IACrE,MAAM,KAAK,GAAG,IAAI,WAAW,CAAiB,SAAS,EAAE;QACvD,MAAM;QACN,UAAU,EAAE,IAAI,EAAE,+CAA+C;QACjE,OAAO,EAAE,IAAI,EAAE,0DAA0D;KAC1E,CAAC,CAAC;IAEH,4CAA4C;IAC5C,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAE7B,+CAA+C;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,CAAgD,EAAE,6EAA6E;AAC/H,SAAiB,EAAE,gCAAgC;AACnD,MAAuB;IAEvB,sDAAsD;IACtD,CAAC,CAAC,cAAc,EAAE,CAAC;IAEnB,0FAA0F;IAC1F,OAAO,QAAQ,CAAiB,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC","sourcesContent":["/**\r\n * Dispatches a custom event to a specified target element.\r\n *\r\n * @param target - The target element to dispatch the event to.\r\n * @param eventName - The name of the custom event.\r\n * @param detail - Optional. The detail of the custom event.\r\n * @returns The custom event that was dispatched.\r\n */\r\nexport function dispatch<DispatchDetail = any>(\r\n target: MouseEvent['target'],\r\n eventName: string,\r\n detail?: DispatchDetail,\r\n) {\r\n // Create a new CustomEvent with the specified event name and detail.\r\n const event = new CustomEvent<DispatchDetail>(eventName, {\r\n detail,\r\n cancelable: true, // Indicates whether the event can be canceled.\r\n bubbles: true, // Indicates whether the event bubbles up through the DOM.\r\n });\r\n\r\n // Dispatch the event on the target element.\r\n target?.dispatchEvent(event);\r\n\r\n // Return the custom event that was dispatched.\r\n return event;\r\n}\r\n\r\n/**\r\n * Dispatches a custom event based on an existing event object and prevents the default behavior of the original event.\r\n *\r\n * @param e - The original event object containing the target and preventDefault method.\r\n * @param eventName - The name of the custom event.\r\n * @param detail - Optional. The detail of the custom event.\r\n * @returns The custom event that was dispatched.\r\n */\r\nexport function dispatchByEvent<DispatchDetail = any>(\r\n e: Pick<MouseEvent, 'target' | 'preventDefault'>, // The original event object containing the target and preventDefault method.\r\n eventName: string, // The name of the custom event.\r\n detail?: DispatchDetail, // Optional. The detail of the custom event.\r\n): CustomEvent {\r\n // Prevent the default behavior of the original event.\r\n e.preventDefault();\r\n\r\n // Dispatch the custom event to the target element specified in the original event object.\r\n return dispatch<DispatchDetail>(e.target, eventName, detail);\r\n}\r\n"]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by LevelSkill.Pro
|
|
3
|
+
*/
|
|
4
|
+
import { getGroupingName, isGrouping } from "../groupingRow/grouping.service";
|
|
5
|
+
const INITIAL = {
|
|
6
|
+
mime: 'text/csv',
|
|
7
|
+
fileKind: 'csv',
|
|
8
|
+
// BOM signature
|
|
9
|
+
bom: true,
|
|
10
|
+
columnDelimiter: ',',
|
|
11
|
+
rowDelimiter: '\r\n',
|
|
12
|
+
encoding: '',
|
|
13
|
+
};
|
|
14
|
+
// The ASCII character code 13 is called a Carriage Return or CR.
|
|
15
|
+
const CARRIAGE_RETURN = String.fromCharCode(13);
|
|
16
|
+
// Chr(13) followed by a Chr(10) that compose a proper CRLF.
|
|
17
|
+
const LINE_FEED = String.fromCharCode(10);
|
|
18
|
+
const DOUBLE_QT = String.fromCharCode(34);
|
|
19
|
+
const NO_BREAK_SPACE = String.fromCharCode(0xfeff);
|
|
20
|
+
const escapeRegex = new RegExp('"', 'g');
|
|
21
|
+
export class ExportCsv {
|
|
22
|
+
constructor(options = {}) {
|
|
23
|
+
this.options = Object.assign(Object.assign({}, INITIAL), options);
|
|
24
|
+
}
|
|
25
|
+
doExport({ data, headers, props }) {
|
|
26
|
+
let result = this.options.bom ? NO_BREAK_SPACE : '';
|
|
27
|
+
// any header
|
|
28
|
+
if ((headers === null || headers === void 0 ? void 0 : headers.length) > 0) {
|
|
29
|
+
headers.forEach(header => {
|
|
30
|
+
// ignore empty
|
|
31
|
+
if (!header.length) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
result += this.prepareHeader(header, this.options.columnDelimiter);
|
|
35
|
+
result += this.options.rowDelimiter;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
data.forEach((rgRow, index) => {
|
|
39
|
+
if (index > 0) {
|
|
40
|
+
result += this.options.rowDelimiter;
|
|
41
|
+
}
|
|
42
|
+
// support grouping
|
|
43
|
+
if (isGrouping(rgRow)) {
|
|
44
|
+
result += this.parseCell(getGroupingName(rgRow), this.options.columnDelimiter);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
result += props.map(p => this.parseCell(rgRow[p], this.options.columnDelimiter)).join(this.options.columnDelimiter);
|
|
48
|
+
});
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
prepareHeader(columnHeaders, columnDelimiter) {
|
|
52
|
+
let result = '';
|
|
53
|
+
const newColumnHeaders = columnHeaders.map(v => this.parseCell(v, columnDelimiter, true));
|
|
54
|
+
result += newColumnHeaders.join(columnDelimiter);
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
parseCell(value, columnDelimiter, force = false) {
|
|
58
|
+
let escape = value;
|
|
59
|
+
if (typeof value !== 'string') {
|
|
60
|
+
escape = JSON.stringify(value);
|
|
61
|
+
}
|
|
62
|
+
const toEscape = [CARRIAGE_RETURN, DOUBLE_QT, LINE_FEED, columnDelimiter];
|
|
63
|
+
if (typeof escape === 'undefined') {
|
|
64
|
+
return '';
|
|
65
|
+
}
|
|
66
|
+
if (escape !== '' && (force || toEscape.some(i => escape.indexOf(i) >= 0))) {
|
|
67
|
+
return `"${escape.replace(escapeRegex, '""')}"`;
|
|
68
|
+
}
|
|
69
|
+
return escape;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=csv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv.js","sourceRoot":"","sources":["../../../src/plugins/export/csv.ts"],"names":[],"mappings":"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","sourcesContent":["import { getGroupingName, isGrouping } from '../groupingRow/grouping.service';\r\nimport { CSVFormat, DataInput, Formatter } from './types';\r\n\r\nconst INITIAL: CSVFormat = {\r\n mime: 'text/csv',\r\n fileKind: 'csv',\r\n // BOM signature\r\n bom: true,\r\n columnDelimiter: ',',\r\n rowDelimiter: '\\r\\n',\r\n encoding: '',\r\n};\r\n\r\nexport type CSVFormatter = (options: Partial<CSVFormat>, data: DataInput) => string;\r\n\r\n// The ASCII character code 13 is called a Carriage Return or CR.\r\nconst CARRIAGE_RETURN = String.fromCharCode(13);\r\n// Chr(13) followed by a Chr(10) that compose a proper CRLF.\r\nconst LINE_FEED = String.fromCharCode(10);\r\nconst DOUBLE_QT = String.fromCharCode(34);\r\nconst NO_BREAK_SPACE = String.fromCharCode(0xfeff);\r\nconst escapeRegex = new RegExp('\"', 'g');\r\n\r\nexport class ExportCsv implements Formatter {\r\n readonly options: Readonly<CSVFormat>;\r\n constructor(options: Partial<CSVFormat> = {}) {\r\n this.options = { ...INITIAL, ...options };\r\n }\r\n\r\n doExport({ data, headers, props }: DataInput) {\r\n let result = this.options.bom ? NO_BREAK_SPACE : '';\r\n\r\n // any header\r\n if (headers?.length > 0) {\r\n headers.forEach(header => {\r\n // ignore empty\r\n if (!header.length) {\r\n return;\r\n }\r\n result += this.prepareHeader(header, this.options.columnDelimiter);\r\n result += this.options.rowDelimiter;\r\n });\r\n }\r\n\r\n data.forEach((rgRow, index) => {\r\n if (index > 0) {\r\n result += this.options.rowDelimiter;\r\n }\r\n // support grouping\r\n if (isGrouping(rgRow)) {\r\n result += this.parseCell(getGroupingName(rgRow), this.options.columnDelimiter);\r\n return;\r\n }\r\n result += props.map(p => this.parseCell(rgRow[p], this.options.columnDelimiter)).join(this.options.columnDelimiter);\r\n });\r\n\r\n return result;\r\n }\r\n\r\n private prepareHeader(columnHeaders: string[], columnDelimiter: string) {\r\n let result = '';\r\n const newColumnHeaders = columnHeaders.map(v => this.parseCell(v, columnDelimiter, true));\r\n result += newColumnHeaders.join(columnDelimiter);\r\n return result;\r\n }\r\n\r\n private parseCell(value: any, columnDelimiter: string, force = false) {\r\n let escape = value;\r\n if (typeof value !== 'string') {\r\n escape = JSON.stringify(value);\r\n }\r\n const toEscape = [CARRIAGE_RETURN, DOUBLE_QT, LINE_FEED, columnDelimiter];\r\n if (typeof escape === 'undefined') {\r\n return '';\r\n }\r\n if (escape !== '' && (force || toEscape.some(i => escape.indexOf(i) >= 0))) {\r\n return `\"${escape.replace(escapeRegex, '\"\"')}\"`;\r\n }\r\n\r\n return escape;\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by LevelSkill.Pro
|
|
3
|
+
*/
|
|
4
|
+
import fill from "lodash/fill";
|
|
5
|
+
import { columnTypes, rowTypes } from "../../store/index";
|
|
6
|
+
import { timeout } from "../../utils";
|
|
7
|
+
import { BasePlugin } from "../base.plugin";
|
|
8
|
+
import { ExportCsv } from "./csv";
|
|
9
|
+
export * from './csv';
|
|
10
|
+
export * from './types';
|
|
11
|
+
var ExportTypes;
|
|
12
|
+
(function (ExportTypes) {
|
|
13
|
+
ExportTypes["csv"] = "csv";
|
|
14
|
+
})(ExportTypes || (ExportTypes = {}));
|
|
15
|
+
export class ExportFilePlugin extends BasePlugin {
|
|
16
|
+
/** Exports string */
|
|
17
|
+
async exportString(options = {}, t = ExportTypes.csv) {
|
|
18
|
+
const data = await this.beforeexport();
|
|
19
|
+
if (!data) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return this.formatter(t, options).doExport(data);
|
|
23
|
+
}
|
|
24
|
+
/** Exports Blob */
|
|
25
|
+
async exportBlob(options = {}, t = ExportTypes.csv) {
|
|
26
|
+
return await this.getBlob(this.formatter(t, options));
|
|
27
|
+
}
|
|
28
|
+
/** Export file */
|
|
29
|
+
async exportFile(options = {}, t = ExportTypes.csv) {
|
|
30
|
+
const formatter = this.formatter(t, options);
|
|
31
|
+
// url
|
|
32
|
+
const URL = window.URL || window.webkitURL;
|
|
33
|
+
const a = document.createElement('a');
|
|
34
|
+
const { filename, fileKind } = formatter.options;
|
|
35
|
+
const name = `${filename}.${fileKind}`;
|
|
36
|
+
const blob = await this.getBlob(formatter);
|
|
37
|
+
const url = blob ? URL.createObjectURL(blob) : '';
|
|
38
|
+
a.style.display = 'none';
|
|
39
|
+
a.setAttribute('href', url);
|
|
40
|
+
a.setAttribute('download', name);
|
|
41
|
+
this.revogrid.appendChild(a);
|
|
42
|
+
a.dispatchEvent(new MouseEvent('click'));
|
|
43
|
+
this.revogrid.removeChild(a);
|
|
44
|
+
// delay for revoke, correct for some browsers
|
|
45
|
+
await timeout(120);
|
|
46
|
+
URL.revokeObjectURL(url);
|
|
47
|
+
}
|
|
48
|
+
/** Blob object */
|
|
49
|
+
async getBlob(formatter) {
|
|
50
|
+
const type = `${formatter.options.mime};charset=${formatter.options.encoding}`;
|
|
51
|
+
if (typeof Blob !== 'undefined') {
|
|
52
|
+
const data = await this.beforeexport();
|
|
53
|
+
if (!data) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
return new Blob([formatter.doExport(data)], { type });
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
// before event
|
|
61
|
+
async beforeexport() {
|
|
62
|
+
let data = await this.getData();
|
|
63
|
+
const event = this.emit('beforeexport', { data });
|
|
64
|
+
if (event.defaultPrevented) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
return event.detail.data;
|
|
68
|
+
}
|
|
69
|
+
async getData() {
|
|
70
|
+
const data = await this.getSource();
|
|
71
|
+
const colSource = [];
|
|
72
|
+
const colPromises = [];
|
|
73
|
+
columnTypes.forEach((t, i) => {
|
|
74
|
+
colPromises.push(this.getColPerSource(t).then(s => (colSource[i] = s)));
|
|
75
|
+
});
|
|
76
|
+
await Promise.all(colPromises);
|
|
77
|
+
const columns = {
|
|
78
|
+
headers: [],
|
|
79
|
+
props: [],
|
|
80
|
+
};
|
|
81
|
+
for (let source of colSource) {
|
|
82
|
+
source.headers.forEach((h, i) => {
|
|
83
|
+
if (!columns.headers[i]) {
|
|
84
|
+
columns.headers[i] = [];
|
|
85
|
+
}
|
|
86
|
+
columns.headers[i].push(...h);
|
|
87
|
+
});
|
|
88
|
+
columns.props.push(...source.props);
|
|
89
|
+
}
|
|
90
|
+
return Object.assign({ data }, columns);
|
|
91
|
+
}
|
|
92
|
+
async getColPerSource(t) {
|
|
93
|
+
const store = await this.revogrid.getColumnStore(t);
|
|
94
|
+
const source = store.get('source');
|
|
95
|
+
const virtualIndexes = store.get('items');
|
|
96
|
+
const depth = store.get('groupingDepth');
|
|
97
|
+
const groups = store.get('groups');
|
|
98
|
+
const colNames = [];
|
|
99
|
+
const colProps = [];
|
|
100
|
+
virtualIndexes.forEach((v) => {
|
|
101
|
+
const prop = source[v].prop;
|
|
102
|
+
colNames.push(source[v].name || '');
|
|
103
|
+
colProps.push(prop);
|
|
104
|
+
});
|
|
105
|
+
const rows = this.getGroupHeaders(depth, groups, virtualIndexes);
|
|
106
|
+
rows.push(colNames);
|
|
107
|
+
return {
|
|
108
|
+
headers: rows,
|
|
109
|
+
props: colProps,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
getGroupHeaders(depth, groups, items) {
|
|
113
|
+
const rows = [];
|
|
114
|
+
const template = fill(new Array(items.length), '');
|
|
115
|
+
for (let d = 0; d < depth; d++) {
|
|
116
|
+
const rgRow = [...template];
|
|
117
|
+
rows.push(rgRow);
|
|
118
|
+
if (!groups[d]) {
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
const levelGroups = groups[d];
|
|
122
|
+
// add names of groups
|
|
123
|
+
levelGroups.forEach((group) => {
|
|
124
|
+
const minIndex = group.indexes[0];
|
|
125
|
+
if (typeof minIndex === 'number') {
|
|
126
|
+
rgRow[minIndex] = group.name;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
return rows;
|
|
131
|
+
}
|
|
132
|
+
async getSource() {
|
|
133
|
+
const data = [];
|
|
134
|
+
const promisesData = [];
|
|
135
|
+
rowTypes.forEach(t => {
|
|
136
|
+
const dataPart = [];
|
|
137
|
+
data.push(dataPart);
|
|
138
|
+
const promise = this.revogrid.getVisibleSource(t).then((d) => dataPart.push(...d));
|
|
139
|
+
promisesData.push(promise);
|
|
140
|
+
});
|
|
141
|
+
await Promise.all(promisesData);
|
|
142
|
+
return data.reduce((r, v) => {
|
|
143
|
+
r.push(...v);
|
|
144
|
+
return r;
|
|
145
|
+
}, []);
|
|
146
|
+
}
|
|
147
|
+
// get correct class for future multiple types support
|
|
148
|
+
formatter(type, options = {}) {
|
|
149
|
+
switch (type) {
|
|
150
|
+
case ExportTypes.csv:
|
|
151
|
+
return new ExportCsv(options);
|
|
152
|
+
default:
|
|
153
|
+
throw new Error('Unknown format');
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=export.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.plugin.js","sourceRoot":"","sources":["../../../src/plugins/export/export.plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import fill from 'lodash/fill';\r\nimport { columnTypes, rowTypes, Group, Groups } from '@store';\r\n\r\nimport { timeout } from '../../utils';\r\nimport { BasePlugin } from '../base.plugin';\r\nimport { ExportCsv } from './csv';\r\nimport type { ColSource, CSVFormat, DataInput, Formatter } from './types';\r\nimport type { DimensionCols, ColumnProp, DataType } from '@type';\r\n\r\nexport * from './csv';\r\nexport * from './types';\r\n\r\nenum ExportTypes {\r\n csv = 'csv',\r\n}\r\n\r\nexport type ExportFormat = Partial<CSVFormat>;\r\n\r\nexport class ExportFilePlugin extends BasePlugin {\r\n /** Exports string */\r\n async exportString(options: ExportFormat = {}, t: ExportTypes = ExportTypes.csv) {\r\n const data = await this.beforeexport();\r\n if (!data) {\r\n return null;\r\n }\r\n return this.formatter(t, options).doExport(data);\r\n }\r\n\r\n /** Exports Blob */\r\n async exportBlob(options: ExportFormat = {}, t: ExportTypes = ExportTypes.csv) {\r\n return await this.getBlob(this.formatter(t, options));\r\n }\r\n\r\n /** Export file */\r\n async exportFile(options: ExportFormat = {}, t: ExportTypes = ExportTypes.csv) {\r\n const formatter = this.formatter(t, options);\r\n\r\n // url\r\n const URL = window.URL || window.webkitURL;\r\n\r\n const a = document.createElement('a');\r\n const { filename, fileKind } = formatter.options;\r\n const name = `${filename}.${fileKind}`;\r\n\r\n const blob = await this.getBlob(formatter);\r\n const url = blob ? URL.createObjectURL(blob) : '';\r\n\r\n a.style.display = 'none';\r\n a.setAttribute('href', url);\r\n a.setAttribute('download', name);\r\n this.revogrid.appendChild(a);\r\n a.dispatchEvent(new MouseEvent('click'));\r\n this.revogrid.removeChild(a);\r\n\r\n // delay for revoke, correct for some browsers\r\n await timeout(120);\r\n URL.revokeObjectURL(url);\r\n }\r\n\r\n /** Blob object */\r\n async getBlob(formatter: Formatter) {\r\n const type = `${formatter.options.mime};charset=${formatter.options.encoding}`;\r\n if (typeof Blob !== 'undefined') {\r\n const data = await this.beforeexport();\r\n if (!data) {\r\n return null;\r\n }\r\n return new Blob([formatter.doExport(data)], { type });\r\n }\r\n return null;\r\n }\r\n\r\n // before event\r\n private async beforeexport() {\r\n let data = await this.getData();\r\n const event: CustomEvent<{ data: DataInput }> = this.emit('beforeexport', { data });\r\n if (event.defaultPrevented) {\r\n return null;\r\n }\r\n return event.detail.data;\r\n }\r\n\r\n private async getData(): Promise<DataInput> {\r\n const data = await this.getSource();\r\n const colSource: ColSource[] = [];\r\n const colPromises: Promise<ColSource>[] = [];\r\n columnTypes.forEach((t, i) => {\r\n colPromises.push(this.getColPerSource(t).then(s => (colSource[i] = s)));\r\n });\r\n await Promise.all(colPromises);\r\n const columns: ColSource = {\r\n headers: [],\r\n props: [],\r\n };\r\n for (let source of colSource) {\r\n source.headers.forEach((h, i) => {\r\n if (!columns.headers[i]) {\r\n columns.headers[i] = [];\r\n }\r\n columns.headers[i].push(...h);\r\n });\r\n columns.props.push(...source.props);\r\n }\r\n return {\r\n data,\r\n ...columns,\r\n };\r\n }\r\n\r\n private async getColPerSource(t: DimensionCols) {\r\n const store = await this.revogrid.getColumnStore(t);\r\n const source = store.get('source');\r\n const virtualIndexes = store.get('items');\r\n const depth = store.get('groupingDepth');\r\n const groups = store.get('groups');\r\n const colNames: string[] = [];\r\n const colProps: ColumnProp[] = [];\r\n virtualIndexes.forEach((v: number) => {\r\n const prop = source[v].prop;\r\n colNames.push(source[v].name || '');\r\n colProps.push(prop);\r\n });\r\n const rows: string[][] = this.getGroupHeaders(depth, groups, virtualIndexes);\r\n rows.push(colNames);\r\n return {\r\n headers: rows,\r\n props: colProps,\r\n };\r\n }\r\n\r\n private getGroupHeaders(depth: number, groups: Groups, items: number[]) {\r\n const rows: string[][] = [];\r\n const template = fill(new Array(items.length), '');\r\n for (let d = 0; d < depth; d++) {\r\n const rgRow = [...template];\r\n rows.push(rgRow);\r\n if (!groups[d]) {\r\n continue;\r\n }\r\n const levelGroups = groups[d];\r\n\r\n // add names of groups\r\n levelGroups.forEach((group: Group) => {\r\n const minIndex = group.indexes[0];\r\n if (typeof minIndex === 'number') {\r\n rgRow[minIndex] = group.name;\r\n }\r\n });\r\n }\r\n return rows;\r\n }\r\n\r\n private async getSource() {\r\n const data: DataType[][] = [];\r\n const promisesData: Promise<number>[] = [];\r\n rowTypes.forEach(t => {\r\n const dataPart: DataType[] = [];\r\n data.push(dataPart);\r\n const promise = this.revogrid.getVisibleSource(t).then((d: DataType[]) => dataPart.push(...d));\r\n promisesData.push(promise);\r\n });\r\n await Promise.all(promisesData);\r\n return data.reduce((r, v) => {\r\n r.push(...v);\r\n return r;\r\n }, []);\r\n }\r\n\r\n // get correct class for future multiple types support\r\n private formatter(type: ExportTypes, options: ExportFormat = {}) {\r\n switch (type) {\r\n case ExportTypes.csv:\r\n return new ExportCsv(options);\r\n default:\r\n throw new Error('Unknown format');\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/export/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { DataType } from '@type';\r\n\r\nexport type ColSource = {\r\n headers: string[][];\r\n props: any[];\r\n};\r\nexport type DataInput = {\r\n data: DataType[];\r\n} & ColSource;\r\n\r\nexport interface FormatterOptions {\r\n mime: string;\r\n encoding: string;\r\n}\r\n\r\nexport interface Formatter {\r\n options: FormatterOptions;\r\n doExport(data: DataInput): string;\r\n}\r\n\r\nexport interface CSVFormat extends FormatterOptions {\r\n fileKind: 'csv';\r\n bom: boolean;\r\n columnDelimiter: string;\r\n rowDelimiter: string;\r\n filename?: string;\r\n}\r\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by LevelSkill.Pro
|
|
3
|
+
*/
|
|
4
|
+
const eq = (value, extra) => {
|
|
5
|
+
if (typeof value === 'undefined' || (value === null && !extra)) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
if (typeof value !== 'string') {
|
|
9
|
+
value = JSON.stringify(value);
|
|
10
|
+
}
|
|
11
|
+
const filterVal = extra === null || extra === void 0 ? void 0 : extra.toString().toLocaleLowerCase();
|
|
12
|
+
if ((filterVal === null || filterVal === void 0 ? void 0 : filterVal.length) === 0) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
return value.toLocaleLowerCase() === filterVal;
|
|
16
|
+
};
|
|
17
|
+
export const notEq = (value, extra) => !eq(value, extra);
|
|
18
|
+
notEq.extra = 'input';
|
|
19
|
+
eq.extra = 'input';
|
|
20
|
+
export default eq;
|
|
21
|
+
//# sourceMappingURL=equal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"equal.js","sourceRoot":"","sources":["../../../../src/plugins/filter/conditions/equal.ts"],"names":[],"mappings":"AAEA,MAAM,EAAE,GAAkB,CAAC,KAAyB,EAAE,KAA+B,EAAE,EAAE;IACvF,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACxD,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,MAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC,iBAAiB,EAAE,KAAK,SAAS,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAkB,CAAC,KAAyB,EAAE,KAA+B,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtH,KAAK,CAAC,KAAK,GAAG,OAAqB,CAAC;AACpC,EAAE,CAAC,KAAK,GAAG,OAAqB,CAAC;AACjC,eAAe,EAAE,CAAC","sourcesContent":["import { LogicFunction, LogicFunctionExtraParam, LogicFunctionParam, ExtraField } from '../filter.types';\r\n\r\nconst eq: LogicFunction = (value: LogicFunctionParam, extra?: LogicFunctionExtraParam) => {\r\n if (typeof value === 'undefined' || (value === null && !extra)) {\r\n return true;\r\n }\r\n if (typeof value !== 'string') {\r\n value = JSON.stringify(value);\r\n }\r\n\r\n const filterVal = extra?.toString().toLocaleLowerCase();\r\n if (filterVal?.length === 0) {\r\n return true;\r\n }\r\n \r\n return value.toLocaleLowerCase() === filterVal;\r\n};\r\n\r\nexport const notEq: LogicFunction = (value: LogicFunctionParam, extra?: LogicFunctionExtraParam) => !eq(value, extra);\r\nnotEq.extra = 'input' as ExtraField;\r\neq.extra = 'input' as ExtraField;\r\nexport default eq;\r\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by LevelSkill.Pro
|
|
3
|
+
*/
|
|
4
|
+
const gtThan = function (value, extra) {
|
|
5
|
+
let conditionValue;
|
|
6
|
+
if (typeof value === 'number' && typeof extra !== 'undefined' && extra !== null) {
|
|
7
|
+
conditionValue = parseFloat(extra === null || extra === void 0 ? void 0 : extra.toString());
|
|
8
|
+
return value > conditionValue;
|
|
9
|
+
}
|
|
10
|
+
return false;
|
|
11
|
+
};
|
|
12
|
+
gtThan.extra = 'input';
|
|
13
|
+
export default gtThan;
|
|
14
|
+
//# sourceMappingURL=greaterThan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"greaterThan.js","sourceRoot":"","sources":["../../../../../src/plugins/filter/conditions/number/greaterThan.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAkB,UAAU,KAAyB,EAAE,KAA+B;IAChG,IAAI,cAAsB,CAAC;IAE3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChF,cAAc,GAAG,UAAU,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,CAAC,CAAC;QAC/C,OAAO,KAAK,GAAG,cAAc,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;AACvB,eAAe,MAAM,CAAC","sourcesContent":["import { LogicFunction, LogicFunctionExtraParam, LogicFunctionParam } from '../../filter.types';\r\n\r\nconst gtThan: LogicFunction = function (value: LogicFunctionParam, extra?: LogicFunctionExtraParam) {\r\n let conditionValue: number;\r\n\r\n if (typeof value === 'number' && typeof extra !== 'undefined' && extra !== null) {\r\n conditionValue = parseFloat(extra?.toString());\r\n return value > conditionValue;\r\n }\r\n return false;\r\n};\r\n\r\ngtThan.extra = 'input';\r\nexport default gtThan;\r\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by LevelSkill.Pro
|
|
3
|
+
*/
|
|
4
|
+
import eq from "../equal";
|
|
5
|
+
import gt from "./greaterThan";
|
|
6
|
+
const gtThanEq = function (value, extra) {
|
|
7
|
+
return eq(value, extra) || gt(value, extra);
|
|
8
|
+
};
|
|
9
|
+
gtThanEq.extra = 'input';
|
|
10
|
+
export default gtThanEq;
|
|
11
|
+
//# sourceMappingURL=greaterThanOrEqual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"greaterThanOrEqual.js","sourceRoot":"","sources":["../../../../../src/plugins/filter/conditions/number/greaterThanOrEqual.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,MAAM,eAAe,CAAC;AAE/B,MAAM,QAAQ,GAAkB,UAAU,KAAyB,EAAE,KAA+B;IAClG,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC;AACzB,eAAe,QAAQ,CAAC","sourcesContent":["import { LogicFunction, LogicFunctionExtraParam, LogicFunctionParam } from '../../filter.types';\r\nimport eq from '../equal';\r\nimport gt from './greaterThan';\r\n\r\nconst gtThanEq: LogicFunction = function (value: LogicFunctionParam, extra?: LogicFunctionExtraParam) {\r\n return eq(value, extra) || gt(value, extra);\r\n};\r\n\r\ngtThanEq.extra = 'input';\r\nexport default gtThanEq;\r\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by LevelSkill.Pro
|
|
3
|
+
*/
|
|
4
|
+
const lt = function (value, extra) {
|
|
5
|
+
let conditionValue;
|
|
6
|
+
if (typeof value === 'number' && typeof extra !== 'undefined' && extra !== null) {
|
|
7
|
+
conditionValue = parseFloat(extra.toString());
|
|
8
|
+
return value < conditionValue;
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
lt.extra = 'input';
|
|
15
|
+
export default lt;
|
|
16
|
+
//# sourceMappingURL=lessThan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lessThan.js","sourceRoot":"","sources":["../../../../../src/plugins/filter/conditions/number/lessThan.ts"],"names":[],"mappings":"AAEA,MAAM,EAAE,GAAkB,UAAU,KAAyB,EAAE,KAA+B;IAC5F,IAAI,cAAsB,CAAC;IAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChF,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,OAAO,KAAK,GAAG,cAAc,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,EAAE,CAAC,KAAK,GAAG,OAAO,CAAC;AACnB,eAAe,EAAE,CAAC","sourcesContent":["import { LogicFunction, LogicFunctionExtraParam, LogicFunctionParam } from '../../filter.types';\r\n\r\nconst lt: LogicFunction = function (value: LogicFunctionParam, extra?: LogicFunctionExtraParam) {\r\n let conditionValue: number;\r\n if (typeof value === 'number' && typeof extra !== 'undefined' && extra !== null) {\r\n conditionValue = parseFloat(extra.toString());\r\n return value < conditionValue;\r\n } else {\r\n return false;\r\n }\r\n};\r\n\r\nlt.extra = 'input';\r\nexport default lt;\r\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by LevelSkill.Pro
|
|
3
|
+
*/
|
|
4
|
+
import eq from "../equal";
|
|
5
|
+
import lt from "./lessThan";
|
|
6
|
+
const lsEq = function (value, extra) {
|
|
7
|
+
return eq(value, extra) || lt(value, extra);
|
|
8
|
+
};
|
|
9
|
+
lsEq.extra = 'input';
|
|
10
|
+
export default lsEq;
|
|
11
|
+
//# sourceMappingURL=lessThanOrEqual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lessThanOrEqual.js","sourceRoot":"","sources":["../../../../../src/plugins/filter/conditions/number/lessThanOrEqual.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,IAAI,GAAkB,UAAU,KAAyB,EAAE,KAA+B;IAC9F,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;AACrB,eAAe,IAAI,CAAC","sourcesContent":["import { LogicFunction, LogicFunctionExtraParam, LogicFunctionParam } from '../../filter.types';\r\nimport eq from '../equal';\r\nimport lt from './lessThan';\r\n\r\nconst lsEq: LogicFunction = function (value: LogicFunctionParam, extra?: LogicFunctionExtraParam) {\r\n return eq(value, extra) || lt(value, extra);\r\n};\r\n\r\nlsEq.extra = 'input';\r\nexport default lsEq;\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../src/plugins/filter/conditions/set.ts"],"names":[],"mappings":"AAEA,MAAM,GAAG,GAAkB,CAAC,KAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,MAAM,GAAkB,CAAC,KAAyB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAChF,eAAe,GAAG,CAAC","sourcesContent":["import { LogicFunction, LogicFunctionParam } from '../filter.types';\r\n\r\nconst set: LogicFunction = (value: LogicFunctionParam) => !(value === '' || value === null || value === void 0);\r\nexport const notSet: LogicFunction = (value: LogicFunctionParam) => !set(value);\r\nexport default set;\r\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by LevelSkill.Pro
|
|
3
|
+
*/
|
|
4
|
+
const beginsWith = (value, extra) => {
|
|
5
|
+
if (!value) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
if (!extra) {
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
if (typeof value !== 'string') {
|
|
12
|
+
value = JSON.stringify(value);
|
|
13
|
+
}
|
|
14
|
+
if (typeof extra !== 'string') {
|
|
15
|
+
extra = JSON.stringify(extra);
|
|
16
|
+
}
|
|
17
|
+
return value.toLocaleLowerCase().indexOf(extra.toLocaleLowerCase()) === 0;
|
|
18
|
+
};
|
|
19
|
+
beginsWith.extra = 'input';
|
|
20
|
+
export default beginsWith;
|
|
21
|
+
//# sourceMappingURL=beginswith.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"beginswith.js","sourceRoot":"","sources":["../../../../../src/plugins/filter/conditions/string/beginswith.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAkB,CAAC,KAAyB,EAAE,KAA+B,EAAE,EAAE;IAC/F,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC;AAC3B,eAAe,UAAU,CAAC","sourcesContent":["import { LogicFunction, LogicFunctionExtraParam, LogicFunctionParam } from '../../filter.types';\r\n\r\nconst beginsWith: LogicFunction = (value: LogicFunctionParam, extra?: LogicFunctionExtraParam) => {\r\n if (!value) {\r\n return false;\r\n }\r\n if (!extra) {\r\n return true;\r\n }\r\n if (typeof value !== 'string') {\r\n value = JSON.stringify(value);\r\n }\r\n if (typeof extra !== 'string') {\r\n extra = JSON.stringify(extra);\r\n }\r\n return value.toLocaleLowerCase().indexOf(extra.toLocaleLowerCase()) === 0;\r\n};\r\n\r\nbeginsWith.extra = 'input';\r\nexport default beginsWith;\r\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by LevelSkill.Pro
|
|
3
|
+
*/
|
|
4
|
+
const contains = (value, extra) => {
|
|
5
|
+
if (!extra) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
if (!value) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
if (extra) {
|
|
12
|
+
if (typeof value !== 'string') {
|
|
13
|
+
value = JSON.stringify(value);
|
|
14
|
+
}
|
|
15
|
+
return value.toLocaleLowerCase().indexOf(extra.toString().toLowerCase()) > -1;
|
|
16
|
+
}
|
|
17
|
+
return true;
|
|
18
|
+
};
|
|
19
|
+
export const notContains = (value, extra) => {
|
|
20
|
+
return !contains(value, extra);
|
|
21
|
+
};
|
|
22
|
+
notContains.extra = 'input';
|
|
23
|
+
contains.extra = 'input';
|
|
24
|
+
export default contains;
|
|
25
|
+
//# sourceMappingURL=contains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contains.js","sourceRoot":"","sources":["../../../../../src/plugins/filter/conditions/string/contains.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAkB,CAAC,KAAyB,EAAE,KAA+B,EAAE,EAAE;IAC7F,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAkB,CAAC,KAAyB,EAAE,KAA+B,EAAE,EAAE;IACvG,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC,CAAC;AACF,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC;AAC5B,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC;AACzB,eAAe,QAAQ,CAAC","sourcesContent":["import { LogicFunction, LogicFunctionExtraParam, LogicFunctionParam } from '../../filter.types';\r\n\r\nconst contains: LogicFunction = (value: LogicFunctionParam, extra?: LogicFunctionExtraParam) => {\r\n if (!extra) {\r\n return true;\r\n }\r\n if (!value) {\r\n return false;\r\n }\r\n if (extra) {\r\n if (typeof value !== 'string') {\r\n value = JSON.stringify(value);\r\n }\r\n return value.toLocaleLowerCase().indexOf(extra.toString().toLowerCase()) > -1;\r\n }\r\n return true;\r\n};\r\n\r\nexport const notContains: LogicFunction = (value: LogicFunctionParam, extra?: LogicFunctionExtraParam) => {\r\n return !contains(value, extra);\r\n};\r\nnotContains.extra = 'input';\r\ncontains.extra = 'input';\r\nexport default contains;\r\n"]}
|