@revolist/revogrid 4.13.4 → 4.14.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 (153) hide show
  1. package/dist/cjs/{column.drag.plugin-b3483e65.js → column.drag.plugin-c61efe93.js} +17 -44
  2. package/dist/cjs/column.drag.plugin-c61efe93.js.map +1 -0
  3. package/dist/cjs/{column.service-b59380a3.js → column.service-d572cdcf.js} +27 -12
  4. package/dist/cjs/column.service-d572cdcf.js.map +1 -0
  5. package/dist/cjs/{dimension.helpers-5b822a09.js → dimension.helpers-29797371.js} +2 -3
  6. package/dist/cjs/dimension.helpers-29797371.js.map +1 -0
  7. package/dist/cjs/{edit.utils-32d4c9e4.js → edit.utils-70c04b70.js} +2 -2
  8. package/dist/cjs/{edit.utils-32d4c9e4.js.map → edit.utils-70c04b70.js.map} +1 -1
  9. package/dist/cjs/{grouping.row.renderer-d6119ced.js → grouping.row.renderer-2e8d482e.js} +3 -3
  10. package/dist/cjs/{grouping.row.renderer-d6119ced.js.map → grouping.row.renderer-2e8d482e.js.map} +1 -1
  11. package/dist/cjs/{header-cell-renderer-a66fe375.js → header-cell-renderer-c21e64da.js} +2 -2
  12. package/dist/cjs/{header-cell-renderer-a66fe375.js.map → header-cell-renderer-c21e64da.js.map} +1 -1
  13. package/dist/cjs/index.cjs.js +52 -51
  14. package/dist/cjs/index.cjs.js.map +1 -1
  15. package/dist/cjs/{key.utils-05f14738.js → key.utils-7d4c4755.js} +2 -2
  16. package/dist/cjs/{key.utils-05f14738.js.map → key.utils-7d4c4755.js.map} +1 -1
  17. package/dist/cjs/revo-grid.cjs.entry.js +24 -24
  18. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  19. package/dist/cjs/revogr-attribution_7.cjs.entry.js +15 -12
  20. package/dist/cjs/revogr-attribution_7.cjs.entry.js.map +1 -1
  21. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +4 -4
  22. package/dist/cjs/revogr-data_4.cjs.entry.js +74 -62
  23. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  24. package/dist/cjs/{text-editor-82f53111.js → text-editor-079930a7.js} +3 -3
  25. package/dist/cjs/{text-editor-82f53111.js.map → text-editor-079930a7.js.map} +1 -1
  26. package/dist/cjs/{throttle-5674040a.js → throttle-250327e5.js} +2 -2
  27. package/dist/cjs/{throttle-5674040a.js.map → throttle-250327e5.js.map} +1 -1
  28. package/dist/cjs/{viewport.store-4dbfeaa3.js → viewport.store-7f0d0f80.js} +2 -2
  29. package/dist/cjs/{viewport.store-4dbfeaa3.js.map → viewport.store-7f0d0f80.js.map} +1 -1
  30. package/dist/collection/{plugins/groupingColumn/headerGroupRenderer.js → components/header/header-group-renderer.js} +5 -5
  31. package/dist/collection/components/header/header-group-renderer.js.map +1 -0
  32. package/dist/collection/components/header/revogr-header.js +72 -14
  33. package/dist/collection/components/header/revogr-header.js.map +1 -1
  34. package/dist/collection/components/overlay/revogr-overlay-selection.js +2 -2
  35. package/dist/collection/components/revoGrid/revo-grid-style.css +4 -0
  36. package/dist/collection/components/rowHeaders/revogr-row-headers.js +6 -3
  37. package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -1
  38. package/dist/collection/components/scroll/revogr-viewport-scroll.js +1 -1
  39. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +1 -1
  40. package/dist/collection/components/vnode/vnode-converter.js +1 -1
  41. package/dist/collection/plugins/export/export.plugin.js +5 -19
  42. package/dist/collection/plugins/export/export.plugin.js.map +1 -1
  43. package/dist/collection/plugins/export/types.js.map +1 -1
  44. package/dist/collection/plugins/index.js +0 -2
  45. package/dist/collection/plugins/index.js.map +1 -1
  46. package/dist/collection/serve/data.js +13 -8
  47. package/dist/collection/store/dataSource/data.store.js.map +1 -1
  48. package/dist/collection/types/events.js +1 -0
  49. package/dist/collection/types/events.js.map +1 -1
  50. package/dist/collection/utils/column.utils.js +13 -10
  51. package/dist/collection/utils/column.utils.js.map +1 -1
  52. package/dist/{revo-grid/column.drag.plugin-da99fde5.js → esm/column.drag.plugin-eb8f7e38.js} +11 -35
  53. package/dist/esm/column.drag.plugin-eb8f7e38.js.map +1 -0
  54. package/dist/{revo-grid/column.service-f39c0a1d.js → esm/column.service-2f25c7d0.js} +25 -13
  55. package/dist/esm/column.service-2f25c7d0.js.map +1 -0
  56. package/dist/{revo-grid/dimension.helpers-5567e424.js → esm/dimension.helpers-87e12689.js} +3 -3
  57. package/dist/esm/{dimension.helpers-5567e424.js.map → dimension.helpers-87e12689.js.map} +1 -1
  58. package/dist/esm/{edit.utils-b59306be.js → edit.utils-343ef0f1.js} +2 -2
  59. package/dist/esm/{edit.utils-b59306be.js.map → edit.utils-343ef0f1.js.map} +1 -1
  60. package/dist/esm/{grouping.row.renderer-95f32c6b.js → grouping.row.renderer-918d6acc.js} +3 -3
  61. package/dist/esm/{grouping.row.renderer-95f32c6b.js.map → grouping.row.renderer-918d6acc.js.map} +1 -1
  62. package/dist/{revo-grid/header-cell-renderer-31f53644.js → esm/header-cell-renderer-c0c0704e.js} +2 -2
  63. package/dist/{revo-grid/header-cell-renderer-31f53644.js.map → esm/header-cell-renderer-c0c0704e.js.map} +1 -1
  64. package/dist/esm/index.js +10 -9
  65. package/dist/esm/index.js.map +1 -1
  66. package/dist/{revo-grid/key.utils-3632161b.js → esm/key.utils-c0366861.js} +2 -2
  67. package/dist/esm/{key.utils-3632161b.js.map → key.utils-c0366861.js.map} +1 -1
  68. package/dist/esm/revo-grid.entry.js +6 -6
  69. package/dist/esm/revo-grid.entry.js.map +1 -1
  70. package/dist/esm/revogr-attribution_7.entry.js +15 -12
  71. package/dist/esm/revogr-attribution_7.entry.js.map +1 -1
  72. package/dist/esm/revogr-clipboard_3.entry.js +4 -4
  73. package/dist/esm/revogr-data_4.entry.js +74 -62
  74. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  75. package/dist/esm/{text-editor-e47e56c3.js → text-editor-1b2ff7fc.js} +3 -3
  76. package/dist/esm/{text-editor-e47e56c3.js.map → text-editor-1b2ff7fc.js.map} +1 -1
  77. package/dist/{revo-grid/throttle-dec28f5b.js → esm/throttle-9dcf4e1f.js} +2 -2
  78. package/dist/{revo-grid/throttle-dec28f5b.js.map → esm/throttle-9dcf4e1f.js.map} +1 -1
  79. package/dist/{revo-grid/viewport.store-c18a25a6.js → esm/viewport.store-84060ef5.js} +2 -2
  80. package/dist/esm/{viewport.store-c18a25a6.js.map → viewport.store-84060ef5.js.map} +1 -1
  81. package/dist/{esm/column.drag.plugin-da99fde5.js → revo-grid/column.drag.plugin-eb8f7e38.js} +11 -35
  82. package/dist/revo-grid/column.drag.plugin-eb8f7e38.js.map +1 -0
  83. package/dist/{esm/column.service-f39c0a1d.js → revo-grid/column.service-2f25c7d0.js} +25 -13
  84. package/dist/revo-grid/column.service-2f25c7d0.js.map +1 -0
  85. package/dist/{esm/dimension.helpers-5567e424.js → revo-grid/dimension.helpers-87e12689.js} +3 -3
  86. package/dist/revo-grid/{dimension.helpers-5567e424.js.map → dimension.helpers-87e12689.js.map} +1 -1
  87. package/dist/revo-grid/{edit.utils-b59306be.js → edit.utils-343ef0f1.js} +2 -2
  88. package/dist/revo-grid/{edit.utils-b59306be.js.map → edit.utils-343ef0f1.js.map} +1 -1
  89. package/dist/revo-grid/{grouping.row.renderer-95f32c6b.js → grouping.row.renderer-918d6acc.js} +3 -3
  90. package/dist/revo-grid/{grouping.row.renderer-95f32c6b.js.map → grouping.row.renderer-918d6acc.js.map} +1 -1
  91. package/dist/{esm/header-cell-renderer-31f53644.js → revo-grid/header-cell-renderer-c0c0704e.js} +2 -2
  92. package/dist/{esm/header-cell-renderer-31f53644.js.map → revo-grid/header-cell-renderer-c0c0704e.js.map} +1 -1
  93. package/dist/revo-grid/index.esm.js +10 -9
  94. package/dist/revo-grid/index.esm.js.map +1 -1
  95. package/dist/{esm/key.utils-3632161b.js → revo-grid/key.utils-c0366861.js} +2 -2
  96. package/dist/revo-grid/{key.utils-3632161b.js.map → key.utils-c0366861.js.map} +1 -1
  97. package/dist/revo-grid/revo-grid.entry.js +6 -6
  98. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  99. package/dist/revo-grid/revogr-attribution_7.entry.js +15 -12
  100. package/dist/revo-grid/revogr-attribution_7.entry.js.map +1 -1
  101. package/dist/revo-grid/revogr-clipboard_3.entry.js +4 -4
  102. package/dist/revo-grid/revogr-data_4.entry.js +74 -62
  103. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  104. package/dist/revo-grid/{text-editor-e47e56c3.js → text-editor-1b2ff7fc.js} +3 -3
  105. package/dist/revo-grid/{text-editor-e47e56c3.js.map → text-editor-1b2ff7fc.js.map} +1 -1
  106. package/dist/{esm/throttle-dec28f5b.js → revo-grid/throttle-9dcf4e1f.js} +2 -2
  107. package/dist/{esm/throttle-dec28f5b.js.map → revo-grid/throttle-9dcf4e1f.js.map} +1 -1
  108. package/dist/{esm/viewport.store-c18a25a6.js → revo-grid/viewport.store-84060ef5.js} +2 -2
  109. package/dist/revo-grid/{viewport.store-c18a25a6.js.map → viewport.store-84060ef5.js.map} +1 -1
  110. package/dist/types/{plugins/groupingColumn/headerGroupRenderer.d.ts → components/header/header-group-renderer.d.ts} +4 -4
  111. package/dist/types/components/header/revogr-header.d.ts +9 -2
  112. package/dist/types/components/rowHeaders/revogr-row-headers.d.ts +1 -1
  113. package/dist/types/components.d.ts +7 -0
  114. package/dist/types/plugins/export/export.plugin.d.ts +0 -1
  115. package/dist/types/plugins/export/types.d.ts +1 -1
  116. package/dist/types/plugins/index.d.ts +0 -2
  117. package/dist/types/store/dataSource/data.store.d.ts +2 -2
  118. package/dist/types/types/events.d.ts +1 -1
  119. package/dist/types/utils/column.utils.d.ts +2 -2
  120. package/hydrate/index.js +80 -77
  121. package/hydrate/index.mjs +80 -77
  122. package/package.json +1 -1
  123. package/standalone/column.service.js +25 -13
  124. package/standalone/column.service.js.map +1 -1
  125. package/standalone/data.store.js +1 -1
  126. package/standalone/data.store.js.map +1 -1
  127. package/standalone/dimension.helpers.js +1 -1
  128. package/standalone/index.js +4 -3
  129. package/standalone/index.js.map +1 -1
  130. package/standalone/index2.js +1 -0
  131. package/standalone/index2.js.map +1 -1
  132. package/standalone/revo-grid.js +10 -34
  133. package/standalone/revo-grid.js.map +1 -1
  134. package/standalone/revogr-data2.js +1 -1
  135. package/standalone/revogr-header2.js +76 -64
  136. package/standalone/revogr-header2.js.map +1 -1
  137. package/standalone/revogr-overlay-selection2.js +3 -3
  138. package/standalone/revogr-row-headers2.js +7 -4
  139. package/standalone/revogr-row-headers2.js.map +1 -1
  140. package/standalone/revogr-scroll-virtual2.js +1 -1
  141. package/standalone/revogr-viewport-scroll2.js +1 -1
  142. package/standalone/vnode-converter.js +1 -1
  143. package/dist/cjs/column.drag.plugin-b3483e65.js.map +0 -1
  144. package/dist/cjs/column.service-b59380a3.js.map +0 -1
  145. package/dist/cjs/dimension.helpers-5b822a09.js.map +0 -1
  146. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +0 -34
  147. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +0 -1
  148. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js.map +0 -1
  149. package/dist/esm/column.drag.plugin-da99fde5.js.map +0 -1
  150. package/dist/esm/column.service-f39c0a1d.js.map +0 -1
  151. package/dist/revo-grid/column.drag.plugin-da99fde5.js.map +0 -1
  152. package/dist/revo-grid/column.service-f39c0a1d.js.map +0 -1
  153. package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +0 -18
