@revolist/revogrid 4.21.2 → 4.21.4

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.
Files changed (77) hide show
  1. package/dist/cjs/{cell-renderer-EyG5RkCf.js → cell-renderer-BLcxDHzP.js} +2 -2
  2. package/dist/cjs/{column.drag.plugin-DuMzh_Cm.js → column.drag.plugin-DfTAC5Qc.js} +4 -4
  3. package/dist/cjs/{column.service-BNgb1GSr.js → column.service-BmT2HOnj.js} +1 -1
  4. package/dist/cjs/{dimension.helpers-DLLC6uO6.js → dimension.helpers-BOxHtX5T.js} +13 -3
  5. package/dist/cjs/{edit.utils-BWpSdGmj.js → edit.utils-DnvQVP4H.js} +1 -1
  6. package/dist/cjs/{header-cell-renderer-BReLylCk.js → header-cell-renderer-7DgGThjq.js} +1 -1
  7. package/dist/cjs/index.cjs.js +9 -8
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/revo-grid.cjs.entry.js +45 -12
  10. package/dist/cjs/revo-grid.cjs.js +1 -1
  11. package/dist/cjs/revogr-attribution_7.cjs.entry.js +5 -5
  12. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +5 -3
  13. package/dist/cjs/revogr-data_4.cjs.entry.js +8 -7
  14. package/dist/cjs/{text-editor-tI8PMl7r.js → text-editor-B9ibcdrl.js} +2 -2
  15. package/dist/cjs/{throttle-Rub9czPz.js → throttle-DkuCcmB0.js} +1 -1
  16. package/dist/cjs/{viewport.store-Bkhj0ZmO.js → viewport.store-DG-4bWqg.js} +1 -1
  17. package/dist/collection/components/clipboard/revogr-clipboard.js +6 -4
  18. package/dist/collection/components/revoGrid/revo-grid.js +64 -3
  19. package/dist/collection/components/revoGrid/viewport.scrolling.service.js +4 -3
  20. package/dist/collection/components/revoGrid/viewport.service.js +2 -0
  21. package/dist/collection/components/rowHeaders/revogr-row-headers.js +1 -1
  22. package/dist/collection/components/scroll/revogr-viewport-scroll.js +25 -4
  23. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +1 -1
  24. package/dist/collection/services/data.provider.js +18 -2
  25. package/dist/collection/store/dataSource/data.store.js +14 -4
  26. package/dist/collection/types/events.js +1 -0
  27. package/dist/{revo-grid/cell-renderer-BDmepZJO.js → esm/cell-renderer-BNeaYjy6.js} +2 -2
  28. package/dist/esm/{column.drag.plugin-B98azH0j.js → column.drag.plugin-C9lvlTfl.js} +4 -4
  29. package/dist/esm/{column.service-BghHOZP8.js → column.service-8pPNyrKn.js} +1 -1
  30. package/dist/{revo-grid/dimension.helpers-C2F2Cuh8.js → esm/dimension.helpers-B-5OBYes.js} +13 -3
  31. package/dist/esm/{edit.utils-Cdhf8P7e.js → edit.utils-CQjRmx5n.js} +1 -1
  32. package/dist/{revo-grid/header-cell-renderer-DO0jvvbw.js → esm/header-cell-renderer-WkTbrmr7.js} +1 -1
  33. package/dist/esm/index.js +10 -9
  34. package/dist/esm/loader.js +1 -1
  35. package/dist/esm/revo-grid.entry.js +45 -12
  36. package/dist/esm/revo-grid.js +1 -1
  37. package/dist/esm/revogr-attribution_7.entry.js +5 -5
  38. package/dist/esm/revogr-clipboard_3.entry.js +5 -3
  39. package/dist/esm/revogr-data_4.entry.js +8 -7
  40. package/dist/{revo-grid/text-editor-BylR9oxh.js → esm/text-editor-DZSx2pWr.js} +2 -2
  41. package/dist/esm/{throttle-BEccmfmt.js → throttle-CYM0qC3v.js} +1 -1
  42. package/dist/{revo-grid/viewport.store-C3ajQgRm.js → esm/viewport.store-BGWR3XfI.js} +1 -1
  43. package/dist/{esm/cell-renderer-BDmepZJO.js → revo-grid/cell-renderer-BNeaYjy6.js} +2 -2
  44. package/dist/revo-grid/{column.drag.plugin-B98azH0j.js → column.drag.plugin-C9lvlTfl.js} +4 -4
  45. package/dist/revo-grid/{column.service-BghHOZP8.js → column.service-8pPNyrKn.js} +1 -1
  46. package/dist/{esm/dimension.helpers-C2F2Cuh8.js → revo-grid/dimension.helpers-B-5OBYes.js} +13 -3
  47. package/dist/revo-grid/{edit.utils-Cdhf8P7e.js → edit.utils-CQjRmx5n.js} +1 -1
  48. package/dist/{esm/header-cell-renderer-DO0jvvbw.js → revo-grid/header-cell-renderer-WkTbrmr7.js} +1 -1
  49. package/dist/revo-grid/index.esm.js +10 -9
  50. package/dist/revo-grid/revo-grid.entry.js +45 -12
  51. package/dist/revo-grid/revo-grid.esm.js +1 -1
  52. package/dist/revo-grid/revogr-attribution_7.entry.js +5 -5
  53. package/dist/revo-grid/revogr-clipboard_3.entry.js +5 -3
  54. package/dist/revo-grid/revogr-data_4.entry.js +8 -7
  55. package/dist/{esm/text-editor-BylR9oxh.js → revo-grid/text-editor-DZSx2pWr.js} +2 -2
  56. package/dist/revo-grid/{throttle-BEccmfmt.js → throttle-CYM0qC3v.js} +1 -1
  57. package/dist/{esm/viewport.store-C3ajQgRm.js → revo-grid/viewport.store-BGWR3XfI.js} +1 -1
  58. package/dist/types/components/clipboard/revogr-clipboard.d.ts +2 -0
  59. package/dist/types/components/revoGrid/revo-grid.d.ts +11 -0
  60. package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +3 -3
  61. package/dist/types/components/revoGrid/viewport.service.d.ts +1 -0
  62. package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +1 -0
  63. package/dist/types/components.d.ts +33 -0
  64. package/dist/types/services/data.provider.d.ts +15 -1
  65. package/dist/types/store/dataSource/data.store.d.ts +3 -1
  66. package/dist/types/types/events.d.ts +1 -1
  67. package/dist/types/types/interfaces.d.ts +2 -2
  68. package/dist/types/types/viewport.interfaces.d.ts +7 -2
  69. package/hydrate/index.js +60 -12
  70. package/hydrate/index.mjs +60 -12
  71. package/package.json +1 -1
  72. package/readme.md +2 -0
  73. package/standalone/data.store.js +1 -1
  74. package/standalone/index.js +1 -1
  75. package/standalone/revo-grid.js +1 -1
  76. package/standalone/revogr-clipboard2.js +1 -1
  77. package/standalone/revogr-viewport-scroll2.js +1 -1
