@refinitiv-ui/efx-grid 6.0.0 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/lib/column-format-dialog/lib/column-format-dialog.d.ts +13 -1
  2. package/lib/column-selection-dialog/lib/column-selection-dialog.d.ts +15 -2
  3. package/lib/column-selection-dialog/lib/column-selection-dialog.js +226 -23
  4. package/lib/column-selection-dialog/themes/halo/dark/column-selection-dialog.js +1 -1
  5. package/lib/column-selection-dialog/themes/halo/dark/es5/all-elements.js +1 -1
  6. package/lib/column-selection-dialog/themes/halo/light/column-selection-dialog.js +1 -1
  7. package/lib/column-selection-dialog/themes/halo/light/es5/all-elements.js +1 -1
  8. package/lib/core/dist/core.css +1 -1
  9. package/lib/core/dist/core.js +10158 -7908
  10. package/lib/core/dist/core.min.js +1 -1
  11. package/lib/core/es6/data/DataTable.js +32 -10
  12. package/lib/core/es6/data/DataView.d.ts +16 -7
  13. package/lib/core/es6/data/DataView.js +172 -49
  14. package/lib/core/es6/data/Segment.d.ts +2 -0
  15. package/lib/core/es6/data/Segment.js +7 -0
  16. package/lib/core/es6/data/WrappedView.d.ts +289 -0
  17. package/lib/core/es6/data/WrappedView.js +1319 -0
  18. package/lib/core/es6/grid/Core.d.ts +13 -0
  19. package/lib/core/es6/grid/Core.js +406 -160
  20. package/lib/core/es6/grid/ILayoutGrid.d.ts +8 -0
  21. package/lib/core/es6/grid/ILayoutGrid.js +45 -2
  22. package/lib/core/es6/grid/LayoutGrid.d.ts +10 -1
  23. package/lib/core/es6/grid/LayoutGrid.js +257 -82
  24. package/lib/core/es6/grid/VirtualizedLayoutGrid.d.ts +10 -1
  25. package/lib/core/es6/grid/VirtualizedLayoutGrid.js +316 -24
  26. package/lib/core/es6/grid/components/Column.js +8 -2
  27. package/lib/core/es6/grid/components/HScrollbar.d.ts +4 -0
  28. package/lib/core/es6/grid/components/HScrollbar.js +20 -4
  29. package/lib/core/es6/grid/util/TrackLayout.d.ts +1 -1
  30. package/lib/core/es6/grid/util/TrackLayout.js +2 -3
  31. package/lib/core/es6/tr-grid-theme.js +1 -1
  32. package/lib/filter-dialog/lib/checkbox-list.d.ts +13 -1
  33. package/lib/filter-dialog/lib/filter-dialog.d.ts +13 -1
  34. package/lib/filter-dialog/lib/filter-dialog.js +24 -9
  35. package/lib/grid/lib/efx-grid.d.ts +27 -8
  36. package/lib/grid/lib/efx-grid.js +114 -115
  37. package/lib/grid/themes/base.less +5 -3
  38. package/lib/grid/themes/halo/dark/efx-grid.js +1 -1
  39. package/lib/grid/themes/halo/dark/es5/all-elements.js +1 -1
  40. package/lib/grid/themes/halo/efx-grid.less +69 -32
  41. package/lib/grid/themes/halo/light/efx-grid.js +1 -1
  42. package/lib/grid/themes/halo/light/es5/all-elements.js +1 -1
  43. package/lib/grid/themes/solar/charcoal/efx-grid.js +1 -1
  44. package/lib/grid/themes/solar/charcoal/es5/all-elements.js +1 -1
  45. package/lib/grid/themes/solar/pearl/efx-grid.js +1 -1
  46. package/lib/grid/themes/solar/pearl/es5/all-elements.js +1 -1
  47. package/lib/index.d.ts +56 -56
  48. package/lib/index.js +56 -56
  49. package/lib/row-segmenting/es6/RowSegmenting.d.ts +1 -0
  50. package/lib/row-segmenting/es6/RowSegmenting.js +43 -12
  51. package/lib/rt-grid/dist/rt-grid.js +10293 -7865
  52. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  53. package/lib/rt-grid/es6/ColumnDefinition.d.ts +4 -1
  54. package/lib/rt-grid/es6/ColumnDefinition.js +3 -0
  55. package/lib/rt-grid/es6/Grid.d.ts +14 -7
  56. package/lib/rt-grid/es6/Grid.js +244 -75
  57. package/lib/rt-grid/es6/RowDefinition.d.ts +4 -1
  58. package/lib/rt-grid/es6/RowDefinition.js +52 -2
  59. package/lib/tr-grid-cell-selection/es6/CellSelection.d.ts +1 -1
  60. package/lib/tr-grid-cell-selection/es6/CellSelection.js +53 -40
  61. package/lib/tr-grid-checkbox/es6/Checkbox.d.ts +4 -1
  62. package/lib/tr-grid-checkbox/es6/Checkbox.js +41 -14
  63. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.d.ts +1 -0
  64. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +10 -0
  65. package/lib/tr-grid-column-selection/es6/ColumnSelection.d.ts +5 -1
  66. package/lib/tr-grid-column-selection/es6/ColumnSelection.js +226 -4
  67. package/lib/tr-grid-column-stack/es6/ColumnStack.js +3 -0
  68. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +6 -1
  69. package/lib/tr-grid-filter-input/es6/FilterInput.d.ts +4 -2
  70. package/lib/tr-grid-filter-input/es6/FilterInput.js +73 -10
  71. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.d.ts +1 -1
  72. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +13 -1
  73. package/lib/tr-grid-row-dragging/es6/RowDragging.d.ts +1 -3
  74. package/lib/tr-grid-row-dragging/es6/RowDragging.js +165 -70
  75. package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +2 -0
  76. package/lib/tr-grid-row-filtering/es6/RowFiltering.js +88 -33
  77. package/lib/tr-grid-row-grouping/es6/RowGrouping.js +41 -31
  78. package/lib/tr-grid-row-selection/es6/RowSelection.d.ts +13 -9
  79. package/lib/tr-grid-row-selection/es6/RowSelection.js +220 -29
  80. package/lib/tr-grid-rowcoloring/es6/RowColoring.d.ts +2 -0
  81. package/lib/tr-grid-rowcoloring/es6/RowColoring.js +36 -0
  82. package/lib/tr-grid-util/es6/CellPainter.d.ts +8 -8
  83. package/lib/tr-grid-util/es6/Conflator.d.ts +2 -2
  84. package/lib/tr-grid-util/es6/CoralItems.d.ts +1 -1
  85. package/lib/tr-grid-util/es6/DateTime.d.ts +4 -4
  86. package/lib/tr-grid-util/es6/Delay.d.ts +1 -1
  87. package/lib/tr-grid-util/es6/Dom.d.ts +4 -4
  88. package/lib/tr-grid-util/es6/ElementWrapper.d.ts +1 -1
  89. package/lib/tr-grid-util/es6/ElfDate.d.ts +3 -3
  90. package/lib/tr-grid-util/es6/ElfUtil.d.ts +4 -4
  91. package/lib/tr-grid-util/es6/EventDispatcher.d.ts +1 -1
  92. package/lib/tr-grid-util/es6/ExpanderIcon.js +2 -2
  93. package/lib/tr-grid-util/es6/FieldFormatter.d.ts +1 -1
  94. package/lib/tr-grid-util/es6/FilterBuilder.d.ts +5 -5
  95. package/lib/tr-grid-util/es6/GridPlugin.d.ts +3 -3
  96. package/lib/tr-grid-util/es6/MouseDownTrait.d.ts +1 -1
  97. package/lib/tr-grid-util/es6/MultiTableManager.d.ts +10 -2
  98. package/lib/tr-grid-util/es6/MultiTableManager.js +164 -57
  99. package/lib/tr-grid-util/es6/PercentBar.d.ts +1 -1
  100. package/lib/tr-grid-util/es6/Perf.d.ts +4 -4
  101. package/lib/tr-grid-util/es6/Popup.d.ts +2 -2
  102. package/lib/tr-grid-util/es6/RequestQueue.d.ts +1 -1
  103. package/lib/tr-grid-util/es6/RowPainter.d.ts +3 -0
  104. package/lib/tr-grid-util/es6/RowPainter.js +82 -20
  105. package/lib/tr-grid-util/es6/SubTable.d.ts +9 -9
  106. package/lib/tr-grid-util/es6/Table.d.ts +13 -13
  107. package/lib/tr-grid-util/es6/TextHighlighter.d.ts +3 -3
  108. package/lib/tr-grid-util/es6/TickCodes.d.ts +2 -2
  109. package/lib/tr-grid-util/es6/TouchProxy.d.ts +1 -1
  110. package/lib/tr-grid-util/es6/Util.d.ts +6 -6
  111. package/lib/tr-grid-util/es6/formula/Engine.d.ts +5 -5
  112. package/lib/tr-grid-util/es6/formula/Formula.d.ts +3 -3
  113. package/lib/tr-grid-util/es6/formula/RealtimeService.d.ts +1 -1
  114. package/lib/tr-grid-util/es6/jet/CollectionDict.d.ts +2 -2
  115. package/lib/tr-grid-util/es6/jet/DataGenerator.d.ts +4 -4
  116. package/lib/tr-grid-util/es6/jet/MockArchive.d.ts +1 -1
  117. package/lib/tr-grid-util/es6/jet/MockJET.d.ts +4 -4
  118. package/lib/tr-grid-util/es6/jet/MockQuotes.d.ts +11 -11
  119. package/lib/tr-grid-util/es6/jet/MockQuotes2.d.ts +7 -7
  120. package/lib/tr-grid-util/es6/jet/MockRTK.d.ts +1 -1
  121. package/lib/tr-grid-util/es6/jet/mockDataAPI.d.ts +1 -1
  122. package/lib/tr-grid-util/es6/jsx.d.ts +223 -0
  123. package/lib/types/es6/CellSelection.d.ts +1 -1
  124. package/lib/types/es6/Checkbox.d.ts +4 -1
  125. package/lib/types/es6/ColumnGrouping.d.ts +1 -0
  126. package/lib/types/es6/ColumnSelection.d.ts +5 -1
  127. package/lib/types/es6/Core/data/DataView.d.ts +16 -7
  128. package/lib/types/es6/Core/data/Segment.d.ts +2 -0
  129. package/lib/types/es6/Core/data/WrappedView.d.ts +289 -0
  130. package/lib/types/es6/Core/grid/Core.d.ts +13 -0
  131. package/lib/types/es6/Core/grid/ILayoutGrid.d.ts +8 -0
  132. package/lib/types/es6/Core/grid/LayoutGrid.d.ts +10 -1
  133. package/lib/types/es6/Core/grid/VirtualizedLayoutGrid.d.ts +10 -1
  134. package/lib/types/es6/Core/grid/components/HScrollbar.d.ts +4 -0
  135. package/lib/types/es6/Core/grid/util/TrackLayout.d.ts +1 -1
  136. package/lib/types/es6/FilterInput.d.ts +4 -2
  137. package/lib/types/es6/InCellEditing.d.ts +1 -1
  138. package/lib/types/es6/RealtimeGrid/ColumnDefinition.d.ts +4 -1
  139. package/lib/types/es6/RealtimeGrid/Grid.d.ts +15 -8
  140. package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +4 -1
  141. package/lib/types/es6/RowColoring.d.ts +2 -0
  142. package/lib/types/es6/RowDragging.d.ts +1 -3
  143. package/lib/types/es6/RowFiltering.d.ts +2 -0
  144. package/lib/types/es6/RowSegmenting.d.ts +1 -0
  145. package/lib/types/es6/RowSelection.d.ts +13 -9
  146. package/lib/types/es6/Zoom.d.ts +2 -1
  147. package/lib/types/es6/index.d.ts +3 -0
  148. package/lib/versions.json +19 -19
  149. package/lib/zoom/es6/Zoom.d.ts +2 -1
  150. package/lib/zoom/es6/Zoom.js +11 -4
  151. package/package.json +9 -2