@@ -6,58 +6,15 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-8006d065.js');
9
- const column_service = require('./column.service-b59380a3.js');
10
- const dimension_helpers = require('./dimension.helpers-5b822a09.js');
11
- const grouping_row_renderer = require('./grouping.row.renderer-d6119ced.js');
9
+ const column_service = require('./column.service-d572cdcf.js');
10
+ const dimension_helpers = require('./dimension.helpers-29797371.js');
11
+ const grouping_row_renderer = require('./grouping.row.renderer-2e8d482e.js');
12
12
  const filter_button = require('./filter.button-2708e602.js');
13
- const headerCellRenderer = require('./header-cell-renderer-a66fe375.js');
14
- const throttle = require('./throttle-5674040a.js');
13
+ const headerCellRenderer = require('./header-cell-renderer-c21e64da.js');
14
+ const throttle = require('./throttle-250327e5.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.indexes.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,70 @@ 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 } = this.renderHeaderColumns(cols, range);
556
+ const groupRow = this.renderGroupingColumns();
557
+ return [
558
+ index.h("div", { key: '0fc2f09e02b7301c6423367f930f7e529a840c1a', class: "group-rgRow" }, groupRow),
559
+ index.h("div", { key: '4be7fa2d4220d6e2745818fb4c3d9b2dc491ef9b', class: `${dimension_helpers.HEADER_ROW_CLASS} ${dimension_helpers.HEADER_ACTUAL_ROW_CLASS}` }, cells),
560
+ ];
561
+ }
562
+ renderHeaderColumns(cols, range) {
579
563
  const cells = [];
580
- const visibleProps = {};
581
- // render header columns
582
564
  for (let rgCol of cols) {
583
565
  const colData = this.colData[rgCol.itemIndex];
584
566
  const props = {
585
- range: range,
567
+ range,
586
568
  column: rgCol,
587
569
  data: Object.assign(Object.assign({}, colData), { index: rgCol.itemIndex, providers: this.providers }),
588
570
  canFilter: !!this.columnFilter,
589
571
  canResize: this.canResize,
590
572
  active: this.resizeHandler,
573
+ additionalData: this.additionalData,
591
574
  onResize: e => this.onResize(e, rgCol.itemIndex),
592
575
  onDblClick: e => this.headerdblClick.emit(e),
593
576
  onClick: e => this.initialHeaderClick.emit(e),
594
- additionalData: this.additionalData,
595
577
  };
596
578
  const event = this.beforeHeaderRender.emit(props);
597
- if (event.defaultPrevented) {
598
- continue;
579
+ if (!event.defaultPrevented) {
580
+ cells.push(index.h(HeaderRenderer, Object.assign({}, event.detail)));
599
581
  }
600
- cells.push(index.h(HeaderRenderer, Object.assign({}, event.detail)));
601
- visibleProps[colData === null || colData === void 0 ? void 0 : colData.prop] = rgCol.itemIndex;
602
582
  }
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
- ];
583
+ return { cells };
584
+ }
585
+ renderGroupingColumns() {
586
+ var _a;
587
+ const groupRow = [];
588
+ for (let i = 0; i < this.groupingDepth; i++) {
589
+ if (this.groups[i]) {
590
+ for (let group of this.groups[i]) {
591
+ const groupStartIndex = (_a = group.indexes[0]) !== null && _a !== void 0 ? _a : -1;
592
+ if (groupStartIndex > -1) {
593
+ const groupEndIndex = groupStartIndex + group.indexes.length - 1;
594
+ const groupStart = dimension_helpers.getItemByIndex(this.dimensionCol.state, groupStartIndex).start;
595
+ const groupEnd = dimension_helpers.getItemByIndex(this.dimensionCol.state, groupEndIndex).end;
596
+ const props = {
597
+ providers: this.providers,
598
+ start: groupStart,
599
+ end: groupEnd,
600
+ group,
601
+ active: this.resizeHandler,
602
+ canResize: this.canResize,
603
+ additionalData: this.additionalData,
604
+ onResize: e => {
605
+ var _a;
606
+ return this.onResizeGroup((_a = e.changedX) !== null && _a !== void 0 ? _a : 0, groupStartIndex, groupEndIndex);
607
+ },
608
+ };
609
+ const event = this.beforeGroupHeaderRender.emit(props);
610
+ if (!event.defaultPrevented) {
611
+ groupRow.push(index.h(HeaderGroupRenderer, Object.assign({}, event.detail)));
612
+ }
613
+ }
614
+ }
615
+ }
616
+ groupRow.push(index.h("div", { class: `${dimension_helpers.HEADER_ROW_CLASS} group` }));
617
+ }
618
+ return groupRow;
607
619
  }
608
620
  get providers() {
609
621
  return {
@@ -858,7 +870,7 @@ const RevogrViewportScroll = class {
858
870
  this.setScrollVisibility('rgCol', this.horizontalScroll.clientWidth, this.contentWidth);
859
871
  }
860
872
  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 })))));
873
+ 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
874
  }
863
875
  /**
864
876
  * Extra layer for scroll event monitoring, where MouseWheel event is not passing
@@ -958,7 +970,7 @@ const VNodeToHtml = class {
958
970
  render() {
959
971
  var _a, _b;
960
972
  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));
973
+ return (index.h(index.Host, { key: '11b76ca8a86ebf279add88bbd86ef9eb5149605a', style: { visibility: 'hidden', position: 'absolute' } }, this.vnodes));
962
974
  }
963
975
  get el() { return index.getElement(this); }
964
976
  };