@@ -4,8 +4,8 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Dq8Xzj5l.js');
7
- var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
8
- var column_service = require('./column.service-BNgb1GSr.js');
7
+ var dimension_helpers = require('./dimension.helpers-BOxHtX5T.js');
8
+ var column_service = require('./column.service-BmT2HOnj.js');
9
9
 
10
10
  const SortingSign = ({ column }) => {
11
11
  var _a;
@@ -3,13 +3,13 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var column_service = require('./column.service-BNgb1GSr.js');
7
- var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
8
- var viewport_store = require('./viewport.store-Bkhj0ZmO.js');
6
+ var column_service = require('./column.service-BmT2HOnj.js');
7
+ var dimension_helpers = require('./dimension.helpers-BOxHtX5T.js');
8
+ var viewport_store = require('./viewport.store-DG-4bWqg.js');
9
9
  var index = require('./index-Dq8Xzj5l.js');
10
10
  var filter_button = require('./filter.button-w6LWnyhi.js');
11
11
  var debounce = require('./debounce-CcpHiH2p.js');
12
- var headerCellRenderer = require('./header-cell-renderer-BReLylCk.js');
12
+ var headerCellRenderer = require('./header-cell-renderer-7DgGThjq.js');
13
13
 
14
14
  /**
15
15
  * Plugin which recalculates realSize on changes of sizes, originItemSize and count
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
6
+ var dimension_helpers = require('./dimension.helpers-BOxHtX5T.js');
7
7
 
8
8
  /**
9
9
  * Converts `value` to an integer.
@@ -3272,8 +3272,16 @@ class DataStore {
3272
3272
  * full data source update
3273
3273
  * @param source - data column/rgRow source
3274
3274
  * @param grouping - grouping information if present
3275
+ * @param silent - if true, store will be updated without resetting trimmed state
3276
+ * @param preserveTrimmed - if true, current trimmed indexes will be re-applied to the new source, use with caution because physical indexes may change across full data refreshes
3275
3277
  */
3276
- updateData(source, grouping, silent = false) {
3278
+ updateData(source, grouping,
3279
+ // if true, store will be updated without resetting trimmed state
3280
+ silent = false,
3281
+ // if true, current trimmed indexes will be re-applied to the new source
3282
+ preserveTrimmed = false) {
3283
+ const trimmed = this.store.get('trimmed');
3284
+ const trimmedItems = silent && preserveTrimmed ? gatherTrimmedItems(trimmed) : null;
3277
3285
  // during full update we do drop trim
3278
3286
  if (!silent) {
3279
3287
  this.store.set('trimmed', {});
@@ -3286,12 +3294,14 @@ class DataStore {
3286
3294
  source,
3287
3295
  proxyItems: [...items],
3288
3296
  });
3289
- // update data items
3290
- this.store.set('items', items);
3297
+ // Explicit trim preservation is opt-in because physical indexes may change
3298
+ // across full data refreshes.
3299
+ this.store.set('items', trimmedItems ? items.filter(i => !trimmedItems[i]) : items);
3291
3300
  // apply grouping if present
3292
3301
  if (grouping) {
3293
3302
  setStore(this.store, {
3294
3303
  groupingDepth: grouping.depth,
3304
+ // if groups are not provided, we will consider that there is only one group with all items
3295
3305
  groups: grouping.groups,
3296
3306
  groupingCustomRenderer: grouping.customRenderer,
3297
3307
  });
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
6
+ var dimension_helpers = require('./dimension.helpers-BOxHtX5T.js');
7
7
 
8
8
  function isMetaKey(code) {
9
9
  const keys = [
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Dq8Xzj5l.js');
7
- var column_service = require('./column.service-BNgb1GSr.js');
7
+ var column_service = require('./column.service-BmT2HOnj.js');
8
8
 
9
9
  /**
10
10
  * Dispatches a custom event to a specified target element.
@@ -3,15 +3,15 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var column_service = require('./column.service-BNgb1GSr.js');
7
- var column_drag_plugin = require('./column.drag.plugin-DuMzh_Cm.js');
8
- var headerCellRenderer = require('./header-cell-renderer-BReLylCk.js');
9
- var cellRenderer = require('./cell-renderer-EyG5RkCf.js');
10
- var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
11
- var textEditor = require('./text-editor-tI8PMl7r.js');
12
- var edit_utils = require('./edit.utils-BWpSdGmj.js');
6
+ var column_service = require('./column.service-BmT2HOnj.js');
7
+ var column_drag_plugin = require('./column.drag.plugin-DfTAC5Qc.js');
8
+ var headerCellRenderer = require('./header-cell-renderer-7DgGThjq.js');
9
+ var cellRenderer = require('./cell-renderer-BLcxDHzP.js');
10
+ var dimension_helpers = require('./dimension.helpers-BOxHtX5T.js');
11
+ var textEditor = require('./text-editor-B9ibcdrl.js');
12
+ var edit_utils = require('./edit.utils-DnvQVP4H.js');
13
13
  var index = require('./index-Dq8Xzj5l.js');
14
- var viewport_store = require('./viewport.store-Bkhj0ZmO.js');
14
+ var viewport_store = require('./viewport.store-DG-4bWqg.js');
15
15
  var filter_button = require('./filter.button-w6LWnyhi.js');
16
16
  require('./debounce-CcpHiH2p.js');
17
17
 
@@ -35,6 +35,7 @@ const REVOGRID_EVENTS = new Map([
35
35
  ['beforeanysource', 'beforeanysource'],
36
36
  ['aftersourceset', 'aftersourceset'],
37
37
  ['afteranysource', 'afteranysource'],
38
+ ['beforecolumnsgather', 'beforecolumnsgather'],
38
39
  ['beforecolumnsset', 'beforecolumnsset'],
39
40
  ['beforecolumnapplied', 'beforecolumnapplied'],
40
41
  ['aftercolumnsset', 'aftercolumnsset'],
@@ -10,7 +10,7 @@ require('./theme.service-BgnxGIjK.js');
10
10
  const defineCustomElements = async (win, options) => {
11
11
  if (typeof window === 'undefined') return undefined;
12
12
  await appGlobals.globalScripts();
13
- return index.bootstrapLazy([["revo-grid.cjs",[[260,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"applyOnClose":[4,"apply-on-close"],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"sorting":[16],"focusTemplate":[16],"canMoveColumns":[4,"can-move-columns"],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"additionalData":[16],"disableVirtualX":[4,"disable-virtual-x"],"disableVirtualY":[4,"disable-virtual-y"],"hideAttribution":[4,"hide-attribution"],"jobsBeforeRender":[16],"registerVNode":[16],"accessible":[4],"rtl":[4],"canDrag":[4,"can-drag"],"refresh":[64],"setDataAt":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"setCellsFocus":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getContentSize":[64],"getSelectedRange":[64],"refreshExtraElements":[64],"getProviders":[64]},[[5,"touchstart","mousedownHandle"],[5,"mousedown","mousedownHandle"],[5,"touchend","mouseupHandle"],[5,"mouseup","mouseupHandle"],[0,"rowdragstartinit","onRowDragStarted"],[0,"rowdragendinit","onRowDragEnd"],[0,"roworderchange","onRowOrderChange"],[0,"rowdragmoveinit","onRowDrag"],[0,"rowdragmousemove","onRowMouseMove"],[0,"celleditapply","onCellEdit"],[0,"rangeeditapply","onRangeEdit"],[0,"selectionchangeinit","onRangeChanged"],[0,"rowdropinit","onRowDropped"],[0,"beforeheaderclick","onHeaderClick"],[0,"beforecellfocusinit","onCellFocus"]],{"columnTypes":[{"columnTypesChanged":0}],"columns":[{"columnChanged":0}],"disableVirtualX":[{"disableVirtualXChanged":0}],"rowSize":[{"rowSizeChanged":0}],"theme":[{"themeChanged":0}],"source":[{"dataSourceChanged":0}],"pinnedBottomSource":[{"dataSourceChanged":0}],"pinnedTopSource":[{"dataSourceChanged":0}],"disableVirtualY":[{"disableVirtualYChanged":0}],"rowDefinitions":[{"rowDefChanged":0}],"trimmedRows":[{"trimmedRowsChanged":0}],"grouping":[{"groupingChanged":0}],"stretch":[{"applyStretch":0}],"filter":[{"applyFilter":0}],"sorting":[{"applySorting":0}],"rowHeaders":[{"rowHeadersChange":0}],"registerVNode":[{"registerOutsideVNodes":0}],"additionalData":[{"additionalDataChanged":0}],"rtl":[{"rtlChanged":0}],"plugins":[{"pluginsChanged":0}]}]]],["revogr-filter-panel.cjs",[[260,"revogr-filter-panel",{"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"disableDynamicFiltering":[4,"disable-dynamic-filtering"],"closeOnOutsideClick":[4,"close-on-outside-click"],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"filterItems":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revogr-clipboard_3.cjs",[[0,"revogr-clipboard",{"readonly":[4],"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"],[4,"cut","cutStarted"]]],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16],"saveOnClose":[4,"save-on-close"],"additionalData":[8,"additional-data"],"cancelChanges":[64],"beforeDisconnect":[64]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"rowType":[1,"row-type"],"dragStart":[64],"endOrder":[64],"clearOrder":[64]}]]],["revogr-data_4.cjs",[[260,"revogr-data",{"readonly":[4],"range":[4],"rowClass":[1,"row-class"],"additionalData":[8,"additional-data"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16],"type":[513],"colType":[513,"col-type"],"jobsBeforeRender":[16],"providers":[32],"updateCell":[64]},null,{"dataStore":[{"onDataStoreChange":0}],"colData":[{"onColDataChange":0}]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"groups":[16],"groupingDepth":[2,"grouping-depth"],"readonly":[4],"canResize":[4,"can-resize"],"resizeHandler":[16],"colData":[16],"columnFilter":[4,"column-filter"],"type":[1],"additionalData":[8,"additional-data"]}],[260,"revogr-viewport-scroll",{"rowHeader":[4,"row-header"],"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"colType":[1,"col-type"],"setScroll":[64],"changeScroll":[64],"applyScroll":[64]},[[0,"mousewheel-vertical","mousewheelVertical"],[0,"mousewheel-horizontal","mousewheelHorizontal"],[0,"scroll-coordinate","scrollApply"]]],[0,"vnode-html",{"redraw":[16]}]]],["revogr-attribution_7.cjs",[[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"rowClass":[1,"row-class"],"resize":[4],"rowHeaderColumn":[16],"additionalData":[8,"additional-data"],"jobsBeforeRender":[16]}],[260,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16],"applyChangesOnClose":[4,"apply-changes-on-close"],"additionalData":[8,"additional-data"],"isMobileDevice":[4,"is-mobile-device"]},[[5,"touchmove","onMouseMove"],[5,"mousemove","onMouseMove"],[5,"touchend","onMouseUp"],[5,"mouseup","onMouseUp"],[5,"mouseleave","onMouseUp"],[0,"dragstartcell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]],{"selectionStore":[{"selectionServiceSet":0}],"dimensionRow":[{"createAutoFillService":0}],"dimensionCol":[{"createAutoFillService":0}],"dataStore":[{"columnServiceSet":0}],"colData":[{"columnServiceSet":0}]}],[0,"revogr-attribution"],[260,"revogr-focus",{"colType":[1,"col-type"],"rowType":[1,"row-type"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"focusTemplate":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"realSize":[2,"real-size"],"virtualSize":[2,"virtual-size"],"clientSize":[2,"client-size"],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-extra",{"nodes":[16],"update":[32],"refresh":[64]}]]]], options);
13
+ return index.bootstrapLazy([["revo-grid.cjs",[[260,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"noHorizontalScrollTransfer":[4,"no-horizontal-scroll-transfer"],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"applyOnClose":[4,"apply-on-close"],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"sorting":[16],"focusTemplate":[16],"canMoveColumns":[4,"can-move-columns"],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"additionalData":[16],"disableVirtualX":[4,"disable-virtual-x"],"disableVirtualY":[4,"disable-virtual-y"],"hideAttribution":[4,"hide-attribution"],"jobsBeforeRender":[16],"registerVNode":[16],"accessible":[4],"rtl":[4],"canDrag":[4,"can-drag"],"refresh":[64],"setDataAt":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"setCellsFocus":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getContentSize":[64],"getSelectedRange":[64],"refreshExtraElements":[64],"getProviders":[64]},[[5,"touchstart","mousedownHandle"],[5,"mousedown","mousedownHandle"],[5,"touchend","mouseupHandle"],[5,"mouseup","mouseupHandle"],[0,"rowdragstartinit","onRowDragStarted"],[0,"rowdragendinit","onRowDragEnd"],[0,"roworderchange","onRowOrderChange"],[0,"rowdragmoveinit","onRowDrag"],[0,"rowdragmousemove","onRowMouseMove"],[0,"celleditapply","onCellEdit"],[0,"rangeeditapply","onRangeEdit"],[0,"selectionchangeinit","onRangeChanged"],[0,"rowdropinit","onRowDropped"],[0,"beforeheaderclick","onHeaderClick"],[0,"beforecellfocusinit","onCellFocus"]],{"columnTypes":[{"columnTypesChanged":0}],"columns":[{"columnChanged":0}],"disableVirtualX":[{"disableVirtualXChanged":0}],"rowSize":[{"rowSizeChanged":0}],"theme":[{"themeChanged":0}],"source":[{"dataSourceChanged":0}],"pinnedBottomSource":[{"dataSourceChanged":0}],"pinnedTopSource":[{"dataSourceChanged":0}],"disableVirtualY":[{"disableVirtualYChanged":0}],"rowDefinitions":[{"rowDefChanged":0}],"trimmedRows":[{"trimmedRowsChanged":0}],"grouping":[{"groupingChanged":0}],"stretch":[{"applyStretch":0}],"filter":[{"applyFilter":0}],"sorting":[{"applySorting":0}],"rowHeaders":[{"rowHeadersChange":0}],"registerVNode":[{"registerOutsideVNodes":0}],"additionalData":[{"additionalDataChanged":0}],"rtl":[{"rtlChanged":0}],"plugins":[{"pluginsChanged":0}]}]]],["revogr-filter-panel.cjs",[[260,"revogr-filter-panel",{"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"disableDynamicFiltering":[4,"disable-dynamic-filtering"],"closeOnOutsideClick":[4,"close-on-outside-click"],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"filterItems":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revogr-clipboard_3.cjs",[[0,"revogr-clipboard",{"readonly":[4],"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"],[4,"cut","cutStarted"]]],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16],"saveOnClose":[4,"save-on-close"],"additionalData":[8,"additional-data"],"cancelChanges":[64],"beforeDisconnect":[64]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"rowType":[1,"row-type"],"dragStart":[64],"endOrder":[64],"clearOrder":[64]}]]],["revogr-data_4.cjs",[[260,"revogr-data",{"readonly":[4],"range":[4],"rowClass":[1,"row-class"],"additionalData":[8,"additional-data"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16],"type":[513],"colType":[513,"col-type"],"jobsBeforeRender":[16],"providers":[32],"updateCell":[64]},null,{"dataStore":[{"onDataStoreChange":0}],"colData":[{"onColDataChange":0}]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"groups":[16],"groupingDepth":[2,"grouping-depth"],"readonly":[4],"canResize":[4,"can-resize"],"resizeHandler":[16],"colData":[16],"columnFilter":[4,"column-filter"],"type":[1],"additionalData":[8,"additional-data"]}],[260,"revogr-viewport-scroll",{"rowHeader":[4,"row-header"],"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"colType":[1,"col-type"],"noHorizontalScrollTransfer":[4,"no-horizontal-scroll-transfer"],"setScroll":[64],"changeScroll":[64],"applyScroll":[64]},[[0,"mousewheel-vertical","mousewheelVertical"],[0,"mousewheel-horizontal","mousewheelHorizontal"],[0,"scroll-coordinate","scrollApply"]]],[0,"vnode-html",{"redraw":[16]}]]],["revogr-attribution_7.cjs",[[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"rowClass":[1,"row-class"],"resize":[4],"rowHeaderColumn":[16],"additionalData":[8,"additional-data"],"jobsBeforeRender":[16]}],[260,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16],"applyChangesOnClose":[4,"apply-changes-on-close"],"additionalData":[8,"additional-data"],"isMobileDevice":[4,"is-mobile-device"]},[[5,"touchmove","onMouseMove"],[5,"mousemove","onMouseMove"],[5,"touchend","onMouseUp"],[5,"mouseup","onMouseUp"],[5,"mouseleave","onMouseUp"],[0,"dragstartcell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]],{"selectionStore":[{"selectionServiceSet":0}],"dimensionRow":[{"createAutoFillService":0}],"dimensionCol":[{"createAutoFillService":0}],"dataStore":[{"columnServiceSet":0}],"colData":[{"columnServiceSet":0}]}],[0,"revogr-attribution"],[260,"revogr-focus",{"colType":[1,"col-type"],"rowType":[1,"row-type"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"focusTemplate":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"realSize":[2,"real-size"],"virtualSize":[2,"virtual-size"],"clientSize":[2,"client-size"],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-extra",{"nodes":[16],"update":[32],"refresh":[64]}]]]], options);
14
14
  };
15
15
 
16
16
  exports.setNonce = index.setNonce;
@@ -4,16 +4,16 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Dq8Xzj5l.js');
7
- var column_service = require('./column.service-BNgb1GSr.js');
8
- var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
7
+ var column_service = require('./column.service-BmT2HOnj.js');
8
+ var dimension_helpers = require('./dimension.helpers-BOxHtX5T.js');
9
9
  var debounce = require('./debounce-CcpHiH2p.js');
10
- var column_drag_plugin = require('./column.drag.plugin-DuMzh_Cm.js');
11
- var viewport_store = require('./viewport.store-Bkhj0ZmO.js');
10
+ var column_drag_plugin = require('./column.drag.plugin-DfTAC5Qc.js');
11
+ var viewport_store = require('./viewport.store-DG-4bWqg.js');
12
12
  var theme_service = require('./theme.service-BgnxGIjK.js');
13
13
  var viewport_helpers = require('./viewport.helpers-BAovztDd.js');
14
14
  var events = require('./events-DeLDyZlb.js');
15
15
  require('./filter.button-w6LWnyhi.js');
16
- require('./header-cell-renderer-BReLylCk.js');
16
+ require('./header-cell-renderer-7DgGThjq.js');
17
17
 
18
18
  class ColumnDataProvider {
19
19
  get stores() {
@@ -141,9 +141,25 @@ class DataProvider {
141
141
  return sources;
142
142
  }, {});
143
143
  }
144
- setData(data, type = 'rgRow', disableVirtualRows = false, grouping, silent = false) {
144
+ /**
145
+ * Replaces the data source for a row type and synchronizes the related dimension metadata.
146
+ *
147
+ * `rgRow` updates also refresh the virtual row model unless `disableVirtualRows` is set.
148
+ * Pinned row types skip virtual row recalculation because they are rendered directly.
149
+ *
150
+ * @param data Full source data assigned to the target row store.
151
+ * @param type Row collection to update. Defaults to the main body rows.
152
+ * @param disableVirtualRows Prevents recalculating virtual rows for the main row store.
153
+ * @param grouping Optional grouping metadata applied together with the new data set.
154
+ * @param silent Preserves the current trimmed state instead of resetting it during the update.
155
+ * @param preserveTrimmed Re-applies current trimmed indexes after a silent update.
156
+ * @returns The same `data` array that was provided to the method.
157
+ */
158
+ setData(data, type = 'rgRow', disableVirtualRows = false, grouping,
159
+ // if true, store will be updated without resetting trimmed state
160
+ silent = false, preserveTrimmed = false) {
145
161
  // set rgRow data
146
- this.stores[type].updateData([...data], grouping, silent);
162
+ this.stores[type].updateData([...data], grouping, silent, preserveTrimmed);
147
163
  // for pinned row no need virtual data
148
164
  const noVirtual = type !== 'rgRow' || disableVirtualRows;
149
165
  this.dimensionProvider.setData(data.length, type, noVirtual);
@@ -402,6 +418,7 @@ function gatherColumnData(data) {
402
418
  contentHeight: data.contentHeight,
403
419
  key: data.colType,
404
420
  colType: data.colType,
421
+ noHorizontalScrollTransfer: data.noHorizontalScrollTransfer,
405
422
  onResizeviewport: data.onResizeviewport,
406
423
  // set viewport size to real size
407
424
  style: data.fixWidth ? { minWidth: `${realWidth}px` } : undefined,
@@ -446,6 +463,7 @@ class ViewportService {
446
463
  viewports: config.viewportProvider.stores,
447
464
  dimensions: config.dimensionProvider.stores,
448
465
  rowStores: config.dataProvider.stores,
466
+ noHorizontalScrollTransfer: config.noHorizontalScrollTransfer,
449
467
  colStore,
450
468
  onHeaderresize: e => this.onColumnResize(val, e, colStore),
451
469
  };
@@ -624,11 +642,11 @@ class GridScrollingService {
624
642
  this.setViewport = setViewport;
625
643
  this.elements = {};
626
644
  }
627
- async proxyScroll(e, key) {
645
+ async proxyScroll(e, key, skipEvent) {
628
646
  var _a;
629
647
  let newEventPromise;
630
648
  let event = e;
631
- for (let elKey in this.elements) {
649
+ for (let elKey in (skipEvent ? {} : this.elements)) {
632
650
  // skip
633
651
  if (e.dimension === 'rgCol' && elKey === 'headerRow') {
634
652
  continue;
@@ -654,7 +672,8 @@ class GridScrollingService {
654
672
  if (newEvent) {
655
673
  event = newEvent;
656
674
  }
657
- this.setViewport(event);
675
+ this.setViewport(skipEvent && this.isPinnedColumn(key)
676
+ ? Object.assign(Object.assign({}, event), { dimension: key }) : event);
658
677
  }
659
678
  /**
660
679
  * Silent scroll update for mobile devices when we have negative scroll top
@@ -1342,6 +1361,7 @@ const RevoGridComponent = class {
1342
1361
  this.beforeanysource = index.createEvent(this, "beforeanysource", 7);
1343
1362
  this.aftersourceset = index.createEvent(this, "aftersourceset", 7);
1344
1363
  this.afteranysource = index.createEvent(this, "afteranysource", 7);
1364
+ this.beforecolumnsgather = index.createEvent(this, "beforecolumnsgather", 7);
1345
1365
  this.beforecolumnsset = index.createEvent(this, "beforecolumnsset", 7);
1346
1366
  this.beforecolumnapplied = index.createEvent(this, "beforecolumnapplied", 7);
1347
1367
  this.aftercolumnsset = index.createEvent(this, "aftercolumnsset", 7);
@@ -1382,6 +1402,10 @@ const RevoGridComponent = class {
1382
1402
  this.readonly = false;
1383
1403
  /** When true, columns are resizable. */
1384
1404
  this.resize = false;
1405
+ /**
1406
+ * Prevents horizontal scroll state from being mirrored across viewport sections.
1407
+ */
1408
+ this.noHorizontalScrollTransfer = false;
1385
1409
  /** When true cell focus appear. */
1386
1410
  this.canFocus = true;
1387
1411
  /** When true enable clipboard. */
@@ -1917,7 +1941,13 @@ const RevoGridComponent = class {
1917
1941
  if (!this.dimensionProvider || !this.columnProvider) {
1918
1942
  return;
1919
1943
  }
1920
- const columnGather = column_service.getColumns(newVal, 0, this.columnTypes);
1944
+ const beforeGatherEvent = this.beforecolumnsgather.emit({
1945
+ columns: [...newVal],
1946
+ });
1947
+ if (beforeGatherEvent.defaultPrevented) {
1948
+ return;
1949
+ }
1950
+ const columnGather = column_service.getColumns(beforeGatherEvent.detail.columns, 0, this.columnTypes);
1921
1951
  const beforeSetEvent = this.beforecolumnsset.emit(columnGather);
1922
1952
  if (beforeSetEvent.defaultPrevented) {
1923
1953
  return;
@@ -2264,6 +2294,7 @@ const RevoGridComponent = class {
2264
2294
  scrollingService: this.scrollingService,
2265
2295
  orderService: this.orderService,
2266
2296
  selectionStoreConnector: this.selectionStoreConnector,
2297
+ noHorizontalScrollTransfer: this.noHorizontalScrollTransfer,
2267
2298
  disableVirtualX: this.disableVirtualX,
2268
2299
  disableVirtualY: this.disableVirtualY,
2269
2300
  resize: c => this.aftercolumnresize.emit(c),
@@ -2304,7 +2335,9 @@ const RevoGridComponent = class {
2304
2335
  dataViews.push(dataView);
2305
2336
  });
2306
2337
  // Add viewport scroll in the end
2307
- viewPortHtml.push(index.h("revogr-viewport-scroll", Object.assign({}, view.prop, { ref: el => this.scrollingService.registerElement(el, `${view.prop.key}`), onScrollviewport: e => this.scrollingService.proxyScroll(e.detail, `${view.prop.key}`), onScrollviewportsilent: e => this.scrollingService.scrollSilentService(e.detail, `${view.prop.key}`) }), dataViews));
2338
+ viewPortHtml.push(index.h("revogr-viewport-scroll", Object.assign({}, view.prop, { ref: el => this.scrollingService.registerElement(el, `${view.prop.key}`), onScrollviewport: e => {
2339
+ this.scrollingService.proxyScroll(e.detail, `${view.prop.key}`, this.noHorizontalScrollTransfer && e.detail.dimension === 'rgCol');
2340
+ }, onScrollviewportsilent: e => this.scrollingService.scrollSilentService(e.detail, `${view.prop.key}`) }), dataViews));
2308
2341
  }
2309
2342
  viewportSections.push(viewPortHtml);
2310
2343
  // #endregion
@@ -50,7 +50,7 @@ var patchCloneNodeFix = (HTMLElementPrototype) => {
50
50
 
51
51
  patchBrowser().then(async (options) => {
52
52
  await appGlobals.globalScripts();
53
- return index.bootstrapLazy([["revo-grid.cjs",[[260,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"applyOnClose":[4,"apply-on-close"],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"sorting":[16],"focusTemplate":[16],"canMoveColumns":[4,"can-move-columns"],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"additionalData":[16],"disableVirtualX":[4,"disable-virtual-x"],"disableVirtualY":[4,"disable-virtual-y"],"hideAttribution":[4,"hide-attribution"],"jobsBeforeRender":[16],"registerVNode":[16],"accessible":[4],"rtl":[4],"canDrag":[4,"can-drag"],"refresh":[64],"setDataAt":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"setCellsFocus":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getContentSize":[64],"getSelectedRange":[64],"refreshExtraElements":[64],"getProviders":[64]},[[5,"touchstart","mousedownHandle"],[5,"mousedown","mousedownHandle"],[5,"touchend","mouseupHandle"],[5,"mouseup","mouseupHandle"],[0,"rowdragstartinit","onRowDragStarted"],[0,"rowdragendinit","onRowDragEnd"],[0,"roworderchange","onRowOrderChange"],[0,"rowdragmoveinit","onRowDrag"],[0,"rowdragmousemove","onRowMouseMove"],[0,"celleditapply","onCellEdit"],[0,"rangeeditapply","onRangeEdit"],[0,"selectionchangeinit","onRangeChanged"],[0,"rowdropinit","onRowDropped"],[0,"beforeheaderclick","onHeaderClick"],[0,"beforecellfocusinit","onCellFocus"]],{"columnTypes":[{"columnTypesChanged":0}],"columns":[{"columnChanged":0}],"disableVirtualX":[{"disableVirtualXChanged":0}],"rowSize":[{"rowSizeChanged":0}],"theme":[{"themeChanged":0}],"source":[{"dataSourceChanged":0}],"pinnedBottomSource":[{"dataSourceChanged":0}],"pinnedTopSource":[{"dataSourceChanged":0}],"disableVirtualY":[{"disableVirtualYChanged":0}],"rowDefinitions":[{"rowDefChanged":0}],"trimmedRows":[{"trimmedRowsChanged":0}],"grouping":[{"groupingChanged":0}],"stretch":[{"applyStretch":0}],"filter":[{"applyFilter":0}],"sorting":[{"applySorting":0}],"rowHeaders":[{"rowHeadersChange":0}],"registerVNode":[{"registerOutsideVNodes":0}],"additionalData":[{"additionalDataChanged":0}],"rtl":[{"rtlChanged":0}],"plugins":[{"pluginsChanged":0}]}]]],["revogr-filter-panel.cjs",[[260,"revogr-filter-panel",{"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"disableDynamicFiltering":[4,"disable-dynamic-filtering"],"closeOnOutsideClick":[4,"close-on-outside-click"],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"filterItems":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revogr-clipboard_3.cjs",[[0,"revogr-clipboard",{"readonly":[4],"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"],[4,"cut","cutStarted"]]],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16],"saveOnClose":[4,"save-on-close"],"additionalData":[8,"additional-data"],"cancelChanges":[64],"beforeDisconnect":[64]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"rowType":[1,"row-type"],"dragStart":[64],"endOrder":[64],"clearOrder":[64]}]]],["revogr-data_4.cjs",[[260,"revogr-data",{"readonly":[4],"range":[4],"rowClass":[1,"row-class"],"additionalData":[8,"additional-data"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16],"type":[513],"colType":[513,"col-type"],"jobsBeforeRender":[16],"providers":[32],"updateCell":[64]},null,{"dataStore":[{"onDataStoreChange":0}],"colData":[{"onColDataChange":0}]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"groups":[16],"groupingDepth":[2,"grouping-depth"],"readonly":[4],"canResize":[4,"can-resize"],"resizeHandler":[16],"colData":[16],"columnFilter":[4,"column-filter"],"type":[1],"additionalData":[8,"additional-data"]}],[260,"revogr-viewport-scroll",{"rowHeader":[4,"row-header"],"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"colType":[1,"col-type"],"setScroll":[64],"changeScroll":[64],"applyScroll":[64]},[[0,"mousewheel-vertical","mousewheelVertical"],[0,"mousewheel-horizontal","mousewheelHorizontal"],[0,"scroll-coordinate","scrollApply"]]],[0,"vnode-html",{"redraw":[16]}]]],["revogr-attribution_7.cjs",[[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"rowClass":[1,"row-class"],"resize":[4],"rowHeaderColumn":[16],"additionalData":[8,"additional-data"],"jobsBeforeRender":[16]}],[260,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16],"applyChangesOnClose":[4,"apply-changes-on-close"],"additionalData":[8,"additional-data"],"isMobileDevice":[4,"is-mobile-device"]},[[5,"touchmove","onMouseMove"],[5,"mousemove","onMouseMove"],[5,"touchend","onMouseUp"],[5,"mouseup","onMouseUp"],[5,"mouseleave","onMouseUp"],[0,"dragstartcell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]],{"selectionStore":[{"selectionServiceSet":0}],"dimensionRow":[{"createAutoFillService":0}],"dimensionCol":[{"createAutoFillService":0}],"dataStore":[{"columnServiceSet":0}],"colData":[{"columnServiceSet":0}]}],[0,"revogr-attribution"],[260,"revogr-focus",{"colType":[1,"col-type"],"rowType":[1,"row-type"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"focusTemplate":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"realSize":[2,"real-size"],"virtualSize":[2,"virtual-size"],"clientSize":[2,"client-size"],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-extra",{"nodes":[16],"update":[32],"refresh":[64]}]]]], options);
53
+ return index.bootstrapLazy([["revo-grid.cjs",[[260,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"noHorizontalScrollTransfer":[4,"no-horizontal-scroll-transfer"],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"applyOnClose":[4,"apply-on-close"],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"sorting":[16],"focusTemplate":[16],"canMoveColumns":[4,"can-move-columns"],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"additionalData":[16],"disableVirtualX":[4,"disable-virtual-x"],"disableVirtualY":[4,"disable-virtual-y"],"hideAttribution":[4,"hide-attribution"],"jobsBeforeRender":[16],"registerVNode":[16],"accessible":[4],"rtl":[4],"canDrag":[4,"can-drag"],"refresh":[64],"setDataAt":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"setCellsFocus":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getContentSize":[64],"getSelectedRange":[64],"refreshExtraElements":[64],"getProviders":[64]},[[5,"touchstart","mousedownHandle"],[5,"mousedown","mousedownHandle"],[5,"touchend","mouseupHandle"],[5,"mouseup","mouseupHandle"],[0,"rowdragstartinit","onRowDragStarted"],[0,"rowdragendinit","onRowDragEnd"],[0,"roworderchange","onRowOrderChange"],[0,"rowdragmoveinit","onRowDrag"],[0,"rowdragmousemove","onRowMouseMove"],[0,"celleditapply","onCellEdit"],[0,"rangeeditapply","onRangeEdit"],[0,"selectionchangeinit","onRangeChanged"],[0,"rowdropinit","onRowDropped"],[0,"beforeheaderclick","onHeaderClick"],[0,"beforecellfocusinit","onCellFocus"]],{"columnTypes":[{"columnTypesChanged":0}],"columns":[{"columnChanged":0}],"disableVirtualX":[{"disableVirtualXChanged":0}],"rowSize":[{"rowSizeChanged":0}],"theme":[{"themeChanged":0}],"source":[{"dataSourceChanged":0}],"pinnedBottomSource":[{"dataSourceChanged":0}],"pinnedTopSource":[{"dataSourceChanged":0}],"disableVirtualY":[{"disableVirtualYChanged":0}],"rowDefinitions":[{"rowDefChanged":0}],"trimmedRows":[{"trimmedRowsChanged":0}],"grouping":[{"groupingChanged":0}],"stretch":[{"applyStretch":0}],"filter":[{"applyFilter":0}],"sorting":[{"applySorting":0}],"rowHeaders":[{"rowHeadersChange":0}],"registerVNode":[{"registerOutsideVNodes":0}],"additionalData":[{"additionalDataChanged":0}],"rtl":[{"rtlChanged":0}],"plugins":[{"pluginsChanged":0}]}]]],["revogr-filter-panel.cjs",[[260,"revogr-filter-panel",{"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"disableDynamicFiltering":[4,"disable-dynamic-filtering"],"closeOnOutsideClick":[4,"close-on-outside-click"],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"filterItems":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revogr-clipboard_3.cjs",[[0,"revogr-clipboard",{"readonly":[4],"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"],[4,"cut","cutStarted"]]],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16],"saveOnClose":[4,"save-on-close"],"additionalData":[8,"additional-data"],"cancelChanges":[64],"beforeDisconnect":[64]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"rowType":[1,"row-type"],"dragStart":[64],"endOrder":[64],"clearOrder":[64]}]]],["revogr-data_4.cjs",[[260,"revogr-data",{"readonly":[4],"range":[4],"rowClass":[1,"row-class"],"additionalData":[8,"additional-data"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16],"type":[513],"colType":[513,"col-type"],"jobsBeforeRender":[16],"providers":[32],"updateCell":[64]},null,{"dataStore":[{"onDataStoreChange":0}],"colData":[{"onColDataChange":0}]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"groups":[16],"groupingDepth":[2,"grouping-depth"],"readonly":[4],"canResize":[4,"can-resize"],"resizeHandler":[16],"colData":[16],"columnFilter":[4,"column-filter"],"type":[1],"additionalData":[8,"additional-data"]}],[260,"revogr-viewport-scroll",{"rowHeader":[4,"row-header"],"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"colType":[1,"col-type"],"noHorizontalScrollTransfer":[4,"no-horizontal-scroll-transfer"],"setScroll":[64],"changeScroll":[64],"applyScroll":[64]},[[0,"mousewheel-vertical","mousewheelVertical"],[0,"mousewheel-horizontal","mousewheelHorizontal"],[0,"scroll-coordinate","scrollApply"]]],[0,"vnode-html",{"redraw":[16]}]]],["revogr-attribution_7.cjs",[[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"rowClass":[1,"row-class"],"resize":[4],"rowHeaderColumn":[16],"additionalData":[8,"additional-data"],"jobsBeforeRender":[16]}],[260,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16],"applyChangesOnClose":[4,"apply-changes-on-close"],"additionalData":[8,"additional-data"],"isMobileDevice":[4,"is-mobile-device"]},[[5,"touchmove","onMouseMove"],[5,"mousemove","onMouseMove"],[5,"touchend","onMouseUp"],[5,"mouseup","onMouseUp"],[5,"mouseleave","onMouseUp"],[0,"dragstartcell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]],{"selectionStore":[{"selectionServiceSet":0}],"dimensionRow":[{"createAutoFillService":0}],"dimensionCol":[{"createAutoFillService":0}],"dataStore":[{"columnServiceSet":0}],"colData":[{"columnServiceSet":0}]}],[0,"revogr-attribution"],[260,"revogr-focus",{"colType":[1,"col-type"],"rowType":[1,"row-type"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"focusTemplate":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"realSize":[2,"real-size"],"virtualSize":[2,"virtual-size"],"clientSize":[2,"client-size"],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-extra",{"nodes":[16],"update":[32],"refresh":[64]}]]]], options);
54
54
  });
55
55
 
56
56
  exports.setNonce = index.setNonce;
@@ -4,14 +4,14 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Dq8Xzj5l.js');
7
- var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
7
+ var dimension_helpers = require('./dimension.helpers-BOxHtX5T.js');
8
8
  var events = require('./events-DeLDyZlb.js');
9
- var column_service = require('./column.service-BNgb1GSr.js');
10
- var edit_utils = require('./edit.utils-BWpSdGmj.js');
9
+ var column_service = require('./column.service-BmT2HOnj.js');
10
+ var edit_utils = require('./edit.utils-DnvQVP4H.js');
11
11
  var debounce = require('./debounce-CcpHiH2p.js');
12
- var viewport_store = require('./viewport.store-Bkhj0ZmO.js');
12
+ var viewport_store = require('./viewport.store-DG-4bWqg.js');
13
13
  var viewport_helpers = require('./viewport.helpers-BAovztDd.js');
14
- var throttle = require('./throttle-Rub9czPz.js');
14
+ var throttle = require('./throttle-DkuCcmB0.js');
15
15
 
16
16
  const Attribution = class {
17
17
  constructor(hostRef) {
@@ -4,9 +4,9 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Dq8Xzj5l.js');
7
- var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
8
- var textEditor = require('./text-editor-tI8PMl7r.js');
9
- var edit_utils = require('./edit.utils-BWpSdGmj.js');
7
+ var dimension_helpers = require('./dimension.helpers-BOxHtX5T.js');
8
+ var textEditor = require('./text-editor-B9ibcdrl.js');
9
+ var edit_utils = require('./edit.utils-DnvQVP4H.js');
10
10
  var debounce = require('./debounce-CcpHiH2p.js');
11
11
 
12
12
  const Clipboard = class {
@@ -55,6 +55,7 @@ const Clipboard = class {
55
55
  const beforePasteApply = this.beforePasteApply.emit({
56
56
  raw: data,
57
57
  parsed: parsedData,
58
+ dataText,
58
59
  event: e,
59
60
  });
60
61
  if (beforePasteApply.defaultPrevented) {
@@ -65,6 +66,7 @@ const Clipboard = class {
65
66
  const afterPasteApply = this.afterPasteApply.emit({
66
67
  raw: data,
67
68
  parsed: parsedData,
69
+ dataText,
68
70
  event: e,
69
71
  });
70
72
  // keep default behavior if needed
@@ -4,12 +4,12 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Dq8Xzj5l.js');
7
- var column_service = require('./column.service-BNgb1GSr.js');
8
- var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
9
- var cellRenderer = require('./cell-renderer-EyG5RkCf.js');
7
+ var column_service = require('./column.service-BmT2HOnj.js');
8
+ var dimension_helpers = require('./dimension.helpers-BOxHtX5T.js');
9
+ var cellRenderer = require('./cell-renderer-BLcxDHzP.js');
10
10
  var filter_button = require('./filter.button-w6LWnyhi.js');
11
- var headerCellRenderer = require('./header-cell-renderer-BReLylCk.js');
12
- var throttle = require('./throttle-Rub9czPz.js');
11
+ var headerCellRenderer = require('./header-cell-renderer-7DgGThjq.js');
12
+ var throttle = require('./throttle-DkuCcmB0.js');
13
13
  var viewport_helpers = require('./viewport.helpers-BAovztDd.js');
14
14
  require('./debounce-CcpHiH2p.js');
15
15
 
@@ -646,6 +646,7 @@ const RevogrViewportScroll = class {
646
646
  * Height of inner content
647
647
  */
648
648
  this.contentHeight = 0;
649
+ this.noHorizontalScrollTransfer = false;
649
650
  }
650
651
  async setScroll(e) {
651
652
  var _a;
@@ -830,7 +831,7 @@ const RevogrViewportScroll = class {
830
831
  this.setScrollVisibility('rgCol', this.horizontalScroll.clientWidth, this.contentWidth);
831
832
  }
832
833
  render() {
833
- return (index.h(index.Host, { key: '2be96df29e23c7a681a45675567b5f168786cf92', onWheel: this.horizontalMouseWheel, onScroll: (e) => this.applyScroll('rgCol', e) }, index.h("div", { key: '49152054dc9c8bdbffc430aa4ee2cf8c2732e05c', class: "inner-content-table", style: { width: `${this.contentWidth}px` } }, index.h("div", { key: '6a2124ed6345021fbbfbd78607dc280918ef9bc5', class: "header-wrapper", ref: e => (this.header = e) }, index.h("slot", { key: '0a25f0620be889d87fbf81325ffb596919105f4d', name: viewport_helpers.HEADER_SLOT })), index.h("div", { key: '7c986664c70ebc6f6d996864e591e484d709c3a5', class: "vertical-inner", ref: el => (this.verticalScroll = el), onWheel: this.verticalMouseWheel, onScroll: (e) => this.applyScroll('rgRow', e) }, index.h("div", { key: 'bf810ecbb62b35334b24ab72292ae37866002cb9', class: "content-wrapper", style: { height: `${this.contentHeight}px` } }, index.h("slot", { key: '7d0bf53549eb60d9e6942b05fe1037131562ca2e', name: viewport_helpers.CONTENT_SLOT }))), index.h("div", { key: '78d8bdc545e220b324665b5331d902d887ea5e2b', class: "footer-wrapper", ref: e => (this.footer = e) }, index.h("slot", { key: '76d5b39a94ba27411ca0b58e49714b21e0e837bf', name: viewport_helpers.FOOTER_SLOT })))));
834
+ return (index.h(index.Host, { key: 'adc7378dba1794ca2ec263d52b09abefe50bcbfd', onWheel: this.horizontalMouseWheel, onScroll: (e) => this.applyScroll('rgCol', e) }, index.h("div", { key: '7b57a8a0ea44629fefcfe4d2cd77bf0f048d8e06', class: "inner-content-table", style: { width: `${this.contentWidth}px` } }, index.h("div", { key: 'cca3de158bc2a7f0651f578a281819be5698b257', class: "header-wrapper", ref: e => (this.header = e) }, index.h("slot", { key: '1d170147dabe034f2c35481a8e2fedd6de2b6aed', name: viewport_helpers.HEADER_SLOT })), index.h("div", { key: 'b6dd29a91bb1f380a83a035dfdb749ca669936f2', class: "vertical-inner", ref: el => (this.verticalScroll = el), onWheel: this.verticalMouseWheel, onScroll: (e) => this.applyScroll('rgRow', e) }, index.h("div", { key: '9bce27bf8ec4d3b679aa9a34eb6379a8c2d46cac', class: "content-wrapper", style: { height: `${this.contentHeight}px` } }, index.h("slot", { key: 'b44a082c9fbb948fd87bd235b4cd4356fd4a3536', name: viewport_helpers.CONTENT_SLOT }))), index.h("div", { key: '28c305ff6bc664f1d1bbb117e8b8565c8d4bb6b2', class: "footer-wrapper", ref: e => (this.footer = e) }, index.h("slot", { key: '96312fb7f18198fd1feb9dcc00c79cde74ba9c9f', name: viewport_helpers.FOOTER_SLOT })))));
834
835
  }
835
836
  /**
836
837
  * Extra layer for scroll event monitoring, where MouseWheel event is not passing
@@ -909,7 +910,7 @@ const RevogrViewportScroll = class {
909
910
  const atRight = scrollLeft + clientWidth >= scrollWidth && e.deltaX > 0;
910
911
  // Detect if the user has reached the left end
911
912
  const atLeft = scrollLeft === 0 && e.deltaX < 0;
912
- if (!atRight && !atLeft) {
913
+ if (!atRight && !atLeft && !this.noHorizontalScrollTransfer) {
913
914
  (_a = e.preventDefault) === null || _a === void 0 ? void 0 : _a.call(e);
914
915
  }
915
916
  const pos = scrollLeft + e[delta];
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var edit_utils = require('./edit.utils-BWpSdGmj.js');
7
- var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
6
+ var edit_utils = require('./edit.utils-DnvQVP4H.js');
7
+ var dimension_helpers = require('./dimension.helpers-BOxHtX5T.js');
8
8
 
9
9
  class TextEditor {
10
10
  constructor(data, saveCallback) {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
6
+ var dimension_helpers = require('./dimension.helpers-BOxHtX5T.js');
7
7
  var debounce = require('./debounce-CcpHiH2p.js');
8
8
 
9
9
  const initialParams = {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var dimension_helpers = require('./dimension.helpers-DLLC6uO6.js');
6
+ var dimension_helpers = require('./dimension.helpers-BOxHtX5T.js');
7
7
 
8
8
  const LETTER_BLOCK_SIZE = 10;
9
9
  const calculateRowHeaderSize = (itemsLength, rowHeaderColumn, minWidth = 50) => {
@@ -35,6 +35,7 @@ export class Clipboard {
35
35
  const beforePasteApply = this.beforePasteApply.emit({
36
36
  raw: data,
37
37
  parsed: parsedData,
38
+ dataText,
38
39
  event: e,
39
40
  });
40
41
  if (beforePasteApply.defaultPrevented) {
@@ -45,6 +46,7 @@ export class Clipboard {
45
46
  const afterPasteApply = this.afterPasteApply.emit({
46
47
  raw: data,
47
48
  parsed: parsedData,
49
+ dataText,
48
50
  event: e,
49
51
  });
50
52
  // keep default behavior if needed
@@ -180,8 +182,8 @@ export class Clipboard {
180
182
  "text": "Paste 2. Fired before paste applied to the grid and after data parsed"
181
183
  },
182
184
  "complexType": {
183
- "original": "{\n raw: string;\n parsed: string[][];\n event: ClipboardEvent;\n }",
184
- "resolved": "{ raw: string; parsed: string[][]; event: ClipboardEvent; }",
185
+ "original": "{\n raw: string;\n parsed: string[][];\n dataText: string;\n event: ClipboardEvent;\n }",
186
+ "resolved": "{ raw: string; parsed: string[][]; dataText: string; event: ClipboardEvent; }",
185
187
  "references": {
186
188
  "ClipboardEvent": {
187
189
  "location": "global",
@@ -221,8 +223,8 @@ export class Clipboard {
221
223
  "text": "Paste 4. Fired after paste applied to the grid\ndefaultPrevented - if true, paste will be canceled"
222
224
  },
223
225
  "complexType": {
224
- "original": "{\n raw: string;\n parsed: string[][];\n event: ClipboardEvent;\n }",
225
- "resolved": "{ raw: string; parsed: string[][]; event: ClipboardEvent; }",
226
+ "original": "{\n raw: string;\n parsed: string[][];\n dataText: string;\n event: ClipboardEvent;\n }",
227
+ "resolved": "{ raw: string; parsed: string[][]; dataText: string; event: ClipboardEvent; }",
226
228
  "references": {
227
229
  "ClipboardEvent": {
228
230
  "location": "global",