package/lib/index.js CHANGED
@@ -2,34 +2,34 @@
2
2
  import {DataGenerator} from "./tr-grid-util/es6/jet/DataGenerator.js"
3
3
 
4
4
  // Extensions
5
- import {RowSegmentingExtension} from "./row-segmenting/es6/RowSegmenting.js";
6
- import {StatisticsRowExtension} from "./statistics-row/es6/StatisticsRow.js";
7
- import {ZoomExtension} from "./zoom/es6/Zoom.js";
8
- import {AutoTooltipExtension} from "./tr-grid-auto-tooltip/es6/AutoTooltip.js";
9
- import {CellSelectionExtension} from "./tr-grid-cell-selection/es6/CellSelection.js";
10
- import {CheckboxExtension} from "./tr-grid-checkbox/es6/Checkbox.js";
11
- import {ColumnFitterExtension} from "./tr-grid-column-fitter/es6/ColumnFitter.js";
12
- import {ColumnFormattingExtension} from "./tr-grid-column-formatting/es6/ColumnFormatting.js";
13
- import {ColumnGroupingExtension} from "./tr-grid-column-grouping/es6/ColumnGrouping.js";
14
- import {ColumnResizingExtension} from "./tr-grid-column-resizing/es6/ColumnResizing.js";
15
- import {ColumnSelectionExtension} from "./tr-grid-column-selection/es6/ColumnSelection.js";
16
- import {ColumnStackExtension} from "./tr-grid-column-stack/es6/ColumnStack.js";
17
- import {ConditionalColoringExtension} from "./tr-grid-conditional-coloring/es6/ConditionalColoring.js";
18
- import {ContentWrapExtension} from "./tr-grid-content-wrap/es6/ContentWrap.js";
19
- import {ContextMenuExtension} from "./tr-grid-contextmenu/es6/ContextMenu.js";
20
- import {FilterInputExtension} from "./tr-grid-filter-input/es6/FilterInput.js";
21
- import {HeatMapExtension} from "./tr-grid-heat-map/es6/HeatMap.js";
22
- import {InCellEditingExtension} from "./tr-grid-in-cell-editing/es6/InCellEditing.js";
23
- import {PaginationExtension} from "./tr-grid-pagination/es6/Pagination.js";
24
- import {PercentBarExtension} from "./tr-grid-percent-bar/es6/PercentBar.js";
25
- import {RangeBarExtension} from "./tr-grid-range-bar/es6/RangeBar.js";
26
- import {RowDraggingExtension} from "./tr-grid-row-dragging/es6/RowDragging.js";
27
- import {RowFilteringExtension} from "./tr-grid-row-filtering/es6/RowFiltering.js";
28
- import {RowGroupingExtension} from "./tr-grid-row-grouping/es6/RowGrouping.js";
29
- import {RowSelectionExtension} from "./tr-grid-row-selection/es6/RowSelection.js";
30
- import {RowColoringExtension} from "./tr-grid-rowcoloring/es6/RowColoring.js";
31
- import {TextFormattingExtension} from "./tr-grid-textformatting/es6/TextFormatting.js";
32
- import {TitleWrapExtension} from "./tr-grid-titlewrap/es6/TitleWrap.js";
5
+ import {RowSegmenting} from "./row-segmenting/es6/RowSegmenting.js";
6
+ import {StatisticsRow} from "./statistics-row/es6/StatisticsRow.js";
7
+ import {Zoom} from "./zoom/es6/Zoom.js";
8
+ import {AutoTooltip} from "./tr-grid-auto-tooltip/es6/AutoTooltip.js";
9
+ import {CellSelection} from "./tr-grid-cell-selection/es6/CellSelection.js";
10
+ import {Checkbox} from "./tr-grid-checkbox/es6/Checkbox.js";
11
+ import {ColumnFitter} from "./tr-grid-column-fitter/es6/ColumnFitter.js";
12
+ import {ColumnFormatting} from "./tr-grid-column-formatting/es6/ColumnFormatting.js";
13
+ import {ColumnGrouping} from "./tr-grid-column-grouping/es6/ColumnGrouping.js";
14
+ import {ColumnResizing} from "./tr-grid-column-resizing/es6/ColumnResizing.js";
15
+ import {ColumnSelection} from "./tr-grid-column-selection/es6/ColumnSelection.js";
16
+ import {ColumnStack} from "./tr-grid-column-stack/es6/ColumnStack.js";
17
+ import {ConditionalColoring} from "./tr-grid-conditional-coloring/es6/ConditionalColoring.js";
18
+ import {ContentWrap} from "./tr-grid-content-wrap/es6/ContentWrap.js";
19
+ import {ContextMenu} from "./tr-grid-contextmenu/es6/ContextMenu.js";
20
+ import {FilterInput} from "./tr-grid-filter-input/es6/FilterInput.js";
21
+ import {HeatMap} from "./tr-grid-heat-map/es6/HeatMap.js";
22
+ import {InCellEditing} from "./tr-grid-in-cell-editing/es6/InCellEditing.js";
23
+ import {Pagination} from "./tr-grid-pagination/es6/Pagination.js";
24
+ import {PercentBar} from "./tr-grid-percent-bar/es6/PercentBar.js";
25
+ import {RangeBar} from "./tr-grid-range-bar/es6/RangeBar.js";
26
+ import {RowDragging} from "./tr-grid-row-dragging/es6/RowDragging.js";
27
+ import {RowFiltering} from "./tr-grid-row-filtering/es6/RowFiltering.js";
28
+ import {RowGrouping} from "./tr-grid-row-grouping/es6/RowGrouping.js";
29
+ import {RowSelection} from "./tr-grid-row-selection/es6/RowSelection.js";
30
+ import {RowColoring} from "./tr-grid-rowcoloring/es6/RowColoring.js";
31
+ import {TextFormatting} from "./tr-grid-textformatting/es6/TextFormatting.js";
32
+ import {TitleWrap} from "./tr-grid-titlewrap/es6/TitleWrap.js";
33
33
 
