@revolist/revogrid 4.15.2 → 4.15.3
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-f72a6199.js → app-globals-Dyhp_4xt.js} +3 -2
- package/dist/cjs/app-globals-Dyhp_4xt.js.map +1 -0
- package/dist/cjs/{cell-renderer-e5481ec8.js → cell-renderer-TbPNpr1V.js} +5 -4
- package/dist/cjs/cell-renderer-TbPNpr1V.js.map +1 -0
- package/dist/cjs/{column.drag.plugin-f3c54b57.js → column.drag.plugin-6uJDpdhd.js} +15 -20
- package/dist/cjs/column.drag.plugin-6uJDpdhd.js.map +1 -0
- package/dist/cjs/{column.service-e6411bc8.js → column.service-tkBPqZbF.js} +46 -15
- package/dist/cjs/column.service-tkBPqZbF.js.map +1 -0
- package/dist/cjs/{debounce-ec7a04b4.js → debounce-CcpHiH2p.js} +13 -20
- package/dist/cjs/debounce-CcpHiH2p.js.map +1 -0
- package/dist/cjs/{dimension.helpers-29797371.js → dimension.helpers-B22YFI1t.js} +73 -158
- package/dist/cjs/dimension.helpers-B22YFI1t.js.map +1 -0
- package/dist/cjs/{edit.utils-2142d37d.js → edit.utils-C4mlXiHS.js} +3 -2
- package/dist/cjs/edit.utils-C4mlXiHS.js.map +1 -0
- package/dist/cjs/{events-af8f6914.js → events-DeLDyZlb.js} +2 -1
- package/dist/cjs/events-DeLDyZlb.js.map +1 -0
- package/dist/cjs/{filter.button-2708e602.js → filter.button-0z5oxlOa.js} +3 -2
- package/dist/cjs/filter.button-0z5oxlOa.js.map +1 -0
- package/dist/cjs/{header-cell-renderer-56658ed7.js → header-cell-renderer-BsXDj6T-.js} +8 -9
- package/dist/cjs/header-cell-renderer-BsXDj6T-.js.map +1 -0
- package/dist/cjs/{index-8006d065.js → index-BkwGxxDX.js} +1403 -1119
- package/dist/cjs/index-BkwGxxDX.js.map +1 -0
- package/dist/cjs/index.cjs.js +16 -21
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +4 -5
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/{resize-observer-d009a220.js → resize-observer-BCzJvzIA.js} +2 -1
- package/dist/cjs/resize-observer-BCzJvzIA.js.map +1 -0
- package/dist/cjs/revo-grid.cjs.entry.js +134 -25
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revo-grid.cjs.js +8 -7
- package/dist/cjs/revo-grid.cjs.js.map +1 -1
- 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 +38 -56
- package/dist/cjs/revogr-attribution_7.cjs.entry.js.map +1 -1
- 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 +11 -20
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
- 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 +38 -54
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +14 -12
- package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-filter-panel.entry.cjs.js.map +1 -0
- package/dist/cjs/{text-editor-aa356695.js → text-editor-CKL2sOoS.js} +4 -3
- package/dist/cjs/text-editor-CKL2sOoS.js.map +1 -0
- package/dist/cjs/{throttle-c7ae5154.js → throttle-DH3Y55Tf.js} +4 -3
- package/dist/cjs/throttle-DH3Y55Tf.js.map +1 -0
- package/dist/cjs/{viewport.helpers-e59a544e.js → viewport.helpers-DWmWzj7C.js} +2 -1
- package/dist/cjs/viewport.helpers-DWmWzj7C.js.map +1 -0
- package/dist/cjs/{viewport.store-7f0d0f80.js → viewport.store-CTVsdNW0.js} +3 -2
- package/dist/cjs/viewport.store-CTVsdNW0.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/clipboard/revogr-clipboard.js +1 -4
- package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
- package/dist/collection/components/data/revogr-data.js +19 -20
- package/dist/collection/components/data/revogr-data.js.map +1 -1
- package/dist/collection/components/editors/revogr-edit.js +9 -7
- package/dist/collection/components/editors/revogr-edit.js.map +1 -1
- package/dist/collection/components/extra/revogr-extra.js +7 -0
- package/dist/collection/components/extra/revogr-extra.js.map +1 -1
- package/dist/collection/components/header/revogr-header.js +18 -16
- package/dist/collection/components/header/revogr-header.js.map +1 -1
- package/dist/collection/components/order/revogr-order-editor.js +5 -6
- package/dist/collection/components/order/revogr-order-editor.js.map +1 -1
- package/dist/collection/components/overlay/revogr-overlay-selection.js +18 -21
- package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
- package/dist/collection/components/revoGrid/revo-grid.js +156 -30
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/components/rowHeaders/revogr-row-headers.js +13 -11
- package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -1
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +10 -6
- package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -1
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js +8 -8
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -1
- package/dist/collection/components/selectionFocus/revogr-focus.js +12 -10
- package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -1
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js +3 -3
- package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -1
- package/dist/collection/components/vnode/vnode-converter.js +2 -1
- package/dist/collection/components/vnode/vnode-converter.js.map +1 -1
- package/dist/collection/plugins/filter/filter.panel.js +14 -7
- package/dist/collection/plugins/filter/filter.panel.js.map +1 -1
- package/dist/collection/plugins/wcag/index.js +3 -3
- package/dist/collection/plugins/wcag/index.js.map +1 -1
- package/dist/esm/{app-globals-6b929fd8.js → app-globals-CkPSYtJ_.js} +3 -2
- package/dist/esm/app-globals-CkPSYtJ_.js.map +1 -0
- package/dist/{revo-grid/cell-renderer-852ac653.js → esm/cell-renderer-Dtpwnxt0.js} +5 -4
- package/dist/esm/cell-renderer-Dtpwnxt0.js.map +1 -0
- package/dist/esm/{column.drag.plugin-c6b89504.js → column.drag.plugin-BZ32BSNS.js} +12 -17
- package/dist/esm/column.drag.plugin-BZ32BSNS.js.map +1 -0
- package/dist/esm/{column.service-e3c41fb8.js → column.service-Do0vf1Cg.js} +43 -13
- package/dist/esm/column.service-Do0vf1Cg.js.map +1 -0
- package/dist/esm/{debounce-b3166f78.js → debounce-BfO9dz9v.js} +11 -18
- package/dist/esm/debounce-BfO9dz9v.js.map +1 -0
- package/dist/{revo-grid/dimension.helpers-87e12689.js → esm/dimension.helpers-8nBiaJKx.js} +70 -154
- package/dist/esm/dimension.helpers-8nBiaJKx.js.map +1 -0
- package/dist/esm/{edit.utils-512f86c9.js → edit.utils-t1e44_Iw.js} +3 -2
- package/dist/esm/edit.utils-t1e44_Iw.js.map +1 -0
- package/dist/esm/{events-cf0893a3.js → events-BvSmBueA.js} +2 -1
- package/dist/esm/events-BvSmBueA.js.map +1 -0
- package/dist/{revo-grid/filter.button-84396156.js → esm/filter.button-CTclut8G.js} +3 -2
- package/dist/esm/filter.button-CTclut8G.js.map +1 -0
- package/dist/{revo-grid/header-cell-renderer-c2acd090.js → esm/header-cell-renderer-CF2Sx-Ys.js} +8 -9
- package/dist/esm/header-cell-renderer-CF2Sx-Ys.js.map +1 -0
- package/dist/esm/{index-f6fae858.js → index-CHLNwl4l.js} +1400 -1096
- package/dist/esm/index-CHLNwl4l.js.map +1 -0
- package/dist/esm/index.js +14 -13
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +5 -4
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/{resize-observer-83c9e167.js → resize-observer-Ccj7Fd8V.js} +2 -1
- package/dist/esm/resize-observer-Ccj7Fd8V.js.map +1 -0
- package/dist/esm/revo-grid.entry.js +134 -23
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revo-grid.js +7 -5
- package/dist/esm/revo-grid.js.map +1 -1
- 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 +38 -54
- package/dist/esm/revogr-attribution_7.entry.js.map +1 -1
- package/dist/esm/revogr-clipboard.revogr-edit.revogr-order-editor.entry.js.map +1 -0
- package/dist/esm/revogr-clipboard_3.entry.js +11 -18
- package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
- 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 +38 -52
- package/dist/esm/revogr-data_4.entry.js.map +1 -1
- package/dist/esm/revogr-filter-panel.entry.js +14 -10
- package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
- package/dist/{revo-grid/text-editor-4224a2f6.js → esm/text-editor-CaPIpNpL.js} +4 -3
- package/dist/esm/text-editor-CaPIpNpL.js.map +1 -0
- package/dist/{revo-grid/throttle-7c83ca69.js → esm/throttle-DXN-EdTN.js} +4 -3
- package/dist/esm/throttle-DXN-EdTN.js.map +1 -0
- package/dist/{revo-grid/viewport.helpers-7e7f9dad.js → esm/viewport.helpers-B3EYGhqf.js} +2 -1
- package/dist/esm/viewport.helpers-B3EYGhqf.js.map +1 -0
- package/dist/{revo-grid/viewport.store-84060ef5.js → esm/viewport.store-BM58GIue.js} +3 -2
- package/dist/esm/viewport.store-BM58GIue.js.map +1 -0
- package/dist/revo-grid/{app-globals-6b929fd8.js → app-globals-CkPSYtJ_.js} +3 -2
- package/dist/revo-grid/app-globals-CkPSYtJ_.js.map +1 -0
- package/dist/{esm/cell-renderer-852ac653.js → revo-grid/cell-renderer-Dtpwnxt0.js} +5 -4
- package/dist/revo-grid/cell-renderer-Dtpwnxt0.js.map +1 -0
- package/dist/revo-grid/{column.drag.plugin-c6b89504.js → column.drag.plugin-BZ32BSNS.js} +12 -17
- package/dist/revo-grid/column.drag.plugin-BZ32BSNS.js.map +1 -0
- package/dist/revo-grid/{column.service-e3c41fb8.js → column.service-Do0vf1Cg.js} +43 -13
- package/dist/revo-grid/column.service-Do0vf1Cg.js.map +1 -0
- package/dist/revo-grid/{debounce-b3166f78.js → debounce-BfO9dz9v.js} +11 -18
- package/dist/revo-grid/debounce-BfO9dz9v.js.map +1 -0
- package/dist/{esm/dimension.helpers-87e12689.js → revo-grid/dimension.helpers-8nBiaJKx.js} +70 -154
- package/dist/revo-grid/dimension.helpers-8nBiaJKx.js.map +1 -0
- package/dist/revo-grid/{edit.utils-512f86c9.js → edit.utils-t1e44_Iw.js} +3 -2
- package/dist/revo-grid/edit.utils-t1e44_Iw.js.map +1 -0
- package/dist/revo-grid/{events-cf0893a3.js → events-BvSmBueA.js} +2 -1
- package/dist/revo-grid/events-BvSmBueA.js.map +1 -0
- package/dist/{esm/filter.button-84396156.js → revo-grid/filter.button-CTclut8G.js} +3 -2
- package/dist/revo-grid/filter.button-CTclut8G.js.map +1 -0
- package/dist/{esm/header-cell-renderer-c2acd090.js → revo-grid/header-cell-renderer-CF2Sx-Ys.js} +8 -9
- package/dist/revo-grid/header-cell-renderer-CF2Sx-Ys.js.map +1 -0
- package/dist/revo-grid/{index-f6fae858.js → index-CHLNwl4l.js} +1400 -1096
- package/dist/revo-grid/index-CHLNwl4l.js.map +1 -0
- package/dist/revo-grid/index.esm.js +14 -13
- package/dist/revo-grid/index.esm.js.map +1 -1
- package/dist/revo-grid/loader.esm.js.map +1 -0
- package/dist/revo-grid/{resize-observer-83c9e167.js → resize-observer-Ccj7Fd8V.js} +2 -1
- package/dist/revo-grid/resize-observer-Ccj7Fd8V.js.map +1 -0
- package/dist/revo-grid/revo-grid.entry.esm.js.map +1 -0
- package/dist/revo-grid/revo-grid.entry.js +134 -23
- package/dist/revo-grid/revo-grid.entry.js.map +1 -1
- package/dist/revo-grid/revo-grid.esm.js +7 -5
- package/dist/revo-grid/revo-grid.esm.js.map +1 -1
- 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 +38 -54
- package/dist/revo-grid/revogr-attribution_7.entry.js.map +1 -1
- 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 +11 -18
- package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
- 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 +38 -52
- package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
- package/dist/revo-grid/revogr-filter-panel.entry.esm.js.map +1 -0
- package/dist/revo-grid/revogr-filter-panel.entry.js +14 -10
- package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
- package/dist/{esm/text-editor-4224a2f6.js → revo-grid/text-editor-CaPIpNpL.js} +4 -3
- package/dist/revo-grid/text-editor-CaPIpNpL.js.map +1 -0
- package/dist/{esm/throttle-7c83ca69.js → revo-grid/throttle-DXN-EdTN.js} +4 -3
- package/dist/revo-grid/throttle-DXN-EdTN.js.map +1 -0
- package/dist/{esm/viewport.helpers-7e7f9dad.js → revo-grid/viewport.helpers-B3EYGhqf.js} +2 -1
- package/dist/revo-grid/viewport.helpers-B3EYGhqf.js.map +1 -0
- package/dist/{esm/viewport.store-84060ef5.js → revo-grid/viewport.store-BM58GIue.js} +3 -2
- package/dist/revo-grid/viewport.store-BM58GIue.js.map +1 -0
- package/dist/types/stencil-public-runtime.d.ts +3 -0
- package/hydrate/index.d.ts +34 -5
- package/hydrate/index.js +2629 -2051
- package/hydrate/index.mjs +2639 -2061
- package/package.json +3 -3
- package/standalone/column.service.js +42 -12
- package/standalone/column.service.js.map +1 -1
- package/standalone/consts.js +1 -0
- package/standalone/consts.js.map +1 -1
- package/standalone/data.store.js +59 -143
- package/standalone/data.store.js.map +1 -1
- package/standalone/debounce.js +5 -6
- package/standalone/debounce.js.map +1 -1
- package/standalone/dimension.helpers.js +10 -9
- package/standalone/dimension.helpers.js.map +1 -1
- package/standalone/filter.button.js +1 -0
- package/standalone/filter.button.js.map +1 -1
- package/standalone/index.js +3 -2
- package/standalone/index.js.map +1 -1
- package/standalone/index2.js +1 -0
- package/standalone/index2.js.map +1 -1
- package/standalone/local.scroll.timer.js +1 -0
- package/standalone/local.scroll.timer.js.map +1 -1
- package/standalone/platform.js +3 -2
- package/standalone/platform.js.map +1 -1
- package/standalone/resize-observer.js +1 -0
- package/standalone/resize-observer.js.map +1 -1
- package/standalone/revo-grid.js +140 -35
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-attribution.js +1 -0
- package/standalone/revogr-attribution2.js +1 -0
- package/standalone/revogr-attribution2.js.map +1 -1
- package/standalone/revogr-clipboard.js +1 -0
- package/standalone/revogr-clipboard2.js +1 -1
- package/standalone/revogr-clipboard2.js.map +1 -1
- package/standalone/revogr-data.js +1 -0
- package/standalone/revogr-data2.js +16 -24
- package/standalone/revogr-data2.js.map +1 -1
- package/standalone/revogr-edit.js +1 -0
- package/standalone/revogr-edit2.js +8 -9
- package/standalone/revogr-edit2.js.map +1 -1
- package/standalone/revogr-extra.js +1 -0
- package/standalone/revogr-extra2.js +7 -0
- package/standalone/revogr-extra2.js.map +1 -1
- package/standalone/revogr-filter-panel.js +14 -10
- package/standalone/revogr-filter-panel.js.map +1 -1
- package/standalone/revogr-focus.js +1 -0
- package/standalone/revogr-focus2.js +12 -16
- package/standalone/revogr-focus2.js.map +1 -1
- package/standalone/revogr-header.js +1 -0
- package/standalone/revogr-header2.js +24 -34
- package/standalone/revogr-header2.js.map +1 -1
- package/standalone/revogr-order-editor.js +1 -0
- package/standalone/revogr-order-editor2.js +4 -8
- package/standalone/revogr-order-editor2.js.map +1 -1
- package/standalone/revogr-overlay-selection.js +1 -0
- package/standalone/revogr-overlay-selection2.js +15 -25
- package/standalone/revogr-overlay-selection2.js.map +1 -1
- package/standalone/revogr-row-headers.js +1 -0
- package/standalone/revogr-row-headers2.js +11 -12
- package/standalone/revogr-row-headers2.js.map +1 -1
- package/standalone/revogr-scroll-virtual.js +1 -0
- package/standalone/revogr-scroll-virtual2.js +6 -6
- package/standalone/revogr-scroll-virtual2.js.map +1 -1
- package/standalone/revogr-temp-range.js +1 -0
- package/standalone/revogr-temp-range2.js +5 -8
- package/standalone/revogr-temp-range2.js.map +1 -1
- package/standalone/revogr-viewport-scroll.js +1 -0
- package/standalone/revogr-viewport-scroll2.js +9 -5
- package/standalone/revogr-viewport-scroll2.js.map +1 -1
- package/standalone/selection.utils.js +2 -1
- package/standalone/selection.utils.js.map +1 -1
- package/standalone/throttle.js +2 -1
- package/standalone/throttle.js.map +1 -1
- package/standalone/toNumber.js +6 -11
- package/standalone/toNumber.js.map +1 -1
- package/standalone/vnode-converter.js +2 -1
- package/standalone/vnode-converter.js.map +1 -1
- package/standalone/vnode-html.js +1 -0
- package/dist/cjs/app-globals-f72a6199.js.map +0 -1
- package/dist/cjs/cell-renderer-e5481ec8.js.map +0 -1
- package/dist/cjs/column.drag.plugin-f3c54b57.js.map +0 -1
- package/dist/cjs/column.service-e6411bc8.js.map +0 -1
- package/dist/cjs/debounce-ec7a04b4.js.map +0 -1
- package/dist/cjs/dimension.helpers-29797371.js.map +0 -1
- package/dist/cjs/edit.utils-2142d37d.js.map +0 -1
- package/dist/cjs/events-af8f6914.js.map +0 -1
- package/dist/cjs/filter.button-2708e602.js.map +0 -1
- package/dist/cjs/header-cell-renderer-56658ed7.js.map +0 -1
- package/dist/cjs/index-8006d065.js.map +0 -1
- package/dist/cjs/resize-observer-d009a220.js.map +0 -1
- package/dist/cjs/text-editor-aa356695.js.map +0 -1
- package/dist/cjs/throttle-c7ae5154.js.map +0 -1
- package/dist/cjs/viewport.helpers-e59a544e.js.map +0 -1
- package/dist/cjs/viewport.store-7f0d0f80.js.map +0 -1
- package/dist/esm/app-globals-6b929fd8.js.map +0 -1
- package/dist/esm/cell-renderer-852ac653.js.map +0 -1
- package/dist/esm/column.drag.plugin-c6b89504.js.map +0 -1
- package/dist/esm/column.service-e3c41fb8.js.map +0 -1
- package/dist/esm/debounce-b3166f78.js.map +0 -1
- package/dist/esm/dimension.helpers-87e12689.js.map +0 -1
- package/dist/esm/edit.utils-512f86c9.js.map +0 -1
- package/dist/esm/events-cf0893a3.js.map +0 -1
- package/dist/esm/filter.button-84396156.js.map +0 -1
- package/dist/esm/header-cell-renderer-c2acd090.js.map +0 -1
- package/dist/esm/index-f6fae858.js.map +0 -1
- package/dist/esm/resize-observer-83c9e167.js.map +0 -1
- package/dist/esm/text-editor-4224a2f6.js.map +0 -1
- package/dist/esm/throttle-7c83ca69.js.map +0 -1
- package/dist/esm/viewport.helpers-7e7f9dad.js.map +0 -1
- package/dist/esm/viewport.store-84060ef5.js.map +0 -1
- package/dist/revo-grid/app-globals-6b929fd8.js.map +0 -1
- package/dist/revo-grid/cell-renderer-852ac653.js.map +0 -1
- package/dist/revo-grid/column.drag.plugin-c6b89504.js.map +0 -1
- package/dist/revo-grid/column.service-e3c41fb8.js.map +0 -1
- package/dist/revo-grid/debounce-b3166f78.js.map +0 -1
- package/dist/revo-grid/dimension.helpers-87e12689.js.map +0 -1
- package/dist/revo-grid/edit.utils-512f86c9.js.map +0 -1
- package/dist/revo-grid/events-cf0893a3.js.map +0 -1
- package/dist/revo-grid/filter.button-84396156.js.map +0 -1
- package/dist/revo-grid/header-cell-renderer-c2acd090.js.map +0 -1
- package/dist/revo-grid/index-f6fae858.js.map +0 -1
- package/dist/revo-grid/resize-observer-83c9e167.js.map +0 -1
- package/dist/revo-grid/text-editor-4224a2f6.js.map +0 -1
- package/dist/revo-grid/throttle-7c83ca69.js.map +0 -1
- package/dist/revo-grid/viewport.helpers-7e7f9dad.js.map +0 -1
- package/dist/revo-grid/viewport.store-84060ef5.js.map +0 -1
|
@@ -14,10 +14,14 @@ import { CONTENT_SLOT, FOOTER_SLOT, HEADER_SLOT, } from "../revoGrid/viewport.he
|
|
|
14
14
|
*/
|
|
15
15
|
export class RevogrViewportScroll {
|
|
16
16
|
constructor() {
|
|
17
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Width of inner content
|
|
19
|
+
*/
|
|
18
20
|
this.contentWidth = 0;
|
|
21
|
+
/**
|
|
22
|
+
* Height of inner content
|
|
23
|
+
*/
|
|
19
24
|
this.contentHeight = 0;
|
|
20
|
-
this.colType = undefined;
|
|
21
25
|
}
|
|
22
26
|
async setScroll(e) {
|
|
23
27
|
var _a;
|
|
@@ -303,6 +307,7 @@ export class RevogrViewportScroll {
|
|
|
303
307
|
return {
|
|
304
308
|
"rowHeader": {
|
|
305
309
|
"type": "boolean",
|
|
310
|
+
"attribute": "row-header",
|
|
306
311
|
"mutable": false,
|
|
307
312
|
"complexType": {
|
|
308
313
|
"original": "boolean",
|
|
@@ -317,11 +322,11 @@ export class RevogrViewportScroll {
|
|
|
317
322
|
},
|
|
318
323
|
"getter": false,
|
|
319
324
|
"setter": false,
|
|
320
|
-
"attribute": "row-header",
|
|
321
325
|
"reflect": false
|
|
322
326
|
},
|
|
323
327
|
"contentWidth": {
|
|
324
328
|
"type": "number",
|
|
329
|
+
"attribute": "content-width",
|
|
325
330
|
"mutable": false,
|
|
326
331
|
"complexType": {
|
|
327
332
|
"original": "number",
|
|
@@ -336,12 +341,12 @@ export class RevogrViewportScroll {
|
|
|
336
341
|
},
|
|
337
342
|
"getter": false,
|
|
338
343
|
"setter": false,
|
|
339
|
-
"attribute": "content-width",
|
|
340
344
|
"reflect": false,
|
|
341
345
|
"defaultValue": "0"
|
|
342
346
|
},
|
|
343
347
|
"contentHeight": {
|
|
344
348
|
"type": "number",
|
|
349
|
+
"attribute": "content-height",
|
|
345
350
|
"mutable": false,
|
|
346
351
|
"complexType": {
|
|
347
352
|
"original": "number",
|
|
@@ -356,12 +361,12 @@ export class RevogrViewportScroll {
|
|
|
356
361
|
},
|
|
357
362
|
"getter": false,
|
|
358
363
|
"setter": false,
|
|
359
|
-
"attribute": "content-height",
|
|
360
364
|
"reflect": false,
|
|
361
365
|
"defaultValue": "0"
|
|
362
366
|
},
|
|
363
367
|
"colType": {
|
|
364
368
|
"type": "string",
|
|
369
|
+
"attribute": "col-type",
|
|
365
370
|
"mutable": false,
|
|
366
371
|
"complexType": {
|
|
367
372
|
"original": "DimensionCols | 'rowHeaders'",
|
|
@@ -382,7 +387,6 @@ export class RevogrViewportScroll {
|
|
|
382
387
|
},
|
|
383
388
|
"getter": false,
|
|
384
389
|
"setter": false,
|
|
385
|
-
"attribute": "col-type",
|
|
386
390
|
"reflect": false
|
|
387
391
|
}
|
|
388
392
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revogr-viewport-scroll.js","sourceRoot":"","sources":["../../../src/components/scroll/revogr-viewport-scroll.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Event,\n EventEmitter,\n h,\n Method,\n Element,\n Prop,\n Host,\n Listen,\n} from '@stencil/core';\n\nimport GridResizeService from '../revoGrid/viewport.resize.service';\nimport LocalScrollService from '../../services/local.scroll.service';\nimport { LocalScrollTimer } from '../../services/local.scroll.timer';\nimport {\n CONTENT_SLOT,\n FOOTER_SLOT,\n HEADER_SLOT,\n} from '../revoGrid/viewport.helpers';\nimport type {\n DimensionCols,\n DimensionType,\n ElementScroll,\n ScrollCoordinateEvent,\n ViewPortResizeEvent,\n ViewPortScrollEvent,\n} from '@type';\n\ntype Delta = 'deltaX' | 'deltaY';\ntype LocalScrollEvent = {\n preventDefault(): void;\n} & { [x in Delta]: number };\n\n/**\n * Viewport scroll component for RevoGrid\n * @slot - content\n * @slot header - header\n * @slot footer - footer\n */\n@Component({\n tag: 'revogr-viewport-scroll',\n styleUrl: 'revogr-viewport-scroll-style.scss',\n})\nexport class RevogrViewportScroll implements ElementScroll {\n /**\n * Enable row header\n */\n @Prop() readonly rowHeader: boolean;\n\n /**\n * Width of inner content\n */\n @Prop() contentWidth = 0;\n /**\n * Height of inner content\n */\n @Prop() contentHeight = 0;\n\n @Prop() colType!: DimensionCols | 'rowHeaders';\n\n /**\n * Before scroll event\n */\n @Event({ eventName: 'scrollviewport', bubbles: true })\n scrollViewport: EventEmitter<ViewPortScrollEvent>;\n /**\n * Viewport resize\n */\n @Event({ eventName: 'resizeviewport' })\n resizeViewport: EventEmitter<ViewPortResizeEvent>;\n\n /**\n * Triggered on scroll change, can be used to get information about scroll visibility\n */\n @Event() scrollchange: EventEmitter<{\n type: DimensionType;\n hasScroll: boolean;\n }>;\n\n /**\n * Silently scroll to coordinate\n * Made to align negative coordinates for mobile devices\n */\n @Event({ eventName: 'scrollviewportsilent' })\n silentScroll: EventEmitter<ViewPortScrollEvent>;\n\n @Element() horizontalScroll: HTMLElement;\n\n private verticalScroll?: HTMLElement;\n private header?: HTMLElement;\n private footer?: HTMLElement;\n\n /**\n * Static functions to bind wheel change\n */\n private horizontalMouseWheel: (e: Partial<LocalScrollEvent>) => void;\n private verticalMouseWheel: (e: Partial<LocalScrollEvent>) => void;\n\n private resizeService?: GridResizeService;\n private localScrollService: LocalScrollService;\n private localScrollTimer: LocalScrollTimer;\n\n @Method() async setScroll(e: ViewPortScrollEvent) {\n this.localScrollTimer.latestScrollUpdate(e.dimension);\n this.localScrollService?.setScroll(e);\n }\n\n /**\n * update on delta in case we don't know existing position or external change\n * @param e\n */\n @Method() async changeScroll(e: ViewPortScrollEvent, silent = false) {\n if (silent) {\n if (e.coordinate && this.verticalScroll) {\n switch (e.dimension) {\n // for mobile devices to skip negative scroll loop. only on vertical scroll\n case 'rgRow':\n this.verticalScroll.style.transform = `translateY(${-1 * e.coordinate}px)`;\n break;\n }\n }\n return;\n }\n if (e.delta) {\n switch (e.dimension) {\n case 'rgCol':\n e.coordinate = this.horizontalScroll.scrollLeft + e.delta;\n break;\n case 'rgRow':\n e.coordinate = (this.verticalScroll?.scrollTop ?? 0) + e.delta;\n break;\n }\n this.setScroll(e);\n }\n return e;\n }\n\n /**\n * Dispatch this event to trigger vertical mouse wheel from plugins\n */\n @Listen('mousewheel-vertical') mousewheelVertical({\n detail: e,\n }: CustomEvent<LocalScrollEvent>) {\n this.verticalMouseWheel(e);\n }\n /**\n * Dispatch this event to trigger horizontal mouse wheel from plugins\n */\n @Listen('mousewheel-horizontal') mousewheelHorizontal({\n detail: e,\n }: CustomEvent<LocalScrollEvent>) {\n this.horizontalMouseWheel(e);\n }\n /**\n * Allows to use outside listener\n */\n @Listen('scroll-coordinate') scrollApply({\n detail: { type, coordinate },\n }: CustomEvent<ScrollCoordinateEvent>) {\n this.applyOnScroll(type, coordinate, true);\n }\n\n connectedCallback() {\n /**\n * Bind scroll functions for farther usage\n */\n // allow mousewheel for all devices including mobile\n this.verticalMouseWheel = this.onVerticalMouseWheel.bind(\n this,\n 'rgRow',\n 'deltaY',\n );\n this.horizontalMouseWheel = this.onHorizontalMouseWheel.bind(\n this,\n 'rgCol',\n 'deltaX',\n );\n this.localScrollTimer = new LocalScrollTimer(\n 'ontouchstart' in document.documentElement ? 0 : 10,\n );\n /**\n * Create local scroll service\n */\n this.localScrollService = new LocalScrollService({\n // to improve safari smoothnes on scroll\n // skipAnimationFrame: isSafariDesktop(),\n runScroll: e => this.scrollViewport.emit(e),\n applyScroll: e => {\n this.localScrollTimer.setCoordinate(e);\n switch (e.dimension) {\n case 'rgCol':\n // this will trigger on scroll event\n this.horizontalScroll.scrollLeft = e.coordinate;\n break;\n case 'rgRow':\n if (this.verticalScroll) {\n // this will trigger on scroll event\n this.verticalScroll.scrollTop = e.coordinate;\n // for mobile devices to skip negative scroll loop. only on vertical scroll\n if (this.verticalScroll.style.transform) {\n this.verticalScroll.style.transform = '';\n }\n }\n break;\n }\n },\n });\n }\n\n componentDidLoad() {\n // track viewport resize\n this.resizeService = new GridResizeService(\n this.horizontalScroll,\n (entry) => {\n const els: Partial<\n Record<\n DimensionType,\n {\n size: number;\n contentSize: number;\n scroll: number;\n noScroll: boolean;\n }\n >\n > = {};\n\n let calculatedHeight = entry.height || 0;\n if (calculatedHeight) {\n calculatedHeight -=\n (this.header?.clientHeight ?? 0) +\n (this.footer?.clientHeight ?? 0);\n }\n els.rgRow = {\n size: calculatedHeight,\n contentSize: this.contentHeight,\n scroll: this.verticalScroll?.scrollTop ?? 0,\n noScroll: false,\n };\n const calculatedWidth = entry.width || 0;\n els.rgCol = {\n size: calculatedWidth,\n contentSize: this.contentWidth,\n scroll: this.horizontalScroll.scrollLeft,\n noScroll: this.colType !== 'rgCol',\n };\n // Process changes in order: width first, then height\n const dimensions: DimensionType[] = ['rgCol', 'rgRow'];\n for (const dimension of dimensions) {\n const item = els[dimension];\n if (!item) continue;\n this.resizeViewport.emit({\n dimension,\n size: item.size,\n rowHeader: this.rowHeader,\n });\n if (item.noScroll) {\n continue;\n }\n this.localScrollService?.scroll(item.scroll ?? 0, dimension, true);\n // track scroll visibility on outer element change\n this.setScrollVisibility(dimension, item.size, item.contentSize);\n }\n },\n );\n }\n\n /**\n * Check if scroll present or not per type\n * Trigger this method on inner content size change or on outer element size change\n * If inner content bigger then outer size then scroll is present and mousewheel binding required\n * @param type - dimension type 'rgRow/y' or 'rgCol/x'\n * @param size - outer content size\n * @param innerContentSize - inner content size\n */\n setScrollVisibility(\n type: DimensionType,\n size: number,\n innerContentSize: number,\n ) {\n // test if scroll present\n const hasScroll = size < innerContentSize;\n let el: HTMLElement | undefined;\n // event reference for binding\n switch (type) {\n case 'rgCol':\n el = this.horizontalScroll;\n break;\n case 'rgRow':\n el = this.verticalScroll;\n break;\n }\n // based on scroll visibility assign or remove class and event\n if (hasScroll) {\n el?.classList.add(`scroll-${type}`);\n } else {\n el?.classList.remove(`scroll-${type}`);\n }\n this.scrollchange.emit({ type, hasScroll });\n }\n\n disconnectedCallback() {\n this.resizeService?.destroy();\n }\n\n async componentDidRender() {\n this.localScrollService.setParams(\n {\n contentSize: this.contentHeight,\n clientSize: this.verticalScroll?.clientHeight ?? 0,\n virtualSize: 0,\n },\n 'rgRow',\n );\n\n this.localScrollService.setParams(\n {\n contentSize: this.contentWidth,\n clientSize: this.horizontalScroll.clientWidth,\n virtualSize: 0,\n },\n 'rgCol',\n );\n this.setScrollVisibility(\n 'rgRow',\n this.verticalScroll?.clientHeight ?? 0,\n this.contentHeight,\n );\n this.setScrollVisibility(\n 'rgCol',\n this.horizontalScroll.clientWidth,\n this.contentWidth,\n );\n }\n\n render() {\n return (\n <Host\n onWheel={this.horizontalMouseWheel}\n onScroll={(e: UIEvent) => this.applyScroll('rgCol', e)}\n >\n <div\n class=\"inner-content-table\"\n style={{ width: `${this.contentWidth}px` }}\n >\n <div class=\"header-wrapper\" ref={e => (this.header = e)}>\n <slot name={HEADER_SLOT} />\n </div>\n <div\n class=\"vertical-inner\"\n ref={el => (this.verticalScroll = el)}\n onWheel={this.verticalMouseWheel}\n onScroll={(e: MouseEvent) => this.applyScroll('rgRow', e)}\n >\n <div\n class=\"content-wrapper\"\n style={{ height: `${this.contentHeight}px` }}\n >\n <slot name={CONTENT_SLOT} />\n </div>\n </div>\n <div class=\"footer-wrapper\" ref={e => (this.footer = e)}>\n <slot name={FOOTER_SLOT} />\n </div>\n </div>\n </Host>\n );\n }\n /**\n * Extra layer for scroll event monitoring, where MouseWheel event is not passing\n * We need to trigger scroll event in case there is no mousewheel event\n */\n @Method() async applyScroll(type: DimensionType, e: UIEvent) {\n if (!(e.target instanceof HTMLElement)) {\n return;\n }\n let scroll = 0;\n switch (type) {\n case 'rgCol':\n scroll = e.target.scrollLeft;\n break;\n case 'rgRow':\n scroll = e.target.scrollTop;\n break;\n }\n\n // for mobile devices to skip negative scroll loop\n if (scroll < 0) {\n this.silentScroll.emit({ dimension: type, coordinate: scroll });\n return;\n }\n this.applyOnScroll(type, scroll);\n }\n\n /**\n * Applies change on scroll event only if mousewheel event happened some time ago\n */\n private applyOnScroll(\n type: DimensionType,\n coordinate: number,\n outside = false,\n ) {\n const lastScrollUpdate = () => {\n this.localScrollService?.scroll(\n coordinate,\n type,\n undefined,\n undefined,\n outside,\n );\n };\n // apply after throttling\n if (this.localScrollTimer.isReady(type, coordinate)) {\n lastScrollUpdate();\n } else {\n this.localScrollTimer.throttleLastScrollUpdate(type, coordinate, () => lastScrollUpdate());\n }\n }\n\n /**\n * On vertical mousewheel event\n * @param type\n * @param delta\n * @param e\n */\n private onVerticalMouseWheel(\n type: DimensionType,\n delta: Delta,\n e: LocalScrollEvent,\n ) {\n const scrollTop = this.verticalScroll?.scrollTop ?? 0;\n const clientHeight = this.verticalScroll?.clientHeight ?? 0;\n const scrollHeight = this.verticalScroll?.scrollHeight ?? 0;\n\n // Detect if the user has reached the bottom\n const atBottom = scrollTop + clientHeight >= scrollHeight && e.deltaY > 0;\n const atTop = scrollTop === 0 && e.deltaY < 0;\n if (!atBottom && !atTop) {\n e.preventDefault?.();\n }\n const pos = scrollTop + e[delta];\n this.localScrollService?.scroll(pos, type, undefined, e[delta]);\n this.localScrollTimer.latestScrollUpdate(type);\n }\n\n /**\n * On horizontal mousewheel event\n * @param type\n * @param delta\n * @param e\n */\n private onHorizontalMouseWheel(\n type: DimensionType,\n delta: Delta,\n e: LocalScrollEvent,\n ) {\n if (!e.deltaX) {\n return;\n }\n const { scrollLeft, scrollWidth, clientWidth } = this.horizontalScroll;\n\n // Detect if the user has reached the right end\n const atRight = scrollLeft + clientWidth >= scrollWidth && e.deltaX > 0;\n\n // Detect if the user has reached the left end\n const atLeft = scrollLeft === 0 && e.deltaX < 0;\n if (!atRight && !atLeft) {\n e.preventDefault?.();\n }\n const pos = scrollLeft + e[delta];\n this.localScrollService?.scroll(pos, type, undefined, e[delta]);\n this.localScrollTimer.latestScrollUpdate(type);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"revogr-viewport-scroll.js","sourceRoot":"","sources":["../../../src/components/scroll/revogr-viewport-scroll.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Event,\n EventEmitter,\n h,\n Method,\n Element,\n Prop,\n Host,\n Listen,\n} from '@stencil/core';\n\nimport GridResizeService from '../revoGrid/viewport.resize.service';\nimport LocalScrollService from '../../services/local.scroll.service';\nimport { LocalScrollTimer } from '../../services/local.scroll.timer';\nimport {\n CONTENT_SLOT,\n FOOTER_SLOT,\n HEADER_SLOT,\n} from '../revoGrid/viewport.helpers';\nimport type {\n DimensionCols,\n DimensionType,\n ElementScroll,\n ScrollCoordinateEvent,\n ViewPortResizeEvent,\n ViewPortScrollEvent,\n} from '@type';\n\ntype Delta = 'deltaX' | 'deltaY';\ntype LocalScrollEvent = {\n preventDefault(): void;\n} & { [x in Delta]: number };\n\n/**\n * Viewport scroll component for RevoGrid\n * @slot - content\n * @slot header - header\n * @slot footer - footer\n */\n@Component({\n tag: 'revogr-viewport-scroll',\n styleUrl: 'revogr-viewport-scroll-style.scss',\n})\nexport class RevogrViewportScroll implements ElementScroll {\n /**\n * Enable row header\n */\n @Prop() readonly rowHeader: boolean;\n\n /**\n * Width of inner content\n */\n @Prop() contentWidth = 0;\n /**\n * Height of inner content\n */\n @Prop() contentHeight = 0;\n\n @Prop() colType!: DimensionCols | 'rowHeaders';\n\n /**\n * Before scroll event\n */\n @Event({ eventName: 'scrollviewport', bubbles: true })\n scrollViewport: EventEmitter<ViewPortScrollEvent>;\n /**\n * Viewport resize\n */\n @Event({ eventName: 'resizeviewport' })\n resizeViewport: EventEmitter<ViewPortResizeEvent>;\n\n /**\n * Triggered on scroll change, can be used to get information about scroll visibility\n */\n @Event() scrollchange: EventEmitter<{\n type: DimensionType;\n hasScroll: boolean;\n }>;\n\n /**\n * Silently scroll to coordinate\n * Made to align negative coordinates for mobile devices\n */\n @Event({ eventName: 'scrollviewportsilent' })\n silentScroll: EventEmitter<ViewPortScrollEvent>;\n\n @Element() horizontalScroll: HTMLElement;\n\n private verticalScroll?: HTMLElement;\n private header?: HTMLElement;\n private footer?: HTMLElement;\n\n /**\n * Static functions to bind wheel change\n */\n private horizontalMouseWheel: (e: Partial<LocalScrollEvent>) => void;\n private verticalMouseWheel: (e: Partial<LocalScrollEvent>) => void;\n\n private resizeService?: GridResizeService;\n private localScrollService: LocalScrollService;\n private localScrollTimer: LocalScrollTimer;\n\n @Method() async setScroll(e: ViewPortScrollEvent) {\n this.localScrollTimer.latestScrollUpdate(e.dimension);\n this.localScrollService?.setScroll(e);\n }\n\n /**\n * update on delta in case we don't know existing position or external change\n * @param e\n */\n @Method() async changeScroll(e: ViewPortScrollEvent, silent = false) {\n if (silent) {\n if (e.coordinate && this.verticalScroll) {\n switch (e.dimension) {\n // for mobile devices to skip negative scroll loop. only on vertical scroll\n case 'rgRow':\n this.verticalScroll.style.transform = `translateY(${-1 * e.coordinate}px)`;\n break;\n }\n }\n return;\n }\n if (e.delta) {\n switch (e.dimension) {\n case 'rgCol':\n e.coordinate = this.horizontalScroll.scrollLeft + e.delta;\n break;\n case 'rgRow':\n e.coordinate = (this.verticalScroll?.scrollTop ?? 0) + e.delta;\n break;\n }\n this.setScroll(e);\n }\n return e;\n }\n\n /**\n * Dispatch this event to trigger vertical mouse wheel from plugins\n */\n @Listen('mousewheel-vertical') mousewheelVertical({\n detail: e,\n }: CustomEvent<LocalScrollEvent>) {\n this.verticalMouseWheel(e);\n }\n /**\n * Dispatch this event to trigger horizontal mouse wheel from plugins\n */\n @Listen('mousewheel-horizontal') mousewheelHorizontal({\n detail: e,\n }: CustomEvent<LocalScrollEvent>) {\n this.horizontalMouseWheel(e);\n }\n /**\n * Allows to use outside listener\n */\n @Listen('scroll-coordinate') scrollApply({\n detail: { type, coordinate },\n }: CustomEvent<ScrollCoordinateEvent>) {\n this.applyOnScroll(type, coordinate, true);\n }\n\n connectedCallback() {\n /**\n * Bind scroll functions for farther usage\n */\n // allow mousewheel for all devices including mobile\n this.verticalMouseWheel = this.onVerticalMouseWheel.bind(\n this,\n 'rgRow',\n 'deltaY',\n );\n this.horizontalMouseWheel = this.onHorizontalMouseWheel.bind(\n this,\n 'rgCol',\n 'deltaX',\n );\n this.localScrollTimer = new LocalScrollTimer(\n 'ontouchstart' in document.documentElement ? 0 : 10,\n );\n /**\n * Create local scroll service\n */\n this.localScrollService = new LocalScrollService({\n // to improve safari smoothnes on scroll\n // skipAnimationFrame: isSafariDesktop(),\n runScroll: e => this.scrollViewport.emit(e),\n applyScroll: e => {\n this.localScrollTimer.setCoordinate(e);\n switch (e.dimension) {\n case 'rgCol':\n // this will trigger on scroll event\n this.horizontalScroll.scrollLeft = e.coordinate;\n break;\n case 'rgRow':\n if (this.verticalScroll) {\n // this will trigger on scroll event\n this.verticalScroll.scrollTop = e.coordinate;\n // for mobile devices to skip negative scroll loop. only on vertical scroll\n if (this.verticalScroll.style.transform) {\n this.verticalScroll.style.transform = '';\n }\n }\n break;\n }\n },\n });\n }\n\n componentDidLoad() {\n // track viewport resize\n this.resizeService = new GridResizeService(\n this.horizontalScroll,\n (entry) => {\n const els: Partial<\n Record<\n DimensionType,\n {\n size: number;\n contentSize: number;\n scroll: number;\n noScroll: boolean;\n }\n >\n > = {};\n\n let calculatedHeight = entry.height || 0;\n if (calculatedHeight) {\n calculatedHeight -=\n (this.header?.clientHeight ?? 0) +\n (this.footer?.clientHeight ?? 0);\n }\n els.rgRow = {\n size: calculatedHeight,\n contentSize: this.contentHeight,\n scroll: this.verticalScroll?.scrollTop ?? 0,\n noScroll: false,\n };\n const calculatedWidth = entry.width || 0;\n els.rgCol = {\n size: calculatedWidth,\n contentSize: this.contentWidth,\n scroll: this.horizontalScroll.scrollLeft,\n noScroll: this.colType !== 'rgCol',\n };\n // Process changes in order: width first, then height\n const dimensions: DimensionType[] = ['rgCol', 'rgRow'];\n for (const dimension of dimensions) {\n const item = els[dimension];\n if (!item) continue;\n this.resizeViewport.emit({\n dimension,\n size: item.size,\n rowHeader: this.rowHeader,\n });\n if (item.noScroll) {\n continue;\n }\n this.localScrollService?.scroll(item.scroll ?? 0, dimension, true);\n // track scroll visibility on outer element change\n this.setScrollVisibility(dimension, item.size, item.contentSize);\n }\n },\n );\n }\n\n /**\n * Check if scroll present or not per type\n * Trigger this method on inner content size change or on outer element size change\n * If inner content bigger then outer size then scroll is present and mousewheel binding required\n * @param type - dimension type 'rgRow/y' or 'rgCol/x'\n * @param size - outer content size\n * @param innerContentSize - inner content size\n */\n setScrollVisibility(\n type: DimensionType,\n size: number,\n innerContentSize: number,\n ) {\n // test if scroll present\n const hasScroll = size < innerContentSize;\n let el: HTMLElement | undefined;\n // event reference for binding\n switch (type) {\n case 'rgCol':\n el = this.horizontalScroll;\n break;\n case 'rgRow':\n el = this.verticalScroll;\n break;\n }\n // based on scroll visibility assign or remove class and event\n if (hasScroll) {\n el?.classList.add(`scroll-${type}`);\n } else {\n el?.classList.remove(`scroll-${type}`);\n }\n this.scrollchange.emit({ type, hasScroll });\n }\n\n disconnectedCallback() {\n this.resizeService?.destroy();\n }\n\n async componentDidRender() {\n this.localScrollService.setParams(\n {\n contentSize: this.contentHeight,\n clientSize: this.verticalScroll?.clientHeight ?? 0,\n virtualSize: 0,\n },\n 'rgRow',\n );\n\n this.localScrollService.setParams(\n {\n contentSize: this.contentWidth,\n clientSize: this.horizontalScroll.clientWidth,\n virtualSize: 0,\n },\n 'rgCol',\n );\n this.setScrollVisibility(\n 'rgRow',\n this.verticalScroll?.clientHeight ?? 0,\n this.contentHeight,\n );\n this.setScrollVisibility(\n 'rgCol',\n this.horizontalScroll.clientWidth,\n this.contentWidth,\n );\n }\n\n render() {\n return (\n <Host\n onWheel={this.horizontalMouseWheel}\n onScroll={(e: UIEvent) => this.applyScroll('rgCol', e)}\n >\n <div\n class=\"inner-content-table\"\n style={{ width: `${this.contentWidth}px` }}\n >\n <div class=\"header-wrapper\" ref={e => (this.header = e)}>\n <slot name={HEADER_SLOT} />\n </div>\n <div\n class=\"vertical-inner\"\n ref={el => (this.verticalScroll = el)}\n onWheel={this.verticalMouseWheel}\n onScroll={(e: MouseEvent) => this.applyScroll('rgRow', e)}\n >\n <div\n class=\"content-wrapper\"\n style={{ height: `${this.contentHeight}px` }}\n >\n <slot name={CONTENT_SLOT} />\n </div>\n </div>\n <div class=\"footer-wrapper\" ref={e => (this.footer = e)}>\n <slot name={FOOTER_SLOT} />\n </div>\n </div>\n </Host>\n );\n }\n /**\n * Extra layer for scroll event monitoring, where MouseWheel event is not passing\n * We need to trigger scroll event in case there is no mousewheel event\n */\n @Method() async applyScroll(type: DimensionType, e: UIEvent) {\n if (!(e.target instanceof HTMLElement)) {\n return;\n }\n let scroll = 0;\n switch (type) {\n case 'rgCol':\n scroll = e.target.scrollLeft;\n break;\n case 'rgRow':\n scroll = e.target.scrollTop;\n break;\n }\n\n // for mobile devices to skip negative scroll loop\n if (scroll < 0) {\n this.silentScroll.emit({ dimension: type, coordinate: scroll });\n return;\n }\n this.applyOnScroll(type, scroll);\n }\n\n /**\n * Applies change on scroll event only if mousewheel event happened some time ago\n */\n private applyOnScroll(\n type: DimensionType,\n coordinate: number,\n outside = false,\n ) {\n const lastScrollUpdate = () => {\n this.localScrollService?.scroll(\n coordinate,\n type,\n undefined,\n undefined,\n outside,\n );\n };\n // apply after throttling\n if (this.localScrollTimer.isReady(type, coordinate)) {\n lastScrollUpdate();\n } else {\n this.localScrollTimer.throttleLastScrollUpdate(type, coordinate, () => lastScrollUpdate());\n }\n }\n\n /**\n * On vertical mousewheel event\n * @param type\n * @param delta\n * @param e\n */\n private onVerticalMouseWheel(\n type: DimensionType,\n delta: Delta,\n e: LocalScrollEvent,\n ) {\n const scrollTop = this.verticalScroll?.scrollTop ?? 0;\n const clientHeight = this.verticalScroll?.clientHeight ?? 0;\n const scrollHeight = this.verticalScroll?.scrollHeight ?? 0;\n\n // Detect if the user has reached the bottom\n const atBottom = scrollTop + clientHeight >= scrollHeight && e.deltaY > 0;\n const atTop = scrollTop === 0 && e.deltaY < 0;\n if (!atBottom && !atTop) {\n e.preventDefault?.();\n }\n const pos = scrollTop + e[delta];\n this.localScrollService?.scroll(pos, type, undefined, e[delta]);\n this.localScrollTimer.latestScrollUpdate(type);\n }\n\n /**\n * On horizontal mousewheel event\n * @param type\n * @param delta\n * @param e\n */\n private onHorizontalMouseWheel(\n type: DimensionType,\n delta: Delta,\n e: LocalScrollEvent,\n ) {\n if (!e.deltaX) {\n return;\n }\n const { scrollLeft, scrollWidth, clientWidth } = this.horizontalScroll;\n\n // Detect if the user has reached the right end\n const atRight = scrollLeft + clientWidth >= scrollWidth && e.deltaX > 0;\n\n // Detect if the user has reached the left end\n const atLeft = scrollLeft === 0 && e.deltaX < 0;\n if (!atRight && !atLeft) {\n e.preventDefault?.();\n }\n const pos = scrollLeft + e[delta];\n this.localScrollService?.scroll(pos, type, undefined, e[delta]);\n this.localScrollTimer.latestScrollUpdate(type);\n }\n}\n"]}
|
|
@@ -11,11 +11,11 @@ import { getScrollbarSize } from "../../utils";
|
|
|
11
11
|
*/
|
|
12
12
|
export class RevogrScrollVirtual {
|
|
13
13
|
constructor() {
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Scroll dimension (`X` - `rgCol` or `Y` - `rgRow`)
|
|
16
|
+
*/
|
|
15
17
|
this.dimension = 'rgRow';
|
|
16
|
-
this.
|
|
17
|
-
this.virtualSize = undefined;
|
|
18
|
-
this.clientSize = undefined;
|
|
18
|
+
this.scrollSize = 0;
|
|
19
19
|
}
|
|
20
20
|
async setScroll(e) {
|
|
21
21
|
var _a;
|
|
@@ -127,6 +127,7 @@ export class RevogrScrollVirtual {
|
|
|
127
127
|
return {
|
|
128
128
|
"dimension": {
|
|
129
129
|
"type": "string",
|
|
130
|
+
"attribute": "dimension",
|
|
130
131
|
"mutable": false,
|
|
131
132
|
"complexType": {
|
|
132
133
|
"original": "DimensionType",
|
|
@@ -147,12 +148,12 @@ export class RevogrScrollVirtual {
|
|
|
147
148
|
},
|
|
148
149
|
"getter": false,
|
|
149
150
|
"setter": false,
|
|
150
|
-
"attribute": "dimension",
|
|
151
151
|
"reflect": false,
|
|
152
152
|
"defaultValue": "'rgRow'"
|
|
153
153
|
},
|
|
154
154
|
"realSize": {
|
|
155
155
|
"type": "number",
|
|
156
|
+
"attribute": "real-size",
|
|
156
157
|
"mutable": false,
|
|
157
158
|
"complexType": {
|
|
158
159
|
"original": "number",
|
|
@@ -167,11 +168,11 @@ export class RevogrScrollVirtual {
|
|
|
167
168
|
},
|
|
168
169
|
"getter": false,
|
|
169
170
|
"setter": false,
|
|
170
|
-
"attribute": "real-size",
|
|
171
171
|
"reflect": false
|
|
172
172
|
},
|
|
173
173
|
"virtualSize": {
|
|
174
174
|
"type": "number",
|
|
175
|
+
"attribute": "virtual-size",
|
|
175
176
|
"mutable": false,
|
|
176
177
|
"complexType": {
|
|
177
178
|
"original": "number",
|
|
@@ -186,11 +187,11 @@ export class RevogrScrollVirtual {
|
|
|
186
187
|
},
|
|
187
188
|
"getter": false,
|
|
188
189
|
"setter": false,
|
|
189
|
-
"attribute": "virtual-size",
|
|
190
190
|
"reflect": false
|
|
191
191
|
},
|
|
192
192
|
"clientSize": {
|
|
193
193
|
"type": "number",
|
|
194
|
+
"attribute": "client-size",
|
|
194
195
|
"mutable": false,
|
|
195
196
|
"complexType": {
|
|
196
197
|
"original": "number",
|
|
@@ -205,7 +206,6 @@ export class RevogrScrollVirtual {
|
|
|
205
206
|
},
|
|
206
207
|
"getter": false,
|
|
207
208
|
"setter": false,
|
|
208
|
-
"attribute": "client-size",
|
|
209
209
|
"reflect": false
|
|
210
210
|
}
|
|
211
211
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revogr-scroll-virtual.js","sourceRoot":"","sources":["../../../src/components/scrollable/revogr-scroll-virtual.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,IAAI,cAAc,EACzB,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,GACL,MAAM,eAAe,CAAC;AACvB,OAAO,kBAAkB,EAAE,EACzB,cAAc,GACf,MAAM,qCAAqC,CAAC;AAK7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;;GAEG;AAKH,MAAM,OAAO,mBAAmB;;
|
|
1
|
+
{"version":3,"file":"revogr-scroll-virtual.js","sourceRoot":"","sources":["../../../src/components/scrollable/revogr-scroll-virtual.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element as StencilElement,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n} from '@stencil/core';\nimport LocalScrollService, {\n getContentSize,\n} from '../../services/local.scroll.service';\nimport type {\n DimensionType,\n ViewPortScrollEvent,\n} from '@type';\nimport { AutohideScrollPlugin } from './autohide-scroll.plugin';\nimport { LocalScrollTimer } from '../../services/local.scroll.timer';\nimport { getScrollbarSize } from '../../utils';\n\n/**\n * Virtual scroll component\n */\n@Component({\n tag: 'revogr-scroll-virtual',\n styleUrl: 'revogr-scroll-style.scss',\n})\nexport class RevogrScrollVirtual {\n /**\n * Scroll dimension (`X` - `rgCol` or `Y` - `rgRow`)\n */\n @Prop() dimension: DimensionType = 'rgRow';\n\n /**\n * Dimensions\n */\n @Prop() realSize!: number;\n\n /**\n * Virtual size\n */\n @Prop() virtualSize!: number;\n\n /**\n * Client size\n */\n @Prop() clientSize!: number;\n\n /**\n * Scroll event\n */\n @Event({ eventName: 'scrollvirtual' })\n scrollVirtual: EventEmitter<ViewPortScrollEvent>;\n\n @StencilElement() element: HTMLElement;\n private autohideScrollPlugin: AutohideScrollPlugin;\n private scrollSize = 0;\n private localScrollService: LocalScrollService;\n private localScrollTimer: LocalScrollTimer;\n\n @Method()\n async setScroll(e: ViewPortScrollEvent): Promise<void> {\n if (this.dimension !== e.dimension) {\n return;\n }\n this.localScrollTimer.latestScrollUpdate(e.dimension);\n this.localScrollService?.setScroll(e);\n if (e.coordinate) {\n this.autohideScrollPlugin.checkScroll({\n scrollSize: this.scrollSize,\n contentSize: this.realSize,\n virtualSize: this.virtualSize,\n });\n }\n }\n\n /**\n * Update if `delta` exists in case we don't know current position or if it's external change\n */\n @Method()\n async changeScroll(e: ViewPortScrollEvent): Promise<ViewPortScrollEvent> {\n if (e.delta) {\n switch (e.dimension) {\n case 'rgCol':\n e.coordinate = this.element.scrollLeft + e.delta;\n break;\n case 'rgRow':\n e.coordinate = this.element.scrollTop + e.delta;\n break;\n }\n this.setScroll(e);\n }\n return e;\n }\n\n connectedCallback() {\n this.autohideScrollPlugin = new AutohideScrollPlugin(this.element);\n this.localScrollTimer = new LocalScrollTimer(\n 'ontouchstart' in document.documentElement ? 0 : 10,\n );\n this.localScrollService = new LocalScrollService({\n runScroll: e => this.scrollVirtual.emit(e),\n applyScroll: e => {\n this.localScrollTimer.setCoordinate(e);\n const type = e.dimension === 'rgRow' ? 'scrollTop' : 'scrollLeft';\n // this will trigger on scroll event\n this.element[type] = e.coordinate;\n },\n });\n }\n\n disconnectedCallback() {\n this.autohideScrollPlugin.clear();\n }\n\n componentWillLoad() {\n this.scrollSize = getScrollbarSize(document);\n }\n\n componentDidRender() {\n let scrollSize = 0;\n if (this.dimension === 'rgRow') {\n scrollSize = this.element.scrollHeight > this.element.clientHeight ? this.scrollSize : 0;\n this.element.style.minWidth = `${scrollSize}px`;\n } else {\n scrollSize = this.element.scrollWidth > this.element.clientWidth ? this.scrollSize : 0;\n this.element.style.minHeight = `${scrollSize}px`;\n }\n this.autohideScrollPlugin.setScrollSize(scrollSize);\n this.localScrollService.setParams(\n {\n contentSize: this.realSize,\n clientSize: this.dimension === 'rgRow' ? this.element.clientHeight : this.element.clientWidth,\n virtualSize: this.clientSize,\n },\n this.dimension,\n );\n }\n\n onScroll(e: MouseEvent) {\n if (!(e.target instanceof Element)) {\n return;\n }\n const target = e.target;\n let type: 'scrollLeft' | 'scrollTop' = 'scrollLeft';\n if (this.dimension === 'rgRow') {\n type = 'scrollTop';\n }\n\n const setScroll = () => {\n this.localScrollService?.scroll(target[type] || 0, this.dimension);\n };\n // apply after throttling\n if (this.localScrollTimer.isReady(this.dimension, target[type])) {\n setScroll();\n } else {\n this.localScrollTimer.throttleLastScrollUpdate(this.dimension, target[type] || 0, () => setScroll());\n }\n }\n\n render() {\n const size = getContentSize(\n this.realSize,\n this.dimension === 'rgRow' ? this.element.clientHeight : this.element.clientWidth,\n this.clientSize, // content viewport size\n );\n return (\n <Host onScroll={(e: MouseEvent) => this.onScroll(e)}>\n <div\n style={{\n [this.dimension === 'rgRow' ? 'height' : 'width']: `${size}px`,\n }}\n />\n </Host>\n );\n }\n}\n"]}
|
|
@@ -11,15 +11,11 @@ import { getSourceItem } from "../../store/index";
|
|
|
11
11
|
*/
|
|
12
12
|
export class RevogrFocus {
|
|
13
13
|
constructor() {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
this.selectionStore = undefined;
|
|
18
|
-
this.dimensionRow = undefined;
|
|
19
|
-
this.dimensionCol = undefined;
|
|
20
|
-
this.dataStore = undefined;
|
|
21
|
-
this.colData = undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Focus template custom function. Can be used to render custom focus layer.
|
|
16
|
+
*/
|
|
22
17
|
this.focusTemplate = null;
|
|
18
|
+
this.activeFocus = null;
|
|
23
19
|
}
|
|
24
20
|
componentDidRender() {
|
|
25
21
|
var _a, _b;
|
|
@@ -94,6 +90,7 @@ export class RevogrFocus {
|
|
|
94
90
|
return {
|
|
95
91
|
"colType": {
|
|
96
92
|
"type": "string",
|
|
93
|
+
"attribute": "col-type",
|
|
97
94
|
"mutable": false,
|
|
98
95
|
"complexType": {
|
|
99
96
|
"original": "DimensionCols",
|
|
@@ -114,11 +111,11 @@ export class RevogrFocus {
|
|
|
114
111
|
},
|
|
115
112
|
"getter": false,
|
|
116
113
|
"setter": false,
|
|
117
|
-
"attribute": "col-type",
|
|
118
114
|
"reflect": false
|
|
119
115
|
},
|
|
120
116
|
"rowType": {
|
|
121
117
|
"type": "string",
|
|
118
|
+
"attribute": "row-type",
|
|
122
119
|
"mutable": false,
|
|
123
120
|
"complexType": {
|
|
124
121
|
"original": "DimensionRows",
|
|
@@ -139,11 +136,11 @@ export class RevogrFocus {
|
|
|
139
136
|
},
|
|
140
137
|
"getter": false,
|
|
141
138
|
"setter": false,
|
|
142
|
-
"attribute": "row-type",
|
|
143
139
|
"reflect": false
|
|
144
140
|
},
|
|
145
141
|
"selectionStore": {
|
|
146
142
|
"type": "unknown",
|
|
143
|
+
"attribute": "selection-store",
|
|
147
144
|
"mutable": false,
|
|
148
145
|
"complexType": {
|
|
149
146
|
"original": "Observable<SelectionStoreState>",
|
|
@@ -172,6 +169,7 @@ export class RevogrFocus {
|
|
|
172
169
|
},
|
|
173
170
|
"dimensionRow": {
|
|
174
171
|
"type": "unknown",
|
|
172
|
+
"attribute": "dimension-row",
|
|
175
173
|
"mutable": false,
|
|
176
174
|
"complexType": {
|
|
177
175
|
"original": "Observable<DimensionSettingsState>",
|
|
@@ -200,6 +198,7 @@ export class RevogrFocus {
|
|
|
200
198
|
},
|
|
201
199
|
"dimensionCol": {
|
|
202
200
|
"type": "unknown",
|
|
201
|
+
"attribute": "dimension-col",
|
|
203
202
|
"mutable": false,
|
|
204
203
|
"complexType": {
|
|
205
204
|
"original": "Observable<DimensionSettingsState>",
|
|
@@ -228,6 +227,7 @@ export class RevogrFocus {
|
|
|
228
227
|
},
|
|
229
228
|
"dataStore": {
|
|
230
229
|
"type": "unknown",
|
|
230
|
+
"attribute": "data-store",
|
|
231
231
|
"mutable": false,
|
|
232
232
|
"complexType": {
|
|
233
233
|
"original": "Observable<DSourceState<DataType, DimensionRows>>",
|
|
@@ -266,6 +266,7 @@ export class RevogrFocus {
|
|
|
266
266
|
},
|
|
267
267
|
"colData": {
|
|
268
268
|
"type": "unknown",
|
|
269
|
+
"attribute": "col-data",
|
|
269
270
|
"mutable": false,
|
|
270
271
|
"complexType": {
|
|
271
272
|
"original": "Observable<DSourceState<ColumnRegular, DimensionCols>>",
|
|
@@ -304,6 +305,7 @@ export class RevogrFocus {
|
|
|
304
305
|
},
|
|
305
306
|
"focusTemplate": {
|
|
306
307
|
"type": "unknown",
|
|
308
|
+
"attribute": "focus-template",
|
|
307
309
|
"mutable": false,
|
|
308
310
|
"complexType": {
|
|
309
311
|
"original": "FocusTemplateFunc | null",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revogr-focus.js","sourceRoot":"","sources":["../../../src/components/selectionFocus/revogr-focus.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,KAAK,EACL,OAAO,GAER,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAgB,aAAa,EAAE,MAAM,QAAQ,CAAC;AAerD;;;GAGG;AAKH,MAAM,OAAO,WAAW;;
|
|
1
|
+
{"version":3,"file":"revogr-focus.js","sourceRoot":"","sources":["../../../src/components/selectionFocus/revogr-focus.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n h,\n Host,\n Event,\n Element,\n EventEmitter,\n} from '@stencil/core';\nimport { FOCUS_CLASS } from '../../utils/consts';\nimport { getCell, styleByCellProps } from '../overlay/selection.utils';\nimport { DSourceState, getSourceItem } from '@store';\nimport type {\n Cell,\n SelectionStoreState,\n ColumnRegular,\n DataType,\n DimensionSettingsState,\n FocusRenderEvent,\n FocusTemplateFunc,\n DimensionCols,\n DimensionRows,\n FocusAfterRenderEvent,\n} from '@type';\nimport type { Observable } from '../../utils';\n\n/**\n * Focus component. Shows focus layer around the cell that is currently in focus.\n * @slot focus-${view.type}-${data.type}. @example focus-rgCol-rgRow\n */\n@Component({\n tag: 'revogr-focus',\n styleUrl: 'revogr-focus-style.scss',\n})\nexport class RevogrFocus {\n /**\n * Column type\n */\n @Prop() colType!: DimensionCols;\n /**\n * Row type\n */\n @Prop() rowType!: DimensionRows;\n\n /** Dynamic stores */\n /** Selection, range, focus for selection */\n @Prop() selectionStore!: Observable<SelectionStoreState>;\n /** Dimension settings Y */\n @Prop() dimensionRow!: Observable<DimensionSettingsState>;\n /** Dimension settings X */\n @Prop() dimensionCol!: Observable<DimensionSettingsState>;\n /**\n * Data rows source\n */\n @Prop() dataStore!: Observable<DSourceState<DataType, DimensionRows>>;\n /**\n * Column source\n */\n @Prop() colData!: Observable<DSourceState<ColumnRegular, DimensionCols>>;\n\n /**\n * Focus template custom function. Can be used to render custom focus layer.\n */\n @Prop() focusTemplate: FocusTemplateFunc | null = null;\n\n /**\n * Before focus render event.\n * Can be prevented by event.preventDefault().\n * If preventDefault used slot will be rendered.\n */\n @Event({ eventName: 'beforefocusrender' })\n beforeFocusRender: EventEmitter<FocusRenderEvent>;\n\n /**\n * Before focus changed verify if it's in view and scroll viewport into this view\n * Can be prevented by event.preventDefault()\n */\n @Event({ eventName: 'beforescrollintoview' })\n beforeScrollIntoView: EventEmitter<{ el: HTMLElement }>;\n /**\n * Used to setup properties after focus was rendered\n */\n @Event({ eventName: 'afterfocus' })\n afterFocus: EventEmitter<FocusAfterRenderEvent>;\n\n @Element() el: HTMLElement;\n private activeFocus: Cell | null = null;\n\n componentDidRender() {\n const currentFocus = this.selectionStore.get('focus');\n if (\n this.activeFocus?.x === currentFocus?.x &&\n this.activeFocus?.y === currentFocus?.y\n ) {\n return;\n }\n this.activeFocus = currentFocus;\n if (currentFocus && this.el) {\n const beforeScrollIn = this.beforeScrollIntoView.emit({ el: this.el });\n if (!beforeScrollIn.defaultPrevented) {\n this.el.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n const model = getSourceItem(this.dataStore, currentFocus.y);\n const column = getSourceItem(this.colData, currentFocus.x);\n this.afterFocus.emit({\n model,\n column,\n rowType: this.rowType,\n colType: this.colType,\n rowIndex: currentFocus.y,\n colIndex: currentFocus.x,\n });\n }\n }\n\n render() {\n const editCell = this.selectionStore.get('edit');\n if (editCell) {\n return;\n }\n const focusCell = this.selectionStore.get('focus');\n if (!focusCell) {\n return;\n }\n const event = this.beforeFocusRender.emit({\n range: {\n ...focusCell,\n x1: focusCell.x,\n y1: focusCell.y,\n },\n rowType: this.rowType,\n colType: this.colType,\n rowDimension: { ...this.dimensionRow.state },\n colDimension: { ...this.dimensionCol.state },\n });\n if (event.defaultPrevented) {\n return <slot />;\n }\n const { detail } = event;\n\n const cell = getCell(\n detail.range,\n event.detail.rowDimension,\n event.detail.colDimension,\n );\n const styles = styleByCellProps(cell);\n const extra = this.focusTemplate?.(h, detail);\n const props = {\n class: { [FOCUS_CLASS]: true },\n style: styles,\n };\n return (\n <Host {...props}>\n <slot />\n {extra}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -11,9 +11,6 @@ import { getCell, styleByCellProps } from "../overlay/selection.utils";
|
|
|
11
11
|
export class RevogrFocus {
|
|
12
12
|
constructor() {
|
|
13
13
|
this.onChange = throttle((e) => this.doChange(e), 300);
|
|
14
|
-
this.selectionStore = undefined;
|
|
15
|
-
this.dimensionRow = undefined;
|
|
16
|
-
this.dimensionCol = undefined;
|
|
17
14
|
}
|
|
18
15
|
doChange(e) {
|
|
19
16
|
e === null || e === void 0 ? void 0 : e.scrollIntoView({
|
|
@@ -83,6 +80,7 @@ export class RevogrFocus {
|
|
|
83
80
|
return {
|
|
84
81
|
"selectionStore": {
|
|
85
82
|
"type": "unknown",
|
|
83
|
+
"attribute": "selection-store",
|
|
86
84
|
"mutable": false,
|
|
87
85
|
"complexType": {
|
|
88
86
|
"original": "Observable<SelectionStoreState>",
|
|
@@ -111,6 +109,7 @@ export class RevogrFocus {
|
|
|
111
109
|
},
|
|
112
110
|
"dimensionRow": {
|
|
113
111
|
"type": "unknown",
|
|
112
|
+
"attribute": "dimension-row",
|
|
114
113
|
"mutable": false,
|
|
115
114
|
"complexType": {
|
|
116
115
|
"original": "Observable<DimensionSettingsState>",
|
|
@@ -139,6 +138,7 @@ export class RevogrFocus {
|
|
|
139
138
|
},
|
|
140
139
|
"dimensionCol": {
|
|
141
140
|
"type": "unknown",
|
|
141
|
+
"attribute": "dimension-col",
|
|
142
142
|
"mutable": false,
|
|
143
143
|
"complexType": {
|
|
144
144
|
"original": "Observable<DimensionSettingsState>",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revogr-temp-range.js","sourceRoot":"","sources":["../../../src/components/selectionTempRange/revogr-temp-range.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAIvE;;GAEG;AAKH,MAAM,OAAO,WAAW
|
|
1
|
+
{"version":3,"file":"revogr-temp-range.js","sourceRoot":"","sources":["../../../src/components/selectionTempRange/revogr-temp-range.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Host } from '@stencil/core';\nimport throttle from 'lodash/throttle';\nimport { TMP_SELECTION_BG_CLASS } from '../../utils/consts';\nimport { getCell, styleByCellProps } from '../overlay/selection.utils';\nimport { DimensionSettingsState, SelectionStoreState, RangeArea } from '@type';\nimport type { Observable } from '../../utils';\n\n/**\n * Temporary range selection component. Shows temporary range selection.\n */\n@Component({\n tag: 'revogr-temp-range',\n styleUrl: 'revogr-temp-range-style.scss',\n})\nexport class RevogrFocus {\n /**\n * Dynamic stores\n */\n\n /**\n * Selection store, shows current selection and focus\n */\n @Prop() selectionStore: Observable<SelectionStoreState>;\n\n /**\n * Dimension row store\n */\n @Prop() dimensionRow: Observable<DimensionSettingsState>;\n /**\n * Dimension column store\n */\n @Prop() dimensionCol: Observable<DimensionSettingsState>;\n\n el?: HTMLElement;\n private readonly onChange = throttle((e: HTMLElement) => this.doChange(e), 300);\n\n private doChange(e: HTMLElement) {\n e?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n\n componentDidRender() {\n if (this.el) {\n this.onChange(this.el);\n }\n }\n\n render() {\n const data = this.selectionStore.get('tempRange');\n const type = this.selectionStore.get('tempRangeType');\n if (!data) {\n return;\n }\n let directionY = 'bottom';\n let derectionX = 'right';\n const range = this.getRange();\n if (!range) {\n return;\n }\n if (data.y < range.y) {\n directionY = 'top';\n }\n if (data.x < range.x) {\n derectionX = 'left';\n }\n const directionClass = `${derectionX} ${directionY}`;\n const cell = getCell(data,\n this.dimensionRow.state,\n this.dimensionCol.state\n );\n const styles = styleByCellProps(cell);\n const props = {\n class: {\n [TMP_SELECTION_BG_CLASS]: true,\n [type || '']: true,\n },\n style: styles,\n hidden: false\n };\n return (\n <Host {...props}>\n <div class={directionClass} ref={(e) => (this.el = e)} />\n </Host>\n );\n }\n\n private getRange(): RangeArea | null {\n const range = this.selectionStore.get('range');\n if (range) {\n return range;\n }\n const focus = this.selectionStore.get('focus');\n if (!focus) {\n return null;\n }\n return {\n ...focus,\n x1: focus.x,\n y1: focus.y,\n };\n }\n}\n"]}
|
|
@@ -11,8 +11,8 @@ import { Host, h, } from "@stencil/core";
|
|
|
11
11
|
*/
|
|
12
12
|
export class VNodeToHtml {
|
|
13
13
|
constructor() {
|
|
14
|
-
this.vnodes = [];
|
|
15
14
|
this.redraw = null;
|
|
15
|
+
this.vnodes = [];
|
|
16
16
|
}
|
|
17
17
|
componentDidRender() {
|
|
18
18
|
this.html.emit({
|
|
@@ -30,6 +30,7 @@ export class VNodeToHtml {
|
|
|
30
30
|
return {
|
|
31
31
|
"redraw": {
|
|
32
32
|
"type": "unknown",
|
|
33
|
+
"attribute": "redraw",
|
|
33
34
|
"mutable": false,
|
|
34
35
|
"complexType": {
|
|
35
36
|
"original": "(() => VNode[]) | null | undefined",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vnode-converter.js","sourceRoot":"","sources":["../../../src/components/vnode/vnode-converter.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,IAAI,EACJ,IAAI,EAEJ,CAAC,GACF,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH;;GAEG;AAIH,MAAM,OAAO,WAAW
|
|
1
|
+
{"version":3,"file":"vnode-converter.js","sourceRoot":"","sources":["../../../src/components/vnode/vnode-converter.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,IAAI,EACJ,IAAI,EAEJ,CAAC,GACF,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH;;GAEG;AAIH,MAAM,OAAO,WAAW;IAHxB;QAIU,WAAM,GAAuC,IAAI,CAAC;QAIlD,WAAM,GAAmB,EAAE,CAAC;KAmBrC;IAjBC,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED,MAAM;;QACJ,IAAI,CAAC,MAAM,GAAG,MAAA,MAAA,IAAI,CAAC,MAAM,oDAAI,mCAAI,IAAI,CAAC;QACtC,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,IAEpD,IAAI,CAAC,MAAM,CACP,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n type VNode,\n h,\n} from '@stencil/core';\n\n/**\n * VNode to html converter for stencil components.\n * Transform VNode to html string.\n */\n/**\n * @internal\n */\n@Component({\n tag: 'vnode-html',\n})\nexport class VNodeToHtml {\n @Prop() redraw: (() => VNode[]) | null | undefined = null;\n @Event() html: EventEmitter<{ html: string; vnodes: (VNode[]) | null }>;\n @Element() el: HTMLElement;\n\n private vnodes: VNode[] | null = [];\n\n componentDidRender() {\n this.html.emit({\n html: this.el.innerHTML,\n vnodes: this.vnodes,\n });\n }\n\n render() {\n this.vnodes = this.redraw?.() ?? null;\n return (\n <Host\n style={{ visibility: 'hidden', position: 'absolute' }}\n >\n {this.vnodes}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -30,20 +30,24 @@ export class FilterPanel {
|
|
|
30
30
|
and: 'and',
|
|
31
31
|
or: 'or',
|
|
32
32
|
};
|
|
33
|
-
this.debouncedApplyFilter = debounce(() => {
|
|
34
|
-
this.filterChange.emit(this.filterItems);
|
|
35
|
-
}, 400);
|
|
36
33
|
this.isFilterIdSet = false;
|
|
37
34
|
this.filterId = 0;
|
|
38
35
|
this.currentFilterId = -1;
|
|
39
36
|
this.currentFilterType = defaultType;
|
|
40
|
-
this.changes = undefined;
|
|
41
37
|
this.filterItems = {};
|
|
42
38
|
this.filterNames = {};
|
|
43
39
|
this.filterEntities = {};
|
|
44
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Disables dynamic filtering. A way to apply filters on Save only
|
|
42
|
+
*/
|
|
45
43
|
this.disableDynamicFiltering = false;
|
|
44
|
+
/**
|
|
45
|
+
* If true, closes the filter panel when clicking outside
|
|
46
|
+
*/
|
|
46
47
|
this.closeOnOutsideClick = true;
|
|
48
|
+
this.debouncedApplyFilter = debounce(() => {
|
|
49
|
+
this.filterChange.emit(this.filterItems);
|
|
50
|
+
}, 400);
|
|
47
51
|
}
|
|
48
52
|
onMouseDown(e) {
|
|
49
53
|
// click on anything then select drops values to default
|
|
@@ -364,6 +368,7 @@ export class FilterPanel {
|
|
|
364
368
|
return {
|
|
365
369
|
"filterNames": {
|
|
366
370
|
"type": "unknown",
|
|
371
|
+
"attribute": "filter-names",
|
|
367
372
|
"mutable": false,
|
|
368
373
|
"complexType": {
|
|
369
374
|
"original": "Record<string, string>",
|
|
@@ -387,6 +392,7 @@ export class FilterPanel {
|
|
|
387
392
|
},
|
|
388
393
|
"filterEntities": {
|
|
389
394
|
"type": "unknown",
|
|
395
|
+
"attribute": "filter-entities",
|
|
390
396
|
"mutable": false,
|
|
391
397
|
"complexType": {
|
|
392
398
|
"original": "Record<string, LogicFunction>",
|
|
@@ -415,6 +421,7 @@ export class FilterPanel {
|
|
|
415
421
|
},
|
|
416
422
|
"filterCaptions": {
|
|
417
423
|
"type": "unknown",
|
|
424
|
+
"attribute": "filter-captions",
|
|
418
425
|
"mutable": false,
|
|
419
426
|
"complexType": {
|
|
420
427
|
"original": "Partial<FilterCaptions> | undefined",
|
|
@@ -442,6 +449,7 @@ export class FilterPanel {
|
|
|
442
449
|
},
|
|
443
450
|
"disableDynamicFiltering": {
|
|
444
451
|
"type": "boolean",
|
|
452
|
+
"attribute": "disable-dynamic-filtering",
|
|
445
453
|
"mutable": false,
|
|
446
454
|
"complexType": {
|
|
447
455
|
"original": "boolean",
|
|
@@ -456,12 +464,12 @@ export class FilterPanel {
|
|
|
456
464
|
},
|
|
457
465
|
"getter": false,
|
|
458
466
|
"setter": false,
|
|
459
|
-
"attribute": "disable-dynamic-filtering",
|
|
460
467
|
"reflect": false,
|
|
461
468
|
"defaultValue": "false"
|
|
462
469
|
},
|
|
463
470
|
"closeOnOutsideClick": {
|
|
464
471
|
"type": "boolean",
|
|
472
|
+
"attribute": "close-on-outside-click",
|
|
465
473
|
"mutable": false,
|
|
466
474
|
"complexType": {
|
|
467
475
|
"original": "boolean",
|
|
@@ -476,7 +484,6 @@ export class FilterPanel {
|
|
|
476
484
|
},
|
|
477
485
|
"getter": false,
|
|
478
486
|
"setter": false,
|
|
479
|
-
"attribute": "close-on-outside-click",
|
|
480
487
|
"reflect": false,
|
|
481
488
|
"defaultValue": "true"
|
|
482
489
|
}
|