@revolist/revogrid 4.13.3 → 4.13.5

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 (107) hide show
  1. package/dist/cjs/dimension.helpers-5b822a09.js.map +1 -1
  2. package/dist/cjs/index.cjs.js +10 -9
  3. package/dist/cjs/index.cjs.js.map +1 -1
  4. package/dist/cjs/revo-grid.cjs.entry.js +1 -1
  5. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  6. package/dist/cjs/revogr-attribution_7.cjs.entry.js +4 -4
  7. package/dist/cjs/revogr-data_4.cjs.entry.js +71 -56
  8. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  9. package/dist/collection/{plugins/groupingColumn/headerGroupRenderer.js → components/header/header-group-renderer.js} +4 -4
  10. package/dist/collection/components/header/header-group-renderer.js.map +1 -0
  11. package/dist/collection/components/header/revogr-header.js +75 -13
  12. package/dist/collection/components/header/revogr-header.js.map +1 -1
  13. package/dist/collection/components/overlay/revogr-overlay-selection.js +2 -2
  14. package/dist/collection/components/revoGrid/revo-grid-style.css +1 -0
  15. package/dist/collection/components/rowHeaders/revogr-row-headers.js +1 -1
  16. package/dist/collection/components/scroll/revogr-viewport-scroll.js +1 -1
  17. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +1 -1
  18. package/dist/collection/components/vnode/vnode-converter.js +1 -1
  19. package/dist/collection/plugins/index.js +0 -2
  20. package/dist/collection/plugins/index.js.map +1 -1
  21. package/dist/collection/serve/data.js +5 -0
  22. package/dist/collection/store/dataSource/data.store.js.map +1 -1
  23. package/dist/collection/types/events.js +1 -0
  24. package/dist/collection/types/events.js.map +1 -1
  25. package/dist/esm/{column.drag.plugin-da99fde5.js → column.drag.plugin-c625cb29.js} +5 -5
  26. package/dist/{revo-grid/column.drag.plugin-da99fde5.js.map → esm/column.drag.plugin-c625cb29.js.map} +1 -1
  27. package/dist/esm/{column.service-f39c0a1d.js → column.service-5f5b38b9.js} +2 -2
  28. package/dist/{revo-grid/column.service-f39c0a1d.js.map → esm/column.service-5f5b38b9.js.map} +1 -1
  29. package/dist/{revo-grid/dimension.helpers-5567e424.js → esm/dimension.helpers-54788e5f.js} +2 -2
  30. package/dist/{revo-grid/dimension.helpers-5567e424.js.map → esm/dimension.helpers-54788e5f.js.map} +1 -1
  31. package/dist/esm/{edit.utils-b59306be.js → edit.utils-130d232d.js} +2 -2
  32. package/dist/esm/{edit.utils-b59306be.js.map → edit.utils-130d232d.js.map} +1 -1
  33. package/dist/{revo-grid/grouping.row.renderer-95f32c6b.js → esm/grouping.row.renderer-adeb3f82.js} +3 -3
  34. package/dist/esm/{grouping.row.renderer-95f32c6b.js.map → grouping.row.renderer-adeb3f82.js.map} +1 -1
  35. package/dist/esm/{header-cell-renderer-31f53644.js → header-cell-renderer-cdc31050.js} +2 -2
  36. package/dist/{revo-grid/header-cell-renderer-31f53644.js.map → esm/header-cell-renderer-cdc31050.js.map} +1 -1
  37. package/dist/esm/index.js +10 -9
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/{revo-grid/key.utils-3632161b.js → esm/key.utils-b61b261e.js} +2 -2
  40. package/dist/esm/{key.utils-3632161b.js.map → key.utils-b61b261e.js.map} +1 -1
  41. package/dist/esm/revo-grid.entry.js +6 -6
  42. package/dist/esm/revo-grid.entry.js.map +1 -1
  43. package/dist/esm/revogr-attribution_7.entry.js +10 -10
  44. package/dist/esm/revogr-clipboard_3.entry.js +4 -4
  45. package/dist/esm/revogr-data_4.entry.js +76 -61
  46. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  47. package/dist/{revo-grid/text-editor-e47e56c3.js → esm/text-editor-00ca5b90.js} +3 -3
  48. package/dist/esm/{text-editor-e47e56c3.js.map → text-editor-00ca5b90.js.map} +1 -1
  49. package/dist/esm/{throttle-dec28f5b.js → throttle-deb3116a.js} +2 -2
  50. package/dist/esm/{throttle-dec28f5b.js.map → throttle-deb3116a.js.map} +1 -1
  51. package/dist/{revo-grid/viewport.store-c18a25a6.js → esm/viewport.store-f6aff24d.js} +2 -2
  52. package/dist/esm/{viewport.store-c18a25a6.js.map → viewport.store-f6aff24d.js.map} +1 -1
  53. package/dist/revo-grid/{column.drag.plugin-da99fde5.js → column.drag.plugin-c625cb29.js} +5 -5
  54. package/dist/{esm/column.drag.plugin-da99fde5.js.map → revo-grid/column.drag.plugin-c625cb29.js.map} +1 -1
  55. package/dist/revo-grid/{column.service-f39c0a1d.js → column.service-5f5b38b9.js} +2 -2
  56. package/dist/{esm/column.service-f39c0a1d.js.map → revo-grid/column.service-5f5b38b9.js.map} +1 -1
  57. package/dist/{esm/dimension.helpers-5567e424.js → revo-grid/dimension.helpers-54788e5f.js} +2 -2
  58. package/dist/{esm/dimension.helpers-5567e424.js.map → revo-grid/dimension.helpers-54788e5f.js.map} +1 -1
  59. package/dist/revo-grid/{edit.utils-b59306be.js → edit.utils-130d232d.js} +2 -2
  60. package/dist/revo-grid/{edit.utils-b59306be.js.map → edit.utils-130d232d.js.map} +1 -1
  61. package/dist/{esm/grouping.row.renderer-95f32c6b.js → revo-grid/grouping.row.renderer-adeb3f82.js} +3 -3
  62. package/dist/revo-grid/{grouping.row.renderer-95f32c6b.js.map → grouping.row.renderer-adeb3f82.js.map} +1 -1
  63. package/dist/revo-grid/{header-cell-renderer-31f53644.js → header-cell-renderer-cdc31050.js} +2 -2
  64. package/dist/{esm/header-cell-renderer-31f53644.js.map → revo-grid/header-cell-renderer-cdc31050.js.map} +1 -1
  65. package/dist/revo-grid/index.esm.js +10 -9
  66. package/dist/revo-grid/index.esm.js.map +1 -1
  67. package/dist/{esm/key.utils-3632161b.js → revo-grid/key.utils-b61b261e.js} +2 -2
  68. package/dist/revo-grid/{key.utils-3632161b.js.map → key.utils-b61b261e.js.map} +1 -1
  69. package/dist/revo-grid/revo-grid.entry.js +6 -6
  70. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  71. package/dist/revo-grid/revogr-attribution_7.entry.js +10 -10
  72. package/dist/revo-grid/revogr-clipboard_3.entry.js +4 -4
  73. package/dist/revo-grid/revogr-data_4.entry.js +76 -61
  74. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  75. package/dist/{esm/text-editor-e47e56c3.js → revo-grid/text-editor-00ca5b90.js} +3 -3
  76. package/dist/revo-grid/{text-editor-e47e56c3.js.map → text-editor-00ca5b90.js.map} +1 -1
  77. package/dist/revo-grid/{throttle-dec28f5b.js → throttle-deb3116a.js} +2 -2
  78. package/dist/revo-grid/{throttle-dec28f5b.js.map → throttle-deb3116a.js.map} +1 -1
  79. package/dist/{esm/viewport.store-c18a25a6.js → revo-grid/viewport.store-f6aff24d.js} +2 -2
  80. package/dist/revo-grid/{viewport.store-c18a25a6.js.map → viewport.store-f6aff24d.js.map} +1 -1
  81. package/dist/types/{plugins/groupingColumn/headerGroupRenderer.d.ts → components/header/header-group-renderer.d.ts} +4 -4
  82. package/dist/types/components/header/revogr-header.d.ts +9 -2
  83. package/dist/types/components.d.ts +7 -0
  84. package/dist/types/plugins/index.d.ts +0 -2
  85. package/dist/types/store/dataSource/data.store.d.ts +1 -1
  86. package/dist/types/types/events.d.ts +1 -1
  87. package/hydrate/index.js +59 -44
  88. package/hydrate/index.mjs +59 -44
  89. package/package.json +1 -1
  90. package/standalone/column.service.js +1 -1
  91. package/standalone/data.store.js +1 -1
  92. package/standalone/data.store.js.map +1 -1
  93. package/standalone/index.js +3 -2
  94. package/standalone/index.js.map +1 -1
  95. package/standalone/revo-grid.js +1 -1
  96. package/standalone/revo-grid.js.map +1 -1
  97. package/standalone/revogr-header2.js +77 -62
  98. package/standalone/revogr-header2.js.map +1 -1
  99. package/standalone/revogr-overlay-selection2.js +2 -2
  100. package/standalone/revogr-row-headers2.js +1 -1
  101. package/standalone/revogr-scroll-virtual2.js +1 -1
  102. package/standalone/revogr-viewport-scroll2.js +1 -1
  103. package/standalone/vnode-converter.js +1 -1
  104. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +0 -34
  105. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +0 -1
  106. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js.map +0 -1
  107. package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +0 -18
