@revolist/revogrid 4.8.19 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/cjs/{column.service-ad5ffa3c.js → column.service-6f691f50.js} +2 -2
  2. package/dist/cjs/{column.service-ad5ffa3c.js.map → column.service-6f691f50.js.map} +1 -1
  3. package/dist/cjs/{header-cell-renderer-d92249e4.js → header-cell-renderer-81a22b00.js} +2 -2
  4. package/dist/cjs/{header-cell-renderer-d92249e4.js.map → header-cell-renderer-81a22b00.js.map} +1 -1
  5. package/dist/cjs/{index-a9f1b728.js → index-2410bbd9.js} +1 -3
  6. package/dist/cjs/index-2410bbd9.js.map +1 -0
  7. package/dist/cjs/{key.utils-e6c8a895.js → key.utils-1e48ab8f.js} +2 -2
  8. package/dist/cjs/{key.utils-e6c8a895.js.map → key.utils-1e48ab8f.js.map} +1 -1
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/revo-grid.cjs.entry.js +15 -19
  11. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  12. package/dist/cjs/revo-grid.cjs.js +1 -1
  13. package/dist/cjs/revogr-attribution_6.cjs.entry.js +4 -4
  14. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +2 -2
  15. package/dist/cjs/revogr-data_4.cjs.entry.js +4 -4
  16. package/dist/cjs/revogr-filter-panel.cjs.entry.js +14 -17
  17. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
  18. package/dist/cjs/{throttle-46478b04.js → throttle-bcc4740d.js} +2 -2
  19. package/dist/cjs/{throttle-46478b04.js.map → throttle-bcc4740d.js.map} +1 -1
  20. package/dist/collection/collection-manifest.json +1 -1
  21. package/dist/collection/components/revoGrid/revo-grid.js +10 -15
  22. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  23. package/dist/collection/plugins/filter/{filter.pop.js → filter.panel.js} +23 -43
  24. package/dist/collection/plugins/filter/filter.panel.js.map +1 -0
  25. package/dist/collection/plugins/filter/filter.plugin.js +2 -2
  26. package/dist/collection/plugins/filter/filter.plugin.js.map +1 -1
  27. package/dist/collection/types/viewport.interfaces.js.map +1 -1
  28. package/dist/collection/utils/consts.js +0 -1
  29. package/dist/collection/utils/consts.js.map +1 -1
  30. package/dist/esm/{column.service-dce8aabc.js → column.service-0e41057a.js} +2 -2
  31. package/dist/esm/{column.service-dce8aabc.js.map → column.service-0e41057a.js.map} +1 -1
  32. package/dist/esm/{header-cell-renderer-171a011c.js → header-cell-renderer-6d8ac25d.js} +2 -2
  33. package/dist/esm/{header-cell-renderer-171a011c.js.map → header-cell-renderer-6d8ac25d.js.map} +1 -1
  34. package/dist/esm/{index-5a722722.js → index-4e881436.js} +2 -3
  35. package/dist/esm/index-4e881436.js.map +1 -0
  36. package/dist/esm/{key.utils-f82409ff.js → key.utils-425c987d.js} +2 -2
  37. package/dist/esm/{key.utils-f82409ff.js.map → key.utils-425c987d.js.map} +1 -1
  38. package/dist/esm/loader.js +1 -1
  39. package/dist/esm/revo-grid.entry.js +15 -19
  40. package/dist/esm/revo-grid.entry.js.map +1 -1
  41. package/dist/esm/revo-grid.js +1 -1
  42. package/dist/esm/revogr-attribution_6.entry.js +4 -4
  43. package/dist/esm/revogr-clipboard_3.entry.js +2 -2
  44. package/dist/esm/revogr-data_4.entry.js +4 -4
  45. package/dist/esm/revogr-filter-panel.entry.js +15 -18
  46. package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
  47. package/dist/esm/{throttle-eeca0062.js → throttle-1b1dd9d2.js} +2 -2
  48. package/dist/esm/{throttle-eeca0062.js.map → throttle-1b1dd9d2.js.map} +1 -1
  49. package/dist/revo-grid/{column.service-dce8aabc.js → column.service-0e41057a.js} +2 -2
  50. package/dist/revo-grid/{header-cell-renderer-171a011c.js → header-cell-renderer-6d8ac25d.js} +2 -2
  51. package/dist/revo-grid/index-4e881436.js +5 -0
  52. package/dist/revo-grid/index-4e881436.js.map +1 -0
  53. package/dist/revo-grid/{key.utils-f82409ff.js → key.utils-425c987d.js} +2 -2
  54. package/dist/revo-grid/revo-grid.entry.js +1 -1
  55. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  56. package/dist/revo-grid/revo-grid.esm.js +1 -1
  57. package/dist/revo-grid/revo-grid.esm.js.map +1 -1
  58. package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
  59. package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
  60. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  61. package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
  62. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
  63. package/dist/revo-grid/{throttle-eeca0062.js → throttle-1b1dd9d2.js} +2 -2
  64. package/dist/types/components/revoGrid/revo-grid.d.ts +0 -1
  65. package/dist/types/components.d.ts +2 -4
  66. package/dist/types/plugins/filter/{filter.pop.d.ts → filter.panel.d.ts} +1 -2
  67. package/dist/types/plugins/filter/filter.plugin.d.ts +2 -2
  68. package/dist/types/types/viewport.interfaces.d.ts +0 -2
  69. package/dist/types/utils/consts.d.ts +0 -1
  70. package/hydrate/index.js +27 -36
  71. package/hydrate/index.mjs +27 -36
  72. package/package.json +1 -1
  73. package/standalone/consts.js +1 -2
  74. package/standalone/consts.js.map +1 -1
  75. package/standalone/index.d.ts +1 -1
  76. package/standalone/revo-grid.js +13 -17
  77. package/standalone/revo-grid.js.map +1 -1
  78. package/standalone/revogr-filter-panel.js +14 -18
  79. package/standalone/revogr-filter-panel.js.map +1 -1
  80. package/dist/cjs/index-a9f1b728.js.map +0 -1
  81. package/dist/collection/plugins/filter/filter.pop.js.map +0 -1
  82. package/dist/esm/index-5a722722.js.map +0 -1
  83. package/dist/revo-grid/index-5a722722.js +0 -5
  84. package/dist/revo-grid/index-5a722722.js.map +0 -1
  85. /package/dist/revo-grid/{column.service-dce8aabc.js.map → column.service-0e41057a.js.map} +0 -0
  86. /package/dist/revo-grid/{header-cell-renderer-171a011c.js.map → header-cell-renderer-6d8ac25d.js.map} +0 -0
  87. /package/dist/revo-grid/{key.utils-f82409ff.js.map → key.utils-425c987d.js.map} +0 -0
  88. /package/dist/revo-grid/{throttle-eeca0062.js.map → throttle-1b1dd9d2.js.map} +0 -0
