@refinitiv-ui/efx-grid 6.0.3 → 6.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/lib/column-dragging/es6/ColumnDragging.d.ts +49 -0
  2. package/lib/column-dragging/es6/ColumnDragging.js +764 -0
  3. package/lib/column-dragging/es6/index.d.ts +1 -0
  4. package/lib/column-dragging/es6/index.js +1 -0
  5. package/lib/core/dist/core.css +1 -1
  6. package/lib/core/dist/core.js +389 -1070
  7. package/lib/core/dist/core.min.js +1 -1
  8. package/lib/core/es6/data/ColumnStats.d.ts +2 -2
  9. package/lib/core/es6/data/DataCache.d.ts +4 -4
  10. package/lib/core/es6/data/DataTable.d.ts +5 -5
  11. package/lib/core/es6/data/DataTable.js +1 -1
  12. package/lib/core/es6/data/DataView.d.ts +12 -12
  13. package/lib/core/es6/data/SegmentCollection.d.ts +3 -3
  14. package/lib/core/es6/data/WrappedView.d.ts +13 -13
  15. package/lib/core/es6/grid/Core.d.ts +29 -27
  16. package/lib/core/es6/grid/Core.js +26 -4
  17. package/lib/core/es6/grid/ILayoutGrid.d.ts +15 -15
  18. package/lib/core/es6/grid/LayoutGrid.js +54 -26
  19. package/lib/core/es6/grid/VirtualizedLayoutGrid.js +66 -0
  20. package/lib/core/es6/grid/components/Cell.d.ts +4 -4
  21. package/lib/core/es6/grid/components/CellFloatingPanel.d.ts +1 -1
  22. package/lib/core/es6/grid/components/CellSpans.d.ts +8 -8
  23. package/lib/core/es6/grid/components/Column.d.ts +1 -1
  24. package/lib/core/es6/grid/components/ElementWrapper.d.ts +6 -6
  25. package/lib/core/es6/grid/components/Scrollbar.d.ts +1 -1
  26. package/lib/core/es6/grid/components/StretchedCells.js +2 -2
  27. package/lib/core/es6/grid/plugins/SortableTitlePlugin.d.ts +14 -6
  28. package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +147 -81
  29. package/lib/core/es6/grid/util/Conflator.d.ts +2 -2
  30. package/lib/core/es6/grid/util/ElementFrameWork.d.ts +3 -3
  31. package/lib/core/es6/grid/util/HttpRequest.d.ts +2 -2
  32. package/lib/core/es6/grid/util/PercentBarRenderer.d.ts +1 -1
  33. package/lib/core/es6/grid/util/RangeBar.d.ts +1 -1
  34. package/lib/core/es6/grid/util/SectionSettings.d.ts +5 -5
  35. package/lib/core/es6/grid/util/SectionSettings.js +5 -0
  36. package/lib/core/es6/grid/util/SelectionList.d.ts +2 -2
  37. package/lib/core/es6/grid/util/TrackLayout.d.ts +7 -3
  38. package/lib/core/es6/grid/util/TrackLayout.js +27 -0
  39. package/lib/core/es6/grid/util/util.d.ts +2 -2
  40. package/lib/core/es6/index.d.ts +1 -5
  41. package/lib/core/es6/index.js +1 -7
  42. package/lib/core/es6/tr-grid-theme.js +1 -1
  43. package/lib/filter-dialog/lib/filter-dialog.d.ts +1 -0
  44. package/lib/filter-dialog/lib/filter-dialog.js +73 -26
  45. package/lib/filter-dialog/themes/base-checkbox.less +8 -1
  46. package/lib/filter-dialog/themes/base.less +69 -1
  47. package/lib/filter-dialog/themes/elemental/dark/checkbox-list.js +1 -1
  48. package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +2 -2
  49. package/lib/filter-dialog/themes/elemental/dark/filter-dialog.js +1 -1
  50. package/lib/filter-dialog/themes/elemental/light/checkbox-list.js +1 -1
  51. package/lib/filter-dialog/themes/elemental/light/es5/all-elements.js +2 -2
  52. package/lib/filter-dialog/themes/elemental/light/filter-dialog.js +1 -1
  53. package/lib/filter-dialog/themes/halo/dark/checkbox-list.js +1 -1
  54. package/lib/filter-dialog/themes/halo/dark/es5/all-elements.js +2 -2
  55. package/lib/filter-dialog/themes/halo/dark/filter-dialog.js +1 -1
  56. package/lib/filter-dialog/themes/halo/light/checkbox-list.js +1 -1
  57. package/lib/filter-dialog/themes/halo/light/es5/all-elements.js +2 -2
  58. package/lib/filter-dialog/themes/halo/light/filter-dialog.js +1 -1
  59. package/lib/filter-dialog/themes/solar/charcoal/checkbox-list.js +1 -1
  60. package/lib/filter-dialog/themes/solar/charcoal/es5/all-elements.js +2 -2
  61. package/lib/filter-dialog/themes/solar/charcoal/filter-dialog.js +1 -1
  62. package/lib/filter-dialog/themes/solar/pearl/checkbox-list.js +1 -1
  63. package/lib/filter-dialog/themes/solar/pearl/es5/all-elements.js +2 -2
  64. package/lib/filter-dialog/themes/solar/pearl/filter-dialog.js +1 -1
  65. package/lib/grid/lib/efx-grid.d.ts +8 -5
  66. package/lib/grid/lib/efx-grid.js +10 -4
  67. package/lib/grid/themes/halo/dark/efx-grid.js +1 -1
  68. package/lib/grid/themes/halo/dark/es5/all-elements.js +1 -1
  69. package/lib/grid/themes/halo/efx-grid.less +33 -39
  70. package/lib/grid/themes/halo/light/efx-grid.js +1 -1
  71. package/lib/grid/themes/halo/light/es5/all-elements.js +1 -1
  72. package/lib/index.d.ts +2 -0
  73. package/lib/index.js +2 -0
  74. package/lib/row-segmenting/es6/RowSegmenting.d.ts +7 -2
  75. package/lib/row-segmenting/es6/RowSegmenting.js +94 -9
  76. package/lib/rt-grid/dist/rt-grid.js +567 -1171
  77. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  78. package/lib/rt-grid/es6/ColumnDefinition.d.ts +5 -3
  79. package/lib/rt-grid/es6/ColumnDefinition.js +17 -108
  80. package/lib/rt-grid/es6/DataConnector.d.ts +3 -3
  81. package/lib/rt-grid/es6/Grid.d.ts +17 -9
  82. package/lib/rt-grid/es6/Grid.js +201 -101
  83. package/lib/rt-grid/es6/RowDefSorter.d.ts +19 -0
  84. package/lib/rt-grid/es6/RowDefSorter.js +137 -0
  85. package/lib/rt-grid/es6/RowDefinition.d.ts +9 -7
  86. package/lib/rt-grid/es6/RowDefinition.js +6 -0
  87. package/lib/rt-grid/es6/SnapshotFiller.d.ts +3 -1
  88. package/lib/rt-grid/es6/SnapshotFiller.js +23 -0
  89. package/lib/tr-grid-checkbox/es6/Checkbox.d.ts +2 -2
  90. package/lib/tr-grid-checkbox/es6/Checkbox.js +38 -20
  91. package/lib/tr-grid-column-selection/es6/ColumnSelection.js +46 -9
  92. package/lib/tr-grid-column-stack/es6/ColumnStack.d.ts +8 -4
  93. package/lib/tr-grid-column-stack/es6/ColumnStack.js +240 -125
  94. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.d.ts +1 -1
  95. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +18 -12
  96. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.d.ts +7 -4
  97. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +93 -2
  98. package/lib/tr-grid-printer/es6/CellWriter.d.ts +3 -3
  99. package/lib/tr-grid-printer/es6/GridPrinter.d.ts +1 -1
  100. package/lib/tr-grid-printer/es6/GridPrinter.js +26 -13
  101. package/lib/tr-grid-printer/es6/PrintTrait.d.ts +2 -2
  102. package/lib/tr-grid-printer/es6/SectionWriter.d.ts +3 -3
  103. package/lib/tr-grid-row-dragging/es6/RowDragging.d.ts +2 -1
  104. package/lib/tr-grid-row-dragging/es6/RowDragging.js +29 -143
  105. package/lib/tr-grid-row-grouping/es6/RowGrouping.d.ts +7 -2
  106. package/lib/tr-grid-row-grouping/es6/RowGrouping.js +97 -7
  107. package/lib/tr-grid-row-selection/es6/RowSelection.js +10 -0
  108. package/lib/tr-grid-textformatting/es6/TextFormatting.d.ts +1 -1
  109. package/lib/tr-grid-textformatting/es6/TextFormatting.js +12 -0
  110. package/lib/tr-grid-util/es6/DragUI.d.ts +16 -0
  111. package/lib/tr-grid-util/es6/DragUI.js +214 -0
  112. package/lib/tr-grid-util/es6/ElementObserver.d.ts +2 -0
  113. package/lib/tr-grid-util/es6/ElementObserver.js +28 -1
  114. package/lib/tr-grid-util/es6/ElfUtil.js +1 -1
  115. package/lib/tr-grid-util/es6/FieldFormatter.js +7 -5
  116. package/lib/tr-grid-util/es6/GridPlugin.js +8 -4
  117. package/lib/tr-grid-util/es6/NumberFormatter.d.ts +2 -0
  118. package/lib/tr-grid-util/es6/NumberFormatter.js +64 -19
  119. package/lib/tr-grid-util/es6/RowPainter.js +41 -11
  120. package/lib/tr-grid-util/es6/formula/Formula.js +9 -1
  121. package/lib/types/es6/Checkbox.d.ts +2 -2
  122. package/lib/types/es6/ColumnStack.d.ts +8 -4
  123. package/lib/types/es6/CompositeGrid/ColumnSelectionPlugin.d.ts +3 -2
  124. package/lib/types/es6/CompositeGrid/ColumnWidthAdjustingPlugin.d.ts +2 -1
  125. package/lib/types/es6/CompositeGrid/CompositeGrid.d.ts +20 -18
  126. package/lib/types/es6/CompositeGrid/DragAndDropTitlePlugin.d.ts +2 -1
  127. package/lib/types/es6/CompositeGrid/DraggableContentPlugin.d.ts +3 -2
  128. package/lib/types/es6/CompositeGrid/Plugin.d.ts +28 -0
  129. package/lib/types/es6/CompositeGrid/ResizableTitlePlugin.d.ts +2 -1
  130. package/lib/types/es6/CompositeGrid/RowSelectionPlugin.d.ts +5 -4
  131. package/lib/types/es6/CompositeGrid/TreeIndentingPlugin.d.ts +2 -1
  132. package/lib/types/es6/CompositeGrid/index.d.ts +9 -9
  133. package/lib/types/es6/ConditionalColoring.d.ts +1 -1
  134. package/lib/types/es6/Core/data/ColumnStats.d.ts +2 -2
  135. package/lib/types/es6/Core/data/DataCache.d.ts +4 -4
  136. package/lib/types/es6/Core/data/DataTable.d.ts +5 -5
  137. package/lib/types/es6/Core/data/DataView.d.ts +12 -12
  138. package/lib/types/es6/Core/data/SegmentCollection.d.ts +3 -3
  139. package/lib/types/es6/Core/data/WrappedView.d.ts +13 -13
  140. package/lib/types/es6/Core/grid/Core.d.ts +29 -27
  141. package/lib/types/es6/Core/grid/ILayoutGrid.d.ts +15 -15
  142. package/lib/types/es6/Core/grid/components/Cell.d.ts +4 -4
  143. package/lib/types/es6/Core/grid/components/CellFloatingPanel.d.ts +1 -1
  144. package/lib/types/es6/Core/grid/components/CellSpans.d.ts +8 -8
  145. package/lib/types/es6/Core/grid/components/Column.d.ts +1 -1
  146. package/lib/types/es6/Core/grid/components/ElementWrapper.d.ts +6 -6
  147. package/lib/types/es6/Core/grid/components/Scrollbar.d.ts +1 -1
  148. package/lib/types/es6/Core/grid/plugins/SortableTitlePlugin.d.ts +14 -6
  149. package/lib/types/es6/Core/grid/util/Conflator.d.ts +2 -2
  150. package/lib/types/es6/Core/grid/util/ElementFrameWork.d.ts +3 -3
  151. package/lib/types/es6/Core/grid/util/HttpRequest.d.ts +2 -2
  152. package/lib/types/es6/Core/grid/util/PercentBarRenderer.d.ts +1 -1
  153. package/lib/types/es6/Core/grid/util/RangeBar.d.ts +1 -1
  154. package/lib/types/es6/Core/grid/util/SectionSettings.d.ts +5 -5
  155. package/lib/types/es6/Core/grid/util/SelectionList.d.ts +2 -2
  156. package/lib/types/es6/Core/grid/util/TrackLayout.d.ts +7 -3
  157. package/lib/types/es6/Core/grid/util/util.d.ts +2 -2
  158. package/lib/types/es6/Core/index.d.ts +1 -5
  159. package/lib/types/es6/ExtensionOptions.d.ts +2 -0
  160. package/lib/types/es6/InCellEditing.d.ts +7 -4
  161. package/lib/types/es6/RealtimeGrid/ColumnDefinition.d.ts +5 -3
  162. package/lib/types/es6/RealtimeGrid/DataConnector.d.ts +3 -3
  163. package/lib/types/es6/RealtimeGrid/Grid.d.ts +17 -9
  164. package/lib/types/es6/RealtimeGrid/RowDefSorter.d.ts +19 -0
  165. package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +9 -7
  166. package/lib/types/es6/RealtimeGrid/SnapshotFiller.d.ts +3 -1
  167. package/lib/types/es6/RowDragging.d.ts +2 -1
  168. package/lib/types/es6/RowGrouping.d.ts +7 -2
  169. package/lib/types/es6/RowSegmenting.d.ts +7 -2
  170. package/lib/types/es6/TextFormatting.d.ts +1 -1
  171. package/lib/versions.json +14 -13
  172. package/package.json +1 -1
  173. package/lib/core/es6/grid/plugins/DragAndDropTitlePlugin.d.ts +0 -24
  174. package/lib/core/es6/grid/plugins/DragAndDropTitlePlugin.js +0 -615
  175. package/lib/core/es6/grid/plugins/Plugin.d.ts +0 -28
  176. package/lib/core/es6/grid/plugins/Plugin.js +0 -272
  177. package/lib/types/es6/Core/grid/plugins/DragAndDropTitlePlugin.d.ts +0 -24
  178. package/lib/types/es6/Core/grid/plugins/Plugin.d.ts +0 -28