@@ -871,7 +871,7 @@ const OverlaySelection = class {
871
871
  nodes.push(index.h("revogr-order-editor", { ref: e => (this.orderEditor = e), dataStore: this.dataStore, dimensionRow: this.dimensionRow, dimensionCol: this.dimensionCol, parent: this.element, rowType: this.types.rowType, onRowdragstartinit: e => this.rowDragStart(e) }));
872
872
  }
873
873
  }
874
- return (index.h(index.Host, { key: '4beb16eb1cfe23899d054adbd52b46120aad5ba6', class: { mobile: this.isMobileDevice }, onDblClick: (e) => this.onElementDblClick(e), onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true), onCloseedit: (e) => this.closeEdit(e), onCelledit: (e) => {
874
+ return (index.h(index.Host, { key: 'aaae2fb9cd6abd04c5b742277214579901062a54', class: { mobile: this.isMobileDevice }, onDblClick: (e) => this.onElementDblClick(e), onMouseDown: (e) => this.onElementMouseDown(e), onTouchStart: (e) => this.onElementMouseDown(e, true), onCloseedit: (e) => this.closeEdit(e), onCelledit: (e) => {
875
875
  const saveEv = this.beforeCellSave.emit(e.detail);
876
876
  if (!saveEv.defaultPrevented) {
877
877
  this.cellEdit(saveEv.detail);
@@ -880,7 +880,7 @@ const OverlaySelection = class {
880
880
  if (!saveEv.detail.preventFocus) {
881
881
  this.focusNext();
882
882
  }
883
- } }, nodes, index.h("slot", { key: '693c50627eb52b9902d9fe5ddd0c09fd2a3ee562', name: "data" })));
883
+ } }, nodes, index.h("slot", { key: '945243e45f2cfbb78d8727c10652d6d0d530d494', name: "data" })));
884
884
  }