34
34
  // Formatters
35
35
  import {EFButtonFormatter} from "./formatters/es6/EFButtonFormatter.js";
@@ -53,34 +53,34 @@ import {TextFormatter} from "./formatters/es6/TextFormatter.js";
53
53
 
54
54
  export {
55
55
  DataGenerator,
56
- RowSegmentingExtension,
57
- StatisticsRowExtension,
58
- ZoomExtension,
59
- AutoTooltipExtension,
60
- CellSelectionExtension,
61
- CheckboxExtension,
62
- ColumnFitterExtension,
63
- ColumnFormattingExtension,
64
- ColumnGroupingExtension,
65
- ColumnResizingExtension,
66
- ColumnSelectionExtension,
67
- ColumnStackExtension,
68
- ConditionalColoringExtension,
69
- ContentWrapExtension,
70
- ContextMenuExtension,
71
- FilterInputExtension,
72
- HeatMapExtension,
73
- InCellEditingExtension,
74
- PaginationExtension,
75
- PercentBarExtension,
76
- RangeBarExtension,
77
- RowDraggingExtension,
78
- RowFilteringExtension,
79
- RowGroupingExtension,
80
- RowSelectionExtension,
81
- RowColoringExtension,
82
- TextFormattingExtension,
83
- TitleWrapExtension,
56
+ RowSegmenting,
57
+ StatisticsRow,
58
+ Zoom,
59
+ AutoTooltip,
60
+ CellSelection,
61
+ Checkbox,
62
+ ColumnFitter,
63
+ ColumnFormatting,
64
+ ColumnGrouping,
65
+ ColumnResizing,
66
+ ColumnSelection,
67
+ ColumnStack,
68
+ ConditionalColoring,
69
+ ContentWrap,
70
+ ContextMenu,
71
+ FilterInput,
72
+ HeatMap,
73
+ InCellEditing,
74
+ Pagination,
75
+ PercentBar,
76
+ RangeBar,
77
+ RowDragging,
78
+ RowFiltering,
79
+ RowGrouping,
80
+ RowSelection,
81
+ RowColoring,
82
+ TextFormatting,
83
+ TitleWrap,
84
84
  EFButtonFormatter,
85
85
  EFCheckboxFormatter,
86
86
  EFComboBoxFormatter,
@@ -12,6 +12,7 @@ declare namespace RowSegmentingPlugin {
12
12
  spanning?: boolean,
13
13
  colorTag?: boolean,
14
14
  clicked?: ((...params: any[]) => any),
15
+ headerMenuClicked?: ((...params: any[]) => any),
15
16
  segmentSeparatorBinding?: ((...params: any[]) => any),
16
17
  nonSegmentSeparatorBinding?: ((...params: any[]) => any),
17
18
  sortingLogic?: ((...params: any[]) => any)
@@ -9,6 +9,7 @@ import { RowPainter } from "../../tr-grid-util/es6/RowPainter.js";
9
9
  * @property {boolean=} spanning=true If disabled, segment separator rows will not be spanned/stretched across multiple cells
10
10
  * @property {boolean=} colorTag If not specified, the color tag will be disabled when using extension without halo theme.
11
11
  * @property {Function=} clicked=null Event handler when user clicks on arrows or cells
12
+ * @property {Function=} headerMenuClicked=null Event handler when user clicks on menu icon. The menu icon will be displayed if spanning option is true.
12
13
  * @property {Function=} segmentSeparatorBinding=null Logic that will be executed on each segment separator row
13
14
  * @property {Function=} nonSegmentSeparatorBinding=null Logic that will be executed for all non segment separator row
14
15
  * @property {Function=} sortingLogic=null Logic to be used by sortSegments method
@@ -34,7 +35,6 @@ var RowSegmentingPlugin = function (options) {
34
35
  t._rtSortingLogic = t._rtSortingLogic.bind(t);
35
36
 
36
37
  t._hosts = [];
37
- t._indentSize = [0, 22, 37, 52, 67];
38
38
  this.config({ rowSegmenting: options });
39
39
  };
40
40
  Ext.inherits(RowSegmentingPlugin, GridPlugin);
@@ -51,10 +51,14 @@ RowSegmentingPlugin.prototype._userSortingLogic = null;
51
51
  * @private
52
52
  */
53
53
  RowSegmentingPlugin.prototype._spanning = true;
54
- /** @type {!Array.<number>}
54
+ /** @type {Array.<number>}
55
55
  * @private
56
56
  */
57
- RowSegmentingPlugin.prototype._indentSize = null;
57
+ RowSegmentingPlugin.prototype._indentSizes = null;
58
+ /** @type {number}
59
+ * @private
60
+ */
61
+ RowSegmentingPlugin.prototype._arrowSize = 9;
58
62
  /** @type {Object}
59
63
  * @private
60
64
  */
@@ -77,12 +81,8 @@ RowSegmentingPlugin.prototype.getName = function () {
77
81
  * @param {Object} config
78
82
  */
79
83
  RowSegmentingPlugin.prototype.beforeInit = function(elem, config) {
80
- // Set default indentSize here
81
84
  if (ElfUtil.isHaloTheme()) {
82
- // only for halo theme
83
- this._indentSize = [0, 30, 50, 70, 90];
84
- } else {
85
- this._indentSize = [0, 22, 37, 52, 67];
85
+ this._arrowSize = 18;
86
86
  }
87
87
  };
88
88
 
@@ -106,6 +106,11 @@ RowSegmentingPlugin.prototype.initialize = function (host, options) {
106
106
  var enabled = this._colorTag != null ? this._colorTag : ElfUtil.isHaloTheme();
107
107
  RowPainter.disableColorTag(host, enabled === false);
108
108
  RowPainter.applyGroupingStyles(host);
109
+ host.addClass("folder-disabled"); // Mouse cursor will be pointer when hovering at header rows
110
+
111
+ enabled = this._headerMenuClicked;
112
+ RowPainter.enableHeaderMenu(host, enabled ? true : false);
113
+
109
114
  this._applyInitialSegments();
110
115
  };
111
116
  /** @public
@@ -136,6 +141,9 @@ RowSegmentingPlugin.prototype.config = function (options) {
136
141
  if (typeof option.sortingLogic === "function") {
137
142
  this._userSortingLogic = option.sortingLogic;
138
143
  }
144
+ if (typeof option.headerMenuClicked === "function") {
145
+ this._headerMenuClicked = option.headerMenuClicked;
146
+ }
139
147
  if(option.spanning != null) {
140
148
  this._spanning = option.spanning ? true : false;
141
149
  }
@@ -148,7 +156,9 @@ RowSegmentingPlugin.prototype.config = function (options) {
148
156
  clickableCell: false,
149
157
  headerSpanning: this._spanning,
150
158
  footerSpanning: false,
151
- onCellClicked: this._onArrowClick
159
+ onCellClicked: this._onArrowClick,
160
+ headerMenuClicked: this._headerMenuClicked,
161
+ segmentMode: true
152
162
  });
153
163
  if (option.colorTag != null) {
154
164
  this._colorTag = option.colorTag;
@@ -298,7 +308,7 @@ RowSegmentingPlugin.prototype._updateHeader = function (settings, firstRowIndex,
298
308
  arg.collapsedSegment = arg.collapsed = segmentSeparator ? dv.isSegmentCollapsed(rowId) : false;
299
309
  var indentLevel = 0;
300
310
  if (segmentSeparator) {
301
- arg.indentSize = this._indentSize[indentLevel];
311
+ arg.indentSize = this._getIndentSize(indentLevel, true);
302
312
  rowPainter.applyHeaderStyle(arg);
303
313
  this._dispatch("segmentSeparatorBinding", arg);
304
314
  } else {
@@ -309,7 +319,7 @@ RowSegmentingPlugin.prototype._updateHeader = function (settings, firstRowIndex,
309
319
  } else {
310
320
  arg.nonGroupRow = true;
311
321
  }
312
- arg.indentSize = this._indentSize[indentLevel];
322
+ arg.indentSize = this._getIndentSize(indentLevel, false);
313
323
  rowPainter.removeHeaderStyle(arg.section, arg.colIndex, r);
314
324
  rowPainter.applyRowStyle(arg);
315
325
  this._dispatch("nonSegmentSeparatorBinding", arg);
@@ -317,6 +327,27 @@ RowSegmentingPlugin.prototype._updateHeader = function (settings, firstRowIndex,
317
327
  }
318
328
  };
319
329
 
330
+ /** @private
331
+ * @param {number} indentLevel
332
+ * @param {boolean} groupRow
333
+ * @return {number}
334
+ */
335
+ RowSegmentingPlugin.prototype._getIndentSize = function (indentLevel, groupRow) {
336
+ var indentSize = 0;
337
+ if(this._indentSizes) {
338
+ indentSize = this._indentSizes[0];
339
+ if(indentLevel > 0) {
340
+ var indentLimit = this._indentSizes.length;
341
+ indentSize = indentLevel < indentLimit ? this._indentSizes[indentLevel] : this._indentSizes[indentLimit - 1];
342
+ }
343
+ } else if(indentLevel > 0) {
344
+ indentSize = 8 + indentLevel * 4; // 8 is default cell padding
345
+ if(!groupRow) {
346
+ indentSize += this._arrowSize;
347
+ }
348
+ }
349
+ return indentSize;
350
+ };
320
351
  /** @private
321
352
  * @param {MouseEvent} e
322
353
  */
@@ -469,7 +500,7 @@ RowSegmentingPlugin.prototype.setSegmentCollapsingLogic = function(func) {
469
500
  RowSegmentingPlugin.prototype.fillSegment = function(segmentRef) {
470
501
  var dv = this._getDataView();
471
502
  if(dv) {
472
- dv.fillSegment(this._toRowId(segmentRef));
503
+ dv.fillSegment(segmentRef);
473
504
  }
474
505
  };
475
506
  /** Remove all existing segment children in each segment and fill the segments with all contnet rows before the next segment separator