package/hydrate/index.js CHANGED
@@ -3046,7 +3046,7 @@ class FilterPanel {
3046
3046
  title: 'Filter by',
3047
3047
  save: 'Save',
3048
3048
  // drops the filter
3049
- reset: 'Cancel',
3049
+ reset: 'Clear changes',
3050
3050
  cancel: 'Close',
3051
3051
  add: 'Add more condition...',
3052
3052
  placeholder: 'Enter value...',
@@ -3061,7 +3061,6 @@ class FilterPanel {
3061
3061
  this.currentFilterId = -1;
3062
3062
  this.currentFilterType = defaultType;
3063
3063
  this.changes = undefined;
3064
- this.uuid = undefined;
3065
3064
  this.filterItems = {};
3066
3065
  this.filterTypes = {};
3067
3066
  this.filterNames = {};
@@ -3072,7 +3071,18 @@ class FilterPanel {
3072
3071
  onMouseDown(e) {
3073
3072
  if (this.changes && !e.defaultPrevented) {
3074
3073
  const el = e.target;
3075
- if (this.isOutside(el) && !isFilterBtn(el)) {
3074
+ const select = document.getElementById('add-filter');
3075
+ if (select) {
3076
+ select.value = defaultType;
3077
+ }
3078
+ this.currentFilterType = defaultType;
3079
+ if (this.changes) {
3080
+ this.changes.type = defaultType;
3081
+ }
3082
+ this.currentFilterId = -1;
3083
+ const path = e.composedPath();
3084
+ const isOutside = !path.includes(this.element);
3085
+ if (isOutside && !isFilterBtn(el)) {
3076
3086
  this.changes = undefined;
3077
3087
  }
3078
3088
  }
@@ -3285,26 +3295,12 @@ class FilterPanel {
3285
3295
  throw new Error('Changes required per edit');
3286
3296
  }
3287
3297
  }
3288
- isOutside(e) {
3289
- const select = document.getElementById('add-filter');
3290
- if (select)
3291
- select.value = defaultType;
3292
- this.currentFilterType = defaultType;
3293
- if (this.changes) {
3294
- this.changes.type = defaultType;
3295
- }
3296
- this.currentFilterId = -1;
3297
- if (e === null || e === void 0 ? void 0 : e.classList.contains(`[uuid="${this.uuid}"]`)) {
3298
- return false;
3299
- }
3300
- return !(e === null || e === void 0 ? void 0 : e.closest(`[uuid="${this.uuid}"]`));
3301
- }
3298
+ get element() { return getElement(this); }
3302
3299
  static get style() { return RevogrFilterPanelStyle0; }
3303
3300
  static get cmpMeta() { return {
3304
3301
  "$flags$": 0,
3305
3302
  "$tagName$": "revogr-filter-panel",
3306
3303
  "$members$": {
3307
- "uuid": [1537],
3308
3304
  "filterItems": [16],
3309
3305
  "filterTypes": [16],
3310
3306
  "filterNames": [16],
@@ -3321,7 +3317,7 @@ class FilterPanel {
3321
3317
  },
3322
3318
  "$listeners$": [[5, "mousedown", "onMouseDown"]],
3323
3319
  "$lazyBundleId$": "-",
3324
- "$attrsToReflect$": [["uuid", "uuid"]]
3320
+ "$attrsToReflect$": []
3325
3321
  }; }
3326
3322
  }
3327
3323
 
@@ -8426,7 +8422,6 @@ const MIN_COL_SIZE = 30;
8426
8422
  const RESIZE_INTERVAL = 40;
8427
8423
  const DATA_COL = 'data-rgCol';
8428
8424
  const DATA_ROW = 'data-rgRow';
8429
- const UUID = 'grid-uuid';
8430
8425
  const DISABLED_CLASS = 'disabled';
8431
8426
  const CELL_CLASS = 'rgCell';
8432
8427
  const ROW_HEADER_TYPE = 'rowHeaders';
@@ -11667,7 +11662,7 @@ const filterTypes = {
11667
11662
  const FILTER_TRIMMED_TYPE = 'filter';
11668
11663
  const FILTER_CONFIG_CHANGED_EVENT = 'filterconfigchanged';
11669
11664
  class FilterPlugin extends BasePlugin {
11670
- constructor(revogrid, providers, uiid, config) {
11665
+ constructor(revogrid, providers, config) {
11671
11666
  var _a;
11672
11667
  super(revogrid, providers);
11673
11668
  this.revogrid = revogrid;
@@ -11716,7 +11711,7 @@ class FilterPlugin extends BasePlugin {
11716
11711
  const existingNodes = this.revogrid.registerVNode.filter((n) => n.$tag$ !== 'revogr-filter-panel');
11717
11712
  this.revogrid.registerVNode = [
11718
11713
  ...existingNodes,
11719
- hAsync("revogr-filter-panel", { uuid: `filter-${uiid}`, filterItems: this.multiFilterItems, filterNames: this.possibleFilterNames, filterEntities: this.possibleFilterEntities, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), disableDynamicFiltering: config === null || config === void 0 ? void 0 : config.disableDynamicFiltering, ref: e => (this.pop = e) }),
11714
+ hAsync("revogr-filter-panel", { filterItems: this.multiFilterItems, filterNames: this.possibleFilterNames, filterEntities: this.possibleFilterEntities, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), disableDynamicFiltering: config === null || config === void 0 ? void 0 : config.disableDynamicFiltering, ref: e => (this.pop = e) }),
11720
11715
  ];
11721
11716
  }
11722
11717
  initConfig(config) {
@@ -14212,8 +14207,6 @@ class RevoGridComponent {
14212
14207
  // #region Listeners outside scope
14213
14208
  this.clickTrackForFocusClear = null;
14214
14209
  this.extraElements = [];
14215
- // UUID required to support multiple grids in one page and avoid collision
14216
- this.uuid = null;
14217
14210
  this.viewport = null;
14218
14211
  this.isInited = false;
14219
14212
  /**
@@ -14460,19 +14453,19 @@ class RevoGridComponent {
14460
14453
  if (event.defaultPrevented) {
14461
14454
  return;
14462
14455
  }
14463
- const target = event.target;
14464
14456
  const pos = screenX + screenY;
14465
14457
  // detect if mousemove then do nothing
14466
14458
  if (Math.abs(this.clickTrackForFocusClear - pos) > 10) {
14467
14459
  return;
14468
14460
  }
14469
- // check if action finished inside of the document
14470
- // clear data which is outside of grid
14461
+ // Check if action finished inside of the document
14471
14462
  // if event prevented or it is current table don't clear focus
14472
- if (target === null || target === void 0 ? void 0 : target.closest(`[${UUID}="${this.uuid}"]`)) {
14473
- return;
14463
+ const path = event.composedPath();
14464
+ if (!path.includes(this.element) &&
14465
+ !path.includes(this.element.shadowRoot)) {
14466
+ // Perform actions if the click is outside the component
14467
+ this.clearFocus();
14474
14468
  }
14475
- this.clearFocus();
14476
14469
  }
14477
14470
  // #endregion
14478
14471
  // #region Listeners
@@ -14756,7 +14749,7 @@ class RevoGridComponent {
14756
14749
  }
14757
14750
  // register filter plugin
14758
14751
  if (this.filter) {
14759
- this.internalPlugins.push(new FilterPlugin(this.element, pluginData, this.uuid, typeof this.filter === 'object' ? this.filter : undefined));
14752
+ this.internalPlugins.push(new FilterPlugin(this.element, pluginData, typeof this.filter === 'object' ? this.filter : undefined));
14760
14753
  }
14761
14754
  // register export plugin
14762
14755
  if (this.exporting) {
@@ -14803,8 +14796,6 @@ class RevoGridComponent {
14803
14796
  this.selectionStoreConnector = new SelectionStoreConnector();
14804
14797
  this.dataProvider = new DataProvider(this.dimensionProvider);
14805
14798
  // #endregion
14806
- // generate uuid for this grid
14807
- this.uuid = `rv--${Math.random().toString(36).slice(2, 6)}-${Date.now()}`;
14808
14799
  this.registerOutsideVNodes(this.registerVNode);
14809
14800
  // init plugins
14810
14801
  this.setPlugins();
@@ -14875,7 +14866,7 @@ class RevoGridComponent {
14875
14866
  const headerProperties = Object.assign(Object.assign({}, view.headerProp), { type: view.type, additionalData: this.additionalData, viewportCol: view.viewportCol, selectionStore: view.columnSelectionStore, canResize: this.resize, readonly: this.readonly, columnFilter: !!this.filter });
14876
14867
  // Column headers
14877
14868
  const dataViews = [
14878
- hAsync("revogr-header", Object.assign({ key: '83382de99ec784ec1b049ccd6fe4bdcc332cabed' }, headerProperties, { slot: HEADER_SLOT })),
14869
+ hAsync("revogr-header", Object.assign({ key: 'ff8eefd6db3baf494c015a2ea573160d27739aa9' }, headerProperties, { slot: HEADER_SLOT })),
14879
14870
  ];
14880
14871
  // Render viewport data (vertical sections)
14881
14872
  view.dataPorts.forEach(data => {
@@ -14897,11 +14888,11 @@ class RevoGridComponent {
14897
14888
  const typeCol = 'rgCol';
14898
14889
  const viewports = this.viewportProvider.stores;
14899
14890
  const dimensions = this.dimensionProvider.stores;
14900
- return (hAsync(Host, { key: 'd0d2bbed64b64c9b6ca791a53f3a3c8ef3c4005e', [`${UUID}`]: this.uuid }, this.hideAttribution ? null : (hAsync("revogr-attribution", { class: "attribution" })), hAsync("div", { key: 'bb8dd42f87d5bd0b7077de213512d05ceb8b6fca', class: "main-viewport", onClick: (e) => {
14891
+ return (hAsync(Host, { key: '21bbe81595f20f7bcb271f28c9c86feef472efec' }, this.hideAttribution ? null : (hAsync("revogr-attribution", { class: "attribution" })), hAsync("div", { key: '7a3092cd02305a0dfaa3b3d3160164001f0ed08b', class: "main-viewport", onClick: (e) => {
14901
14892
  if (e.currentTarget === e.target) {
14902
14893
  this.viewport.clearEdit();
14903
14894
  }
14904
- } }, hAsync("div", { key: 'd8e40dd546ba1448b0e337c4f52a5bfc2ad0cacd', class: "viewports" }, hAsync("slot", { key: '2081bc7165ac469f4ff43be97519a3a1b960e105', name: "viewport" }), viewportSections, hAsync("revogr-scroll-virtual", { key: '4ba3abc9197c7f5062166b5fff21eef258ee49df', class: "vertical", dimension: typeRow, viewportStore: viewports[typeRow].store, dimensionStore: dimensions[typeRow].store, ref: el => this.scrollingService.registerElement(el, 'rowScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), hAsync(OrderRenderer, { key: '3c52006a7d1c846baeac3892d6804b56f47aebbd', ref: e => (this.orderService = e) }))), hAsync("revogr-scroll-virtual", { key: 'e0ff22ae142089d9d4a66e074a03e41463fe4f01', class: "horizontal", dimension: typeCol, viewportStore: viewports[typeCol].store, dimensionStore: dimensions[typeCol].store, ref: el => this.scrollingService.registerElement(el, 'colScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), this.extraElements));
14895
+ } }, hAsync("div", { key: 'ae1dfccbb72cc2a9f7fa370889746c702d106045', class: "viewports" }, hAsync("slot", { key: '0725b46d877fbb63fb513845cc1c7b86d0f856b8', name: "viewport" }), viewportSections, hAsync("revogr-scroll-virtual", { key: 'd41771f6ff459f1f6747ce496c8165b1dab44963', class: "vertical", dimension: typeRow, viewportStore: viewports[typeRow].store, dimensionStore: dimensions[typeRow].store, ref: el => this.scrollingService.registerElement(el, 'rowScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), hAsync(OrderRenderer, { key: '2914421478450c9b198e0aade898ed342e4d7f6a', ref: e => (this.orderService = e) }))), hAsync("revogr-scroll-virtual", { key: 'bc1812c5ce54cda01e81cc06e28c69dc8e36fdf3', class: "horizontal", dimension: typeCol, viewportStore: viewports[typeCol].store, dimensionStore: dimensions[typeCol].store, ref: el => this.scrollingService.registerElement(el, 'colScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), this.extraElements));
14905
14896
  }
14906
14897
  disconnectedCallback() {
14907
14898
  // Remove all plugins, to avoid memory leaks and unexpected behaviour when the component is removed
package/hydrate/index.mjs CHANGED
@@ -3042,7 +3042,7 @@ class FilterPanel {
3042
3042
  title: 'Filter by',
3043
3043
  save: 'Save',
3044
3044
  // drops the filter
3045
- reset: 'Cancel',
3045
+ reset: 'Clear changes',
3046
3046
  cancel: 'Close',
3047
3047
  add: 'Add more condition...',
3048
3048
  placeholder: 'Enter value...',
@@ -3057,7 +3057,6 @@ class FilterPanel {
3057
3057
  this.currentFilterId = -1;
3058
3058
  this.currentFilterType = defaultType;
3059
3059
  this.changes = undefined;
3060
- this.uuid = undefined;
3061
3060
  this.filterItems = {};
3062
3061
  this.filterTypes = {};
3063
3062
  this.filterNames = {};
@@ -3068,7 +3067,18 @@ class FilterPanel {
3068
3067
  onMouseDown(e) {
3069
3068
  if (this.changes && !e.defaultPrevented) {
3070
3069
  const el = e.target;
3071
- if (this.isOutside(el) && !isFilterBtn(el)) {
3070
+ const select = document.getElementById('add-filter');
3071
+ if (select) {
3072
+ select.value = defaultType;
3073
+ }
3074
+ this.currentFilterType = defaultType;
3075
+ if (this.changes) {
3076
+ this.changes.type = defaultType;
3077
+ }
3078
+ this.currentFilterId = -1;
3079
+ const path = e.composedPath();
3080
+ const isOutside = !path.includes(this.element);
3081
+ if (isOutside && !isFilterBtn(el)) {
3072
3082
  this.changes = undefined;
3073
3083
  }
3074
3084
  }
@@ -3281,26 +3291,12 @@ class FilterPanel {
3281
3291
  throw new Error('Changes required per edit');
3282
3292
  }
3283
3293
  }
3284
- isOutside(e) {
3285
- const select = document.getElementById('add-filter');
3286
- if (select)
3287
- select.value = defaultType;
3288
- this.currentFilterType = defaultType;
3289
- if (this.changes) {
3290
- this.changes.type = defaultType;
3291
- }
3292
- this.currentFilterId = -1;
3293
- if (e === null || e === void 0 ? void 0 : e.classList.contains(`[uuid="${this.uuid}"]`)) {
3294
- return false;
3295
- }
3296
- return !(e === null || e === void 0 ? void 0 : e.closest(`[uuid="${this.uuid}"]`));
3297
- }
3294
+ get element() { return getElement(this); }
3298
3295
  static get style() { return RevogrFilterPanelStyle0; }
3299
3296
  static get cmpMeta() { return {
3300
3297
  "$flags$": 0,
3301
3298
  "$tagName$": "revogr-filter-panel",
3302
3299
  "$members$": {
3303
- "uuid": [1537],
3304
3300
  "filterItems": [16],
3305
3301
  "filterTypes": [16],
3306
3302
  "filterNames": [16],
@@ -3317,7 +3313,7 @@ class FilterPanel {
3317
3313
  },
3318
3314
  "$listeners$": [[5, "mousedown", "onMouseDown"]],
3319
3315
  "$lazyBundleId$": "-",
3320
- "$attrsToReflect$": [["uuid", "uuid"]]
3316
+ "$attrsToReflect$": []
3321
3317
  }; }
3322
3318
  }
3323
3319
 
@@ -8422,7 +8418,6 @@ const MIN_COL_SIZE = 30;
8422
8418
  const RESIZE_INTERVAL = 40;
8423
8419
  const DATA_COL = 'data-rgCol';
8424
8420
  const DATA_ROW = 'data-rgRow';
8425
- const UUID = 'grid-uuid';
8426
8421
  const DISABLED_CLASS = 'disabled';
8427
8422
  const CELL_CLASS = 'rgCell';
8428
8423
  const ROW_HEADER_TYPE = 'rowHeaders';
@@ -11663,7 +11658,7 @@ const filterTypes = {
11663
11658
  const FILTER_TRIMMED_TYPE = 'filter';
11664
11659
  const FILTER_CONFIG_CHANGED_EVENT = 'filterconfigchanged';
11665
11660
  class FilterPlugin extends BasePlugin {
11666
- constructor(revogrid, providers, uiid, config) {
11661
+ constructor(revogrid, providers, config) {
11667
11662
  var _a;
11668
11663
  super(revogrid, providers);
11669
11664
  this.revogrid = revogrid;
@@ -11712,7 +11707,7 @@ class FilterPlugin extends BasePlugin {
11712
11707
  const existingNodes = this.revogrid.registerVNode.filter((n) => n.$tag$ !== 'revogr-filter-panel');
11713
11708
  this.revogrid.registerVNode = [
11714
11709
  ...existingNodes,
11715
- hAsync("revogr-filter-panel", { uuid: `filter-${uiid}`, filterItems: this.multiFilterItems, filterNames: this.possibleFilterNames, filterEntities: this.possibleFilterEntities, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), disableDynamicFiltering: config === null || config === void 0 ? void 0 : config.disableDynamicFiltering, ref: e => (this.pop = e) }),
11710
+ hAsync("revogr-filter-panel", { filterItems: this.multiFilterItems, filterNames: this.possibleFilterNames, filterEntities: this.possibleFilterEntities, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), disableDynamicFiltering: config === null || config === void 0 ? void 0 : config.disableDynamicFiltering, ref: e => (this.pop = e) }),
11716
11711
  ];
11717
11712
  }
11718
11713
  initConfig(config) {
@@ -14208,8 +14203,6 @@ class RevoGridComponent {
14208
14203
  // #region Listeners outside scope
14209
14204
  this.clickTrackForFocusClear = null;
14210
14205
  this.extraElements = [];
14211
- // UUID required to support multiple grids in one page and avoid collision
14212
- this.uuid = null;
14213
14206
  this.viewport = null;
14214
14207
  this.isInited = false;
14215
14208
  /**
@@ -14456,19 +14449,19 @@ class RevoGridComponent {
14456
14449
  if (event.defaultPrevented) {
14457
14450
  return;
14458
14451
  }
14459
- const target = event.target;
14460
14452
  const pos = screenX + screenY;
14461
14453
  // detect if mousemove then do nothing
14462
14454
  if (Math.abs(this.clickTrackForFocusClear - pos) > 10) {
14463
14455
  return;
14464
14456
  }
14465
- // check if action finished inside of the document
14466
- // clear data which is outside of grid
14457
+ // Check if action finished inside of the document
14467
14458
  // if event prevented or it is current table don't clear focus
14468
- if (target === null || target === void 0 ? void 0 : target.closest(`[${UUID}="${this.uuid}"]`)) {
14469
- return;
14459
+ const path = event.composedPath();
14460
+ if (!path.includes(this.element) &&
14461
+ !path.includes(this.element.shadowRoot)) {
14462
+ // Perform actions if the click is outside the component
14463
+ this.clearFocus();
14470
14464
  }
14471
- this.clearFocus();
14472
14465
  }
14473
14466
  // #endregion
14474
14467
  // #region Listeners
@@ -14752,7 +14745,7 @@ class RevoGridComponent {
14752
14745
  }
14753
14746
  // register filter plugin
14754
14747
  if (this.filter) {
14755
- this.internalPlugins.push(new FilterPlugin(this.element, pluginData, this.uuid, typeof this.filter === 'object' ? this.filter : undefined));
14748
+ this.internalPlugins.push(new FilterPlugin(this.element, pluginData, typeof this.filter === 'object' ? this.filter : undefined));
14756
14749
  }
14757
14750
  // register export plugin
14758
14751
  if (this.exporting) {
@@ -14799,8 +14792,6 @@ class RevoGridComponent {
14799
14792
  this.selectionStoreConnector = new SelectionStoreConnector();
14800
14793
  this.dataProvider = new DataProvider(this.dimensionProvider);
14801
14794
  // #endregion
14802
- // generate uuid for this grid
14803
- this.uuid = `rv--${Math.random().toString(36).slice(2, 6)}-${Date.now()}`;
14804
14795
  this.registerOutsideVNodes(this.registerVNode);
14805
14796
  // init plugins
14806
14797
  this.setPlugins();
@@ -14871,7 +14862,7 @@ class RevoGridComponent {
14871
14862
  const headerProperties = Object.assign(Object.assign({}, view.headerProp), { type: view.type, additionalData: this.additionalData, viewportCol: view.viewportCol, selectionStore: view.columnSelectionStore, canResize: this.resize, readonly: this.readonly, columnFilter: !!this.filter });
14872
14863
  // Column headers
14873
14864
  const dataViews = [
14874
- hAsync("revogr-header", Object.assign({ key: '83382de99ec784ec1b049ccd6fe4bdcc332cabed' }, headerProperties, { slot: HEADER_SLOT })),
14865
+ hAsync("revogr-header", Object.assign({ key: 'ff8eefd6db3baf494c015a2ea573160d27739aa9' }, headerProperties, { slot: HEADER_SLOT })),
14875
14866
  ];
14876
14867
  // Render viewport data (vertical sections)
14877
14868
  view.dataPorts.forEach(data => {
@@ -14893,11 +14884,11 @@ class RevoGridComponent {
14893
14884
  const typeCol = 'rgCol';
14894
14885
  const viewports = this.viewportProvider.stores;
14895
14886
  const dimensions = this.dimensionProvider.stores;
14896
- return (hAsync(Host, { key: 'd0d2bbed64b64c9b6ca791a53f3a3c8ef3c4005e', [`${UUID}`]: this.uuid }, this.hideAttribution ? null : (hAsync("revogr-attribution", { class: "attribution" })), hAsync("div", { key: 'bb8dd42f87d5bd0b7077de213512d05ceb8b6fca', class: "main-viewport", onClick: (e) => {
14887
+ return (hAsync(Host, { key: '21bbe81595f20f7bcb271f28c9c86feef472efec' }, this.hideAttribution ? null : (hAsync("revogr-attribution", { class: "attribution" })), hAsync("div", { key: '7a3092cd02305a0dfaa3b3d3160164001f0ed08b', class: "main-viewport", onClick: (e) => {
14897
14888
  if (e.currentTarget === e.target) {
14898
14889
  this.viewport.clearEdit();
14899
14890
  }
14900
- } }, hAsync("div", { key: 'd8e40dd546ba1448b0e337c4f52a5bfc2ad0cacd', class: "viewports" }, hAsync("slot", { key: '2081bc7165ac469f4ff43be97519a3a1b960e105', name: "viewport" }), viewportSections, hAsync("revogr-scroll-virtual", { key: '4ba3abc9197c7f5062166b5fff21eef258ee49df', class: "vertical", dimension: typeRow, viewportStore: viewports[typeRow].store, dimensionStore: dimensions[typeRow].store, ref: el => this.scrollingService.registerElement(el, 'rowScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), hAsync(OrderRenderer, { key: '3c52006a7d1c846baeac3892d6804b56f47aebbd', ref: e => (this.orderService = e) }))), hAsync("revogr-scroll-virtual", { key: 'e0ff22ae142089d9d4a66e074a03e41463fe4f01', class: "horizontal", dimension: typeCol, viewportStore: viewports[typeCol].store, dimensionStore: dimensions[typeCol].store, ref: el => this.scrollingService.registerElement(el, 'colScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), this.extraElements));
14891
+ } }, hAsync("div", { key: 'ae1dfccbb72cc2a9f7fa370889746c702d106045', class: "viewports" }, hAsync("slot", { key: '0725b46d877fbb63fb513845cc1c7b86d0f856b8', name: "viewport" }), viewportSections, hAsync("revogr-scroll-virtual", { key: 'd41771f6ff459f1f6747ce496c8165b1dab44963', class: "vertical", dimension: typeRow, viewportStore: viewports[typeRow].store, dimensionStore: dimensions[typeRow].store, ref: el => this.scrollingService.registerElement(el, 'rowScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), hAsync(OrderRenderer, { key: '2914421478450c9b198e0aade898ed342e4d7f6a', ref: e => (this.orderService = e) }))), hAsync("revogr-scroll-virtual", { key: 'bc1812c5ce54cda01e81cc06e28c69dc8e36fdf3', class: "horizontal", dimension: typeCol, viewportStore: viewports[typeCol].store, dimensionStore: dimensions[typeCol].store, ref: el => this.scrollingService.registerElement(el, 'colScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), this.extraElements));
14901
14892
  }
14902
14893
  disconnectedCallback() {
14903
14894
  // Remove all plugins, to avoid memory leaks and unexpected behaviour when the component is removed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revolist/revogrid",
3
- "version": "4.8.19",
3
+ "version": "4.9.0",
4
4
  "type": "module",
5
5
  "description": "Virtual reactive data grid spreadsheet component - RevoGrid.",
6
6
  "license": "MIT",
@@ -5,7 +5,6 @@ const MIN_COL_SIZE = 30;
5
5
  const RESIZE_INTERVAL = 40;
6
6
  const DATA_COL = 'data-rgCol';
7
7
  const DATA_ROW = 'data-rgRow';
8
- const UUID = 'grid-uuid';
9
8
  const DISABLED_CLASS = 'disabled';
10
9
  const CELL_CLASS = 'rgCell';
11
10
  const ROW_HEADER_TYPE = 'rowHeaders';
@@ -25,6 +24,6 @@ const DRAGG_TEXT = 'Draggable item';
25
24
  const GRID_INTERNALS = '__rvgr';
26
25
  const ROW_FOCUSED_CLASS = 'focused-rgRow';
27
26
 
28
- export { CELL_CLASS as C, DATA_COL as D, EDIT_INPUT_WR as E, FOCUS_CLASS as F, GRID_INTERNALS as G, HEADER_CLASS as H, MIN_COL_SIZE as M, RESIZE_INTERVAL as R, SELECTION_BORDER_CLASS as S, TMP_SELECTION_BG_CLASS as T, UUID as U, HEADER_SORTABLE_CLASS as a, HEADER_ROW_CLASS as b, HEADER_ACTUAL_ROW_CLASS as c, DISABLED_CLASS as d, ROW_HEADER_TYPE as e, DATA_ROW as f, ROW_FOCUSED_CLASS as g, DRAGGABLE_CLASS as h, DRAG_ICON_CLASS as i, DRAGG_TEXT as j, CELL_HANDLER_CLASS as k, MOBILE_CLASS as l };
27
+ export { CELL_CLASS as C, DATA_COL as D, EDIT_INPUT_WR as E, FOCUS_CLASS as F, GRID_INTERNALS as G, HEADER_CLASS as H, MIN_COL_SIZE as M, RESIZE_INTERVAL as R, SELECTION_BORDER_CLASS as S, TMP_SELECTION_BG_CLASS as T, HEADER_SORTABLE_CLASS as a, HEADER_ROW_CLASS as b, HEADER_ACTUAL_ROW_CLASS as c, DISABLED_CLASS as d, ROW_HEADER_TYPE as e, DATA_ROW as f, ROW_FOCUSED_CLASS as g, DRAGGABLE_CLASS as h, DRAG_ICON_CLASS as i, DRAGG_TEXT as j, CELL_HANDLER_CLASS as k, MOBILE_CLASS as l };
29
28
 
30
29
  //# sourceMappingURL=consts.js.map
@@ -1 +1 @@
1
- {"file":"consts.js","mappings":";;;MAAa,YAAY,GAAG,GAAG;MAClB,eAAe,GAAG,GAAG;MAErB,QAAQ,GAAG,aAAa;MACxB,QAAQ,GAAG,aAAa;MAExB,IAAI,GAAG,YAAY;MAEnB,cAAc,GAAG,WAAW;MAC5B,UAAU,GAAG,SAAS;MACtB,eAAe,GAAG,aAAa;MAC/B,YAAY,GAAG,eAAe;MAC9B,qBAAqB,GAAG,WAAW;MACnC,gBAAgB,GAAG,eAAe;MAClC,uBAAuB,GAAG,eAAe;MAEzC,eAAe,GAAG,iBAAiB;MACnC,eAAe,GAAG,iBAAiB;MAEnC,WAAW,GAAG,eAAe;MAC7B,sBAAsB,GAAG,yBAAyB;MAClD,YAAY,GAAG,iBAAiB;MAChC,sBAAsB,GAAG,gBAAgB;MAEzC,kBAAkB,GAAG,kBAAkB;MAEvC,aAAa,GAAG,qBAAqB;MAErC,UAAU,GAAG,iBAAiB;MAC9B,cAAc,GAAG,SAAS;MAC1B,iBAAiB,GAAG;;;;","names":[],"sources":["src/utils/consts.ts"],"sourcesContent":["export const MIN_COL_SIZE = 30;\nexport const RESIZE_INTERVAL = 40;\n\nexport const DATA_COL = 'data-rgCol';\nexport const DATA_ROW = 'data-rgRow';\n\nexport const UUID = 'grid-uuid';\n\nexport const DISABLED_CLASS = 'disabled';\nexport const CELL_CLASS = 'rgCell';\nexport const ROW_HEADER_TYPE = 'rowHeaders';\nexport const HEADER_CLASS = 'rgHeaderCell';\nexport const HEADER_SORTABLE_CLASS = 'sortable';\nexport const HEADER_ROW_CLASS = 'header-rgRow';\nexport const HEADER_ACTUAL_ROW_CLASS = 'actual-rgRow';\n\nexport const DRAG_ICON_CLASS = 'revo-drag-icon';\nexport const DRAGGABLE_CLASS = 'revo-draggable';\n\nexport const FOCUS_CLASS = 'focused-cell';\nexport const SELECTION_BORDER_CLASS = 'selection-border-range';\nexport const MOBILE_CLASS = 'mobile-handler';\nexport const TMP_SELECTION_BG_CLASS = 'temp-bg-range';\n\nexport const CELL_HANDLER_CLASS = 'autofill-handle';\n\nexport const EDIT_INPUT_WR = 'edit-input-wrapper';\n\nexport const DRAGG_TEXT = 'Draggable item';\nexport const GRID_INTERNALS = '__rvgr';\nexport const ROW_FOCUSED_CLASS = 'focused-rgRow';\n"],"version":3}
1
+ {"file":"consts.js","mappings":";;;MAAa,YAAY,GAAG,GAAG;MAClB,eAAe,GAAG,GAAG;MAErB,QAAQ,GAAG,aAAa;MACxB,QAAQ,GAAG,aAAa;MAExB,cAAc,GAAG,WAAW;MAC5B,UAAU,GAAG,SAAS;MACtB,eAAe,GAAG,aAAa;MAC/B,YAAY,GAAG,eAAe;MAC9B,qBAAqB,GAAG,WAAW;MACnC,gBAAgB,GAAG,eAAe;MAClC,uBAAuB,GAAG,eAAe;MAEzC,eAAe,GAAG,iBAAiB;MACnC,eAAe,GAAG,iBAAiB;MAEnC,WAAW,GAAG,eAAe;MAC7B,sBAAsB,GAAG,yBAAyB;MAClD,YAAY,GAAG,iBAAiB;MAChC,sBAAsB,GAAG,gBAAgB;MAEzC,kBAAkB,GAAG,kBAAkB;MAEvC,aAAa,GAAG,qBAAqB;MAErC,UAAU,GAAG,iBAAiB;MAC9B,cAAc,GAAG,SAAS;MAC1B,iBAAiB,GAAG;;;;","names":[],"sources":["src/utils/consts.ts"],"sourcesContent":["export const MIN_COL_SIZE = 30;\nexport const RESIZE_INTERVAL = 40;\n\nexport const DATA_COL = 'data-rgCol';\nexport const DATA_ROW = 'data-rgRow';\n\nexport const DISABLED_CLASS = 'disabled';\nexport const CELL_CLASS = 'rgCell';\nexport const ROW_HEADER_TYPE = 'rowHeaders';\nexport const HEADER_CLASS = 'rgHeaderCell';\nexport const HEADER_SORTABLE_CLASS = 'sortable';\nexport const HEADER_ROW_CLASS = 'header-rgRow';\nexport const HEADER_ACTUAL_ROW_CLASS = 'actual-rgRow';\n\nexport const DRAG_ICON_CLASS = 'revo-drag-icon';\nexport const DRAGGABLE_CLASS = 'revo-draggable';\n\nexport const FOCUS_CLASS = 'focused-cell';\nexport const SELECTION_BORDER_CLASS = 'selection-border-range';\nexport const MOBILE_CLASS = 'mobile-handler';\nexport const TMP_SELECTION_BG_CLASS = 'temp-bg-range';\n\nexport const CELL_HANDLER_CLASS = 'autofill-handle';\n\nexport const EDIT_INPUT_WR = 'edit-input-wrapper';\n\nexport const DRAGG_TEXT = 'Draggable item';\nexport const GRID_INTERNALS = '__rvgr';\nexport const ROW_FOCUSED_CLASS = 'focused-rgRow';\n"],"version":3}
@@ -9,7 +9,7 @@ export { RevogrData as RevogrData } from '../dist/types/components/data/revogr-d
9
9
  export { defineCustomElement as defineCustomElementRevogrData } from './revogr-data';
10
10
  export { RevoEdit as RevogrEdit } from '../dist/types/components/editors/revogr-edit';
11
11
  export { defineCustomElement as defineCustomElementRevogrEdit } from './revogr-edit';
12
- export { FilterPanel as RevogrFilterPanel } from '../dist/types/plugins/filter/filter.pop';
12
+ export { FilterPanel as RevogrFilterPanel } from '../dist/types/plugins/filter/filter.panel';
13
13
  export { defineCustomElement as defineCustomElementRevogrFilterPanel } from './revogr-filter-panel';
14
14
  export { RevogrFocus as RevogrFocus } from '../dist/types/components/selectionFocus/revogr-focus';
15
15
  export { defineCustomElement as defineCustomElementRevogrFocus } from './revogr-focus';
@@ -8,7 +8,7 @@ import { i as createStore, h as setStore, j as findIndex_1, D as DataStore, b as
8
8
  import { _ as _baseGetTag, i as isObjectLike_1 } from './toNumber.js';
9
9
  import { b as isGrouping, d as getGroupingName, G as GROUP_EXPANDED, e as getParsedGroup, f as isSameGroup, h as GROUP_DEPTH, P as PSEUDO_GROUP_ITEM_VALUE, j as PSEUDO_GROUP_ITEM_ID, k as GROUPING_ROW_TYPE, l as PSEUDO_GROUP_COLUMN, m as GROUP_EXPAND_EVENT, o as gatherGrouping, p as isGroupingColumn, E as EMPTY_INDEX, q as SelectionStoreConnector } from './column.service.js';
10
10
  import { d as debounce_1 } from './debounce.js';
11
- import { R as RESIZE_INTERVAL, U as UUID } from './consts.js';
11
+ import { R as RESIZE_INTERVAL } from './consts.js';
12
12
  import { V as ViewportStore, f as calculateRowHeaderSize, h as defineCustomElement$6 } from './revogr-row-headers2.js';
13
13
  import { t as timeout, g as getScrollbarSize } from './index2.js';
14
14
  import { F as FILTER_PROP, i as isFilterBtn } from './filter.button.js';
@@ -1254,7 +1254,7 @@ const filterTypes = {
1254
1254
  const FILTER_TRIMMED_TYPE = 'filter';
1255
1255
  const FILTER_CONFIG_CHANGED_EVENT = 'filterconfigchanged';
1256
1256
  class FilterPlugin extends BasePlugin {
1257
- constructor(revogrid, providers, uiid, config) {
1257
+ constructor(revogrid, providers, config) {
1258
1258
  var _a;
1259
1259
  super(revogrid, providers);
1260
1260
  this.revogrid = revogrid;
@@ -1303,7 +1303,7 @@ class FilterPlugin extends BasePlugin {
1303
1303
  const existingNodes = this.revogrid.registerVNode.filter((n) => n.$tag$ !== 'revogr-filter-panel');
1304
1304
  this.revogrid.registerVNode = [
1305
1305
  ...existingNodes,
1306
- h("revogr-filter-panel", { uuid: `filter-${uiid}`, filterItems: this.multiFilterItems, filterNames: this.possibleFilterNames, filterEntities: this.possibleFilterEntities, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), disableDynamicFiltering: config === null || config === void 0 ? void 0 : config.disableDynamicFiltering, ref: e => (this.pop = e) }),
1306
+ h("revogr-filter-panel", { filterItems: this.multiFilterItems, filterNames: this.possibleFilterNames, filterEntities: this.possibleFilterEntities, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), disableDynamicFiltering: config === null || config === void 0 ? void 0 : config.disableDynamicFiltering, ref: e => (this.pop = e) }),
1307
1307
  ];
1308
1308
  }
1309
1309
  initConfig(config) {
@@ -3439,8 +3439,6 @@ const RevoGridComponent = /*@__PURE__*/ proxyCustomElement(class RevoGridCompone
3439
3439
  // #region Listeners outside scope
3440
3440
  this.clickTrackForFocusClear = null;
3441
3441
  this.extraElements = [];
3442
- // UUID required to support multiple grids in one page and avoid collision
3443
- this.uuid = null;
3444
3442
  this.viewport = null;
3445
3443
  this.isInited = false;
3446
3444
  /**
@@ -3687,19 +3685,19 @@ const RevoGridComponent = /*@__PURE__*/ proxyCustomElement(class RevoGridCompone
3687
3685
  if (event.defaultPrevented) {
3688
3686
  return;
3689
3687
  }
3690
- const target = event.target;
3691
3688
  const pos = screenX + screenY;
3692
3689
  // detect if mousemove then do nothing
3693
3690
  if (Math.abs(this.clickTrackForFocusClear - pos) > 10) {
3694
3691
  return;
3695
3692
  }
3696
- // check if action finished inside of the document
3697
- // clear data which is outside of grid
3693
+ // Check if action finished inside of the document
3698
3694
  // if event prevented or it is current table don't clear focus
3699
- if (target === null || target === void 0 ? void 0 : target.closest(`[${UUID}="${this.uuid}"]`)) {
3700
- return;
3695
+ const path = event.composedPath();
3696
+ if (!path.includes(this.element) &&
3697
+ !path.includes(this.element.shadowRoot)) {
3698
+ // Perform actions if the click is outside the component
3699
+ this.clearFocus();
3701
3700
  }
3702
- this.clearFocus();
3703
3701
  }
3704
3702
  // #endregion
3705
3703
  // #region Listeners
@@ -3983,7 +3981,7 @@ const RevoGridComponent = /*@__PURE__*/ proxyCustomElement(class RevoGridCompone
3983
3981
  }
3984
3982
  // register filter plugin
3985
3983
  if (this.filter) {
3986
- this.internalPlugins.push(new FilterPlugin(this.element, pluginData, this.uuid, typeof this.filter === 'object' ? this.filter : undefined));
3984
+ this.internalPlugins.push(new FilterPlugin(this.element, pluginData, typeof this.filter === 'object' ? this.filter : undefined));
3987
3985
  }
3988
3986
  // register export plugin
3989
3987
  if (this.exporting) {
@@ -4030,8 +4028,6 @@ const RevoGridComponent = /*@__PURE__*/ proxyCustomElement(class RevoGridCompone
4030
4028
  this.selectionStoreConnector = new SelectionStoreConnector();
4031
4029
  this.dataProvider = new DataProvider(this.dimensionProvider);
4032
4030
  // #endregion
4033
- // generate uuid for this grid
4034
- this.uuid = `rv--${Math.random().toString(36).slice(2, 6)}-${Date.now()}`;
4035
4031
  this.registerOutsideVNodes(this.registerVNode);
4036
4032
  // init plugins
4037
4033
  this.setPlugins();
@@ -4102,7 +4098,7 @@ const RevoGridComponent = /*@__PURE__*/ proxyCustomElement(class RevoGridCompone
4102
4098
  const headerProperties = Object.assign(Object.assign({}, view.headerProp), { type: view.type, additionalData: this.additionalData, viewportCol: view.viewportCol, selectionStore: view.columnSelectionStore, canResize: this.resize, readonly: this.readonly, columnFilter: !!this.filter });
4103
4099
  // Column headers
4104
4100
  const dataViews = [
4105
- h("revogr-header", Object.assign({ key: '83382de99ec784ec1b049ccd6fe4bdcc332cabed' }, headerProperties, { slot: HEADER_SLOT })),
4101
+ h("revogr-header", Object.assign({ key: 'ff8eefd6db3baf494c015a2ea573160d27739aa9' }, headerProperties, { slot: HEADER_SLOT })),
4106
4102
  ];
4107
4103
  // Render viewport data (vertical sections)
4108
4104
  view.dataPorts.forEach(data => {
@@ -4124,11 +4120,11 @@ const RevoGridComponent = /*@__PURE__*/ proxyCustomElement(class RevoGridCompone
4124
4120
  const typeCol = 'rgCol';
4125
4121
  const viewports = this.viewportProvider.stores;
4126
4122
  const dimensions = this.dimensionProvider.stores;
4127
- return (h(Host, { key: 'd0d2bbed64b64c9b6ca791a53f3a3c8ef3c4005e', [`${UUID}`]: this.uuid }, this.hideAttribution ? null : (h("revogr-attribution", { class: "attribution" })), h("div", { key: 'bb8dd42f87d5bd0b7077de213512d05ceb8b6fca', class: "main-viewport", onClick: (e) => {
4123
+ return (h(Host, { key: '21bbe81595f20f7bcb271f28c9c86feef472efec' }, this.hideAttribution ? null : (h("revogr-attribution", { class: "attribution" })), h("div", { key: '7a3092cd02305a0dfaa3b3d3160164001f0ed08b', class: "main-viewport", onClick: (e) => {
4128
4124
  if (e.currentTarget === e.target) {
4129
4125
  this.viewport.clearEdit();
4130
4126
  }
4131
- } }, h("div", { key: 'd8e40dd546ba1448b0e337c4f52a5bfc2ad0cacd', class: "viewports" }, h("slot", { key: '2081bc7165ac469f4ff43be97519a3a1b960e105', name: "viewport" }), viewportSections, h("revogr-scroll-virtual", { key: '4ba3abc9197c7f5062166b5fff21eef258ee49df', class: "vertical", dimension: typeRow, viewportStore: viewports[typeRow].store, dimensionStore: dimensions[typeRow].store, ref: el => this.scrollingService.registerElement(el, 'rowScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), h(OrderRenderer, { key: '3c52006a7d1c846baeac3892d6804b56f47aebbd', ref: e => (this.orderService = e) }))), h("revogr-scroll-virtual", { key: 'e0ff22ae142089d9d4a66e074a03e41463fe4f01', class: "horizontal", dimension: typeCol, viewportStore: viewports[typeCol].store, dimensionStore: dimensions[typeCol].store, ref: el => this.scrollingService.registerElement(el, 'colScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), this.extraElements));
4127
+ } }, h("div", { key: 'ae1dfccbb72cc2a9f7fa370889746c702d106045', class: "viewports" }, h("slot", { key: '0725b46d877fbb63fb513845cc1c7b86d0f856b8', name: "viewport" }), viewportSections, h("revogr-scroll-virtual", { key: 'd41771f6ff459f1f6747ce496c8165b1dab44963', class: "vertical", dimension: typeRow, viewportStore: viewports[typeRow].store, dimensionStore: dimensions[typeRow].store, ref: el => this.scrollingService.registerElement(el, 'rowScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), h(OrderRenderer, { key: '2914421478450c9b198e0aade898ed342e4d7f6a', ref: e => (this.orderService = e) }))), h("revogr-scroll-virtual", { key: 'bc1812c5ce54cda01e81cc06e28c69dc8e36fdf3', class: "horizontal", dimension: typeCol, viewportStore: viewports[typeCol].store, dimensionStore: dimensions[typeCol].store, ref: el => this.scrollingService.registerElement(el, 'colScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), this.extraElements));
4132
4128
  }
4133
4129
  disconnectedCallback() {
4134
4130
  // Remove all plugins, to avoid memory leaks and unexpected behaviour when the component is removed