885
885
  /**
886
886
  * Executes the focus operation on the specified range of cells.
@@ -1204,7 +1204,7 @@ const RevogrRowHeaders = class {
1204
1204
  const viewportHeader = Object.assign(Object.assign({}, this.headerProp), { colData: typeof this.rowHeaderColumn === 'object' ? [this.rowHeaderColumn] : [], viewportCol: viewport.store, canResize: false, type: dimension_helpers.ROW_HEADER_TYPE,
1205
1205
  // parent,
1206
1206
  slot: viewport_helpers.HEADER_SLOT });
1207
- return (index.h(index.Host, { class: { [dimension_helpers.ROW_HEADER_TYPE]: true }, key: dimension_helpers.ROW_HEADER_TYPE }, index.h("revogr-viewport-scroll", Object.assign({ key: 'addb87ab3406b5691cecf810119582bda3a4b4a2' }, viewportScroll, { "row-header": true }), index.h("revogr-header", Object.assign({ key: '8621e76b132e7d1507794b515b40f525577413e2' }, viewportHeader)), dataViews)));
1207
+ return (index.h(index.Host, { class: { [dimension_helpers.ROW_HEADER_TYPE]: true }, key: dimension_helpers.ROW_HEADER_TYPE }, index.h("revogr-viewport-scroll", Object.assign({ key: 'f665e56f8b21f96d9c0782232fcd7473f9fb0c53' }, viewportScroll, { "row-header": true }), index.h("revogr-header", Object.assign({ key: 'c5056a8b06e1d62ed69ce206344af61d340572e2' }, viewportHeader)), dataViews)));
1208
1208
  }
1209
1209
  };
1210
1210
 
@@ -1374,7 +1374,7 @@ const RevogrScrollVirtual = class {
1374
1374
  render() {
1375
1375
  const sizeType = this.dimension === 'rgRow' ? 'height' : 'width';
1376
1376
  const size = throttle.getContentSize(this.dimensionStore.get('realSize'), this.size, this.viewportStore.get('clientSize'));
1377
- return (index.h(index.Host, { key: '7789bd408d3e154836bcd2aed4ebaa1663e7f968', onScroll: (e) => this.onScroll(e) }, index.h("div", { key: '40549da97df3a580ad2ddef13fe7b4dbe6df54bc', style: {
1377
+ return (index.h(index.Host, { key: '94ccf82880ca9a3b0b1a87e94553f3c6ea6e885a', onScroll: (e) => this.onScroll(e) }, index.h("div", { key: '3518b4db297114195e4ef9bd3555d08bae08daa9', style: {
1378
1378
  [sizeType]: `${size}px`,
1379
1379
  } })));
1380
1380
  }
@@ -15,49 +15,6 @@ const throttle = require('./throttle-5674040a.js');
15
15
  const viewport_helpers = require('./viewport.helpers-e59a544e.js');
16
16
  require('./debounce-ec7a04b4.js');
17
17
 
18
- const GroupHeaderRenderer = (p) => {
19
- const groupProps = {
20
- canResize: p.canResize,
21
- minWidth: p.group.ids.length * dimension_helpers.MIN_COL_SIZE,
22
- maxWidth: 0,
23
- active: p.active || ['r'],
24
- class: {
25
- [dimension_helpers.HEADER_CLASS]: true,
26
- },
27
- style: {
28
- transform: `translateX(${p.start}px)`,
29
- width: `${p.end - p.start}px`,
30
- },
31
- onResize: p.onResize,
32
- };
33
- return (index.h(headerCellRenderer.HeaderCellRenderer, { data: Object.assign(Object.assign({}, p.group), { prop: '', providers: p.providers, index: p.start }), props: groupProps, additionalData: p.additionalData }));
34
- };
35
-
36
- const ColumnGroupsRenderer = ({ additionalData, providers, depth, groups, visibleProps, dimensionCol, canResize, active, onResize }) => {
37
- // render group columns
38
- const groupRow = [];
39
- for (let i = 0; i < depth; i++) {
40
- if (groups[i]) {
41
- for (let group of groups[i]) {
42
- // if group in visible range
43
- // find first visible group prop in visible columns range
44
- const indexFirstVisibleCol = dimension_helpers.findIndex(group.ids, id => typeof visibleProps[id] === 'number');
45
- if (indexFirstVisibleCol > -1) {
46
- const colVisibleIndex = visibleProps[group.ids[indexFirstVisibleCol]]; // get column index
47
- const groupStartIndex = colVisibleIndex - indexFirstVisibleCol; // first column index in group
48
- const groupEndIndex = groupStartIndex + group.ids.length - 1; // last column index in group
49
- // coordinates
50
- const groupStart = dimension_helpers.getItemByIndex(dimensionCol, groupStartIndex).start;
51
- const groupEnd = dimension_helpers.getItemByIndex(dimensionCol, groupEndIndex).end;
52
- groupRow.push(index.h(GroupHeaderRenderer, { providers: providers, start: groupStart, end: groupEnd, group: group, active: active, canResize: canResize, onResize: e => { var _a; return onResize((_a = e.changedX) !== null && _a !== void 0 ? _a : 0, groupStartIndex, groupEndIndex); }, additionalData: additionalData }));
53
- }
54
- }
55
- }
56
- groupRow.push(index.h("div", { class: `${dimension_helpers.HEADER_ROW_CLASS} group` }));
57
- }
58
- return groupRow;
59
- };
60
-
61
18
  /**
62
19
  * Class is responsible for highlighting rows in a table.
63
20
  */