@@ -14,7 +14,7 @@ declare class ColumnStats {
14
14
 
15
15
  public setColumnDataGetter(func: ((...params: any[]) => any)): void;
16
16
 
17
- public getColumnDataGetter(): ((...params: any[]) => any);
17
+ public getColumnDataGetter(): ((...params: any[]) => any)|null;
18
18
 
19
19
  public getSum(): number;
20
20
 
@@ -32,7 +32,7 @@ declare class ColumnStats {
32
32
 
33
33
  public getMidRange(): number;
34
34
 
35
- public getCachedColumnData(): (number)[];
35
+ public getCachedColumnData(): (number)[]|null;
36
36
 
37
37
  public markDirty(): boolean;
38
38
 
@@ -29,9 +29,9 @@ declare class DataCache extends EventDispatcher {
29
29
 
30
30
  public getData(rid: string, cid: string): any;
31
31
 
32
- public getAllRics(): { [key: string]: any };
32
+ public getAllRics(): { [key: string]: any }|null;
33
33
 
34
- public getAllRowIds(): (string)[];
34
+ public getAllRowIds(): (string)[]|null;
35
35
 
36
36
  public hasRowId(rid: string): boolean;
37
37
 
@@ -57,7 +57,7 @@ declare class DataCache extends EventDispatcher {
57
57
 
58
58
  public resetStaticFields(): void;
59
59
 
60
- public getStaticFields(): { [key: string]: number };
60
+ public getStaticFields(): { [key: string]: number }|null;
61
61
 
62
62
  public dump(options?: any): (any)[];
63
63
 
@@ -65,7 +65,7 @@ declare class DataCache extends EventDispatcher {
65
65
 
66
66
  public setDataCloudSettings(userId: string, productId: string, url: string, opt_lang?: string): void;
67
67
 
68
- public getDataCloudFields(): (string)[];
68
+ public getDataCloudFields(): (string)[]|null;
69
69
 
70
70
  public addDataCloudFields(fields: (string)[]|string): boolean;
71
71
 
@@ -51,9 +51,9 @@ declare class DataTable extends DataCache {
51
51
 
52
52
  public removeAllRows(suppressEvent?: boolean): void;
53
53
 
54
- public moveRow(fromIndex: (number)[]|number, toIndex: number, suppressEvent?: boolean): (string)[]|string;
54
+ public moveRow(fromIndex: (number)[]|number, toIndex: number, suppressEvent?: boolean): (string)[]|string|null;
55
55
 
56
- public moveRows(startIndex: number|string, toIndex: number|string, opt_count?: number, suppressEvent?: boolean): (string)[];
56
+ public moveRows(startIndex: number|string, toIndex: number|string, opt_count?: number, suppressEvent?: boolean): (string)[]|null;
57
57
 
58
58
  public swapRow(fromIndex: number, toIndex: number): void;
59
59
 
@@ -85,7 +85,7 @@ declare class DataTable extends DataCache {
85
85
 
86
86
  public getSegmentParentRowId(rid: string): string;
87
87
 
88
- public getSegmentValues(rids?: (string)[]): (number)[];
88
+ public getSegmentValues(rids?: (string)[]): (number)[]|null;
89
89
 
90
90
  public fillSegment(segmentId: string): void;
91
91
 
@@ -101,9 +101,9 @@ declare class DataTable extends DataCache {
101
101
 
102
102
  public removeAllSegmentChildren(): boolean;
103
103
 
104
- public getSegmentIds(): (string)[];
104
+ public getSegmentIds(): (string)[]|null;
105
105
 
106
- public getSegmentChildIds(segmentId: string): (string)[];
106
+ public getSegmentChildIds(segmentId: string): (string)[]|null;
107
107
 
108
108
  public sortSegments(compare: ((...params: any[]) => any)): void;
109
109
 
@@ -841,7 +841,7 @@ DataTable.prototype.setColumnSortingLogic = function(cid, func) {
841
841
  * @example
842
842
  * var prevState = dt.freeze();
843
843
  * for(var i = 0; i < 100; ++i) {
844
- * dt.insertRow({}); // no event is fired
844
+ * dt.insertRow(); // no event is fired
845
845
  * }
846
846
  * dt.freeze(prevState); // Restore previous freeze states
847
847
  */
@@ -57,13 +57,13 @@ declare class DataView extends EventDispatcher {
57
57
 
58
58
  public removeRows(rowRefs: (number|string)[]): void;
59
59
 
60
- public moveRow(fromRef: (number|string)[]|number|string, toRef: number|string): (string)[]|string;
60
+ public moveRow(fromRef: (number|string)[]|number|string, toRef: number|string): (string)[]|string|null;
61
61
 
62
62
  public swapRow(fromIndex: number, toIndex: number): void;
63
63
 
64
- public getDataTable(): DataTable;
64
+ public getDataTable(): DataTable|null;
65
65
 
66
- public getDataSource(): DataTable|DataView;
66
+ public getDataSource(): DataTable|DataView|null;
67
67
 
68
68
  public setDataSource(source?: (DataTable|DataView)): void;
69
69
 
@@ -147,13 +147,13 @@ declare class DataView extends EventDispatcher {
147
147
 
148
148
  public removeFooter(): void;
149
149
 
150
- public getGroupByRowId(rowId: string): DataView;
150
+ public getGroupByRowId(rowId: string): DataView|null;
151
151
 
152
- public getGroup(groupRef: number|string): DataView;
152
+ public getGroup(groupRef: number|string): DataView|null;
153
153
 
154
154
  public getAllGroups(out_ary?: any[]): (DataView)[];
155
155
 
156
- public getGroupList(): (string)[];
156
+ public getGroupList(): (string)[]|null;
157
157
 
158
158
  public getGroupId(): string;
159
159
 
@@ -167,9 +167,9 @@ declare class DataView extends EventDispatcher {
167
167
 
168
168
  public getGroupLevel(rowRef?: (number|string)): number;
169
169
 
170
- public enableColumnStats(cid: string, opt_enabled?: boolean, opt_refId?: string): ColumnStats;
170
+ public enableColumnStats(cid: string, opt_enabled?: boolean, opt_refId?: string): ColumnStats|null;
171
171
 
172
- public getColumnStats(cid: string): ColumnStats;
172
+ public getColumnStats(cid: string): ColumnStats|null;
173
173
 
174
174
  public hide(opt_hidden?: boolean): boolean;
175
175
 
@@ -201,7 +201,7 @@ declare class DataView extends EventDispatcher {
201
201
 
202
202
  public removeAllRowExpansions(): void;
203
203
 
204
- public getExpansionParents(from?: number, to?: number): (string)[];
204
+ public getExpansionParents(from?: number, to?: number): (string)[]|null;
205
205
 
206
206
  public isRowExpansion(rid: string): boolean;
207
207
 
@@ -257,15 +257,15 @@ declare class DataView extends EventDispatcher {
257
257
 
258
258
  public removeAllSegmentChildren(): boolean;
259
259
 
260
- public getSegmentIds(): (string)[];
260
+ public getSegmentIds(): (string)[]|null;
261
261
 
262
- public getSegmentChildIds(segmentRef: string|number): (string)[];
262
+ public getSegmentChildIds(segmentRef: string|number): (string)[]|null;
263
263
 
264
264
  public sortSegments(compare: ((...params: any[]) => any)): void;
265
265
 
266
266
  public getWrapSize(): number;
267
267
 
268
- public getWrappedViews(): (WrappedView)[];
268
+ public getWrappedViews(): (WrappedView)[]|null;
269
269
 
270
270
  public wrapView(wrapSize?: number): void;
271
271
 
@@ -18,9 +18,9 @@ declare class SegmentCollection {
18
18
 
19
19
  public getSegmentCount(): number;
20
20
 
21
- public getSegment(rid: string): Segment;
21
+ public getSegment(rid: string): Segment|null;
22
22
 
23
- public getSegments(): { [key: string]: Segment };
23
+ public getSegments(): { [key: string]: Segment }|null;
24
24
 
25
25
  public getSegmentIds(): (string)[];
26
26
 
@@ -50,7 +50,7 @@ declare class SegmentCollection {
50
50
 
51
51
  public fillSegments(rids: (string)[]): boolean;
52
52
 
53
- public getSegmentValues(rids: (string)[]): (number)[];
53
+ public getSegmentValues(rids: (string)[]): (number)[]|null;
54
54
 
55
55
  }
56
56
 
@@ -63,11 +63,11 @@ declare class WrappedView extends EventDispatcher {
63
63
 
64
64
  public removeRows(rowRefs: (number|string)[]): void;
65
65
 
66
- public moveRow(fromRef: (number|string)[]|number|string, toRef: number|string): (string)[]|string;
66
+ public moveRow(fromRef: (number|string)[]|number|string, toRef: number|string): (string)[]|string|null;
67
67
 
68
- public getDataTable(): DataTable;
68
+ public getDataTable(): DataTable|null;
69
69
 
70
- public getDataSource(): DataView;
70
+ public getDataSource(): DataView|null;
71
71
 
72
72
  public setDataSource(source?: DataView): void;
73
73
 
@@ -151,13 +151,13 @@ declare class WrappedView extends EventDispatcher {
151
151
 
152
152
  public removeFooter(): void;
153
153
 
154
- public getGroupByRowId(rowId: string): DataView;
154
+ public getGroupByRowId(rowId: string): DataView|null;
155
155
 
156
- public getGroup(groupRef: number|string): DataView;
156
+ public getGroup(groupRef: number|string): DataView|null;
157
157
 
158
158
  public getAllGroups(out_ary?: any[]): (DataView)[];
159
159
 
160
- public getGroupList(): (string)[];
160
+ public getGroupList(): (string)[]|null;
161
161
 
162
162
  public getGroupId(): string;
163
163
 
@@ -171,9 +171,9 @@ declare class WrappedView extends EventDispatcher {
171
171
 
172
172
  public getGroupLevel(rowRef?: (number|string)): number;
173
173
 
174
- public enableColumnStats(cid: string, opt_enabled?: boolean, opt_refId?: string): ColumnStats;
174
+ public enableColumnStats(cid: string, opt_enabled?: boolean, opt_refId?: string): ColumnStats|null;
175
175
 
176
- public getColumnStats(cid: string): ColumnStats;
176
+ public getColumnStats(cid: string): ColumnStats|null;
177
177
 
178
178
  public hide(opt_hidden?: boolean): boolean;
179
179
 
@@ -205,7 +205,7 @@ declare class WrappedView extends EventDispatcher {
205
205
 
206
206
  public removeAllRowExpansions(): void;
207
207
 
208
- public getExpansionParents(from?: number, to?: number): (string)[];
208
+ public getExpansionParents(from?: number, to?: number): (string)[]|null;
209
209
 
210
210
  public isRowExpansion(rid: string): boolean;
211
211
 
@@ -261,15 +261,15 @@ declare class WrappedView extends EventDispatcher {
261
261
 
262
262
  public removeAllSegmentChildren(): boolean;
263
263
 
264
- public getSegmentIds(): (string)[];
264
+ public getSegmentIds(): (string)[]|null;
265
265
 
266
- public getSegmentChildIds(segmentRef: string|number): (string)[];
266
+ public getSegmentChildIds(segmentRef: string|number): (string)[]|null;
267
267
 
268
268
  public sortSegments(compare: ((...params: any[]) => any)): void;
269
269
 
270
270
  public getWrapSize(): number;
271
271
 
272
- public getWrappedViews(): (WrappedView)[];
272
+ public getWrappedViews(): (WrappedView)[]|null;
273
273
 
274
274
  public wrapView(wrapSize?: number): void;
275
275
 
@@ -281,7 +281,7 @@ declare class WrappedView extends EventDispatcher {
281
281
 
282
282
  }
283
283
 
284
- declare function fromRids(): DataTable;
284
+ declare function fromRids(): DataTable|null;
285
285
 
286
286
  declare function complexData(opt_options?: any): void;
287
287
 
@@ -68,23 +68,23 @@ declare class Core extends ElementWrapper {
68
68
 
69
69
  public getSectionCount(): number;
70
70
 
71
- public addSection(opt_type?: string, opt_sectionName?: string): ILayoutGrid|null;
71
+ public addSection(opt_type?: string, opt_sectionName?: string): ILayoutGrid|null|null;
72
72
 
73
- public addSectionAt(at: number, opt_type?: string, opt_sectionName?: string): ILayoutGrid|null;
73
+ public addSectionAt(at: number, opt_type?: string, opt_sectionName?: string): ILayoutGrid|null|null;
74
74
 
75
- public removeSection(sectionRef: Core.SectionReference): ILayoutGrid;
75
+ public removeSection(sectionRef: Core.SectionReference): ILayoutGrid|null;
76
76
 
77
- public removeSectionAt(at: number): ILayoutGrid;
77
+ public removeSectionAt(at: number): ILayoutGrid|null;
78
78
 
79
- public removeLastSection(): ILayoutGrid;
79
+ public removeLastSection(): ILayoutGrid|null;
80
80
 
81
81
  public removeAllSections(): void;
82
82
 
83
83
  public setBottomPaddingSection(paddingSize: boolean|number): void;
84
84
 
85
- public getSection(sectionRef: Core.SectionReference): ILayoutGrid;
85
+ public getSection(sectionRef: Core.SectionReference): ILayoutGrid|null;
86
86
 
87
- public getSectionSettings(sectionRef: Core.SectionReference): SectionSettings;
87
+ public getSectionSettings(sectionRef: Core.SectionReference): SectionSettings|null;
88
88
 
89
89
  public getAllSections(opt_type?: string): (ILayoutGrid)[];
90
90
 
@@ -94,23 +94,23 @@ declare class Core extends ElementWrapper {
94
94
 
95
95
  public getSectionTop(sectionRef: Core.SectionReference): number;
96
96
 
97
- public getPreviousSection(identifier?: (MouseEvent|Core.SectionReference), opt_type?: string): ILayoutGrid;
97
+ public getPreviousSection(identifier?: (MouseEvent|Core.SectionReference), opt_type?: string): ILayoutGrid|null;
98
98
 
99
- public getNextSection(identifier?: (MouseEvent|Core.SectionReference), opt_type?: string): ILayoutGrid;
99
+ public getNextSection(identifier?: (MouseEvent|Core.SectionReference), opt_type?: string): ILayoutGrid|null;
100
100
 
101
- public getLastSection(): ILayoutGrid;
101
+ public getLastSection(): ILayoutGrid|null;
102
102
 
103
- public getCell(sectionRef: Core.SectionReference, colIndex: number, rowIndex: number, opt_includeSpan?: boolean): ElementWrapper;
103
+ public getCell(sectionRef: Core.SectionReference, colIndex: number, rowIndex: number, opt_includeSpan?: boolean): ElementWrapper|null;
104
104
 
105
- public getCellInfo(cellRef: Core.CellReference): Core.MouseInfo;
105
+ public getCellInfo(cellRef: Core.CellReference): Core.MouseInfo|null;
106
106
 
107
- public getNextCellInRow(cellRef: Core.CellReference, step?: number): Core.MouseInfo;
107
+ public getNextCellInRow(cellRef: Core.CellReference, step?: number): Core.MouseInfo|null;
108
108
 
109
- public getPrevCellInRow(cellRef: Core.CellReference, step?: number): Core.MouseInfo;
109
+ public getPrevCellInRow(cellRef: Core.CellReference, step?: number): Core.MouseInfo|null;
110
110
 
111
- public getNextCell(cellRef: Core.CellReference): Core.MouseInfo;
111
+ public getNextCell(cellRef: Core.CellReference): Core.MouseInfo|null;
112
112
 
113
- public getPrevCell(cellRef: Core.CellReference): Core.MouseInfo;
113
+ public getPrevCell(cellRef: Core.CellReference): Core.MouseInfo|null;
114
114
 
115
115
  public getColumnCount(): number;
116
116
 
@@ -146,13 +146,13 @@ declare class Core extends ElementWrapper {
146
146
 
147
147
  public setDefaultRowHeight(val: number, opt_includeTitle?: boolean): void;
148
148
 
149
- public getDataSource(): DataView;
149
+ public getDataSource(): DataView|null;
150
150
 
151
151
  public setDataConflationRate(milliSecond: number): void;
152
152
 
153
153
  public getDataConflationRate(): number;
154
154
 
155
- public setDataSource(dataSource: DataTable|DataView): DataView;
155
+ public setDataSource(dataSource: DataTable|DataView): DataView|null;
156
156
 
157
157
  public getColumnRenderEvent(): void;
158
158
 
@@ -272,7 +272,7 @@ declare class Core extends ElementWrapper {
272
272
 
273
273
  public toggleHorizontalLines(forcedVal?: boolean): void;
274
274
 
275
- public getDataColumnMap(): (string)[];
275
+ public getDataColumnMap(): (string)[]|null;
276
276
 
277
277
  public setDataColumnMap(opt_dataMap?: (string)[]): void;
278
278
 
@@ -288,9 +288,9 @@ declare class Core extends ElementWrapper {
288
288
 
289
289
  public setColumnDataBindingHandler(c: number, func: any): void;
290
290
 
291
- public getColumnRenderingHandler(c: number): ((...params: any[]) => any);
291
+ public getColumnRenderingHandler(c: number): ((...params: any[]) => any)|null;
292
292
 
293
- public getColumnDataBindingHandler(c: number): ((...params: any[]) => any);
293
+ public getColumnDataBindingHandler(c: number): ((...params: any[]) => any)|null;
294
294
 
295
295
  public enableRowHighlighting(opt_enabled?: boolean): void;
296
296
 
@@ -314,7 +314,7 @@ declare class Core extends ElementWrapper {
314
314
 
315
315
  public getScrollWidth(): number;
316
316
 
317
- public getYScrollVal(sectionRef: Core.SectionReference, rowIndex: number, topOfView?: boolean): number|null;
317
+ public getYScrollVal(sectionRef: Core.SectionReference, rowIndex: number, topOfView?: boolean): number|null|null;
318
318
 
319
319
  public scrollToRow(sectionRef: Core.SectionReference, rowIndex: number, topOfView?: boolean): void;
320
320
 
@@ -338,7 +338,7 @@ declare class Core extends ElementWrapper {
338
338
 
339
339
  public setRowScrollingStep(rowCount: number): void;
340
340
 
341
- public getVMouseWheelHandler(): ((...params: any[]) => any);
341
+ public getVMouseWheelHandler(): ((...params: any[]) => any)|null;
342
342
 
343
343
  public synchronizeVScrollbar(subGrid: Core): void;
344
344
 
@@ -348,11 +348,13 @@ declare class Core extends ElementWrapper {
348
348
 
349
349
  public requestRowRefresh(): void;
350
350
 
351
+ public _requestScrollbarUpdate(): void;
352
+
351
353
  public deactivateRendering(disabled?: boolean): void;
352
354
 
353
355
  public reserveRightSpace(size: number): boolean;
354
356
 
355
- public getHiddenInput(): Element;
357
+ public getHiddenInput(): Element|null;
356
358
 
357
359
  public focus(): void;
358
360
 
@@ -384,11 +386,11 @@ declare function num(opt_type?: string): (ILayoutGrid)[];
384
386
 
385
387
  declare function mPos(sectionRef: Core.SectionReference): number;
386
388
 
387
- declare function rowIndex(cellRef: Core.CellReference, step?: number): Core.MouseInfo;
389
+ declare function rowIndex(cellRef: Core.CellReference, step?: number): Core.MouseInfo|null;
388
390
 
389
- declare function rowIndex(cellRef: Core.CellReference): Core.MouseInfo;
391
+ declare function rowIndex(cellRef: Core.CellReference): Core.MouseInfo|null;
390
392
 
391
- declare function section(cellRef: Core.CellReference): Core.MouseInfo;
393
+ declare function section(cellRef: Core.CellReference): Core.MouseInfo|null;
392
394
 
393
395
  declare function section(): number;
394
396
 
@@ -91,6 +91,7 @@ var Core = function (opt_initializer) {
91
91
  _t._updateColumnBounds = _t._updateColumnBounds.bind(_t);
92
92
  _t._dispatchColumnPositionChanged = _t._dispatchColumnPositionChanged.bind(_t);
93
93
  _t._dispatchRowPositionChanged = _t._dispatchRowPositionChanged.bind(_t);
94
+ _t._requestScrollbarUpdate = _t._requestScrollbarUpdate.bind(_t);
94
95
 
95
96
  // Text nodes are unintentionally getting in the tag.
96
97
  if(opt_initializer) { // Any node other than element node is not allowed within the tag.
@@ -508,6 +509,10 @@ Core.prototype._preserveProportion = false;
508
509
  * @private
509
510
  */
510
511
  Core.prototype._preserveGridSize = false;
512
+ /** @type {number}
513
+ * @private
514
+ */
515
+ Core.prototype._rowHeightTimerId = 0;
511
516
  //#region Public Methods
512
517
 
513
518
  /**
@@ -515,7 +520,7 @@ Core.prototype._preserveGridSize = false;
515
520
  * @return {string}
516
521
  */
517
522
  Core.getVersion = function () {
518
- return "5.0.53";
523
+ return "5.0.58";
519
524
  };
520
525
  /** {@link ElementWrapper#dispose}
521
526
  * @override
@@ -3468,6 +3473,13 @@ Core.prototype.requestRowRefresh = function() {
3468
3473
  this._rowRefreshTimer = setTimeout(this._onRowRefresh, 100);
3469
3474
  }
3470
3475
  };
3476
+ /** Set a timer to call updateScrollbarHeight only once to avoid performance issue due to multiple call of _updateScrollbarHeight()
3477
+ * @public
3478
+ */
3479
+ Core.prototype._requestScrollbarUpdate = function() {
3480
+ this._updateScrollbarHeight(true, true);
3481
+ this._rowHeightTimerId = 0;
3482
+ };
3471
3483
 
3472
3484
  /** prevent bind data process
3473
3485
  * @public
@@ -4363,6 +4375,9 @@ Core.prototype._onSectionDataChanged = function (e) {
4363
4375
  var dataView = /** @type{DataView} */(e["dataSource"]);
4364
4376
  var hasDataView = (dataView && dataView.getDataSource()) ? 1 : 0;
4365
4377
  var rids, rowDataCollection;
4378
+
4379
+ section._startBindingSession(true);
4380
+
4366
4381
  if(hasDataView) {
4367
4382
  rids = dataView.getVisibleRowIds(true);
4368
4383
  rowDataCollection = dataView.getMultipleRowData(rids, fromR, toR);
@@ -4400,8 +4415,9 @@ Core.prototype._onSectionDataChanged = function (e) {
4400
4415
  }
4401
4416
 
4402
4417
  this._dispatch("postSectionDataBinding", e);
4403
-
4404
4418
  this._dispatchRowExpansionBinding(e);
4419
+
4420
+ section._startBindingSession(false);
4405
4421
  this._dispatchingDataChanged = false;
4406
4422
  };
4407
4423
 
@@ -4727,8 +4743,14 @@ Core.prototype._onRowHeightChanged = function (e) {
4727
4743
  this._rowHeightConflator._needScrollbarUpdate = false;
4728
4744
  this._updateScrollbarHeight(true, true);
4729
4745
  } else if(minSectionIndex >= 0) {
4730
- this._updateScrollbarHeight(minSectionIndex < this._startVScrollbarIndex,
4731
- minSectionIndex >= this._startVScrollbarIndex);
4746
+ if(this._dispatchingDataChanged){
4747
+ if(!this._rowHeightTimerId){
4748
+ this._rowHeightTimerId = setTimeout(this._requestScrollbarUpdate, 0);
4749
+ }
4750
+ } else {
4751
+ this._updateScrollbarHeight(minSectionIndex < this._startVScrollbarIndex,
4752
+ minSectionIndex >= this._startVScrollbarIndex);
4753
+ }
4732
4754
  }
4733
4755
 
4734
4756
  this._dispatchRowPositionChanged();
@@ -4,7 +4,7 @@ import TrackLayout from "./util/TrackLayout.js";
4
4
 
5
5
  declare interface ILayoutGrid extends ElementWrapper {
6
6
 
7
- hitTest(x: number, y: number, opt_omitSpan?: boolean): any|null;
7
+ hitTest(x: number, y: number, opt_omitSpan?: boolean): any|null|null;
8
8
 
9
9
  hitTestX(x: number): number;
10
10
 
@@ -76,13 +76,13 @@ declare interface ILayoutGrid extends ElementWrapper {
76
76
 
77
77
  setRowScalability(rowIndex: number, val: boolean): boolean;
78
78
 
79
- getCell(colIndex: number, rowIndex: number, opt_includeSpan?: boolean): ElementWrapper;
79
+ getCell(colIndex: number, rowIndex: number, opt_includeSpan?: boolean): ElementWrapper|null;
80
80
 
81
- getCellContent(colIndex: number, rowIndex: number): Element|Node|NodeList;
81
+ getCellContent(colIndex: number, rowIndex: number): Element|Node|NodeList|null;
82
82
 
83
- setCellContent(colIndex: number, rowIndex: number, data: string|Element|ElementWrapper|any): Element;
83
+ setCellContent(colIndex: number, rowIndex: number, data: string|Element|ElementWrapper|any): Element|null;
84
84
 
85
- getColumn(index: number): ElementWrapper;
85
+ getColumn(index: number): ElementWrapper|null;
86
86
 
87
87
  getColumnCount(): number;
88
88
 
@@ -100,7 +100,7 @@ declare interface ILayoutGrid extends ElementWrapper {
100
100
 
101
101
  setBorders(lft: boolean, top: boolean, rgt: boolean, btm: boolean): void;
102
102
 
103
- getColumnStyle(colIndex: number, styleName: string): string|null;
103
+ getColumnStyle(colIndex: number, styleName: string): string|null|null;
104
104
 
105
105
  setColumnStyle(colIndex: number, styleName: string, value: string): void;
106
106
 
@@ -118,7 +118,7 @@ declare interface ILayoutGrid extends ElementWrapper {
118
118
 
119
119
  getContentHeight(): number;
120
120
 
121
- getCellsByRowIndex(rowIndex: number): (ElementWrapper)[];
121
+ getCellsByRowIndex(rowIndex: number): (ElementWrapper)[]|null;
122
122
 
123
123
  disableHorizontalGridLine(opt_bool?: boolean): void;
124
124
 
@@ -134,7 +134,7 @@ declare interface ILayoutGrid extends ElementWrapper {
134
134
 
135
135
  setRowHighlight(rowIndex: number): void;
136
136
 
137
- getSelectedRows(): (number)[];
137
+ getSelectedRows(): (number)[]|null;
138
138
 
139
139
  getSelectedRowCount(): number;
140
140
 
@@ -172,25 +172,25 @@ declare interface ILayoutGrid extends ElementWrapper {
172
172
 
173
173
  getRowOffset(): number;
174
174
 
175
- stretchCell(cellRef: number|Cell, rowIndex?: number, opt_stretching?: boolean, onlyToTheRight?: boolean): Cell;
175
+ stretchCell(cellRef: number|Cell, rowIndex?: number, opt_stretching?: boolean, onlyToTheRight?: boolean): Cell|null;
176
176
 
177
- unstretchCell(cellRef: number|Cell, rowIndex?: number): Cell;
177
+ unstretchCell(cellRef: number|Cell, rowIndex?: number): Cell|null;
178
178
 
179
179
  unstretchAllCells(): void;
180
180
 
181
- getStretchedCell(cellRef: number|Cell, rowIndex?: number): Cell;
181
+ getStretchedCell(cellRef: number|Cell, rowIndex?: number): Cell|null;
182
182
 
183
183
  getStretchedCells(): (Cell)[];
184
184
 
185
185
  updateStretchedCells(): boolean;
186
186
 
187
- getColumnHost(): Element;
187
+ getColumnHost(): Element|null;
188
188
 
189
- reserveRightSpace(size: number): Element;
189
+ reserveRightSpace(size: number): Element|null;
190
190
 
191
- getReservedSpace(): Element;
191
+ getReservedSpace(): Element|null;
192
192
 
193
- getComputedStyle(): CSSStyleDeclaration;
193
+ getComputedStyle(): CSSStyleDeclaration|null;
194
194
 
195
195
  isColumnActive(colIndex: number): boolean;
196
196