@revolist/revogrid 4.0.11 → 4.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/app-globals-53fde1aa.js.map +1 -1
- package/dist/cjs/base.plugin-32f80cb5.js +219 -0
- package/dist/cjs/base.plugin-32f80cb5.js.map +1 -0
- package/dist/cjs/{column.service-e83d9809.js → column.service-52b4cac9.js} +28 -12
- package/dist/cjs/column.service-52b4cac9.js.map +1 -0
- package/dist/cjs/dimension.helpers-ee39d6c4.js.map +1 -1
- package/dist/cjs/events-b28cc194.js +52 -0
- package/dist/cjs/events-b28cc194.js.map +1 -0
- package/dist/cjs/filter.button-db6cbd2e.js.map +1 -1
- package/dist/cjs/{header-cell-renderer-8ba9b56d.js → header-cell-renderer-a3f202a1.js} +2 -2
- package/dist/cjs/{header-cell-renderer-8ba9b56d.js.map → header-cell-renderer-a3f202a1.js.map} +1 -1
- package/dist/cjs/{index-73c149e3.js → index-a9f1b728.js} +3 -4
- package/dist/cjs/index-a9f1b728.js.map +1 -0
- package/dist/cjs/index.cjs.js +26 -23
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{key.utils-59b9b528.js → key.utils-ee3d9eab.js} +2 -2
- package/dist/cjs/{key.utils-59b9b528.js.map → key.utils-ee3d9eab.js.map} +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +74 -164
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-attribution_6.cjs.entry.js +193 -142
- package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +2 -2
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +9 -9
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/{selection.store-2e110a67.js → selection.helpers-32abb2a9.js} +77 -75
- package/dist/cjs/selection.helpers-32abb2a9.js.map +1 -0
- package/dist/cjs/{throttle-f7aee21b.js → throttle-46478b04.js} +2 -2
- package/dist/cjs/{throttle-f7aee21b.js.map → throttle-46478b04.js.map} +1 -1
- package/dist/cjs/{viewport.helpers-6670177c.js → viewport.store-2ab4e166.js} +186 -1
- package/dist/cjs/viewport.store-2ab4e166.js.map +1 -0
- package/dist/collection/components/clipboard/revogr-clipboard.js +2 -2
- package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
- package/dist/collection/components/data/cell-renderer.js.map +1 -1
- package/dist/collection/components/data/column.service.js +2 -2
- package/dist/collection/components/data/column.service.js.map +1 -1
- package/dist/collection/components/data/revogr-data.js +46 -46
- package/dist/collection/components/data/revogr-data.js.map +1 -1
- package/dist/collection/components/data/row-highlight.plugin.js.map +1 -1
- package/dist/collection/components/editors/edit.utils.js.map +1 -1
- package/dist/collection/components/editors/revogr-edit.js +9 -9
- package/dist/collection/components/editors/revogr-edit.js.map +1 -1
- package/dist/collection/components/editors/text-editor.js.map +1 -1
- package/dist/collection/components/header/header-cell-renderer.js.map +1 -1
- package/dist/collection/components/header/header-renderer.js.map +1 -1
- package/dist/collection/components/header/revogr-header.js +28 -28
- package/dist/collection/components/header/revogr-header.js.map +1 -1
- package/dist/collection/components/order/order-renderer.js.map +1 -1
- package/dist/collection/components/order/order-row.service.js +1 -1
- package/dist/collection/components/order/order-row.service.js.map +1 -1
- package/dist/collection/components/order/revogr-order-editor.js +31 -28
- package/dist/collection/components/order/revogr-order-editor.js.map +1 -1
- package/dist/collection/components/overlay/autofill.service.js +37 -26
- package/dist/collection/components/overlay/autofill.service.js.map +1 -1
- package/dist/collection/components/overlay/keyboard.service.js +8 -8
- package/dist/collection/components/overlay/keyboard.service.js.map +1 -1
- package/dist/collection/components/overlay/revogr-overlay-selection.js +141 -93
- package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
- package/dist/collection/components/overlay/selection.utils.js +37 -9
- package/dist/collection/components/overlay/selection.utils.js.map +1 -1
- package/dist/collection/components/revoGrid/grid.helpers.js.map +1 -1
- package/dist/collection/components/revoGrid/revo-grid-style.css +8 -3
- package/dist/collection/components/revoGrid/revo-grid.js +150 -135
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/components/revoGrid/viewport.helpers.js +22 -8
- package/dist/collection/components/revoGrid/viewport.helpers.js.map +1 -1
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js +4 -2
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -1
- package/dist/collection/components/revoGrid/viewport.service.js +2 -2
- package/dist/collection/components/revoGrid/viewport.service.js.map +1 -1
- package/dist/collection/components/rowHeaders/revogr-row-headers.js +11 -12
- package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -1
- package/dist/collection/components/rowHeaders/row-header-render.js.map +1 -1
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +17 -17
- package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -1
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js +17 -17
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -1
- package/dist/collection/components/selectionFocus/revogr-focus.js +44 -43
- package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -1
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js +12 -12
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -1
- package/dist/collection/components/vnode/vnode.utils.js.map +1 -1
- package/dist/collection/index.js +2 -12
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/plugins/column.auto-size.plugin.js +3 -4
- package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -1
- package/dist/collection/plugins/export/export.plugin.js +1 -1
- package/dist/collection/plugins/export/export.plugin.js.map +1 -1
- package/dist/collection/plugins/export/types.js.map +1 -1
- package/dist/collection/plugins/filter/filter.button.js.map +1 -1
- package/dist/collection/plugins/filter/filter.plugin.js.map +1 -1
- package/dist/collection/plugins/filter/filter.pop.js +4 -4
- package/dist/collection/plugins/filter/filter.pop.js.map +1 -1
- package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +1 -1
- package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +1 -1
- package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js.map +1 -1
- package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +1 -2
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.row.types.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -1
- package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +1 -1
- package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js.map +1 -1
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js +1 -1
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.plugin.js +2 -2
- package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.sign.js.map +1 -1
- package/dist/collection/serve/controller.js +86 -18
- package/dist/collection/services/column.data.provider.js +1 -2
- package/dist/collection/services/column.data.provider.js.map +1 -1
- package/dist/collection/services/data.provider.js +1 -2
- package/dist/collection/services/data.provider.js.map +1 -1
- package/dist/collection/services/dimension.provider.js +3 -5
- package/dist/collection/services/dimension.provider.js.map +1 -1
- package/dist/collection/services/selection.store.connector.js +1 -2
- package/dist/collection/services/selection.store.connector.js.map +1 -1
- package/dist/collection/services/viewport.provider.js +1 -2
- package/dist/collection/services/viewport.provider.js.map +1 -1
- package/dist/collection/store/dataSource/data.proxy.js.map +1 -1
- package/dist/collection/store/dataSource/data.store.js +1 -1
- package/dist/collection/store/dataSource/data.store.js.map +1 -1
- package/dist/collection/store/dataSource/trimmed.plugin.js.map +1 -1
- package/dist/collection/store/dimension/dimension.helpers.js.map +1 -1
- package/dist/collection/store/dimension/dimension.store.js +1 -1
- package/dist/collection/store/dimension/dimension.store.js.map +1 -1
- package/dist/collection/store/{storeTypes.js → index.js} +5 -1
- package/dist/collection/store/index.js.map +1 -0
- package/dist/collection/store/selection/index.js +0 -1
- package/dist/collection/store/selection/index.js.map +1 -1
- package/dist/collection/store/selection/selection.helpers.js.map +1 -1
- package/dist/collection/store/selection/selection.store.js +1 -1
- package/dist/collection/store/selection/selection.store.js.map +1 -1
- package/dist/collection/store/vp/index.js.map +1 -0
- package/dist/collection/store/vp/viewport.helpers.js.map +1 -0
- package/dist/collection/store/{viewport → vp}/viewport.store.js +4 -7
- package/dist/collection/store/vp/viewport.store.js.map +1 -0
- package/dist/collection/types/index.js +11 -0
- package/dist/collection/types/index.js.map +1 -0
- package/dist/collection/types/interfaces.js +4 -0
- package/dist/collection/types/interfaces.js.map +1 -1
- package/dist/collection/types/viewport.interfaces.js.map +1 -1
- package/dist/collection/utils/events.js +11 -1
- package/dist/collection/utils/events.js.map +1 -1
- package/dist/collection/utils/index.js +0 -1
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/collection/utils/row-header-utils.js +2 -2
- package/dist/collection/utils/row-header-utils.js.map +1 -1
- package/dist/collection/utils/store.utils.js.map +1 -1
- package/dist/esm/app-globals-ef1fca59.js.map +1 -1
- package/dist/esm/base.plugin-d0e589d8.js +213 -0
- package/dist/esm/base.plugin-d0e589d8.js.map +1 -0
- package/dist/esm/{column.service-f4922a8d.js → column.service-a826bbd6.js} +27 -11
- package/dist/esm/column.service-a826bbd6.js.map +1 -0
- package/dist/esm/dimension.helpers-a3065cb1.js.map +1 -1
- package/dist/esm/events-77b43b40.js +48 -0
- package/dist/esm/events-77b43b40.js.map +1 -0
- package/dist/esm/filter.button-46ce4f80.js.map +1 -1
- package/dist/esm/{header-cell-renderer-ac962570.js → header-cell-renderer-19738045.js} +2 -2
- package/dist/esm/{header-cell-renderer-ac962570.js.map → header-cell-renderer-19738045.js.map} +1 -1
- package/dist/esm/{index-98fd0168.js → index-5a722722.js} +3 -4
- package/dist/esm/index-5a722722.js.map +1 -0
- package/dist/esm/index.js +4 -4
- package/dist/esm/{key.utils-2836e8ae.js → key.utils-7c5d91dd.js} +2 -2
- package/dist/esm/{key.utils-2836e8ae.js.map → key.utils-7c5d91dd.js.map} +1 -1
- package/dist/esm/revo-grid.entry.js +42 -132
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revogr-attribution_6.entry.js +187 -136
- package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
- package/dist/esm/revogr-clipboard_3.entry.js +2 -2
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/esm/revogr-data_4.entry.js +9 -9
- package/dist/esm/revogr-data_4.entry.js.map +1 -1
- package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
- package/dist/esm/{selection.store-2577ddf9.js → selection.helpers-883ce6bc.js} +77 -75
- package/dist/esm/selection.helpers-883ce6bc.js.map +1 -0
- package/dist/esm/{throttle-cfd527d6.js → throttle-eeca0062.js} +2 -2
- package/dist/esm/{throttle-cfd527d6.js.map → throttle-eeca0062.js.map} +1 -1
- package/dist/esm/{viewport.helpers-6591d423.js → viewport.store-d9e291c5.js} +187 -3
- package/dist/esm/viewport.store-d9e291c5.js.map +1 -0
- package/dist/revo-grid/app-globals-ef1fca59.js.map +1 -1
- package/dist/revo-grid/base.plugin-d0e589d8.js +5 -0
- package/dist/revo-grid/base.plugin-d0e589d8.js.map +1 -0
- package/dist/revo-grid/column.service-a826bbd6.js +5 -0
- package/dist/revo-grid/column.service-a826bbd6.js.map +1 -0
- package/dist/revo-grid/dimension.helpers-a3065cb1.js.map +1 -1
- package/dist/revo-grid/events-77b43b40.js +5 -0
- package/dist/revo-grid/events-77b43b40.js.map +1 -0
- package/dist/revo-grid/filter.button-46ce4f80.js.map +1 -1
- package/dist/revo-grid/{header-cell-renderer-ac962570.js → header-cell-renderer-19738045.js} +2 -2
- package/dist/revo-grid/{header-cell-renderer-ac962570.js.map → header-cell-renderer-19738045.js.map} +1 -1
- package/dist/revo-grid/index-5a722722.js +5 -0
- package/dist/{esm/index-98fd0168.js.map → revo-grid/index-5a722722.js.map} +1 -1
- package/dist/revo-grid/index.esm.js +1 -1
- package/dist/revo-grid/{key.utils-2836e8ae.js → key.utils-7c5d91dd.js} +2 -2
- package/dist/revo-grid/key.utils-7c5d91dd.js.map +1 -0
- package/dist/revo-grid/revo-grid.entry.js +1 -1
- package/dist/revo-grid/revo-grid.entry.js.map +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
- package/dist/revo-grid/revogr-attribution_6.entry.js.map +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
- package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
- package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
- package/dist/revo-grid/selection.helpers-883ce6bc.js +5 -0
- package/dist/revo-grid/selection.helpers-883ce6bc.js.map +1 -0
- package/dist/revo-grid/{throttle-cfd527d6.js → throttle-eeca0062.js} +2 -2
- package/dist/revo-grid/viewport.store-d9e291c5.js +5 -0
- package/dist/revo-grid/viewport.store-d9e291c5.js.map +1 -0
- package/dist/types/components/clipboard/revogr-clipboard.d.ts +1 -1
- package/dist/types/components/data/cell-renderer.d.ts +1 -1
- package/dist/types/components/data/column.service.d.ts +5 -5
- package/dist/types/components/data/revogr-data.d.ts +4 -4
- package/dist/types/components/data/row-highlight.plugin.d.ts +1 -1
- package/dist/types/components/editors/edit.utils.d.ts +1 -1
- package/dist/types/components/editors/revogr-edit.d.ts +2 -2
- package/dist/types/components/editors/text-editor.d.ts +2 -2
- package/dist/types/components/header/header-cell-renderer.d.ts +1 -1
- package/dist/types/components/header/header-renderer.d.ts +2 -2
- package/dist/types/components/header/revogr-header.d.ts +4 -4
- package/dist/types/components/order/order-renderer.d.ts +2 -2
- package/dist/types/components/order/order-row.service.d.ts +1 -2
- package/dist/types/components/order/revogr-order-editor.d.ts +7 -4
- package/dist/types/components/overlay/autofill.service.d.ts +11 -10
- package/dist/types/components/overlay/keyboard.service.d.ts +4 -5
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +42 -19
- package/dist/types/components/overlay/selection.utils.d.ts +13 -6
- package/dist/types/components/revoGrid/grid.helpers.d.ts +1 -1
- package/dist/types/components/revoGrid/revo-grid.d.ts +10 -7
- package/dist/types/components/revoGrid/viewport.helpers.d.ts +14 -5
- package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +1 -3
- package/dist/types/components/revoGrid/viewport.service.d.ts +1 -4
- package/dist/types/components/rowHeaders/revogr-row-headers.d.ts +1 -2
- package/dist/types/components/rowHeaders/row-header-render.d.ts +1 -1
- package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +2 -2
- package/dist/types/components/scrollable/revogr-scroll-virtual.d.ts +2 -2
- package/dist/types/components/selectionFocus/revogr-focus.d.ts +3 -5
- package/dist/types/components/selectionTempRange/revogr-temp-range.d.ts +2 -2
- package/dist/types/components/vnode/vnode.utils.d.ts +1 -1
- package/dist/types/components.d.ts +30 -16
- package/dist/types/index.d.ts +2 -12
- package/dist/types/plugins/export/export.plugin.d.ts +1 -1
- package/dist/types/plugins/export/types.d.ts +1 -1
- package/dist/types/plugins/filter/filter.button.d.ts +1 -1
- package/dist/types/plugins/filter/filter.plugin.d.ts +2 -2
- package/dist/types/plugins/filter/filter.pop.d.ts +1 -1
- package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +3 -4
- package/dist/types/plugins/groupingColumn/grouping.col.plugin.d.ts +3 -3
- package/dist/types/plugins/groupingColumn/headerGroupRenderer.d.ts +2 -2
- package/dist/types/plugins/groupingRow/grouping.row.expand.service.d.ts +1 -1
- package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +2 -2
- package/dist/types/plugins/groupingRow/grouping.row.renderer.d.ts +1 -1
- package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +1 -1
- package/dist/types/plugins/groupingRow/grouping.service.d.ts +1 -1
- package/dist/types/plugins/groupingRow/grouping.trimmed.service.d.ts +1 -1
- package/dist/types/plugins/moveColumn/column.drag.plugin.d.ts +1 -3
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +1 -3
- package/dist/types/plugins/sorting/sorting.sign.d.ts +1 -1
- package/dist/types/services/column.data.provider.d.ts +2 -3
- package/dist/types/services/data.provider.d.ts +2 -5
- package/dist/types/services/dimension.provider.d.ts +2 -4
- package/dist/types/services/selection.store.connector.d.ts +2 -3
- package/dist/types/services/viewport.provider.d.ts +3 -3
- package/dist/types/store/dataSource/data.proxy.d.ts +2 -2
- package/dist/types/store/dataSource/data.store.d.ts +3 -3
- package/dist/types/store/dataSource/trimmed.plugin.d.ts +1 -1
- package/dist/types/store/dimension/dimension.helpers.d.ts +1 -1
- package/dist/types/store/dimension/dimension.store.d.ts +4 -5
- package/dist/types/store/{storeTypes.d.ts → index.d.ts} +5 -1
- package/dist/types/store/selection/index.d.ts +0 -1
- package/dist/types/store/selection/selection.helpers.d.ts +1 -1
- package/dist/types/store/selection/selection.store.d.ts +2 -2
- package/dist/types/store/vp/index.d.ts +7 -0
- package/dist/types/store/{viewport → vp}/viewport.helpers.d.ts +1 -1
- package/dist/types/store/{viewport → vp}/viewport.store.d.ts +3 -7
- package/dist/types/types/index.d.ts +7 -0
- package/dist/types/types/interfaces.d.ts +444 -23
- package/dist/types/types/viewport.interfaces.d.ts +5 -8
- package/dist/types/utils/events.d.ts +4 -1
- package/dist/types/utils/index.d.ts +0 -1
- package/dist/types/utils/row-header-utils.d.ts +1 -1
- package/dist/types/utils/store.utils.d.ts +1 -1
- package/hydrate/index.js +3224 -3126
- package/package.json +7 -8
- package/standalone/_baseIteratee.js +1104 -13
- package/standalone/_baseIteratee.js.map +1 -1
- package/standalone/_nodeUtil.js +260 -0
- package/standalone/_nodeUtil.js.map +1 -0
- package/standalone/column.service.js +78 -74
- package/standalone/column.service.js.map +1 -1
- package/standalone/data.store.js +2 -4
- package/standalone/data.store.js.map +1 -1
- package/standalone/debounce.js +2 -2
- package/standalone/dimension.helpers.js +1 -1
- package/standalone/dimension.helpers.js.map +1 -1
- package/standalone/filter.button.js.map +1 -1
- package/standalone/identity.js +42 -2
- package/standalone/identity.js.map +1 -1
- package/standalone/index.js +5 -7
- package/standalone/index.js.map +1 -1
- package/standalone/index2.js +2 -3
- package/standalone/index2.js.map +1 -1
- package/standalone/isObjectLike.js +1 -34
- package/standalone/isObjectLike.js.map +1 -1
- package/standalone/revo-grid.js +125 -106
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-clipboard2.js.map +1 -1
- package/standalone/revogr-data2.js +3 -0
- package/standalone/revogr-data2.js.map +1 -1
- package/standalone/revogr-edit2.js +1 -1
- package/standalone/revogr-edit2.js.map +1 -1
- package/standalone/revogr-filter-panel.js.map +1 -1
- package/standalone/revogr-focus2.js +7 -3
- package/standalone/revogr-focus2.js.map +1 -1
- package/standalone/revogr-header2.js +5 -4
- package/standalone/revogr-header2.js.map +1 -1
- package/standalone/revogr-order-editor2.js +3 -0
- package/standalone/revogr-order-editor2.js.map +1 -1
- package/standalone/revogr-overlay-selection2.js +143 -143
- package/standalone/revogr-overlay-selection2.js.map +1 -1
- package/standalone/revogr-row-headers2.js +7 -7
- package/standalone/revogr-row-headers2.js.map +1 -1
- package/standalone/revogr-scroll-virtual2.js +1 -1
- package/standalone/revogr-scroll-virtual2.js.map +1 -1
- package/standalone/revogr-temp-range2.js +1 -1
- package/standalone/revogr-temp-range2.js.map +1 -1
- package/standalone/revogr-viewport-scroll2.js +23 -9
- package/standalone/revogr-viewport-scroll2.js.map +1 -1
- package/standalone/selection.utils.js +76 -9
- package/standalone/selection.utils.js.map +1 -1
- package/standalone/throttle.js +1 -1
- package/standalone/toNumber.js +35 -2
- package/standalone/toNumber.js.map +1 -1
- package/dist/cjs/column.service-e83d9809.js.map +0 -1
- package/dist/cjs/events-7ccd6894.js +0 -233
- package/dist/cjs/events-7ccd6894.js.map +0 -1
- package/dist/cjs/index-73c149e3.js.map +0 -1
- package/dist/cjs/selection.store-2e110a67.js.map +0 -1
- package/dist/cjs/storeTypes-b3f924b2.js +0 -106
- package/dist/cjs/storeTypes-b3f924b2.js.map +0 -1
- package/dist/cjs/viewport.helpers-6670177c.js.map +0 -1
- package/dist/collection/store/selection/selection.store.service.js +0 -39
- package/dist/collection/store/selection/selection.store.service.js.map +0 -1
- package/dist/collection/store/storeTypes.js.map +0 -1
- package/dist/collection/store/viewport/index.js.map +0 -1
- package/dist/collection/store/viewport/viewport.helpers.js.map +0 -1
- package/dist/collection/store/viewport/viewport.store.js.map +0 -1
- package/dist/esm/column.service-f4922a8d.js.map +0 -1
- package/dist/esm/events-3dd8ee7c.js +0 -228
- package/dist/esm/events-3dd8ee7c.js.map +0 -1
- package/dist/esm/selection.store-2577ddf9.js.map +0 -1
- package/dist/esm/storeTypes-f2647985.js +0 -101
- package/dist/esm/storeTypes-f2647985.js.map +0 -1
- package/dist/esm/viewport.helpers-6591d423.js.map +0 -1
- package/dist/revo-grid/column.service-f4922a8d.js +0 -5
- package/dist/revo-grid/column.service-f4922a8d.js.map +0 -1
- package/dist/revo-grid/events-3dd8ee7c.js +0 -5
- package/dist/revo-grid/events-3dd8ee7c.js.map +0 -1
- package/dist/revo-grid/index-98fd0168.js +0 -5
- package/dist/revo-grid/index-98fd0168.js.map +0 -1
- package/dist/revo-grid/key.utils-2836e8ae.js.map +0 -1
- package/dist/revo-grid/selection.store-2577ddf9.js +0 -5
- package/dist/revo-grid/selection.store-2577ddf9.js.map +0 -1
- package/dist/revo-grid/storeTypes-f2647985.js +0 -5
- package/dist/revo-grid/storeTypes-f2647985.js.map +0 -1
- package/dist/revo-grid/viewport.helpers-6591d423.js +0 -5
- package/dist/revo-grid/viewport.helpers-6591d423.js.map +0 -1
- package/dist/types/store/selection/selection.store.service.d.ts +0 -17
- package/dist/types/store/viewport/index.d.ts +0 -2
- package/standalone/_stringToPath.js +0 -1389
- package/standalone/_stringToPath.js.map +0 -1
- /package/dist/collection/store/{viewport → vp}/index.js +0 -0
- /package/dist/collection/store/{viewport → vp}/viewport.helpers.js +0 -0
- /package/dist/revo-grid/{throttle-cfd527d6.js.map → throttle-eeca0062.js.map} +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
const n=10;const t=(t,r,u=50)=>(r===null||r===void 0?void 0:r.size)||Math.max((t.toString().length+1)*n,u);function r(n){return!!n.touches}function u(n,t){if(t&&n){if(!(n.target instanceof Element&&n.target.classList.contains(t))){return false}}return true}function e(n,t,e){if(r(n)){if(n.touches.length>0){const r=n.touches[0];if(!u(r,e)){return null}return r[t]||0}return null}return n[t]||0}export{t as c,e as g,u as v};
|
|
5
|
+
//# sourceMappingURL=events-77b43b40.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["LETTER_BLOCK_SIZE","calculateRowHeaderSize","itemsLength","rowHeaderColumn","minWidth","size","Math","max","toString","length","isTouch","e","touches","verifyTouchTarget","touchEvent","focusClass","target","Element","classList","contains","getPropertyFromEvent","prop"],"sources":["src/utils/row-header-utils.ts","src/utils/events.ts"],"sourcesContent":["import { RowHeaders } from '..';\n\nconst LETTER_BLOCK_SIZE = 10;\nexport const calculateRowHeaderSize = (\n itemsLength: number,\n rowHeaderColumn?: RowHeaders,\n minWidth = 50,\n) => {\n return (\n rowHeaderColumn?.size ||\n Math.max((itemsLength.toString().length + 1) * LETTER_BLOCK_SIZE, minWidth)\n );\n};\n","function isTouch(e: MouseEvent | TouchEvent): e is TouchEvent {\n return !!(e as TouchEvent).touches;\n}\n\nexport function verifyTouchTarget(touchEvent?: Touch, focusClass?: string) {\n if (focusClass && touchEvent) {\n if (!(touchEvent.target instanceof Element && touchEvent.target.classList.contains(focusClass))) { \n return false;\n }\n }\n return true;\n}\n\n\n/**\n * Function to get the value of a specific property from a MouseEvent or TouchEvent object.\n */\nexport function getPropertyFromEvent(\n e: MouseEvent | TouchEvent,\n prop: keyof Pick<Touch, 'clientX' | 'clientY' | 'screenX' | 'screenY'>,\n focusClass?: string // for touch events\n): number | null {\n // Check if the event is a touch event\n if (isTouch(e)) {\n // If the event has touches, get the first touch\n if (e.touches.length > 0) {\n const touchEvent = e.touches[0];\n // Check if the target of the touch event is the specified element\n if (!verifyTouchTarget(touchEvent, focusClass)) {\n // If not, return null\n return null;\n }\n // Get the value of the specified property from the touch event and return it\n return (touchEvent[prop] as number) || 0;\n }\n // If there are no touches, return null\n return null;\n }\n // If the event is not a touch event, get the value of the specified property from the event and return it\n return e[prop] || 0;\n}\n"],"mappings":";;;AAEA,MAAMA,EAAoB,G,MACbC,EAAyB,CACpCC,EACAC,EACAC,EAAW,MAGTD,IAAe,MAAfA,SAAe,SAAfA,EAAiBE,OACjBC,KAAKC,KAAKL,EAAYM,WAAWC,OAAS,GAAKT,EAAmBI,GCVtE,SAASM,EAAQC,GACf,QAAUA,EAAiBC,OAC7B,C,SAEgBC,EAAkBC,EAAoBC,GACpD,GAAIA,GAAcD,EAAY,CAC5B,KAAMA,EAAWE,kBAAkBC,SAAWH,EAAWE,OAAOE,UAAUC,SAASJ,IAAc,CAC/F,OAAO,K,EAGX,OAAO,IACT,C,SAMgBK,EACdT,EACAU,EACAN,GAGA,GAAIL,EAAQC,GAAI,CAEd,GAAIA,EAAEC,QAAQH,OAAS,EAAG,CACxB,MAAMK,EAAaH,EAAEC,QAAQ,GAE7B,IAAKC,EAAkBC,EAAYC,GAAa,CAE9C,OAAO,I,CAGT,OAAQD,EAAWO,IAAoB,C,CAGzC,OAAO,I,CAGT,OAAOV,EAAEU,IAAS,CACpB,Q","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FILTER_BUTTON_CLASS","FILTER_BUTTON_ACTIVE","FILTER_PROP","AND_OR_BUTTON","TRASH_BUTTON","FilterButton","column","h","class","viewBox","stroke","fill","d","TrashButton","AndOrButton","isAnd","isFilterBtn","e","classList","contains","closest"],"sources":["src/plugins/filter/filter.button.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { ColumnRegular } from '
|
|
1
|
+
{"version":3,"names":["FILTER_BUTTON_CLASS","FILTER_BUTTON_ACTIVE","FILTER_PROP","AND_OR_BUTTON","TRASH_BUTTON","FilterButton","column","h","class","viewBox","stroke","fill","d","TrashButton","AndOrButton","isAnd","isFilterBtn","e","classList","contains","closest"],"sources":["src/plugins/filter/filter.button.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { ColumnRegular } from '@type';\n\nexport const FILTER_BUTTON_CLASS = 'rv-filter';\nexport const FILTER_BUTTON_ACTIVE = 'active';\nexport const FILTER_PROP = 'hasFilter';\nexport const AND_OR_BUTTON = 'and-or-button';\nexport const TRASH_BUTTON = 'trash-button';\n\ntype Props = {\n column: ColumnRegular;\n};\nexport const FilterButton = ({ column }: Props) => {\n return (\n <span>\n <button\n class={{\n [FILTER_BUTTON_CLASS]: true,\n [FILTER_BUTTON_ACTIVE]: column && !!column[FILTER_PROP],\n }}\n >\n <svg class=\"filter-img\" viewBox=\"0 0 64 64\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M43,48 L43,56 L21,56 L21,48 L43,48 Z M53,28 L53,36 L12,36 L12,28 L53,28 Z M64,8 L64,16 L0,16 L0,8 L64,8 Z\" fill=\"currentColor\"></path>\n </g>\n </svg>\n </button>\n </span>\n );\n};\n\nexport const TrashButton = () => {\n return (\n <div class={{ [TRASH_BUTTON]: true }}>\n <svg class=\"trash-img\" viewBox=\"0 0 24 24\">\n <path fill=\"currentColor\" d=\"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z\" />\n </svg>\n </div>\n );\n};\nexport const AndOrButton = ({ isAnd }: any) => {\n return <button class={{ [AND_OR_BUTTON]: true, 'light revo-button': true }}>{isAnd ? 'and' : 'or'}</button>;\n};\n\nexport function isFilterBtn(e: HTMLElement) {\n if (e.classList.contains(FILTER_BUTTON_CLASS)) {\n return true;\n }\n return e?.closest(`.${FILTER_BUTTON_CLASS}`);\n}\n"],"mappings":";;;wCAGO,MAAMA,EAAsB,YAC5B,MAAMC,EAAuB,S,MACvBC,EAAc,YACpB,MAAMC,EAAgB,gBACtB,MAAMC,EAAe,e,MAKfC,EAAe,EAAGC,YAE3BC,EAAA,YACEA,EAAA,UACEC,MAAO,CACLR,CAACA,GAAsB,KACvBC,CAACA,GAAuBK,KAAYA,EAAOJ,KAG7CK,EAAA,OAAKC,MAAM,aAAaC,QAAQ,aAC9BF,EAAA,KAAGG,OAAO,OAAM,eAAc,IAAIC,KAAK,OAAM,YAAW,WACtDJ,EAAA,QAAMK,EAAE,4GAA4GD,KAAK,qB,MAQxHE,EAAc,IAEvBN,EAAA,OAAKC,MAAO,CAAEJ,CAACA,GAAe,OAC5BG,EAAA,OAAKC,MAAM,YAAYC,QAAQ,aAC7BF,EAAA,QAAMI,KAAK,eAAeC,EAAE,mH,MAKvBE,EAAc,EAAGC,WACrBR,EAAA,UAAQC,MAAO,CAAEL,CAACA,GAAgB,KAAM,oBAAqB,OAASY,EAAQ,MAAQ,M,SAG/EC,EAAYC,GAC1B,GAAIA,EAAEC,UAAUC,SAASnB,GAAsB,CAC7C,OAAO,I,CAET,OAAOiB,IAAC,MAADA,SAAC,SAADA,EAAGG,QAAQ,IAAIpB,IACxB,Q","ignoreList":[]}
|
package/dist/revo-grid/{header-cell-renderer-ac962570.js → header-cell-renderer-19738045.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import{h as t}from"./index-21436631.js";import{d as i}from"./dispatcher-8ea9187d.js";import{m as s}from"./column.service-
|
|
5
|
-
//# sourceMappingURL=header-cell-renderer-
|
|
4
|
+
import{h as t}from"./index-21436631.js";import{d as i}from"./dispatcher-8ea9187d.js";import{m as s}from"./column.service-a826bbd6.js";var e;(function(t){t["start"]="resize:start";t["move"]="resize:move";t["end"]="resize:end"})(e||(e={}));const h={"resizable-r":{bit:1,cursor:"ew-resize"},"resizable-rb":{bit:3,cursor:"se-resize"},"resizable-b":{bit:2,cursor:"s-resize"},"resizable-lb":{bit:6,cursor:"sw-resize"},"resizable-l":{bit:4,cursor:"w-resize"},"resizable-lt":{bit:12,cursor:"nw-resize"},"resizable-t":{bit:8,cursor:"n-resize"},"resizable-rt":{bit:9,cursor:"ne-resize"}};const o={l:1,t:2,w:4,h:8};const n=t=>Object.assign(Object.assign({},t),{fitParent:t.fitParent||false,active:t.active||[],disableAttributes:t.disableAttributes||[],minWidth:t.minWidth||0,minHeight:t.minHeight||0});class r{constructor(t,i){this.initialProps=t;this.$event=i;this.mouseX=0;this.mouseY=0;this.width=0;this.height=0;this.changeX=0;this.changeY=0;this.disableCalcMap=15;this.props=n(t);this.mouseMoveFunc=this.handleMove.bind(this);this.mouseUpFunc=this.handleUp.bind(this);this.minW=this.props.minWidth;this.minH=this.props.minHeight;this.maxW=this.props.maxWidth;this.maxH=this.props.maxHeight;this.parent={width:0,height:0};this.resizeState=0}set(t){this.$el=t;this.props.disableAttributes.forEach((t=>{switch(t){case"l":this.disableCalcMap&=~o.l;break;case"t":this.disableCalcMap&=~o.t;break;case"w":this.disableCalcMap&=~o.w;break;case"h":this.disableCalcMap&=~o.h}}))}emitEvent(t,i){var s;if(!this.$event){return}const e=(s=this.activeResizer)===null||s===void 0?void 0:s.classList.contains("resizable-l");this.$event(Object.assign({eventName:t,width:this.width+this.changeX*(e?-1:1),height:this.height+this.changeY,changedX:this.changeX,changedY:this.changeY},i))}static isTouchEvent(t){var i;const s=t;return((i=s.touches)===null||i===void 0?void 0:i.length)>=0}handleMove(t){var i;if(!this.resizeState){return}let s,n;if(r.isTouchEvent(t)){s=t.touches[0].clientY;n=t.touches[0].clientX}else{s=t.clientY;n=t.clientX}let l=this.resizeState&h["resizable-r"].bit||this.resizeState&h["resizable-l"].bit;let c=this.resizeState&h["resizable-t"].bit||this.resizeState&h["resizable-b"].bit;if(c&&this.disableCalcMap&o.h){let t=s-this.mouseY;let i=this.changeY+t;const e=this.height+i;if(e<this.minH){i=-(this.height-this.minH)}if(this.maxH&&e>this.maxH){i=this.maxH-this.height}this.changeY=i;this.mouseY=s;if(this.activeResizer){this.activeResizer.style.bottom=`${-this.changeY}px`}}if(l&&this.disableCalcMap&o.w){const t=(i=this.activeResizer)===null||i===void 0?void 0:i.classList.contains("resizable-l");let s=n-this.mouseX;let e=this.changeX+s;const h=this.width+e*(t?-1:1);if(h<this.minW){e=-(this.width-this.minW)}if(this.maxW&&h>this.maxW){e=this.maxW-this.width}this.changeX=e;this.mouseX=n;if(this.activeResizer){if(!t){this.activeResizer.style.right=`${-this.changeX}px`}else{this.activeResizer.style.left=`${this.changeX}px`}}}this.emitEvent(e.move)}handleDown(t){if(t.defaultPrevented){return}t.preventDefault();this.dropInitial();for(let i in h){const s=t.target;if(this.$el.contains(s)&&(s===null||s===void 0?void 0:s.classList.contains(i))){document.body.style.cursor=h[i].cursor;if(r.isTouchEvent(t)){this.setInitials(t.touches[0],s)}else{t.preventDefault&&t.preventDefault();this.setInitials(t,s)}this.resizeState=h[i].bit;const o=e.start;this.emitEvent(o);break}}this.bindMove()}handleUp(t){t.preventDefault();if(this.resizeState!==0){this.resizeState=0;document.body.style.cursor="";const t=e.end;this.emitEvent(t)}this.dropInitial();this.unbindMove()}setInitials({clientX:t,clientY:i},s){const e=getComputedStyle(this.$el);this.$el.classList.add("active");this.activeResizer=s;if(this.disableCalcMap&o.w){this.mouseX=t;this.width=this.$el.clientWidth;this.parent.width=this.$el.parentElement.clientWidth;const i=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight);this.minW=Math.max(i,this.initialProps.minWidth||0);if(this.initialProps.maxWidth){this.maxW=Math.max(this.width,this.initialProps.maxWidth)}}if(this.disableCalcMap&o.h){this.mouseY=i;this.height=this.$el.clientHeight;this.parent.height=this.$el.parentElement.clientHeight;const t=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom);this.minH=Math.max(t,this.initialProps.minHeight||0);if(this.initialProps.maxHeight){this.maxH=Math.max(this.height,this.initialProps.maxHeight)}}}dropInitial(){this.changeX=this.changeY=this.minW=this.minH;this.width=this.height=0;if(this.activeResizer){this.activeResizer.removeAttribute("style")}this.$el.classList.remove("active");this.activeResizer=null}bindMove(){document.documentElement.addEventListener("mouseup",this.mouseUpFunc,true);document.documentElement.addEventListener("touchend",this.mouseUpFunc,true);document.documentElement.addEventListener("mousemove",this.mouseMoveFunc,true);document.documentElement.addEventListener("touchmove",this.mouseMoveFunc,true);document.documentElement.addEventListener("mouseleave",this.mouseUpFunc)}unbindMove(){document.documentElement.removeEventListener("mouseup",this.mouseUpFunc,true);document.documentElement.removeEventListener("touchend",this.mouseUpFunc,true);document.documentElement.removeEventListener("mousemove",this.mouseMoveFunc,true);document.documentElement.removeEventListener("touchmove",this.mouseMoveFunc,true);document.documentElement.removeEventListener("mouseleave",this.mouseUpFunc)}}const l=(i,s)=>{const h=[];const o=i.canResize&&new r(i,(t=>{if(t.eventName===e.end){i.onResize&&i.onResize(t)}}))||null;if(i.canResize){if(i.active){for(let s in i.active){h.push(t("div",{onClick:t=>t.preventDefault(),onDblClick:t=>{var s;t.preventDefault();(s=i.onDoubleClick)===null||s===void 0?void 0:s.call(i,t)},onMouseDown:t=>o===null||o===void 0?void 0:o.handleDown(t),onTouchStart:t=>o===null||o===void 0?void 0:o.handleDown(t),class:`resizable resizable-${i.active[s]}`}))}}}else{if(i.active){for(let s in i.active){h.push(t("div",{onClick:t=>t.preventDefault(),onTouchStart:t=>t.preventDefault(),onDblClick:t=>{var s;t.preventDefault();(s=i.onDoubleClick)===null||s===void 0?void 0:s.call(i,t)},class:`no-resize resizable resizable-${i.active[s]}`}))}}}return t("div",Object.assign({},i,{ref:t=>o===null||o===void 0?void 0:o.set(t)}),s,h)};const c="columnclick";const a=({data:e,props:h,additionalData:o},n)=>{let r=(e===null||e===void 0?void 0:e.name)||"";let a=h;if(e===null||e===void 0?void 0:e.columnTemplate){r=e.columnTemplate(t,e,o)}if(e===null||e===void 0?void 0:e.columnProperties){const t=e.columnProperties(e);if(t&&typeof t==="object"){a=s(h,t)}}return t(l,Object.assign({},a,{onMouseDown:t=>{i(t.currentTarget,c,{data:e,event:t})}}),t("div",{class:"header-content"},r),n)};export{a as H,c as O};
|
|
5
|
+
//# sourceMappingURL=header-cell-renderer-19738045.js.map
|
package/dist/revo-grid/{header-cell-renderer-ac962570.js.map → header-cell-renderer-19738045.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ResizeEvents","RESIZE_MASK","bit","cursor","DISABLE_MASK","l","t","w","h","defaultProps","props","Object","assign","fitParent","active","disableAttributes","minWidth","minHeight","ResizeDirective","constructor","initialProps","$event","this","mouseX","mouseY","width","height","changeX","changeY","disableCalcMap","mouseMoveFunc","handleMove","bind","mouseUpFunc","handleUp","minW","minH","maxW","maxWidth","maxH","maxHeight","parent","resizeState","set","$el","forEach","attr","emitEvent","eventName","additionalOptions","isLeft","_a","activeResizer","classList","contains","changedX","changedY","isTouchEvent","e","event","touches","length","eventY","eventX","clientY","clientX","isX","isY","diffY","newHeight","style","bottom","diffX","newWidth","right","left","move","handleDown","defaultPrevented","preventDefault","dropInitial","elClass","target","document","body","setInitials","start","bindMove","end","unbindMove","computedStyle","getComputedStyle","add","clientWidth","parentElement","minPaddingX","parseFloat","paddingLeft","paddingRight","Math","max","clientHeight","minPaddingY","paddingTop","paddingBottom","removeAttribute","remove","documentElement","addEventListener","removeEventListener","ResizableElement","children","resizeEls","directive","canResize","onResize","p","push","onClick","onDblClick","onDoubleClick","call","onMouseDown","onTouchStart","class","ref","ON_COLUMN_CLICK","HeaderCellRenderer","data","additionalData","colTemplate","name","cellProps","columnTemplate","columnProperties","extra","doPropMerge","dispatch","currentTarget"],"sources":["src/services/resizable.directive.tsx","src/services/resizable.element.tsx","src/components/header/header-cell-renderer.tsx"],"sourcesContent":["export type ResizeProps = {\n active: ('r' | 'rb' | 'b' | 'lb' | 'l' | 'lt' | 't' | 'rt')[]; // all\n fitParent: boolean; // false\n minWidth: number; // 0\n minHeight: number; // 0\n\n disableAttributes: ('l' | 't' | 'w' | 'h')[]; // []\n maxWidth?: number;\n maxHeight?: number;\n\n onResize?(e: ResizeEvent): void;\n onDoubleClick?(originalEvent: MouseEvent): void;\n};\n\nexport type ResizeEvent = {\n eventName: string;\n changedX?: number;\n changedY?: number;\n width?: number;\n height?: number;\n};\n\nexport enum ResizeEvents {\n start = 'resize:start',\n move = 'resize:move',\n end = 'resize:end',\n}\n\nconst RESIZE_MASK: { [key: string]: any } = {\n 'resizable-r': { bit: 0b0001, cursor: 'ew-resize' },\n 'resizable-rb': { bit: 0b0011, cursor: 'se-resize' },\n 'resizable-b': { bit: 0b0010, cursor: 's-resize' },\n 'resizable-lb': { bit: 0b0110, cursor: 'sw-resize' },\n 'resizable-l': { bit: 0b0100, cursor: 'w-resize' },\n 'resizable-lt': { bit: 0b1100, cursor: 'nw-resize' },\n 'resizable-t': { bit: 0b1000, cursor: 'n-resize' },\n 'resizable-rt': { bit: 0b1001, cursor: 'ne-resize' },\n};\n\nconst DISABLE_MASK = {\n l: 0b0001,\n t: 0b0010,\n w: 0b0100,\n h: 0b1000,\n};\n\nconst defaultProps = (props: Partial<ResizeProps>): ResizeProps => {\n return {\n ...props,\n fitParent: props.fitParent || false,\n active: props.active || [],\n disableAttributes: props.disableAttributes || [],\n minWidth: props.minWidth || 0,\n minHeight: props.minHeight || 0,\n };\n};\n\nexport class ResizeDirective {\n private $el: HTMLElement;\n private props: ResizeProps;\n private minW: number;\n private minH: number;\n private maxW: number;\n private maxH: number;\n\n private mouseX = 0;\n private mouseY = 0;\n\n private width = 0;\n private height = 0;\n\n private changeX = 0;\n private changeY = 0;\n\n private parent: { width: number; height: number };\n private resizeState: number;\n private activeResizer: HTMLElement | null;\n private disableCalcMap = 0b1111;\n\n private mouseMoveFunc: () => void;\n private mouseUpFunc: () => void;\n\n constructor(\n private initialProps: Partial<ResizeProps>,\n private $event?: (e: ResizeEvent) => void,\n ) {\n this.props = defaultProps(initialProps);\n this.mouseMoveFunc = this.handleMove.bind(this);\n this.mouseUpFunc = this.handleUp.bind(this);\n\n this.minW = this.props.minWidth;\n this.minH = this.props.minHeight;\n this.maxW = this.props.maxWidth;\n this.maxH = this.props.maxHeight;\n this.parent = { width: 0, height: 0 };\n this.resizeState = 0;\n }\n\n set($el: HTMLElement) {\n this.$el = $el;\n this.props.disableAttributes.forEach(attr => {\n switch (attr) {\n case 'l':\n this.disableCalcMap &= ~DISABLE_MASK.l;\n break;\n case 't':\n this.disableCalcMap &= ~DISABLE_MASK.t;\n break;\n case 'w':\n this.disableCalcMap &= ~DISABLE_MASK.w;\n break;\n case 'h':\n this.disableCalcMap &= ~DISABLE_MASK.h;\n }\n });\n }\n emitEvent(eventName: string, additionalOptions?: any) {\n if (!this.$event) {\n return;\n }\n const isLeft = this.activeResizer?.classList.contains('resizable-l');\n this.$event({\n eventName,\n width: this.width + this.changeX * (isLeft ? -1 : 1),\n height: this.height + this.changeY,\n changedX: this.changeX,\n changedY: this.changeY,\n ...additionalOptions,\n });\n }\n\n private static isTouchEvent(e: MouseEvent | TouchEvent): e is TouchEvent {\n const event = e as TouchEvent;\n return event.touches?.length >= 0;\n }\n\n handleMove(event: MouseEvent | TouchEvent) {\n if (!this.resizeState) {\n return;\n }\n let eventY, eventX;\n if (ResizeDirective.isTouchEvent(event)) {\n eventY = event.touches[0].clientY;\n eventX = event.touches[0].clientX;\n } else {\n eventY = event.clientY;\n eventX = event.clientX;\n }\n let isX =\n this.resizeState & RESIZE_MASK['resizable-r'].bit ||\n this.resizeState & RESIZE_MASK['resizable-l'].bit;\n\n let isY =\n this.resizeState & RESIZE_MASK['resizable-t'].bit ||\n this.resizeState & RESIZE_MASK['resizable-b'].bit;\n\n if (isY && this.disableCalcMap & DISABLE_MASK.h) {\n let diffY = eventY - this.mouseY;\n let changedY = this.changeY + diffY;\n const newHeight = this.height + changedY;\n // if overcrossed min height\n if (newHeight < this.minH) {\n changedY = -(this.height - this.minH);\n }\n // if overcrossed max heiht\n if (this.maxH && newHeight > this.maxH) {\n changedY = this.maxH - this.height;\n }\n\n this.changeY = changedY;\n this.mouseY = eventY;\n\n if (this.activeResizer) {\n this.activeResizer.style.bottom = `${-this.changeY}px`;\n }\n }\n if (isX && this.disableCalcMap & DISABLE_MASK.w) {\n const isLeft = this.activeResizer?.classList.contains('resizable-l');\n let diffX = eventX - this.mouseX;\n let changedX = this.changeX + diffX;\n const newWidth = this.width + changedX * (isLeft ? -1 : 1);\n\n // if overcrossed min width\n if (newWidth < this.minW) {\n changedX = -(this.width - this.minW);\n }\n // if overcrossed max width\n if (this.maxW && newWidth > this.maxW) {\n changedX = this.maxW - this.width;\n }\n\n this.changeX = changedX;\n this.mouseX = eventX;\n\n if (this.activeResizer) {\n if (!isLeft) {\n this.activeResizer.style.right = `${-this.changeX}px`;\n } else {\n this.activeResizer.style.left = `${this.changeX}px`;\n }\n }\n }\n this.emitEvent(ResizeEvents.move);\n }\n\n handleDown(event: MouseEvent | TouchEvent) {\n if (event.defaultPrevented) {\n return;\n }\n // stop other events if resize in progress\n event.preventDefault();\n\n this.dropInitial();\n for (let elClass in RESIZE_MASK) {\n const target = event.target as HTMLElement | null;\n if (this.$el.contains(target) && target?.classList.contains(elClass)) {\n document.body.style.cursor = RESIZE_MASK[elClass].cursor;\n if (ResizeDirective.isTouchEvent(event)) {\n this.setInitials(event.touches[0], target);\n } else {\n event.preventDefault && event.preventDefault();\n this.setInitials(event, target);\n }\n this.resizeState = RESIZE_MASK[elClass].bit;\n const eventName = ResizeEvents.start;\n this.emitEvent(eventName);\n break;\n }\n }\n this.bindMove();\n }\n\n handleUp(e: MouseEvent) {\n e.preventDefault();\n if (this.resizeState !== 0) {\n this.resizeState = 0;\n document.body.style.cursor = '';\n const eventName = ResizeEvents.end;\n this.emitEvent(eventName);\n }\n this.dropInitial();\n this.unbindMove();\n }\n\n private setInitials(\n { clientX, clientY }: { clientX: number; clientY: number },\n target?: HTMLElement,\n ) {\n const computedStyle = getComputedStyle(this.$el);\n this.$el.classList.add('active');\n this.activeResizer = target;\n\n if (this.disableCalcMap & DISABLE_MASK.w) {\n this.mouseX = clientX;\n this.width = this.$el.clientWidth;\n this.parent.width = this.$el.parentElement.clientWidth;\n\n // min width\n const minPaddingX =\n parseFloat(computedStyle.paddingLeft) +\n parseFloat(computedStyle.paddingRight);\n this.minW = Math.max(minPaddingX, this.initialProps.minWidth || 0);\n\n // max width\n if (this.initialProps.maxWidth) {\n this.maxW = Math.max(this.width, this.initialProps.maxWidth);\n }\n }\n\n if (this.disableCalcMap & DISABLE_MASK.h) {\n this.mouseY = clientY;\n this.height = this.$el.clientHeight;\n this.parent.height = this.$el.parentElement.clientHeight;\n\n // min height\n const minPaddingY =\n parseFloat(computedStyle.paddingTop) +\n parseFloat(computedStyle.paddingBottom);\n this.minH = Math.max(minPaddingY, this.initialProps.minHeight || 0);\n // max height\n if (this.initialProps.maxHeight) {\n this.maxH = Math.max(this.height, this.initialProps.maxHeight);\n }\n }\n }\n\n private dropInitial() {\n this.changeX = this.changeY = this.minW = this.minH;\n this.width = this.height = 0;\n if (this.activeResizer) {\n this.activeResizer.removeAttribute('style');\n }\n this.$el.classList.remove('active');\n this.activeResizer = null;\n }\n\n private bindMove() {\n document.documentElement.addEventListener(\n 'mouseup',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'touchend',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'mousemove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'touchmove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.addEventListener('mouseleave', this.mouseUpFunc);\n }\n\n private unbindMove() {\n document.documentElement.removeEventListener(\n 'mouseup',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'touchend',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'mousemove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'touchmove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'mouseleave',\n this.mouseUpFunc,\n );\n }\n}\n","import { h, VNode } from '@stencil/core';\nimport { ResizeProps, ResizeDirective, ResizeEvents } from './resizable.directive';\nimport { CellProps } from '../types/interfaces';\n\nexport const ResizableElement = (props: Partial<ResizeProps> & CellProps, children: VNode[]) => {\n const resizeEls: VNode[] = [];\n const directive =\n (props.canResize &&\n new ResizeDirective(props, e => {\n if (e.eventName === ResizeEvents.end) {\n props.onResize && props.onResize(e);\n }\n })) ||\n null;\n if (props.canResize) {\n if (props.active) {\n for (let p in props.active) {\n resizeEls.push(\n <div\n onClick={e => e.preventDefault()}\n onDblClick={e => {\n e.preventDefault();\n props.onDoubleClick?.(e);\n }}\n onMouseDown={(e: MouseEvent) => directive?.handleDown(e)}\n onTouchStart={(e: TouchEvent) => directive?.handleDown(e)}\n class={`resizable resizable-${props.active[p]}`}\n />,\n );\n }\n }\n } else {\n if (props.active) {\n for (let p in props.active) {\n resizeEls.push(\n <div\n onClick={e => e.preventDefault()}\n onTouchStart={(e: TouchEvent) => e.preventDefault()}\n onDblClick={e => {\n e.preventDefault();\n props.onDoubleClick?.(e);\n }}\n class={`no-resize resizable resizable-${props.active[p]}`}\n />,\n );\n }\n }\n }\n return (\n <div {...props} ref={(e: HTMLElement) => directive?.set(e)}>\n {children}\n {resizeEls}\n </div>\n );\n};\n","import { h, VNode } from '@stencil/core';\nimport { dispatch } from '../../plugins/dispatcher';\nimport { doPropMerge } from '../data/column.service';\nimport { ResizableElement } from '../../services/resizable.element';\nimport { ResizeProps } from '../../services/resizable.directive';\nimport { CellProps, ColumnTemplateProp } from '../../types/interfaces';\n\ntype Props = {\n props: CellProps & Partial<ResizeProps>;\n additionalData: any;\n data?: ColumnTemplateProp;\n};\n\nexport const ON_COLUMN_CLICK = 'columnclick';\n\nexport const HeaderCellRenderer = ({ data, props, additionalData }: Props, children: VNode[]): VNode => {\n let colTemplate: VNode | VNode[] | string = data?.name || '';\n let cellProps = props;\n if (data?.columnTemplate) {\n colTemplate = data.columnTemplate(h, data, additionalData);\n }\n if (data?.columnProperties) {\n const extra = data.columnProperties(data);\n if (extra && typeof extra === 'object') {\n cellProps = doPropMerge(props, extra);\n }\n }\n return (\n <ResizableElement {...cellProps} onMouseDown={(e: MouseEvent) => {\n dispatch(e.currentTarget as HTMLElement, ON_COLUMN_CLICK, {\n data,\n event: e,\n });\n }}>\n <div class=\"header-content\">{colTemplate}</div>\n {children}\n </ResizableElement>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ResizeEvents","RESIZE_MASK","bit","cursor","DISABLE_MASK","l","t","w","h","defaultProps","props","Object","assign","fitParent","active","disableAttributes","minWidth","minHeight","ResizeDirective","constructor","initialProps","$event","this","mouseX","mouseY","width","height","changeX","changeY","disableCalcMap","mouseMoveFunc","handleMove","bind","mouseUpFunc","handleUp","minW","minH","maxW","maxWidth","maxH","maxHeight","parent","resizeState","set","$el","forEach","attr","emitEvent","eventName","additionalOptions","isLeft","_a","activeResizer","classList","contains","changedX","changedY","isTouchEvent","e","event","touches","length","eventY","eventX","clientY","clientX","isX","isY","diffY","newHeight","style","bottom","diffX","newWidth","right","left","move","handleDown","defaultPrevented","preventDefault","dropInitial","elClass","target","document","body","setInitials","start","bindMove","end","unbindMove","computedStyle","getComputedStyle","add","clientWidth","parentElement","minPaddingX","parseFloat","paddingLeft","paddingRight","Math","max","clientHeight","minPaddingY","paddingTop","paddingBottom","removeAttribute","remove","documentElement","addEventListener","removeEventListener","ResizableElement","children","resizeEls","directive","canResize","onResize","p","push","onClick","onDblClick","onDoubleClick","call","onMouseDown","onTouchStart","class","ref","ON_COLUMN_CLICK","HeaderCellRenderer","data","additionalData","colTemplate","name","cellProps","columnTemplate","columnProperties","extra","doPropMerge","dispatch","currentTarget"],"sources":["src/services/resizable.directive.tsx","src/services/resizable.element.tsx","src/components/header/header-cell-renderer.tsx"],"sourcesContent":["export type ResizeProps = {\n active: ('r' | 'rb' | 'b' | 'lb' | 'l' | 'lt' | 't' | 'rt')[]; // all\n fitParent: boolean; // false\n minWidth: number; // 0\n minHeight: number; // 0\n\n disableAttributes: ('l' | 't' | 'w' | 'h')[]; // []\n maxWidth?: number;\n maxHeight?: number;\n\n onResize?(e: ResizeEvent): void;\n onDoubleClick?(originalEvent: MouseEvent): void;\n};\n\nexport type ResizeEvent = {\n eventName: string;\n changedX?: number;\n changedY?: number;\n width?: number;\n height?: number;\n};\n\nexport enum ResizeEvents {\n start = 'resize:start',\n move = 'resize:move',\n end = 'resize:end',\n}\n\nconst RESIZE_MASK: { [key: string]: any } = {\n 'resizable-r': { bit: 0b0001, cursor: 'ew-resize' },\n 'resizable-rb': { bit: 0b0011, cursor: 'se-resize' },\n 'resizable-b': { bit: 0b0010, cursor: 's-resize' },\n 'resizable-lb': { bit: 0b0110, cursor: 'sw-resize' },\n 'resizable-l': { bit: 0b0100, cursor: 'w-resize' },\n 'resizable-lt': { bit: 0b1100, cursor: 'nw-resize' },\n 'resizable-t': { bit: 0b1000, cursor: 'n-resize' },\n 'resizable-rt': { bit: 0b1001, cursor: 'ne-resize' },\n};\n\nconst DISABLE_MASK = {\n l: 0b0001,\n t: 0b0010,\n w: 0b0100,\n h: 0b1000,\n};\n\nconst defaultProps = (props: Partial<ResizeProps>): ResizeProps => {\n return {\n ...props,\n fitParent: props.fitParent || false,\n active: props.active || [],\n disableAttributes: props.disableAttributes || [],\n minWidth: props.minWidth || 0,\n minHeight: props.minHeight || 0,\n };\n};\n\nexport class ResizeDirective {\n private $el: HTMLElement;\n private props: ResizeProps;\n private minW: number;\n private minH: number;\n private maxW: number;\n private maxH: number;\n\n private mouseX = 0;\n private mouseY = 0;\n\n private width = 0;\n private height = 0;\n\n private changeX = 0;\n private changeY = 0;\n\n private parent: { width: number; height: number };\n private resizeState: number;\n private activeResizer: HTMLElement | null;\n private disableCalcMap = 0b1111;\n\n private mouseMoveFunc: () => void;\n private mouseUpFunc: () => void;\n\n constructor(\n private initialProps: Partial<ResizeProps>,\n private $event?: (e: ResizeEvent) => void,\n ) {\n this.props = defaultProps(initialProps);\n this.mouseMoveFunc = this.handleMove.bind(this);\n this.mouseUpFunc = this.handleUp.bind(this);\n\n this.minW = this.props.minWidth;\n this.minH = this.props.minHeight;\n this.maxW = this.props.maxWidth;\n this.maxH = this.props.maxHeight;\n this.parent = { width: 0, height: 0 };\n this.resizeState = 0;\n }\n\n set($el: HTMLElement) {\n this.$el = $el;\n this.props.disableAttributes.forEach(attr => {\n switch (attr) {\n case 'l':\n this.disableCalcMap &= ~DISABLE_MASK.l;\n break;\n case 't':\n this.disableCalcMap &= ~DISABLE_MASK.t;\n break;\n case 'w':\n this.disableCalcMap &= ~DISABLE_MASK.w;\n break;\n case 'h':\n this.disableCalcMap &= ~DISABLE_MASK.h;\n }\n });\n }\n emitEvent(eventName: string, additionalOptions?: any) {\n if (!this.$event) {\n return;\n }\n const isLeft = this.activeResizer?.classList.contains('resizable-l');\n this.$event({\n eventName,\n width: this.width + this.changeX * (isLeft ? -1 : 1),\n height: this.height + this.changeY,\n changedX: this.changeX,\n changedY: this.changeY,\n ...additionalOptions,\n });\n }\n\n private static isTouchEvent(e: MouseEvent | TouchEvent): e is TouchEvent {\n const event = e as TouchEvent;\n return event.touches?.length >= 0;\n }\n\n handleMove(event: MouseEvent | TouchEvent) {\n if (!this.resizeState) {\n return;\n }\n let eventY, eventX;\n if (ResizeDirective.isTouchEvent(event)) {\n eventY = event.touches[0].clientY;\n eventX = event.touches[0].clientX;\n } else {\n eventY = event.clientY;\n eventX = event.clientX;\n }\n let isX =\n this.resizeState & RESIZE_MASK['resizable-r'].bit ||\n this.resizeState & RESIZE_MASK['resizable-l'].bit;\n\n let isY =\n this.resizeState & RESIZE_MASK['resizable-t'].bit ||\n this.resizeState & RESIZE_MASK['resizable-b'].bit;\n\n if (isY && this.disableCalcMap & DISABLE_MASK.h) {\n let diffY = eventY - this.mouseY;\n let changedY = this.changeY + diffY;\n const newHeight = this.height + changedY;\n // if overcrossed min height\n if (newHeight < this.minH) {\n changedY = -(this.height - this.minH);\n }\n // if overcrossed max heiht\n if (this.maxH && newHeight > this.maxH) {\n changedY = this.maxH - this.height;\n }\n\n this.changeY = changedY;\n this.mouseY = eventY;\n\n if (this.activeResizer) {\n this.activeResizer.style.bottom = `${-this.changeY}px`;\n }\n }\n if (isX && this.disableCalcMap & DISABLE_MASK.w) {\n const isLeft = this.activeResizer?.classList.contains('resizable-l');\n let diffX = eventX - this.mouseX;\n let changedX = this.changeX + diffX;\n const newWidth = this.width + changedX * (isLeft ? -1 : 1);\n\n // if overcrossed min width\n if (newWidth < this.minW) {\n changedX = -(this.width - this.minW);\n }\n // if overcrossed max width\n if (this.maxW && newWidth > this.maxW) {\n changedX = this.maxW - this.width;\n }\n\n this.changeX = changedX;\n this.mouseX = eventX;\n\n if (this.activeResizer) {\n if (!isLeft) {\n this.activeResizer.style.right = `${-this.changeX}px`;\n } else {\n this.activeResizer.style.left = `${this.changeX}px`;\n }\n }\n }\n this.emitEvent(ResizeEvents.move);\n }\n\n handleDown(event: MouseEvent | TouchEvent) {\n if (event.defaultPrevented) {\n return;\n }\n // stop other events if resize in progress\n event.preventDefault();\n\n this.dropInitial();\n for (let elClass in RESIZE_MASK) {\n const target = event.target as HTMLElement | null;\n if (this.$el.contains(target) && target?.classList.contains(elClass)) {\n document.body.style.cursor = RESIZE_MASK[elClass].cursor;\n if (ResizeDirective.isTouchEvent(event)) {\n this.setInitials(event.touches[0], target);\n } else {\n event.preventDefault && event.preventDefault();\n this.setInitials(event, target);\n }\n this.resizeState = RESIZE_MASK[elClass].bit;\n const eventName = ResizeEvents.start;\n this.emitEvent(eventName);\n break;\n }\n }\n this.bindMove();\n }\n\n handleUp(e: MouseEvent) {\n e.preventDefault();\n if (this.resizeState !== 0) {\n this.resizeState = 0;\n document.body.style.cursor = '';\n const eventName = ResizeEvents.end;\n this.emitEvent(eventName);\n }\n this.dropInitial();\n this.unbindMove();\n }\n\n private setInitials(\n { clientX, clientY }: { clientX: number; clientY: number },\n target?: HTMLElement,\n ) {\n const computedStyle = getComputedStyle(this.$el);\n this.$el.classList.add('active');\n this.activeResizer = target;\n\n if (this.disableCalcMap & DISABLE_MASK.w) {\n this.mouseX = clientX;\n this.width = this.$el.clientWidth;\n this.parent.width = this.$el.parentElement.clientWidth;\n\n // min width\n const minPaddingX =\n parseFloat(computedStyle.paddingLeft) +\n parseFloat(computedStyle.paddingRight);\n this.minW = Math.max(minPaddingX, this.initialProps.minWidth || 0);\n\n // max width\n if (this.initialProps.maxWidth) {\n this.maxW = Math.max(this.width, this.initialProps.maxWidth);\n }\n }\n\n if (this.disableCalcMap & DISABLE_MASK.h) {\n this.mouseY = clientY;\n this.height = this.$el.clientHeight;\n this.parent.height = this.$el.parentElement.clientHeight;\n\n // min height\n const minPaddingY =\n parseFloat(computedStyle.paddingTop) +\n parseFloat(computedStyle.paddingBottom);\n this.minH = Math.max(minPaddingY, this.initialProps.minHeight || 0);\n // max height\n if (this.initialProps.maxHeight) {\n this.maxH = Math.max(this.height, this.initialProps.maxHeight);\n }\n }\n }\n\n private dropInitial() {\n this.changeX = this.changeY = this.minW = this.minH;\n this.width = this.height = 0;\n if (this.activeResizer) {\n this.activeResizer.removeAttribute('style');\n }\n this.$el.classList.remove('active');\n this.activeResizer = null;\n }\n\n private bindMove() {\n document.documentElement.addEventListener(\n 'mouseup',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'touchend',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'mousemove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'touchmove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.addEventListener('mouseleave', this.mouseUpFunc);\n }\n\n private unbindMove() {\n document.documentElement.removeEventListener(\n 'mouseup',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'touchend',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'mousemove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'touchmove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'mouseleave',\n this.mouseUpFunc,\n );\n }\n}\n","import { h, VNode } from '@stencil/core';\nimport { ResizeProps, ResizeDirective, ResizeEvents } from './resizable.directive';\nimport { CellProps } from '../types/interfaces';\n\nexport const ResizableElement = (props: Partial<ResizeProps> & CellProps, children: VNode[]) => {\n const resizeEls: VNode[] = [];\n const directive =\n (props.canResize &&\n new ResizeDirective(props, e => {\n if (e.eventName === ResizeEvents.end) {\n props.onResize && props.onResize(e);\n }\n })) ||\n null;\n if (props.canResize) {\n if (props.active) {\n for (let p in props.active) {\n resizeEls.push(\n <div\n onClick={e => e.preventDefault()}\n onDblClick={e => {\n e.preventDefault();\n props.onDoubleClick?.(e);\n }}\n onMouseDown={(e: MouseEvent) => directive?.handleDown(e)}\n onTouchStart={(e: TouchEvent) => directive?.handleDown(e)}\n class={`resizable resizable-${props.active[p]}`}\n />,\n );\n }\n }\n } else {\n if (props.active) {\n for (let p in props.active) {\n resizeEls.push(\n <div\n onClick={e => e.preventDefault()}\n onTouchStart={(e: TouchEvent) => e.preventDefault()}\n onDblClick={e => {\n e.preventDefault();\n props.onDoubleClick?.(e);\n }}\n class={`no-resize resizable resizable-${props.active[p]}`}\n />,\n );\n }\n }\n }\n return (\n <div {...props} ref={(e: HTMLElement) => directive?.set(e)}>\n {children}\n {resizeEls}\n </div>\n );\n};\n","import { h, VNode } from '@stencil/core';\nimport { dispatch } from '../../plugins/dispatcher';\nimport { doPropMerge } from '../data/column.service';\nimport { ResizableElement } from '../../services/resizable.element';\nimport { ResizeProps } from '../../services/resizable.directive';\nimport { CellProps, ColumnTemplateProp } from '@type';\n\ntype Props = {\n props: CellProps & Partial<ResizeProps>;\n additionalData: any;\n data?: ColumnTemplateProp;\n};\n\nexport const ON_COLUMN_CLICK = 'columnclick';\n\nexport const HeaderCellRenderer = ({ data, props, additionalData }: Props, children: VNode[]): VNode => {\n let colTemplate: VNode | VNode[] | string = data?.name || '';\n let cellProps = props;\n if (data?.columnTemplate) {\n colTemplate = data.columnTemplate(h, data, additionalData);\n }\n if (data?.columnProperties) {\n const extra = data.columnProperties(data);\n if (extra && typeof extra === 'object') {\n cellProps = doPropMerge(props, extra);\n }\n }\n return (\n <ResizableElement {...cellProps} onMouseDown={(e: MouseEvent) => {\n dispatch(e.currentTarget as HTMLElement, ON_COLUMN_CLICK, {\n data,\n event: e,\n });\n }}>\n <div class=\"header-content\">{colTemplate}</div>\n {children}\n </ResizableElement>\n );\n};\n"],"mappings":";;;sIAsBA,IAAYA,GAAZ,SAAYA,GACVA,EAAA,wBACAA,EAAA,sBACAA,EAAA,mBACD,EAJD,CAAYA,MAAY,KAMxB,MAAMC,EAAsC,CAC1C,cAAe,CAAEC,IAAK,EAAQC,OAAQ,aACtC,eAAgB,CAAED,IAAK,EAAQC,OAAQ,aACvC,cAAe,CAAED,IAAK,EAAQC,OAAQ,YACtC,eAAgB,CAAED,IAAK,EAAQC,OAAQ,aACvC,cAAe,CAAED,IAAK,EAAQC,OAAQ,YACtC,eAAgB,CAAED,IAAK,GAAQC,OAAQ,aACvC,cAAe,CAAED,IAAK,EAAQC,OAAQ,YACtC,eAAgB,CAAED,IAAK,EAAQC,OAAQ,cAGzC,MAAMC,EAAe,CACnBC,EAAG,EACHC,EAAG,EACHC,EAAG,EACHC,EAAG,GAGL,MAAMC,EAAgBC,GACpBC,OAAAC,OAAAD,OAAAC,OAAA,GACKF,GAAK,CACRG,UAAWH,EAAMG,WAAa,MAC9BC,OAAQJ,EAAMI,QAAU,GACxBC,kBAAmBL,EAAMK,mBAAqB,GAC9CC,SAAUN,EAAMM,UAAY,EAC5BC,UAAWP,EAAMO,WAAa,I,MAIrBC,EAyBX,WAAAC,CACUC,EACAC,GADAC,KAAAF,eACAE,KAAAD,SAnBFC,KAAAC,OAAS,EACTD,KAAAE,OAAS,EAETF,KAAAG,MAAQ,EACRH,KAAAI,OAAS,EAETJ,KAAAK,QAAU,EACVL,KAAAM,QAAU,EAKVN,KAAAO,eAAiB,GASvBP,KAAKZ,MAAQD,EAAaW,GAC1BE,KAAKQ,cAAgBR,KAAKS,WAAWC,KAAKV,MAC1CA,KAAKW,YAAcX,KAAKY,SAASF,KAAKV,MAEtCA,KAAKa,KAAOb,KAAKZ,MAAMM,SACvBM,KAAKc,KAAOd,KAAKZ,MAAMO,UACvBK,KAAKe,KAAOf,KAAKZ,MAAM4B,SACvBhB,KAAKiB,KAAOjB,KAAKZ,MAAM8B,UACvBlB,KAAKmB,OAAS,CAAEhB,MAAO,EAAGC,OAAQ,GAClCJ,KAAKoB,YAAc,C,CAGrB,GAAAC,CAAIC,GACFtB,KAAKsB,IAAMA,EACXtB,KAAKZ,MAAMK,kBAAkB8B,SAAQC,IACnC,OAAQA,GACN,IAAK,IACHxB,KAAKO,iBAAmBzB,EAAaC,EACrC,MACF,IAAK,IACHiB,KAAKO,iBAAmBzB,EAAaE,EACrC,MACF,IAAK,IACHgB,KAAKO,iBAAmBzB,EAAaG,EACrC,MACF,IAAK,IACHe,KAAKO,iBAAmBzB,EAAaI,E,IAI7C,SAAAuC,CAAUC,EAAmBC,G,MAC3B,IAAK3B,KAAKD,OAAQ,CAChB,M,CAEF,MAAM6B,GAASC,EAAA7B,KAAK8B,iBAAa,MAAAD,SAAA,SAAAA,EAAEE,UAAUC,SAAS,eACtDhC,KAAKD,OAAMV,OAAAC,OAAA,CACToC,YACAvB,MAAOH,KAAKG,MAAQH,KAAKK,SAAWuB,GAAU,EAAI,GAClDxB,OAAQJ,KAAKI,OAASJ,KAAKM,QAC3B2B,SAAUjC,KAAKK,QACf6B,SAAUlC,KAAKM,SACZqB,G,CAIC,mBAAOQ,CAAaC,G,MAC1B,MAAMC,EAAQD,EACd,QAAOP,EAAAQ,EAAMC,WAAO,MAAAT,SAAA,SAAAA,EAAEU,SAAU,C,CAGlC,UAAA9B,CAAW4B,G,MACT,IAAKrC,KAAKoB,YAAa,CACrB,M,CAEF,IAAIoB,EAAQC,EACZ,GAAI7C,EAAgBuC,aAAaE,GAAQ,CACvCG,EAASH,EAAMC,QAAQ,GAAGI,QAC1BD,EAASJ,EAAMC,QAAQ,GAAGK,O,KACrB,CACLH,EAASH,EAAMK,QACfD,EAASJ,EAAMM,O,CAEjB,IAAIC,EACF5C,KAAKoB,YAAczC,EAAY,eAAeC,KAC9CoB,KAAKoB,YAAczC,EAAY,eAAeC,IAEhD,IAAIiE,EACF7C,KAAKoB,YAAczC,EAAY,eAAeC,KAC9CoB,KAAKoB,YAAczC,EAAY,eAAeC,IAEhD,GAAIiE,GAAO7C,KAAKO,eAAiBzB,EAAaI,EAAG,CAC/C,IAAI4D,EAAQN,EAASxC,KAAKE,OAC1B,IAAIgC,EAAWlC,KAAKM,QAAUwC,EAC9B,MAAMC,EAAY/C,KAAKI,OAAS8B,EAEhC,GAAIa,EAAY/C,KAAKc,KAAM,CACzBoB,IAAalC,KAAKI,OAASJ,KAAKc,K,CAGlC,GAAId,KAAKiB,MAAQ8B,EAAY/C,KAAKiB,KAAM,CACtCiB,EAAWlC,KAAKiB,KAAOjB,KAAKI,M,CAG9BJ,KAAKM,QAAU4B,EACflC,KAAKE,OAASsC,EAEd,GAAIxC,KAAK8B,cAAe,CACtB9B,KAAK8B,cAAckB,MAAMC,OAAS,IAAIjD,KAAKM,W,EAG/C,GAAIsC,GAAO5C,KAAKO,eAAiBzB,EAAaG,EAAG,CAC/C,MAAM2C,GAASC,EAAA7B,KAAK8B,iBAAa,MAAAD,SAAA,SAAAA,EAAEE,UAAUC,SAAS,eACtD,IAAIkB,EAAQT,EAASzC,KAAKC,OAC1B,IAAIgC,EAAWjC,KAAKK,QAAU6C,EAC9B,MAAMC,EAAWnD,KAAKG,MAAQ8B,GAAYL,GAAU,EAAI,GAGxD,GAAIuB,EAAWnD,KAAKa,KAAM,CACxBoB,IAAajC,KAAKG,MAAQH,KAAKa,K,CAGjC,GAAIb,KAAKe,MAAQoC,EAAWnD,KAAKe,KAAM,CACrCkB,EAAWjC,KAAKe,KAAOf,KAAKG,K,CAG9BH,KAAKK,QAAU4B,EACfjC,KAAKC,OAASwC,EAEd,GAAIzC,KAAK8B,cAAe,CACtB,IAAKF,EAAQ,CACX5B,KAAK8B,cAAckB,MAAMI,MAAQ,IAAIpD,KAAKK,W,KACrC,CACLL,KAAK8B,cAAckB,MAAMK,KAAO,GAAGrD,KAAKK,W,GAI9CL,KAAKyB,UAAU/C,EAAa4E,K,CAG9B,UAAAC,CAAWlB,GACT,GAAIA,EAAMmB,iBAAkB,CAC1B,M,CAGFnB,EAAMoB,iBAENzD,KAAK0D,cACL,IAAK,IAAIC,KAAWhF,EAAa,CAC/B,MAAMiF,EAASvB,EAAMuB,OACrB,GAAI5D,KAAKsB,IAAIU,SAAS4B,KAAWA,IAAM,MAANA,SAAM,SAANA,EAAQ7B,UAAUC,SAAS2B,IAAU,CACpEE,SAASC,KAAKd,MAAMnE,OAASF,EAAYgF,GAAS9E,OAClD,GAAIe,EAAgBuC,aAAaE,GAAQ,CACvCrC,KAAK+D,YAAY1B,EAAMC,QAAQ,GAAIsB,E,KAC9B,CACLvB,EAAMoB,gBAAkBpB,EAAMoB,iBAC9BzD,KAAK+D,YAAY1B,EAAOuB,E,CAE1B5D,KAAKoB,YAAczC,EAAYgF,GAAS/E,IACxC,MAAM8C,EAAYhD,EAAasF,MAC/BhE,KAAKyB,UAAUC,GACf,K,EAGJ1B,KAAKiE,U,CAGP,QAAArD,CAASwB,GACPA,EAAEqB,iBACF,GAAIzD,KAAKoB,cAAgB,EAAG,CAC1BpB,KAAKoB,YAAc,EACnByC,SAASC,KAAKd,MAAMnE,OAAS,GAC7B,MAAM6C,EAAYhD,EAAawF,IAC/BlE,KAAKyB,UAAUC,E,CAEjB1B,KAAK0D,cACL1D,KAAKmE,Y,CAGC,WAAAJ,EACNpB,QAAEA,EAAOD,QAAEA,GACXkB,GAEA,MAAMQ,EAAgBC,iBAAiBrE,KAAKsB,KAC5CtB,KAAKsB,IAAIS,UAAUuC,IAAI,UACvBtE,KAAK8B,cAAgB8B,EAErB,GAAI5D,KAAKO,eAAiBzB,EAAaG,EAAG,CACxCe,KAAKC,OAAS0C,EACd3C,KAAKG,MAAQH,KAAKsB,IAAIiD,YACtBvE,KAAKmB,OAAOhB,MAAQH,KAAKsB,IAAIkD,cAAcD,YAG3C,MAAME,EACJC,WAAWN,EAAcO,aACzBD,WAAWN,EAAcQ,cAC3B5E,KAAKa,KAAOgE,KAAKC,IAAIL,EAAazE,KAAKF,aAAaJ,UAAY,GAGhE,GAAIM,KAAKF,aAAakB,SAAU,CAC9BhB,KAAKe,KAAO8D,KAAKC,IAAI9E,KAAKG,MAAOH,KAAKF,aAAakB,S,EAIvD,GAAIhB,KAAKO,eAAiBzB,EAAaI,EAAG,CACxCc,KAAKE,OAASwC,EACd1C,KAAKI,OAASJ,KAAKsB,IAAIyD,aACvB/E,KAAKmB,OAAOf,OAASJ,KAAKsB,IAAIkD,cAAcO,aAG5C,MAAMC,EACJN,WAAWN,EAAca,YACzBP,WAAWN,EAAcc,eAC3BlF,KAAKc,KAAO+D,KAAKC,IAAIE,EAAahF,KAAKF,aAAaH,WAAa,GAEjE,GAAIK,KAAKF,aAAaoB,UAAW,CAC/BlB,KAAKiB,KAAO4D,KAAKC,IAAI9E,KAAKI,OAAQJ,KAAKF,aAAaoB,U,GAKlD,WAAAwC,GACN1D,KAAKK,QAAUL,KAAKM,QAAUN,KAAKa,KAAOb,KAAKc,KAC/Cd,KAAKG,MAAQH,KAAKI,OAAS,EAC3B,GAAIJ,KAAK8B,cAAe,CACtB9B,KAAK8B,cAAcqD,gBAAgB,Q,CAErCnF,KAAKsB,IAAIS,UAAUqD,OAAO,UAC1BpF,KAAK8B,cAAgB,I,CAGf,QAAAmC,GACNJ,SAASwB,gBAAgBC,iBACvB,UACAtF,KAAKW,YACL,MAEFkD,SAASwB,gBAAgBC,iBACvB,WACAtF,KAAKW,YACL,MAEFkD,SAASwB,gBAAgBC,iBACvB,YACAtF,KAAKQ,cACL,MAEFqD,SAASwB,gBAAgBC,iBACvB,YACAtF,KAAKQ,cACL,MAEFqD,SAASwB,gBAAgBC,iBAAiB,aAActF,KAAKW,Y,CAGvD,UAAAwD,GACNN,SAASwB,gBAAgBE,oBACvB,UACAvF,KAAKW,YACL,MAEFkD,SAASwB,gBAAgBE,oBACvB,WACAvF,KAAKW,YACL,MAEFkD,SAASwB,gBAAgBE,oBACvB,YACAvF,KAAKQ,cACL,MAEFqD,SAASwB,gBAAgBE,oBACvB,YACAvF,KAAKQ,cACL,MAEFqD,SAASwB,gBAAgBE,oBACvB,aACAvF,KAAKW,Y,ECnVJ,MAAM6E,EAAmB,CAACpG,EAAyCqG,KACxE,MAAMC,EAAqB,GAC3B,MAAMC,EACHvG,EAAMwG,WACL,IAAIhG,EAAgBR,GAAOgD,IACzB,GAAIA,EAAEV,YAAchD,EAAawF,IAAK,CACpC9E,EAAMyG,UAAYzG,EAAMyG,SAASzD,E,MAGvC,KACF,GAAIhD,EAAMwG,UAAW,CACnB,GAAIxG,EAAMI,OAAQ,CAChB,IAAK,IAAIsG,KAAK1G,EAAMI,OAAQ,CAC1BkG,EAAUK,KACR7G,EAAA,OACE8G,QAAS5D,GAAKA,EAAEqB,iBAChBwC,WAAY7D,I,MACVA,EAAEqB,kBACF5B,EAAAzC,EAAM8G,iBAAa,MAAArE,SAAA,SAAAA,EAAAsE,KAAA/G,EAAGgD,EAAE,EAE1BgE,YAAchE,GAAkBuD,IAAS,MAATA,SAAS,SAATA,EAAWpC,WAAWnB,GACtDiE,aAAejE,GAAkBuD,IAAS,MAATA,SAAS,SAATA,EAAWpC,WAAWnB,GACvDkE,MAAO,uBAAuBlH,EAAMI,OAAOsG,O,OAK9C,CACL,GAAI1G,EAAMI,OAAQ,CAChB,IAAK,IAAIsG,KAAK1G,EAAMI,OAAQ,CAC1BkG,EAAUK,KACR7G,EAAA,OACE8G,QAAS5D,GAAKA,EAAEqB,iBAChB4C,aAAejE,GAAkBA,EAAEqB,iBACnCwC,WAAY7D,I,MACVA,EAAEqB,kBACF5B,EAAAzC,EAAM8G,iBAAa,MAAArE,SAAA,SAAAA,EAAAsE,KAAA/G,EAAGgD,EAAE,EAE1BkE,MAAO,iCAAiClH,EAAMI,OAAOsG,O,GAM/D,OACE5G,EAAA,MAAAG,OAAAC,OAAA,GAASF,EAAK,CAAEmH,IAAMnE,GAAmBuD,IAAS,MAATA,SAAS,SAATA,EAAWtE,IAAIe,KACrDqD,EACAC,EACG,E,MCvCGc,EAAkB,c,MAElBC,EAAqB,EAAGC,OAAMtH,QAAOuH,kBAAyBlB,KACzE,IAAImB,GAAwCF,IAAI,MAAJA,SAAI,SAAJA,EAAMG,OAAQ,GAC1D,IAAIC,EAAY1H,EAChB,GAAIsH,IAAI,MAAJA,SAAI,SAAJA,EAAMK,eAAgB,CACxBH,EAAcF,EAAKK,eAAe7H,EAAGwH,EAAMC,E,CAE7C,GAAID,IAAI,MAAJA,SAAI,SAAJA,EAAMM,iBAAkB,CAC1B,MAAMC,EAAQP,EAAKM,iBAAiBN,GACpC,GAAIO,UAAgBA,IAAU,SAAU,CACtCH,EAAYI,EAAY9H,EAAO6H,E,EAGnC,OACE/H,EAACsG,EAAgBnG,OAAAC,OAAA,GAAKwH,EAAS,CAAEV,YAAchE,IAC7C+E,EAAS/E,EAAEgF,cAA8BZ,EAAiB,CACxDE,OACArE,MAAOD,GACP,IAEFlD,EAAA,OAAKoH,MAAM,kBAAkBM,GAC5BnB,EACgB,S","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
const s=30;const a=40;const o="data-rgCol";const t="data-rgRow";const n="grid-uuid";const e="disabled";const c="rgCell";const r="rowHeaders";const l="rgHeaderCell";const d="sortable";const i="header-rgRow";const g="actual-rgRow";const u="revo-drag-icon";const b="revo-draggable";const p="focused-cell";const w="selection-border-range";const f="mobile-handler";const m="temp-bg-range";const h="autofill-handle";const R="edit-input-wrapper";const v="Draggable item";const x="__rvgr";const C="focused-rgRow";function H(s){const a=s.createElement("div");a.style.overflow="scroll";a.style.visibility="hidden";a.style.position="absolute";a.style.top="-9999px";a.style.width="50px";a.style.height="50px";s.body.appendChild(a);const o=a.offsetWidth-a.clientWidth;s.body.removeChild(a);return o}function D(s,a,o){return(o[1]-o[0])*(s-a[0])/(a[1]-a[0])+o[0]}async function T(s=0){await new Promise((a=>{setTimeout((()=>a()),s)}))}export{c as C,e as D,R as E,p as F,x as G,l as H,f as M,a as R,w as S,m as T,n as U,h as a,r as b,v as c,t as d,C as e,u as f,H as g,b as h,o as i,d as j,s as k,i as l,g as m,D as s,T as t};
|
|
5
|
+
//# sourceMappingURL=index-5a722722.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"version":3,"names":["MIN_COL_SIZE","RESIZE_INTERVAL","DATA_COL","DATA_ROW","UUID","DISABLED_CLASS","CELL_CLASS","ROW_HEADER_TYPE","HEADER_CLASS","HEADER_SORTABLE_CLASS","HEADER_ROW_CLASS","HEADER_ACTUAL_ROW_CLASS","DRAG_ICON_CLASS","DRAGGABLE_CLASS","FOCUS_CLASS","SELECTION_BORDER_CLASS","MOBILE_CLASS","TMP_SELECTION_BG_CLASS","CELL_HANDLER_CLASS","EDIT_INPUT_WR","DRAGG_TEXT","GRID_INTERNALS","ROW_FOCUSED_CLASS","getScrollbarSize","document","container","createElement","style","overflow","visibility","position","top","width","height","body","appendChild","scrollbarWidth","offsetWidth","clientWidth","removeChild","scaleValue","value","from","to","async","timeout","delay","Promise","r","setTimeout"],"sources":["src/utils/consts.ts","src/utils/index.ts"],"sourcesContent":["export const MIN_COL_SIZE = 30;\nexport const RESIZE_INTERVAL = 40;\n\nexport const DATA_COL = 'data-rgCol';\nexport const DATA_ROW = 'data-rgRow';\n\nexport const UUID = 'grid-uuid';\n\nexport const DISABLED_CLASS = 'disabled';\nexport const CELL_CLASS = 'rgCell';\nexport const ROW_HEADER_TYPE = 'rowHeaders';\nexport const HEADER_CLASS = 'rgHeaderCell';\nexport const HEADER_SORTABLE_CLASS = 'sortable';\nexport const HEADER_ROW_CLASS = 'header-rgRow';\nexport const HEADER_ACTUAL_ROW_CLASS = 'actual-rgRow';\n\nexport const DRAG_ICON_CLASS = 'revo-drag-icon';\nexport const DRAGGABLE_CLASS = 'revo-draggable';\n\nexport const FOCUS_CLASS = 'focused-cell';\nexport const SELECTION_BORDER_CLASS = 'selection-border-range';\nexport const MOBILE_CLASS = 'mobile-handler';\nexport const TMP_SELECTION_BG_CLASS = 'temp-bg-range';\n\nexport const CELL_HANDLER_CLASS = 'autofill-handle';\n\nexport const EDIT_INPUT_WR = 'edit-input-wrapper';\n\nexport const DRAGG_TEXT = 'Draggable item';\nexport const GRID_INTERNALS = '__rvgr';\nexport const ROW_FOCUSED_CLASS = 'focused-rgRow';\n","/* Generate range on size\n */\nexport function range(size: number, startAt = 0): number[] {\n const res: number[] = [];\n const end = startAt + size;\n for (let i = startAt; i < end; i++) {\n res.push(i);\n }\n return res;\n}\n\n/* Find index position in array */\nexport function findPositionInArray<T>(this: T[], el: T, compareFn: (el: T, el2: T) => number): number {\n return (function (arr): number {\n let m = 0;\n let n = arr.length - 1;\n\n while (m <= n) {\n const k = (n + m) >> 1;\n const cmp = compareFn(el, arr[k]);\n\n if (cmp > 0) {\n m = k + 1;\n } else if (cmp < 0) {\n n = k - 1;\n } else {\n return k;\n }\n }\n\n return -m - 1;\n })(this);\n}\n\n/**\n * Sorted push\n */\nexport function pushSorted<T>(arr: T[], el: T, fn: (el: T, el2: T) => number): T[] {\n arr.splice(findPositionInArray.bind(arr)(el, fn), 0, el);\n return arr;\n}\n\n// (arr1[index1] < arr2[index2])\nfunction simpleCompare<T>(el1: T, el2: T): boolean {\n return el1 < el2;\n}\n\n/**\n * Merge sorted array helper function\n */\nexport function mergeSortedArray<T>(arr1: T[], arr2: T[], compareFn: (el: T, el2: T) => boolean = simpleCompare): T[] {\n const merged: T[] = [];\n let index1 = 0;\n let index2 = 0;\n let current = 0;\n\n while (current < arr1.length + arr2.length) {\n let isArr1Depleted = index1 >= arr1.length;\n let isArr2Depleted = index2 >= arr2.length;\n\n if (!isArr1Depleted && (isArr2Depleted || compareFn(arr1[index1], arr2[index2]))) {\n merged[current] = arr1[index1];\n index1++;\n } else {\n merged[current] = arr2[index2];\n index2++;\n }\n\n current++;\n }\n\n return merged;\n}\n\n/**\n * Calculate system scrollbar size\n */\nexport function getScrollbarSize(document: Document): number {\n // Create a temporary div container and append it to the body\n const container = document.createElement('div');\n\n // Apply styling to ensure the div is scrollable\n container.style.overflow = 'scroll';\n container.style.visibility = 'hidden'; // make sure the container isn't visible\n container.style.position = 'absolute';\n container.style.top = '-9999px'; // move it out of the screen\n container.style.width = '50px'; // arbitrary width\n container.style.height = '50px'; // arbitrary height\n\n // Append the div to the body\n document.body.appendChild(container);\n\n // Calculate the width of the scrollbar\n const scrollbarWidth = container.offsetWidth - container.clientWidth;\n\n // Remove the div from the body after calculation\n document.body.removeChild(container);\n\n // Return the calculated width of the scrollbar\n return scrollbarWidth;\n}\n\n/* Scale a value between 2 ranges\n *\n * Sample:\n * // 55 from a 0-100 range to a 0-1000 range (Ranges don't have to be positive)\n * const n = scaleValue(55, [0,100], [0,1000]);\n *\n * Ranges of two values\n * @from\n * @to\n *\n * ~~ return value does the equivalent of Math.floor but faster.\n */\nexport function scaleValue(value: number, from: [number, number], to: [number, number]): number {\n return ((to[1] - to[0]) * (value - from[0])) / (from[1] - from[0]) + to[0];\n}\n\n/**\n * Async timeout\n */\nexport async function timeout(delay = 0): Promise<void> {\n await new Promise((r: (v?: any) => void) => {\n setTimeout(() => r(), delay);\n });\n}\n\n/**\n * Type script mixins\n */\nexport function applyMixins(derivedCtor: any, constructors: any[]) {\n constructors.forEach(baseCtor => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name) || Object.create(null));\n });\n });\n}\n"],"mappings":";;;MAAaA,EAAe,G,MACfC,EAAkB,G,MAElBC,EAAW,a,MACXC,EAAW,a,MAEXC,EAAO,Y,MAEPC,EAAiB,W,MACjBC,EAAa,S,MACbC,EAAkB,a,MAClBC,EAAe,e,MACfC,EAAwB,W,MACxBC,EAAmB,e,MACnBC,EAA0B,e,MAE1BC,EAAkB,iB,MAClBC,EAAkB,iB,MAElBC,EAAc,e,MACdC,EAAyB,yB,MACzBC,EAAe,iB,MACfC,EAAyB,gB,MAEzBC,EAAqB,kB,MAErBC,EAAgB,qB,MAEhBC,EAAa,iB,MACbC,EAAiB,S,MACjBC,EAAoB,gB,SC+CjBC,EAAiBC,GAE/B,MAAMC,EAAYD,EAASE,cAAc,OAGzCD,EAAUE,MAAMC,SAAW,SAC3BH,EAAUE,MAAME,WAAa,SAC7BJ,EAAUE,MAAMG,SAAW,WAC3BL,EAAUE,MAAMI,IAAM,UACtBN,EAAUE,MAAMK,MAAQ,OACxBP,EAAUE,MAAMM,OAAS,OAGzBT,EAASU,KAAKC,YAAYV,GAG1B,MAAMW,EAAiBX,EAAUY,YAAcZ,EAAUa,YAGzDd,EAASU,KAAKK,YAAYd,GAG1B,OAAOW,CACT,C,SAcgBI,EAAWC,EAAeC,EAAwBC,GAChE,OAASA,EAAG,GAAKA,EAAG,KAAOF,EAAQC,EAAK,KAAQA,EAAK,GAAKA,EAAK,IAAMC,EAAG,EAC1E,CAKOC,eAAeC,EAAQC,EAAQ,SAC9B,IAAIC,SAASC,IACjBC,YAAW,IAAMD,KAAKF,EAAM,GAEhC,Q","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
export{B as BasePlugin,c as columnTypes,i as isRowType,r as rowTypes}from"./
|
|
4
|
+
export{B as BasePlugin,D as DimensionStore,c as columnTypes,i as isRowType,r as rowTypes}from"./base.plugin-d0e589d8.js";export{d as dispatch,a as dispatchByEvent,b as dispatchOnEvent}from"./dispatcher-8ea9187d.js";export{D as DataStore,h as calculateDimensionData,f as gatherTrimmedItems,j as getItemByIndex,i as getItemByPosition,g as getPhysical,b as getSourceItem,e as getSourceItemVirtualIndexByProp,a as getVisibleSourceItem,p as proxyPlugin,d as setItems,c as setSourceByPhysicalIndex,s as setSourceByVirtualIndex,t as trimmedPlugin}from"./dimension.helpers-a3065cb1.js";export{S as SelectionStore,c as cropCellToMax,g as getRange,i as isHiddenStore,a as isRangeSingleCell,n as nextCell}from"./selection.helpers-883ce6bc.js";export{V as ViewportStore,a as addMissingItems,d as getFirstItem,b as getItems,e as getLastItem,g as getUpdatedItemsByPosition,i as isActiveRange,c as isActiveRangeOutsideLastItem,r as recombineByOffset,s as setItemSizes,u as updateMissingAndRange}from"./viewport.store-d9e291c5.js";import"./index-21436631.js";import"./toNumber-8de324a7.js";
|
|
5
5
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import{E as n}from"./index-
|
|
5
|
-
//# sourceMappingURL=key.utils-
|
|
4
|
+
import{E as n}from"./index-5a722722.js";import"./toNumber-8de324a7.js";import"./dimension.helpers-a3065cb1.js";var e;(function(n){n[n["MOUSE_LEFT"]=1]="MOUSE_LEFT";n[n["MOUSE_RIGHT"]=3]="MOUSE_RIGHT";n[n["MOUSE_MIDDLE"]=2]="MOUSE_MIDDLE";n[n["BACKSPACE"]=8]="BACKSPACE";n[n["COMMA"]=188]="COMMA";n[n["INSERT"]=45]="INSERT";n[n["DELETE"]=46]="DELETE";n[n["END"]=35]="END";n[n["ENTER"]=13]="ENTER";n[n["ESCAPE"]=27]="ESCAPE";n[n["CONTROL"]=17]="CONTROL";n[n["COMMAND_LEFT"]=91]="COMMAND_LEFT";n[n["COMMAND_RIGHT"]=93]="COMMAND_RIGHT";n[n["COMMAND_FIREFOX"]=224]="COMMAND_FIREFOX";n[n["ALT"]=18]="ALT";n[n["HOME"]=36]="HOME";n[n["PAGE_DOWN"]=34]="PAGE_DOWN";n[n["PAGE_UP"]=33]="PAGE_UP";n[n["PERIOD"]=190]="PERIOD";n[n["SPACE"]=32]="SPACE";n[n["SHIFT"]=16]="SHIFT";n[n["CAPS_LOCK"]=20]="CAPS_LOCK";n[n["TAB"]=9]="TAB";n[n["ARROW_RIGHT"]=39]="ARROW_RIGHT";n[n["ARROW_LEFT"]=37]="ARROW_LEFT";n[n["ARROW_UP"]=38]="ARROW_UP";n[n["ARROW_DOWN"]=40]="ARROW_DOWN";n[n["F1"]=112]="F1";n[n["F2"]=113]="F2";n[n["F3"]=114]="F3";n[n["F4"]=115]="F4";n[n["F5"]=116]="F5";n[n["F6"]=117]="F6";n[n["F7"]=118]="F7";n[n["F8"]=119]="F8";n[n["F9"]=120]="F9";n[n["F10"]=121]="F10";n[n["F11"]=122]="F11";n[n["F12"]=123]="F12";n[n["A"]=65]="A";n[n["C"]=67]="C";n[n["D"]=68]="D";n[n["F"]=70]="F";n[n["L"]=76]="L";n[n["O"]=79]="O";n[n["P"]=80]="P";n[n["S"]=83]="S";n[n["V"]=86]="V";n[n["X"]=88]="X"})(e||(e={}));var r;(function(n){n["ENTER"]="Enter";n["ENTER_NUM"]="NumpadEnter";n["A"]="KeyA";n["C"]="KeyC";n["X"]="KeyX";n["V"]="KeyV";n["ESCAPE"]="Escape";n["TAB"]="Tab";n["BACKSPACE"]="Backspace";n["DELETE"]="Delete";n["ARROW_RIGHT"]="ArrowRight";n["ARROW_LEFT"]="ArrowLeft";n["ARROW_UP"]="ArrowUp";n["ARROW_DOWN"]="ArrowDown";n["SHIFT"]="Shift"})(r||(r={}));function t(e){return!!(e===null||e===void 0?void 0:e.closest(`.${n}`))}function o(n){return typeof n==="function"&&typeof n.prototype==="object"}var u;(function(n){n["mac"]="Mac"})(u||(u={}));function E(n){return n===32||n>=48&&n<=57||n>=96&&n<=111||n>=186&&n<=192||n>=219&&n<=222||n>=226||n>=65&&n<=90}function a(n){return r.BACKSPACE===n||r.DELETE===n}function i(n){return r.TAB===n}function A(n){return n===r.ENTER||n===r.ENTER_NUM}function c(n){return n.ctrlKey&&n.code==="KeyX"||n.metaKey&&n.code==="KeyX"}function f(n){return n.ctrlKey&&n.code==="KeyC"||n.metaKey&&n.code==="KeyC"}function O(n){return n.ctrlKey&&n.code==="KeyV"||n.metaKey&&n.code==="KeyV"}function s(n){return n.ctrlKey&&n.code==="KeyA"||n.metaKey&&n.code==="KeyA"}export{A as a,f as b,r as c,c as d,O as e,s as f,E as g,t as h,a as i,i as j,o as k};
|
|
5
|
+
//# sourceMappingURL=key.utils-7c5d91dd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["codes","codesLetter","isEditInput","el","closest","EDIT_INPUT_WR","isEditorCtrConstructible","editor","prototype","osPlatform","isLetterKey","code","isClear","BACKSPACE","DELETE","isTab","TAB","isEnterKey","ENTER","ENTER_NUM","isCut","event","ctrlKey","metaKey","isCopy","isPaste","isAll"],"sources":["src/utils/key.codes.ts","src/components/editors/edit.utils.ts","src/utils/platform.ts","src/utils/key.utils.ts"],"sourcesContent":["enum codes {\n MOUSE_LEFT = 1,\n MOUSE_RIGHT = 3,\n MOUSE_MIDDLE = 2,\n BACKSPACE = 8,\n COMMA = 188,\n INSERT = 45,\n DELETE = 46,\n END = 35,\n ENTER = 13,\n ESCAPE = 27,\n CONTROL = 17,\n COMMAND_LEFT = 91,\n COMMAND_RIGHT = 93,\n COMMAND_FIREFOX = 224,\n ALT = 18,\n HOME = 36,\n PAGE_DOWN = 34,\n PAGE_UP = 33,\n PERIOD = 190,\n SPACE = 32,\n SHIFT = 16,\n CAPS_LOCK = 20,\n TAB = 9,\n ARROW_RIGHT = 39,\n ARROW_LEFT = 37,\n ARROW_UP = 38,\n ARROW_DOWN = 40,\n F1 = 112,\n F2 = 113,\n F3 = 114,\n F4 = 115,\n F5 = 116,\n F6 = 117,\n F7 = 118,\n F8 = 119,\n F9 = 120,\n F10 = 121,\n F11 = 122,\n F12 = 123,\n A = 65,\n C = 67,\n D = 68,\n F = 70,\n L = 76,\n O = 79,\n P = 80,\n S = 83,\n V = 86,\n X = 88,\n}\n\nenum codesLetter {\n ENTER = 'Enter',\n ENTER_NUM = 'NumpadEnter',\n A = 'KeyA',\n C = 'KeyC',\n X = 'KeyX',\n V = 'KeyV',\n ESCAPE = 'Escape',\n TAB = 'Tab',\n BACKSPACE = 'Backspace',\n DELETE = 'Delete',\n ARROW_RIGHT = 'ArrowRight',\n ARROW_LEFT = 'ArrowLeft',\n ARROW_UP = 'ArrowUp',\n ARROW_DOWN = 'ArrowDown',\n SHIFT = 'Shift',\n}\n\nexport default codes;\nexport { codesLetter };\n","import { EDIT_INPUT_WR } from '../../utils/consts';\nimport {\n EditorCtrConstructible,\n} from '@type';\n// is edit input\nexport function isEditInput(el?: HTMLElement) {\n return !!el?.closest(`.${EDIT_INPUT_WR}`);\n}\n\n\n// Type guard for EditorCtrConstructible\nexport function isEditorCtrConstructible(\n editor: any,\n): editor is EditorCtrConstructible {\n return typeof editor === 'function' && typeof editor.prototype === 'object';\n}\n","enum osPlatform {\n mac = 'Mac',\n}\nexport default osPlatform;\n","import KeyCodesEnum, { codesLetter } from './key.codes';\nimport OsPlatform from './platform';\nimport includes from 'lodash/includes';\n\nexport function isLetterKey(code: number): boolean {\n return (\n code === 32 || // space\n (code >= 48 && code <= 57) ||\n (code >= 96 && code <= 111) ||\n (code >= 186 && code <= 192) ||\n (code >= 219 && code <= 222) ||\n code >= 226 ||\n (code >= 65 && code <= 90)\n ); // a-z\n}\n\nexport function isMetaKey(code: number): boolean {\n const keys: KeyCodesEnum[] = [\n KeyCodesEnum.ARROW_DOWN,\n KeyCodesEnum.ARROW_UP,\n KeyCodesEnum.ARROW_LEFT,\n KeyCodesEnum.ARROW_RIGHT,\n KeyCodesEnum.HOME,\n KeyCodesEnum.END,\n KeyCodesEnum.DELETE,\n KeyCodesEnum.BACKSPACE,\n KeyCodesEnum.F1,\n KeyCodesEnum.F2,\n KeyCodesEnum.F3,\n KeyCodesEnum.F4,\n KeyCodesEnum.F5,\n KeyCodesEnum.F6,\n KeyCodesEnum.F7,\n KeyCodesEnum.F8,\n KeyCodesEnum.F9,\n KeyCodesEnum.F10,\n KeyCodesEnum.F11,\n KeyCodesEnum.F12,\n KeyCodesEnum.TAB,\n KeyCodesEnum.PAGE_DOWN,\n KeyCodesEnum.PAGE_UP,\n KeyCodesEnum.ENTER,\n KeyCodesEnum.ESCAPE,\n KeyCodesEnum.SHIFT,\n KeyCodesEnum.CAPS_LOCK,\n KeyCodesEnum.ALT,\n ];\n\n return keys.indexOf(code) !== -1;\n}\n\n// navigator.platform\nexport function isCtrlKey(code: number, platform: string): boolean {\n if (platform.includes(OsPlatform.mac)) {\n return includes([KeyCodesEnum.COMMAND_LEFT, KeyCodesEnum.COMMAND_RIGHT, KeyCodesEnum.COMMAND_FIREFOX], code);\n }\n\n return KeyCodesEnum.CONTROL === code;\n}\n\nexport function isCtrlMetaKey(code: KeyCodesEnum): boolean {\n return includes([KeyCodesEnum.CONTROL, KeyCodesEnum.COMMAND_LEFT, KeyCodesEnum.COMMAND_RIGHT, KeyCodesEnum.COMMAND_FIREFOX], code);\n}\n\nexport function isClear(code: string): boolean {\n return codesLetter.BACKSPACE === code || codesLetter.DELETE === code;\n}\n\nexport function isTab(code: string): boolean {\n return codesLetter.TAB === code;\n}\n\nexport function isEnterKey(code: string): boolean {\n return code === codesLetter.ENTER || code === codesLetter.ENTER_NUM;\n}\n\nexport function isCut(event: KeyboardEvent): boolean {\n return (event.ctrlKey && event.code === 'KeyX') || // Ctrl + X on Windows\n (event.metaKey && event.code === 'KeyX'); // Cmd + X on Mac\n}\nexport function isCopy(event: KeyboardEvent): boolean {\n return (event.ctrlKey && event.code === 'KeyC') || // Ctrl + C on Windows\n (event.metaKey && event.code === 'KeyC'); // Cmd + C on Mac\n}\nexport function isPaste(event: KeyboardEvent): boolean {\n return (event.ctrlKey && event.code === 'KeyV') || // Ctrl + V on Windows\n (event.metaKey && event.code === 'KeyV'); // Cmd + V on Mac\n}\nexport function isAll(event: KeyboardEvent): boolean {\n return (event.ctrlKey && event.code === 'KeyA') || // Ctrl + A on Windows\n (event.metaKey && event.code === 'KeyA'); // Cmd + A on Mac\n}\n"],"mappings":";;;+GAAA,IAAKA,GAAL,SAAKA,GACHA,IAAA,8BACAA,IAAA,gCACAA,IAAA,kCACAA,IAAA,4BACAA,IAAA,sBACAA,IAAA,uBACAA,IAAA,uBACAA,IAAA,iBACAA,IAAA,qBACAA,IAAA,uBACAA,IAAA,yBACAA,IAAA,mCACAA,IAAA,qCACAA,IAAA,0CACAA,IAAA,iBACAA,IAAA,mBACAA,IAAA,6BACAA,IAAA,yBACAA,IAAA,wBACAA,IAAA,qBACAA,IAAA,qBACAA,IAAA,6BACAA,IAAA,gBACAA,IAAA,iCACAA,IAAA,+BACAA,IAAA,2BACAA,IAAA,+BACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,kBACAA,IAAA,kBACAA,IAAA,kBACAA,IAAA,aACAA,IAAA,aACAA,IAAA,aACAA,IAAA,aACAA,IAAA,aACAA,IAAA,aACAA,IAAA,aACAA,IAAA,aACAA,IAAA,aACAA,IAAA,YACD,EAlDD,CAAKA,MAAK,K,IAoDLC,GAAL,SAAKA,GACHA,EAAA,iBACAA,EAAA,2BACAA,EAAA,YACAA,EAAA,YACAA,EAAA,YACAA,EAAA,YACAA,EAAA,mBACAA,EAAA,aACAA,EAAA,yBACAA,EAAA,mBACAA,EAAA,4BACAA,EAAA,0BACAA,EAAA,sBACAA,EAAA,0BACAA,EAAA,gBACD,EAhBD,CAAKA,MAAW,K,SC/CAC,EAAYC,GAC1B,SAASA,IAAE,MAAFA,SAAE,SAAFA,EAAIC,QAAQ,IAAIC,KAC3B,C,SAIgBC,EACdC,GAEA,cAAcA,IAAW,mBAAqBA,EAAOC,YAAc,QACrE,CCfA,IAAKC,GAAL,SAAKA,GACHA,EAAA,YACD,EAFD,CAAKA,MAAU,K,SCICC,EAAYC,GAC1B,OACEA,IAAS,IACRA,GAAQ,IAAMA,GAAQ,IACtBA,GAAQ,IAAMA,GAAQ,KACtBA,GAAQ,KAAOA,GAAQ,KACvBA,GAAQ,KAAOA,GAAQ,KACxBA,GAAQ,KACPA,GAAQ,IAAMA,GAAQ,EAE3B,C,SAkDgBC,EAAQD,GACtB,OAAOV,EAAYY,YAAcF,GAAQV,EAAYa,SAAWH,CAClE,C,SAEgBI,EAAMJ,GACpB,OAAOV,EAAYe,MAAQL,CAC7B,C,SAEgBM,EAAWN,GACzB,OAAOA,IAASV,EAAYiB,OAASP,IAASV,EAAYkB,SAC5D,C,SAEgBC,EAAMC,GACpB,OAAQA,EAAMC,SAAWD,EAAMV,OAAS,QACvCU,EAAME,SAAWF,EAAMV,OAAS,MACnC,C,SACgBa,EAAOH,GACrB,OAAQA,EAAMC,SAAWD,EAAMV,OAAS,QACrCU,EAAME,SAAWF,EAAMV,OAAS,MACrC,C,SACgBc,EAAQJ,GACtB,OAAQA,EAAMC,SAAWD,EAAMV,OAAS,QACvCU,EAAME,SAAWF,EAAMV,OAAS,MACnC,C,SACgBe,EAAML,GACpB,OAASA,EAAMC,SAAWD,EAAMV,OAAS,QACxCU,EAAME,SAAWF,EAAMV,OAAS,MACnC,Q","ignoreList":[]}
|