@@ -522,6 +479,24 @@ const HeaderRenderer = (p) => {
522
479
  p.canFilter && ((_e = p.data) === null || _e === void 0 ? void 0 : _e.filter) !== false ? (index.h(filter_button.FilterButton, { column: p.data })) : ('')));
523
480
  };
524
481
 
482
+ const HeaderGroupRenderer = (p) => {
483
+ const groupProps = {
484
+ canResize: p.canResize,
485
+ minWidth: p.group.ids.length * dimension_helpers.MIN_COL_SIZE,
486
+ maxWidth: 0,
487
+ active: p.active || ['r'],
488
+ class: {
489
+ [dimension_helpers.HEADER_CLASS]: true,
490
+ },
491
+ style: {
492
+ transform: `translateX(${p.start}px)`,
493
+ width: `${p.end - p.start}px`,
494
+ },
495
+ onResize: p.onResize,
496
+ };
497
+ return (index.h(headerCellRenderer.HeaderCellRenderer, { data: Object.assign(Object.assign({}, p.group), { prop: '', providers: p.providers, index: p.start }), props: groupProps, additionalData: p.additionalData }));
498
+ };
499
+
525
500
  const revogrHeaderStyleCss = "@charset \"UTF-8\";.revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:\"::\"}.revo-alt-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#4545ff;height:32px;line-height:32px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037}.revo-button.red{background-color:#E0662E}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.outline{border:1px solid #dbdbdb;line-height:30px;background:none;color:#000;box-shadow:none}revo-grid[theme^=dark] .revo-button.outline{border:1px solid #404040;color:#d8d8d8}revogr-header{position:relative;z-index:5;display:block}revogr-header .rgHeaderCell{display:flex}revogr-header .rgHeaderCell.align-center{text-align:center}revogr-header .rgHeaderCell.align-left{text-align:left}revogr-header .rgHeaderCell.align-right{text-align:right}revogr-header .rgHeaderCell.sortable{cursor:pointer}revogr-header .rgHeaderCell i.asc:after,revogr-header .rgHeaderCell i.desc:after{font-size:13px}revogr-header .rgHeaderCell i.asc:after{content:\"↑\"}revogr-header .rgHeaderCell i.desc:after{content:\"↓\"}revogr-header .rgHeaderCell,revogr-header .grouped-cell{position:absolute;box-sizing:border-box;height:100%;z-index:1}revogr-header .header-rgRow{display:block;position:relative}revogr-header .header-rgRow.group{z-index:0}revogr-header .group-rgRow{position:relative}revogr-header .rgHeaderCell.active{z-index:10}revogr-header .rgHeaderCell.active .resizable{background-color:deepskyblue}revogr-header .rgHeaderCell .header-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1}revogr-header .rgHeaderCell .resizable{display:block;position:absolute;z-index:90;touch-action:none;user-select:none}revogr-header .rgHeaderCell .resizable:hover{background-color:deepskyblue}revogr-header .rgHeaderCell>.resizable-r{cursor:ew-resize;width:6px;right:0;top:0;height:100%}revogr-header .rgHeaderCell>.resizable-rb{cursor:se-resize;width:6px;height:6px;right:0;bottom:0}revogr-header .rgHeaderCell>.resizable-b{cursor:s-resize;height:6px;bottom:0;width:100%;left:0}revogr-header .rgHeaderCell>.resizable-lb{cursor:sw-resize;width:6px;height:6px;left:0;bottom:0}revogr-header .rgHeaderCell>.resizable-l{cursor:w-resize;width:6px;left:0;height:100%;top:0}revogr-header .rgHeaderCell>.resizable-lt{cursor:nw-resize;width:6px;height:6px;left:0;top:0}revogr-header .rgHeaderCell>.resizable-t{cursor:n-resize;height:6px;top:0;width:100%;left:0}revogr-header .rgHeaderCell>.resizable-rt{cursor:ne-resize;width:6px;height:6px;right:0;top:0}revogr-header .rv-filter{visibility:hidden}";
526
501
  const RevogrHeaderStyle0 = revogrHeaderStyleCss;
527
502
 
@@ -533,6 +508,7 @@ const RevogrHeaderComponent = class {
533
508
  this.beforeResize = index.createEvent(this, "beforeheaderresize", 7);
534
509
  this.headerdblClick = index.createEvent(this, "headerdblclick", 7);
535
510
  this.beforeHeaderRender = index.createEvent(this, "beforeheaderrender", 7);
511
+ this.beforeGroupHeaderRender = index.createEvent(this, "beforegroupheaderrender", 7);
536
512
  this.afterHeaderRender = index.createEvent(this, "afterheaderrender", 7);
537
513
  this.viewportCol = undefined;
538
514
  this.dimensionCol = undefined;
@@ -576,34 +552,73 @@ const RevogrHeaderComponent = class {
576
552
  var _a;
577
553
  const cols = this.viewportCol.get('items');
578
554
  const range = (_a = this.selectionStore) === null || _a === void 0 ? void 0 : _a.get('range');
555
+ const { cells, visibleProps } = this.renderHeaderColumns(cols, range);
556
+ const groupRow = this.renderGroupingColumns(visibleProps);
557
+ return [
558
+ index.h("div", { key: '0bed5a28ee74503f3e98cbab7da081b4fddd6b61', class: "group-rgRow" }, groupRow),
559
+ index.h("div", { key: '6a3dd5c7bc2d4a953ce710984847375a5b73cde2', class: `${dimension_helpers.HEADER_ROW_CLASS} ${dimension_helpers.HEADER_ACTUAL_ROW_CLASS}` }, cells),
560
+ ];
561
+ }
562
+ renderHeaderColumns(cols, range) {
579
563
  const cells = [];
580
564
  const visibleProps = {};
581
- // render header columns
582
565
  for (let rgCol of cols) {
583
566
  const colData = this.colData[rgCol.itemIndex];
584
567
  const props = {
585
- range: range,
568
+ range,
586
569
  column: rgCol,
587
570
  data: Object.assign(Object.assign({}, colData), { index: rgCol.itemIndex, providers: this.providers }),
588
571
  canFilter: !!this.columnFilter,
589
572
  canResize: this.canResize,
590
573
  active: this.resizeHandler,
574
+ additionalData: this.additionalData,
591
575
  onResize: e => this.onResize(e, rgCol.itemIndex),
592
576
  onDblClick: e => this.headerdblClick.emit(e),
593
577
  onClick: e => this.initialHeaderClick.emit(e),
594
- additionalData: this.additionalData,
595
578
  };
596
579
  const event = this.beforeHeaderRender.emit(props);
597
- if (event.defaultPrevented) {
598
- continue;
580
+ if (!event.defaultPrevented) {
581
+ cells.push(index.h(HeaderRenderer, Object.assign({}, event.detail)));
582
+ visibleProps[colData === null || colData === void 0 ? void 0 : colData.prop] = rgCol.itemIndex;
599
583
  }
600
- cells.push(index.h(HeaderRenderer, Object.assign({}, event.detail)));
601
- visibleProps[colData === null || colData === void 0 ? void 0 : colData.prop] = rgCol.itemIndex;
602
584
  }
603
- return [
604
- index.h("div", { key: 'f01cf39610e7e66f7bf4fa09f52455875a940ced', class: "group-rgRow" }, index.h(ColumnGroupsRenderer, { key: 'fa60d0aa9bb63d86f7e07ed7c1372207147a13c4', canResize: this.canResize, active: this.resizeHandler, visibleProps: visibleProps, providers: this.providers, groups: this.groups, dimensionCol: this.dimensionCol.state, depth: this.groupingDepth, onResize: (changedX, startIndex, endIndex) => this.onResizeGroup(changedX, startIndex, endIndex), additionalData: this.additionalData })),
605
- index.h("div", { key: '65ab0e1d0ea5a548c7dc4abfda116beb29316b3d', class: `${dimension_helpers.HEADER_ROW_CLASS} ${dimension_helpers.HEADER_ACTUAL_ROW_CLASS}` }, cells),
606
- ];
585
+ return { cells, visibleProps };
586
+ }
587
+ renderGroupingColumns(visibleProps) {
588
+ const groupRow = [];
589
+ for (let i = 0; i < this.groupingDepth; i++) {
590
+ if (this.groups[i]) {
591
+ for (let group of this.groups[i]) {
592
+ const indexFirstVisibleCol = dimension_helpers.findIndex(group.ids, id => typeof visibleProps[id] === 'number');
593
+ if (indexFirstVisibleCol > -1) {
594
+ const colVisibleIndex = visibleProps[group.ids[indexFirstVisibleCol]];
595
+ const groupStartIndex = colVisibleIndex - indexFirstVisibleCol;
596
+ const groupEndIndex = groupStartIndex + group.ids.length - 1;
597
+ const groupStart = dimension_helpers.getItemByIndex(this.dimensionCol.state, groupStartIndex).start;
598
+ const groupEnd = dimension_helpers.getItemByIndex(this.dimensionCol.state, groupEndIndex).end;
599
+ const props = {
600
+ providers: this.providers,
601
+ start: groupStart,
602
+ end: groupEnd,
603
+ group,
604
+ active: this.resizeHandler,
605
+ canResize: this.canResize,
606
+ additionalData: this.additionalData,
607
+ onResize: e => {
608
+ var _a;
609
+ return this.onResizeGroup((_a = e.changedX) !== null && _a !== void 0 ? _a : 0, groupStartIndex, groupEndIndex);
610
+ },
611
+ };
612
+ const event = this.beforeGroupHeaderRender.emit(props);
613
+ if (!event.defaultPrevented) {
614
+ groupRow.push(index.h(HeaderGroupRenderer, Object.assign({}, event.detail)));
615
+ }
616
+ }
617
+ }
618
+ }
619
+ groupRow.push(index.h("div", { class: `${dimension_helpers.HEADER_ROW_CLASS} group` }));
620
+ }
621
+ return groupRow;
607
622
  }
608
623
  get providers() {
609
624
  return {
@@ -858,7 +873,7 @@ const RevogrViewportScroll = class {
858
873
  this.setScrollVisibility('rgCol', this.horizontalScroll.clientWidth, this.contentWidth);
859
874
  }
860
875
  render() {
861
- return (index.h(index.Host, { key: '970ac2365588d1c894d9684113eb9beaf64e1a1d', onWheel: this.horizontalMouseWheel, onScroll: (e) => this.applyScroll('rgCol', e) }, index.h("div", { key: 'dc57aab1bde4496e83131d80a7e189db25b93312', class: "inner-content-table", style: { width: `${this.contentWidth}px` } }, index.h("div", { key: 'bd014cf0a67bb913016f00f7838344611a1b26df', class: "header-wrapper", ref: e => (this.header = e) }, index.h("slot", { key: '772eb408b6ea670624cc338550215565ec36ef89', name: viewport_helpers.HEADER_SLOT })), index.h("div", { key: '5dcf061c78864b0dc4e4ffbcc28c0ebb3536ce8b', class: "vertical-inner", ref: el => (this.verticalScroll = el), onWheel: this.verticalMouseWheel, onScroll: (e) => this.applyScroll('rgRow', e) }, index.h("div", { key: 'b45f46aedefe82843b086cdca822e05339a77fda', class: "content-wrapper", style: { height: `${this.contentHeight}px` } }, index.h("slot", { key: '8d07196c79741ace0f4c734138d69abdf96fee4f', name: viewport_helpers.CONTENT_SLOT }))), index.h("div", { key: 'f6313f9394e99a3ad07895ed06e965540268b35a', class: "footer-wrapper", ref: e => (this.footer = e) }, index.h("slot", { key: 'b1bcdb75bb5e4dcc1e43493d7b4f01b2578352e4', name: viewport_helpers.FOOTER_SLOT })))));
876
+ return (index.h(index.Host, { key: 'c8c94171231164105fad7a6f53743db615dc123a', onWheel: this.horizontalMouseWheel, onScroll: (e) => this.applyScroll('rgCol', e) }, index.h("div", { key: 'd33774605170a5ba43e41e3d3133130eeda1a6fb', class: "inner-content-table", style: { width: `${this.contentWidth}px` } }, index.h("div", { key: '3cf14b0fd2fce937f5f28b205fbd2402d0de3cb4', class: "header-wrapper", ref: e => (this.header = e) }, index.h("slot", { key: '14ce896ee001c614553744c2e4d8d680bf4e6d15', name: viewport_helpers.HEADER_SLOT })), index.h("div", { key: '46b937e0fc75a71f983b739e0c8179c2dc8115ac', class: "vertical-inner", ref: el => (this.verticalScroll = el), onWheel: this.verticalMouseWheel, onScroll: (e) => this.applyScroll('rgRow', e) }, index.h("div", { key: 'cf775690b0eef973f205659973ea23e376bc64d6', class: "content-wrapper", style: { height: `${this.contentHeight}px` } }, index.h("slot", { key: '63b50bb02edda40839829e7b54825953d3634906', name: viewport_helpers.CONTENT_SLOT }))), index.h("div", { key: 'c28e2f9d0524a8d0adc86d6a7d78b1ce15831edd', class: "footer-wrapper", ref: e => (this.footer = e) }, index.h("slot", { key: 'bd24b24482d201ad91c279d09f3bcc0f2bc58370', name: viewport_helpers.FOOTER_SLOT })))));
862
877
  }
863
878
  /**
864
879
  * Extra layer for scroll event monitoring, where MouseWheel event is not passing
@@ -958,7 +973,7 @@ const VNodeToHtml = class {
958
973
  render() {
959
974
  var _a, _b;
960
975
  this.vnodes = (_b = (_a = this.redraw) === null || _a === void 0 ? void 0 : _a.call(this)) !== null && _b !== void 0 ? _b : null;
961
- return (index.h(index.Host, { key: '73a019dbc046a9d4504bc84a80868e8023d1f502', style: { visibility: 'hidden', position: 'absolute' } }, this.vnodes));
976
+ return (index.h(index.Host, { key: '11b76ca8a86ebf279add88bbd86ef9eb5149605a', style: { visibility: 'hidden', position: 'absolute' } }, this.vnodes));
962
977
  }
963
978
  get el() { return index.getElement(this); }
964
979
  };