@refinitiv-ui/efx-grid 6.0.91 → 6.0.93

Sign up to get free protection for your applications and to get access to all the features.
Files changed (160) hide show
  1. package/lib/column-dragging/es6/ColumnDragging.d.ts +1 -1
  2. package/lib/column-dragging/es6/ColumnDragging.js +144 -34
  3. package/lib/core/dist/core.js +2410 -2621
  4. package/lib/core/dist/core.min.js +1 -1
  5. package/lib/core/es6/data/ColumnStats.js +14 -14
  6. package/lib/core/es6/data/DataCache.js +118 -118
  7. package/lib/core/es6/data/DataTable.d.ts +3 -1
  8. package/lib/core/es6/data/DataTable.js +208 -190
  9. package/lib/core/es6/data/DataView.d.ts +1 -1
  10. package/lib/core/es6/data/DataView.js +291 -291
  11. package/lib/core/es6/data/Segment.js +79 -79
  12. package/lib/core/es6/data/SegmentCollection.js +81 -81
  13. package/lib/core/es6/data/WrappedView.js +41 -41
  14. package/lib/core/es6/grid/Core.js +635 -635
  15. package/lib/core/es6/grid/ILayoutGrid.js +1 -1
  16. package/lib/core/es6/grid/LayoutGrid.js +183 -183
  17. package/lib/core/es6/grid/VirtualizedLayoutGrid.js +91 -91
  18. package/lib/core/es6/grid/components/Cell.js +29 -29
  19. package/lib/core/es6/grid/components/CellFloatingPanel.js +11 -11
  20. package/lib/core/es6/grid/components/CellSpan.js +7 -7
  21. package/lib/core/es6/grid/components/CellSpans.js +36 -34
  22. package/lib/core/es6/grid/components/Column.js +40 -40
  23. package/lib/core/es6/grid/components/ElementWrapper.js +17 -17
  24. package/lib/core/es6/grid/components/HScrollbar.js +31 -31
  25. package/lib/core/es6/grid/components/Scrollbar.js +77 -77
  26. package/lib/core/es6/grid/components/StretchedCells.js +49 -49
  27. package/lib/core/es6/grid/components/VScrollbar.js +11 -11
  28. package/lib/core/es6/grid/components/VirtualItems.js +3 -3
  29. package/lib/core/es6/grid/event/EventDispatcher.js +9 -9
  30. package/lib/core/es6/grid/event/EventListeners.js +4 -4
  31. package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +186 -186
  32. package/lib/core/es6/grid/util/Conflator.js +4 -4
  33. package/lib/core/es6/grid/util/Reverter.js +1 -1
  34. package/lib/core/es6/grid/util/SectionSettings.js +20 -20
  35. package/lib/core/es6/grid/util/SelectionList.js +23 -23
  36. package/lib/core/es6/grid/util/TrackLayout.js +74 -74
  37. package/lib/core/es6/grid/util/Virtualizer.js +15 -15
  38. package/lib/core/es6/grid/util/util.js +20 -20
  39. package/lib/core/es6/index.d.ts +0 -2
  40. package/lib/core/es6/index.js +0 -3
  41. package/lib/filter-dialog/lib/filter-dialog.js +1 -0
  42. package/lib/grid/index.js +1 -1
  43. package/lib/rt-grid/dist/rt-grid.js +193 -70
  44. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  45. package/lib/rt-grid/es6/Grid.js +46 -30
  46. package/lib/rt-grid/es6/RowDefinition.d.ts +2 -1
  47. package/lib/rt-grid/es6/RowDefinition.js +74 -16
  48. package/lib/tr-grid-cell-selection/es6/CellSelection.js +56 -1
  49. package/lib/tr-grid-checkbox/es6/Checkbox.js +268 -268
  50. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.d.ts +3 -2
  51. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +60 -32
  52. package/lib/tr-grid-column-stack/es6/ColumnStack.js +279 -279
  53. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +227 -207
  54. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +11 -11
  55. package/lib/tr-grid-row-dragging/es6/RowDragging.d.ts +1 -2
  56. package/lib/tr-grid-row-dragging/es6/RowDragging.js +120 -121
  57. package/lib/tr-grid-util/es6/CellPainter.js +94 -104
  58. package/lib/tr-grid-util/es6/Conflator.js +4 -4
  59. package/lib/tr-grid-util/es6/CoralItems.js +6 -6
  60. package/lib/tr-grid-util/es6/DateTime.js +41 -41
  61. package/lib/tr-grid-util/es6/Deferred.js +5 -5
  62. package/lib/tr-grid-util/es6/Delay.d.ts +3 -3
  63. package/lib/tr-grid-util/es6/Delay.js +14 -3
  64. package/lib/tr-grid-util/es6/Dom.js +26 -26
  65. package/lib/tr-grid-util/es6/DragUI.js +17 -17
  66. package/lib/tr-grid-util/es6/ElementObserver.js +12 -12
  67. package/lib/tr-grid-util/es6/ElementWrapper.js +2 -2
  68. package/lib/tr-grid-util/es6/ElfDate.js +4 -4
  69. package/lib/tr-grid-util/es6/ElfUtil.js +37 -37
  70. package/lib/tr-grid-util/es6/EventDispatcher.js +12 -12
  71. package/lib/tr-grid-util/es6/ExpanderIcon.js +6 -6
  72. package/lib/tr-grid-util/es6/ExpressionParser.js +43 -43
  73. package/lib/tr-grid-util/es6/Ext.js +6 -6
  74. package/lib/tr-grid-util/es6/FieldFormatter.js +17 -17
  75. package/lib/tr-grid-util/es6/FilterBuilder.js +57 -58
  76. package/lib/tr-grid-util/es6/FilterOperators.d.ts +12 -1
  77. package/lib/tr-grid-util/es6/FilterOperators.js +13 -2
  78. package/lib/tr-grid-util/es6/GridPlugin.js +86 -87
  79. package/lib/tr-grid-util/es6/GroupDefinitions.js +90 -90
  80. package/lib/tr-grid-util/es6/Icon.js +4 -4
  81. package/lib/tr-grid-util/es6/MouseDownTrait.js +6 -6
  82. package/lib/tr-grid-util/es6/MultiTableManager.js +71 -80
  83. package/lib/tr-grid-util/es6/NumberFormatter.js +23 -23
  84. package/lib/tr-grid-util/es6/PercentBar.js +17 -17
  85. package/lib/tr-grid-util/es6/Perf.js +5 -5
  86. package/lib/tr-grid-util/es6/Popup.js +42 -42
  87. package/lib/tr-grid-util/es6/RangeBar.js +5 -5
  88. package/lib/tr-grid-util/es6/RequestQueue.js +5 -5
  89. package/lib/tr-grid-util/es6/RowPainter.js +23 -23
  90. package/lib/tr-grid-util/es6/SubTable.js +94 -94
  91. package/lib/tr-grid-util/es6/Table.js +51 -51
  92. package/lib/tr-grid-util/es6/TextHighlighter.js +52 -52
  93. package/lib/tr-grid-util/es6/TickCodes.js +2 -2
  94. package/lib/tr-grid-util/es6/Timer.js +2 -2
  95. package/lib/tr-grid-util/es6/TouchProxy.js +7 -7
  96. package/lib/tr-grid-util/es6/Util.js +50 -50
  97. package/lib/tr-grid-util/es6/formula/ADCService.js +2 -2
  98. package/lib/tr-grid-util/es6/formula/ADCSubscription.js +19 -19
  99. package/lib/tr-grid-util/es6/formula/AdFinService.js +2 -2
  100. package/lib/tr-grid-util/es6/formula/AdFinSubscription.js +19 -19
  101. package/lib/tr-grid-util/es6/formula/Engine.js +56 -56
  102. package/lib/tr-grid-util/es6/formula/Formula.js +62 -62
  103. package/lib/tr-grid-util/es6/formula/IntervalSubscription.js +3 -3
  104. package/lib/tr-grid-util/es6/formula/Realtime.js +15 -15
  105. package/lib/tr-grid-util/es6/formula/RealtimeService.js +15 -15
  106. package/lib/tr-grid-util/es6/formula/TSIService.js +2 -2
  107. package/lib/tr-grid-util/es6/formula/TSISubscription.js +104 -104
  108. package/lib/tr-grid-util/es6/formula/VariableToken.js +20 -20
  109. package/lib/tr-grid-util/es6/formula/functions/AdFin.js +10 -10
  110. package/lib/tr-grid-util/es6/formula/functions/Excel.js +1 -1
  111. package/lib/tr-grid-util/es6/formula/functions/Info.js +2 -2
  112. package/lib/tr-grid-util/es6/formula/functions/Internal.js +5 -5
  113. package/lib/tr-grid-util/es6/formula/functions/Logic.js +5 -5
  114. package/lib/tr-grid-util/es6/formula/functions/Math.js +46 -46
  115. package/lib/tr-grid-util/es6/formula/functions/Statistics.js +27 -27
  116. package/lib/tr-grid-util/es6/formula/functions/Text.js +19 -19
  117. package/lib/tr-grid-util/es6/index.js +1 -1
  118. package/lib/tr-grid-util/es6/jet/Adc.js +36 -36
  119. package/lib/tr-grid-util/es6/jet/CollectionDict.js +11 -11
  120. package/lib/tr-grid-util/es6/jet/DataGenerator.js +95 -95
  121. package/lib/tr-grid-util/es6/jet/DataSet.js +1 -1
  122. package/lib/tr-grid-util/es6/jet/MockArchive.js +5 -5
  123. package/lib/tr-grid-util/es6/jet/MockJET.js +1 -1
  124. package/lib/tr-grid-util/es6/jet/MockQuotes.js +13 -13
  125. package/lib/tr-grid-util/es6/jet/MockQuotes2.js +100 -100
  126. package/lib/tr-grid-util/es6/jet/MockRTK.js +4 -4
  127. package/lib/tr-grid-util/es6/jet/MockUtil.js +2 -2
  128. package/lib/tr-grid-util/es6/jet/index.js +1 -1
  129. package/lib/tr-grid-util/es6/jet/mockDataAPI.js +15 -15
  130. package/lib/tr-grid-util/es6/locale/translation-de.js +1 -1
  131. package/lib/tr-grid-util/es6/locale/translation-en.js +1 -1
  132. package/lib/tr-grid-util/es6/locale/translation-ja.js +1 -1
  133. package/lib/tr-grid-util/es6/locale/translation-zh-hant.js +1 -1
  134. package/lib/tr-grid-util/es6/locale/translation-zh.js +1 -1
  135. package/lib/tr-grid-util/es6/locale/translation.js +1 -1
  136. package/lib/types/es6/ColumnDragging.d.ts +1 -1
  137. package/lib/types/es6/ColumnGrouping.d.ts +3 -1
  138. package/lib/types/es6/Core/data/DataTable.d.ts +4 -0
  139. package/lib/types/es6/Core/data/DataView.d.ts +2 -0
  140. package/lib/types/es6/Core/data/SegmentCollection.d.ts +2 -0
  141. package/lib/types/es6/Core/index.d.ts +0 -2
  142. package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +2 -1
  143. package/lib/types/es6/RowDragging.d.ts +1 -2
  144. package/lib/versions.json +12 -12
  145. package/package.json +1 -1
  146. package/lib/core/es6/grid/util/ElementFrameWork.d.ts +0 -18
  147. package/lib/core/es6/grid/util/ElementFrameWork.js +0 -227
  148. package/lib/core/es6/grid/util/HttpRequest.d.ts +0 -53
  149. package/lib/core/es6/grid/util/HttpRequest.js +0 -371
  150. package/lib/core/es6/grid/util/PercentBar.d.ts +0 -43
  151. package/lib/core/es6/grid/util/PercentBar.js +0 -390
  152. package/lib/core/es6/grid/util/PercentBarRenderer.d.ts +0 -41
  153. package/lib/core/es6/grid/util/PercentBarRenderer.js +0 -316
  154. package/lib/core/es6/grid/util/RangeBar.d.ts +0 -25
  155. package/lib/core/es6/grid/util/RangeBar.js +0 -255
  156. package/lib/types/es6/Core/grid/util/ElementFrameWork.d.ts +0 -18
  157. package/lib/types/es6/Core/grid/util/HttpRequest.d.ts +0 -53
  158. package/lib/types/es6/Core/grid/util/PercentBar.d.ts +0 -43
  159. package/lib/types/es6/Core/grid/util/PercentBarRenderer.d.ts +0 -41
  160. package/lib/types/es6/Core/grid/util/RangeBar.d.ts +0 -25
@@ -36,8 +36,8 @@ import HScrollbar from "./components/HScrollbar.js";
36
36
  * @param {Object=} options
37
37
  * @extends {ElementWrapper}
38
38
  */
39
- var LayoutGrid = function (options) {
40
- var _t = this;
39
+ let LayoutGrid = function (options) {
40
+ let _t = this;
41
41
 
42
42
  _t._onMouseMove = _t._onMouseMove.bind(_t);
43
43
  _t._onMouseOut = _t._onMouseOut.bind(_t);
@@ -290,7 +290,7 @@ LayoutGrid.prototype.dispose = function () {
290
290
 
291
291
  this._ctxRows.dispose();
292
292
  this._stretchedCells.dispose();
293
- for (var i = this._columns.length; --i >= 0; ) {
293
+ for (let i = this._columns.length; --i >= 0; ) {
294
294
  this._columns[i].dispose();
295
295
  }
296
296
 
@@ -327,7 +327,7 @@ LayoutGrid.prototype.setWidth = function (px) {
327
327
  return false;
328
328
  }
329
329
 
330
- var changes = this._trackX.setTrackSize(px - this._rightSpaceSize); // WARNING: Perform scalling instead of setting width directly
330
+ let changes = this._trackX.setTrackSize(px - this._rightSpaceSize); // WARNING: Perform scalling instead of setting width directly
331
331
 
332
332
  if (changes == null) {
333
333
  return false;
@@ -359,7 +359,7 @@ LayoutGrid.prototype.setHeight = function (px) {
359
359
  return false;
360
360
  }
361
361
 
362
- var changes = this._trackY.setTrackSize(px); // WARNING: Perform scalling instead of setting height directly
362
+ let changes = this._trackY.setTrackSize(px); // WARNING: Perform scalling instead of setting height directly
363
363
 
364
364
  if (changes == null) {
365
365
  return true;
@@ -403,24 +403,24 @@ LayoutGrid.prototype.hitTest = function (x, y, opt_omitSpan) {
403
403
  return null;
404
404
  }
405
405
 
406
- var hitX = this._trackX.hitTest(x);
406
+ let hitX = this._trackX.hitTest(x);
407
407
 
408
408
  if (hitX < 0) {
409
409
  return null;
410
410
  }
411
411
 
412
- var hitY = this._trackY.hitTest(y);
412
+ let hitY = this._trackY.hitTest(y);
413
413
 
414
414
  if (hitY < 0) {
415
415
  return null;
416
416
  }
417
417
 
418
- var result = {};
418
+ let result = {};
419
419
  result["colIndex"] = hitX;
420
420
  result["rowIndex"] = hitY;
421
421
 
422
422
  if (opt_omitSpan !== true) {
423
- var cellSpan = this._cellSpans.getOccupyingSpan(hitX, hitY);
423
+ let cellSpan = this._cellSpans.getOccupyingSpan(hitX, hitY);
424
424
 
425
425
  if (cellSpan) {
426
426
  result["colIndex"] = cellSpan.indexX;
@@ -495,12 +495,12 @@ LayoutGrid.prototype.getDefaultRowHeight = function () {
495
495
  * @inheritDoc
496
496
  */
497
497
  LayoutGrid.prototype.setDefaultRowHeight = function (val) {
498
- var defaultH = this._trackY.getDefaultLaneSize();
498
+ let defaultH = this._trackY.getDefaultLaneSize();
499
499
 
500
500
  if (defaultH !== val) {
501
501
  this._trackY.setDefaultLaneSize(val);
502
502
 
503
- for (var i = 0; i < this._colCount; ++i) {
503
+ for (let i = 0; i < this._colCount; ++i) {
504
504
  this._columns[i].setHeight(val);
505
505
  }
506
506
 
@@ -577,7 +577,7 @@ LayoutGrid.prototype.setRowHeight = function (rowIndex, val) {
577
577
  return false;
578
578
  }
579
579
 
580
- var dirty = this._trackY.setLaneSize(rowIndex, val);
580
+ let dirty = this._trackY.setLaneSize(rowIndex, val);
581
581
 
582
582
  this._syncLayoutToRows(rowIndex, rowIndex + 1); // Update UI. WARNING: Very slow
583
583
 
@@ -599,10 +599,10 @@ LayoutGrid.prototype.setRowHeight = function (rowIndex, val) {
599
599
  * @returns {boolean}
600
600
  */
601
601
  LayoutGrid.prototype._updateRowHeights = function (track, start) {
602
- var dirty = 0;
602
+ let dirty = 0;
603
603
 
604
- for (var i = 0; i < this._rowCount; ++i) {
605
- var val = track.getLaneSize(start);
604
+ for (let i = 0; i < this._rowCount; ++i) {
605
+ let val = track.getLaneSize(start);
606
606
 
607
607
  dirty |= this._trackY.setLaneSize(i, val);
608
608
  ++start;
@@ -726,11 +726,11 @@ LayoutGrid.prototype.getCellTop = function (indexY) {
726
726
  * @inheritDoc
727
727
  */
728
728
  LayoutGrid.prototype.getCellWidth = function (indexX, indexY) {
729
- var cellSpan = this._cellSpans.getOccupyingSpan(indexX, indexY);
729
+ let cellSpan = this._cellSpans.getOccupyingSpan(indexX, indexY);
730
730
 
731
731
  if (cellSpan) {
732
- var spanStart = this._trackX.getLaneStart(cellSpan.indexX);
733
- var spanEnd = this._trackX.getLaneEnd(cellSpan.indexX + cellSpan.colSpan - 1);
732
+ let spanStart = this._trackX.getLaneStart(cellSpan.indexX);
733
+ let spanEnd = this._trackX.getLaneEnd(cellSpan.indexX + cellSpan.colSpan - 1);
734
734
 
735
735
  return spanEnd - spanStart;
736
736
  }
@@ -743,11 +743,11 @@ LayoutGrid.prototype.getCellWidth = function (indexX, indexY) {
743
743
  * @inheritDoc
744
744
  */
745
745
  LayoutGrid.prototype.getCellHeight = function (indexX, indexY) {
746
- var cellSpan = this._cellSpans.getOccupyingSpan(indexX, indexY);
746
+ let cellSpan = this._cellSpans.getOccupyingSpan(indexX, indexY);
747
747
 
748
748
  if (cellSpan) {
749
- var spanStart = this._trackY.getLaneStart(cellSpan.indexY);
750
- var spanEnd = this._trackY.getLaneEnd(cellSpan.indexY + cellSpan.rowSpan - 1);
749
+ let spanStart = this._trackY.getLaneStart(cellSpan.indexY);
750
+ let spanEnd = this._trackY.getLaneEnd(cellSpan.indexY + cellSpan.rowSpan - 1);
751
751
 
752
752
  return spanEnd - spanStart;
753
753
  }
@@ -776,7 +776,7 @@ LayoutGrid.prototype.getCellRowSpan = function (indexX, indexY) {
776
776
  * @inheritDoc
777
777
  */
778
778
  LayoutGrid.prototype.setCellRowSpan = function (indexX, indexY, spanVal) {
779
- var cellSpan = this._cellSpans.setRowSpan(indexX, indexY, spanVal);
779
+ let cellSpan = this._cellSpans.setRowSpan(indexX, indexY, spanVal);
780
780
 
781
781
  this._updateCellSpanSize(indexX, indexY, cellSpan);
782
782
 
@@ -795,7 +795,7 @@ LayoutGrid.prototype.setCellRowSpan = function (indexX, indexY, spanVal) {
795
795
  return cellSpan.retVal !== 0;
796
796
  }
797
797
 
798
- var cell = this._getCell(indexX, indexY);
798
+ let cell = this._getCell(indexX, indexY);
799
799
 
800
800
  if (cell && cell._rowSpan > 1) {
801
801
  this._updateCellSpanClass(indexX, indexY, cell._colSpan, cell._rowSpan, false);
@@ -817,7 +817,7 @@ LayoutGrid.prototype.getCellColSpan = function (indexX, indexY) {
817
817
  * @inheritDoc
818
818
  */
819
819
  LayoutGrid.prototype.setCellColSpan = function (indexX, indexY, spanVal) {
820
- var cellSpan = this._cellSpans.setColSpan(indexX, indexY, spanVal);
820
+ let cellSpan = this._cellSpans.setColSpan(indexX, indexY, spanVal);
821
821
 
822
822
  this._updateCellSpanSize(indexX, indexY, cellSpan);
823
823
 
@@ -836,7 +836,7 @@ LayoutGrid.prototype.setCellColSpan = function (indexX, indexY, spanVal) {
836
836
  return cellSpan.retVal !== 0;
837
837
  }
838
838
 
839
- var cell = this._getCell(indexX, indexY);
839
+ let cell = this._getCell(indexX, indexY);
840
840
 
841
841
  if (cell && cell._colSpan > 1) {
842
842
  this._updateCellSpanClass(indexX, indexY, cell._colSpan, cell._rowSpan, false);
@@ -850,14 +850,14 @@ LayoutGrid.prototype.setCellColSpan = function (indexX, indexY, spanVal) {
850
850
  * @inheritDoc
851
851
  */
852
852
  LayoutGrid.prototype.clearCellSpans = function () {
853
- var cellSpans = this._cellSpans.clearAllSpans();
853
+ let cellSpans = this._cellSpans.clearAllSpans();
854
854
 
855
855
  if (cellSpans == null) {
856
856
  return false;
857
857
  }
858
858
 
859
- for (var i = cellSpans.length; --i >= 0; ) {
860
- var cellSpan = cellSpans[i];
859
+ for (let i = cellSpans.length; --i >= 0; ) {
860
+ let cellSpan = cellSpans[i];
861
861
 
862
862
  this._updateCellSpan(cellSpan.indexX, cellSpan.indexY, cellSpan, false);
863
863
  }
@@ -870,14 +870,14 @@ LayoutGrid.prototype.clearCellSpans = function () {
870
870
  * @inheritDoc
871
871
  */
872
872
  LayoutGrid.prototype.clearColumnSpans = function (indexX) {
873
- var cellSpans = this._cellSpans.removeSpanByColIndex(indexX);
873
+ let cellSpans = this._cellSpans.removeSpanByColIndex(indexX);
874
874
 
875
875
  if (cellSpans == null) {
876
876
  return false;
877
877
  }
878
878
 
879
- for (var i = cellSpans.length; --i >= 0; ) {
880
- var cellSpan = cellSpans[i];
879
+ for (let i = cellSpans.length; --i >= 0; ) {
880
+ let cellSpan = cellSpans[i];
881
881
 
882
882
  this._updateCellSpan(cellSpan.indexX, cellSpan.indexY, cellSpan, false);
883
883
  }
@@ -941,8 +941,8 @@ LayoutGrid.prototype.setRowScalability = function (indexY, val) {
941
941
  */
942
942
  LayoutGrid.prototype.getCell = function (indexX, indexY, opt_includeSpan) {
943
943
  if (opt_includeSpan && this._cellSpans.hasSpan()) {
944
- var colSpan = this._cellSpans.getColSpan(indexX, indexY);
945
- var rowSpan = this._cellSpans.getRowSpan(indexX, indexY);
944
+ let colSpan = this._cellSpans.getColSpan(indexX, indexY);
945
+ let rowSpan = this._cellSpans.getRowSpan(indexX, indexY);
946
946
 
947
947
  if (colSpan < 0) {
948
948
  indexX += colSpan;
@@ -961,7 +961,7 @@ LayoutGrid.prototype.getCell = function (indexX, indexY, opt_includeSpan) {
961
961
  * @inheritDoc
962
962
  */
963
963
  LayoutGrid.prototype.getCellContent = function (indexX, indexY) {
964
- var cell = this.getCell(indexX, indexY);
964
+ let cell = this.getCell(indexX, indexY);
965
965
 
966
966
  if (cell !== null) {
967
967
  return cell.getContent();
@@ -975,7 +975,7 @@ LayoutGrid.prototype.getCellContent = function (indexX, indexY) {
975
975
  * @inheritDoc
976
976
  */
977
977
  LayoutGrid.prototype.setCellContent = function (indexX, indexY, data) {
978
- var cell = this.getCell(indexX, indexY);
978
+ let cell = this.getCell(indexX, indexY);
979
979
 
980
980
  if (cell == null) {
981
981
  window.console.log("Error: Accessing nonexistent cell in Grid's Table");
@@ -1007,13 +1007,13 @@ LayoutGrid.prototype.setColumnCount = function (val) {
1007
1007
  return;
1008
1008
  }
1009
1009
 
1010
- var oldColCount = this._colCount;
1010
+ let oldColCount = this._colCount;
1011
1011
 
1012
1012
  this._trackX.setLaneCount(val); // Need to be set before syncing layout
1013
1013
  this._colCount = this._trackX.getLaneCount();
1014
1014
 
1015
- var i = 0;
1016
- var column = null;
1015
+ let i = 0;
1016
+ let column = null;
1017
1017
 
1018
1018
  if (oldColCount > val) {
1019
1019
  for (i = oldColCount; --i >= val; ) {
@@ -1070,8 +1070,8 @@ LayoutGrid.prototype.setRowCount = function (val, noBinding) {
1070
1070
  return;
1071
1071
  }
1072
1072
 
1073
- var c;
1074
- var oldRowCount = this._rowCount;
1073
+ let c;
1074
+ let oldRowCount = this._rowCount;
1075
1075
 
1076
1076
  this._trackY.setLaneCount(val); // Need to be set before syncing layout
1077
1077
  this._rowCount = this._trackY.getLaneCount();
@@ -1100,7 +1100,7 @@ LayoutGrid.prototype.setRowCount = function (val, noBinding) {
1100
1100
 
1101
1101
  // Clear selection of the removed rows
1102
1102
  if (val > 0) {
1103
- for (var i = val; i < oldRowCount; ++i) {
1103
+ for (let i = val; i < oldRowCount; ++i) {
1104
1104
  this._selectionList.deselect(i); // No UI change
1105
1105
  }
1106
1106
  } else {
@@ -1110,7 +1110,7 @@ LayoutGrid.prototype.setRowCount = function (val, noBinding) {
1110
1110
  this._syncLayoutToRows(oldRowCount, val);
1111
1111
  }
1112
1112
 
1113
- var e = {};
1113
+ let e = {};
1114
1114
 
1115
1115
  e["prevCount"] = oldRowCount;
1116
1116
  e["rowCount"] = this._rowCount;
@@ -1176,7 +1176,7 @@ LayoutGrid.prototype.setBorders = function (lft, top, rgt, btm) {
1176
1176
  * @inheritDoc
1177
1177
  */
1178
1178
  LayoutGrid.prototype.getColumnStyle = function (colIndex, styleName) {
1179
- var column = this._columns[colIndex];
1179
+ let column = this._columns[colIndex];
1180
1180
 
1181
1181
  if (column) {
1182
1182
  return column.getStyle(styleName);
@@ -1190,7 +1190,7 @@ LayoutGrid.prototype.getColumnStyle = function (colIndex, styleName) {
1190
1190
  * @inheritDoc
1191
1191
  */
1192
1192
  LayoutGrid.prototype.setColumnStyle = function (colIndex, styleName, value) {
1193
- var column = this._columns[colIndex];
1193
+ let column = this._columns[colIndex];
1194
1194
  if (column) {
1195
1195
  column.setStyle(styleName, value);
1196
1196
  }
@@ -1201,7 +1201,7 @@ LayoutGrid.prototype.setColumnStyle = function (colIndex, styleName, value) {
1201
1201
  * @inheritDoc
1202
1202
  */
1203
1203
  LayoutGrid.prototype.enableColumnClass = function (colIndex, className, enabled) {
1204
- var column = this._columns[colIndex];
1204
+ let column = this._columns[colIndex];
1205
1205
 
1206
1206
  if (column) {
1207
1207
  column.enableClass(className, enabled);
@@ -1213,7 +1213,7 @@ LayoutGrid.prototype.enableColumnClass = function (colIndex, className, enabled)
1213
1213
  * @inheritDoc
1214
1214
  */
1215
1215
  LayoutGrid.prototype.hasColumnClass = function (colIndex, className) {
1216
- var column = this._columns[colIndex];
1216
+ let column = this._columns[colIndex];
1217
1217
 
1218
1218
  return (column) ? column.hasClass(className) : false;
1219
1219
  };
@@ -1224,7 +1224,7 @@ LayoutGrid.prototype.hasColumnClass = function (colIndex, className) {
1224
1224
  */
1225
1225
  LayoutGrid.prototype.enableRowClass = function (rowIndex, className, enabled) {
1226
1226
  if (rowIndex >= 0 && rowIndex < this._rowCount) {
1227
- for (var c = 0; c < this._colCount; ++c) {
1227
+ for (let c = 0; c < this._colCount; ++c) {
1228
1228
  this._columns[c].getCell(rowIndex).enableClass(className, enabled);
1229
1229
  }
1230
1230
  }
@@ -1240,7 +1240,7 @@ LayoutGrid.prototype.setRowStyle = function (rowIndex, styleName, value, enabled
1240
1240
  value = "";
1241
1241
  }
1242
1242
 
1243
- for (var c = 0; c < this._colCount; ++c) {
1243
+ for (let c = 0; c < this._colCount; ++c) {
1244
1244
  this._columns[c].getCell(rowIndex).setStyle(styleName, value);
1245
1245
  }
1246
1246
  }
@@ -1267,13 +1267,13 @@ LayoutGrid.prototype.getContentWidth = function () {
1267
1267
  * @inheritDoc
1268
1268
  */
1269
1269
  LayoutGrid.prototype.getContentHeight = function () {
1270
- var layoutSize = this._trackY.getTrackSize();
1270
+ let layoutSize = this._trackY.getTrackSize();
1271
1271
 
1272
1272
  if (layoutSize <= 0) { // All of the cell has default size of zero
1273
1273
  if (this._colCount * this.getVisibleRowCount() > 0) {
1274
- var column = this._columns[0];
1275
- var bottomCell = column.getCell(this._rowCount - 1);
1276
- var bottom = bottomCell.getTop() + bottomCell.getHeight();
1274
+ let column = this._columns[0];
1275
+ let bottomCell = column.getCell(this._rowCount - 1);
1276
+ let bottom = bottomCell.getTop() + bottomCell.getHeight();
1277
1277
 
1278
1278
  return bottom - column.getCell(0).getTop();
1279
1279
  }
@@ -1291,9 +1291,9 @@ LayoutGrid.prototype.getCellsByRowIndex = function (rowIndex) {
1291
1291
  return null;
1292
1292
  }
1293
1293
 
1294
- var ary = new Array(this._colCount);
1294
+ let ary = new Array(this._colCount);
1295
1295
 
1296
- for (var c = 0; c < this._colCount; ++c) {
1296
+ for (let c = 0; c < this._colCount; ++c) {
1297
1297
  ary[c] = this._columns[c].getCell(rowIndex);
1298
1298
  }
1299
1299
 
@@ -1383,24 +1383,24 @@ LayoutGrid.prototype.setRowHighlight = function (rowIndex) {
1383
1383
  return;
1384
1384
  }
1385
1385
 
1386
- var prevIndex = this._rowHighlightIndex;
1386
+ let prevIndex = this._rowHighlightIndex;
1387
1387
 
1388
1388
  this._rowHighlightIndex = rowIndex;
1389
1389
 
1390
- for (var i = this._highlightedCells.length; --i >= 0;) {
1390
+ for (let i = this._highlightedCells.length; --i >= 0;) {
1391
1391
  this._highlightedCells[i].removeClass("highlighted-row"); // This will guarantee that there is no left over highlighted cell
1392
1392
  }
1393
1393
 
1394
1394
  if (rowIndex >= 0 && rowIndex < this._rowCount) {
1395
1395
  this._highlightedCells.length = this._colCount;
1396
1396
 
1397
- for (var c = this._colCount; --c >= 0;) {
1398
- var cell = this._columns[c].getCell(rowIndex);
1397
+ for (let c = this._colCount; --c >= 0;) {
1398
+ let cell = this._columns[c].getCell(rowIndex);
1399
1399
 
1400
1400
  this._highlightedCells[c] = cell;
1401
1401
  cell.addClass("highlighted-row");
1402
1402
  }
1403
- var stretchEl = this.getStretchedCell(rowIndex); // check stretched cell
1403
+ let stretchEl = this.getStretchedCell(rowIndex); // check stretched cell
1404
1404
  if(stretchEl) {
1405
1405
  this._highlightedCells.push(stretchEl);
1406
1406
  stretchEl.addClass("highlighted-row");
@@ -1410,7 +1410,7 @@ LayoutGrid.prototype.setRowHighlight = function (rowIndex) {
1410
1410
  }
1411
1411
 
1412
1412
  if (this._hasListener("rowHighlighted")) {
1413
- var e = {};
1413
+ let e = {};
1414
1414
 
1415
1415
  e["prevRowIndex"] = prevIndex;
1416
1416
  e["rowIndex"] = rowIndex;
@@ -1488,7 +1488,7 @@ LayoutGrid.prototype.selectRowRange = function (rowIndex, len) {
1488
1488
 
1489
1489
  this._selectionList.selectRange(rowIndex, len);
1490
1490
 
1491
- for (var r = 0; r < len; ++r) {
1491
+ for (let r = 0; r < len; ++r) {
1492
1492
  this._addSelectionUI(r + rowIndex);
1493
1493
  }
1494
1494
  };
@@ -1498,14 +1498,14 @@ LayoutGrid.prototype.selectRowRange = function (rowIndex, len) {
1498
1498
  * @inheritDoc
1499
1499
  */
1500
1500
  LayoutGrid.prototype.clearSelectedRows = function () {
1501
- var count = this._selectionList.getSelectionCount();
1501
+ let count = this._selectionList.getSelectionCount();
1502
1502
 
1503
1503
  if (count) {
1504
- var sels = this._selectionList.getAllSelections(); // Slow
1504
+ let sels = this._selectionList.getAllSelections(); // Slow
1505
1505
 
1506
1506
  this._selectionList.clearAllSelections();
1507
1507
 
1508
- for (var i = 0; i < count; ++i) {
1508
+ for (let i = 0; i < count; ++i) {
1509
1509
  this._removeSelectionUI(sels[i]);
1510
1510
  }
1511
1511
 
@@ -1551,12 +1551,12 @@ LayoutGrid.prototype.setRowAnchor = function (at) {
1551
1551
  * @inheritDoc
1552
1552
  */
1553
1553
  LayoutGrid.prototype.activateColumn = function (colIndex, opt_bool) {
1554
- var column = this._columns[colIndex];
1554
+ let column = this._columns[colIndex];
1555
1555
 
1556
1556
  if (column) {
1557
- var dirty = column.activate(opt_bool);
1557
+ let dirty = column.activate(opt_bool);
1558
1558
  if (opt_bool && dirty && this._rightSpace) {
1559
- var pn = this._rightSpace.parentNode;
1559
+ let pn = this._rightSpace.parentNode;
1560
1560
  if (pn) {
1561
1561
  pn.appendChild(this._rightSpace);
1562
1562
  }
@@ -1578,7 +1578,7 @@ LayoutGrid.prototype.activateRows = function () {
1578
1578
  LayoutGrid.prototype.moveRowsToTop = function (numRows) {
1579
1579
  this._ctxRows.moveItemsToTop(numRows);
1580
1580
  this._stretchedCells.moveCellsToTop(numRows);
1581
- for (var c = 0; c < this._colCount; ++c) {
1581
+ for (let c = 0; c < this._colCount; ++c) {
1582
1582
  this._columns[c].moveCellsToTop(numRows);
1583
1583
  }
1584
1584
  };
@@ -1658,14 +1658,14 @@ LayoutGrid.prototype.insertColumn = function (index, opt_json) {
1658
1658
  index = this._colCount;
1659
1659
  }
1660
1660
 
1661
- var atTheMiddle = index < this._colCount;
1662
- var cellSpans = this._cellSpans.getAllSpans();
1661
+ let atTheMiddle = index < this._colCount;
1662
+ let cellSpans = this._cellSpans.getAllSpans();
1663
1663
 
1664
1664
  this._updateCellSpans(cellSpans, false); // Clear all styling
1665
1665
  this._trackX.insertLane(index, opt_json);
1666
1666
  this._colCount = this._trackX.getLaneCount();
1667
1667
 
1668
- var column = this._newColumn(index);
1668
+ let column = this._newColumn(index);
1669
1669
 
1670
1670
  this._updateColumnIndices();
1671
1671
 
@@ -1679,13 +1679,13 @@ LayoutGrid.prototype.insertColumn = function (index, opt_json) {
1679
1679
  // this._syncLayoutToColumns(index); // Core grid will guarantee updating width to each section
1680
1680
 
1681
1681
  // Select the newly added cell, if there is a row selection
1682
- var count = this._selectionList.getSelectionCount();
1682
+ let count = this._selectionList.getSelectionCount();
1683
1683
 
1684
1684
  if (count) {
1685
- var sels = this._selectionList.getAllSelections(); // Slow
1685
+ let sels = this._selectionList.getAllSelections(); // Slow
1686
1686
 
1687
- for (var i = sels.length; --i >= 0;) {
1688
- var cell = column.getCell(sels[i]);
1687
+ for (let i = sels.length; --i >= 0;) {
1688
+ let cell = column.getCell(sels[i]);
1689
1689
 
1690
1690
  if (cell) {
1691
1691
  cell.addClass("selected-row");
@@ -1705,18 +1705,18 @@ LayoutGrid.prototype.insertColumn = function (index, opt_json) {
1705
1705
  * @inheritDoc
1706
1706
  */
1707
1707
  LayoutGrid.prototype.removeColumnAt = function (index) {
1708
- var definition = this._trackX.removeLaneAt(index);
1708
+ let definition = this._trackX.removeLaneAt(index);
1709
1709
 
1710
1710
  if (definition == null) {
1711
1711
  return null;
1712
1712
  }
1713
1713
 
1714
- var cellSpans = this._cellSpans.getAllSpans();
1714
+ let cellSpans = this._cellSpans.getAllSpans();
1715
1715
 
1716
1716
  this._updateCellSpans(cellSpans, false); // Clear all styling
1717
1717
  this._colCount = this._trackX.getLaneCount();
1718
1718
 
1719
- var column = this._columns.splice(index, 1)[0];
1719
+ let column = this._columns.splice(index, 1)[0];
1720
1720
 
1721
1721
  column.dispose();
1722
1722
  definition["control"] = column;
@@ -1758,18 +1758,18 @@ LayoutGrid.prototype.moveColumn = function (from, to) {
1758
1758
  return;
1759
1759
  }
1760
1760
 
1761
- var cellSpans = this._cellSpans.getAllSpans();
1761
+ let cellSpans = this._cellSpans.getAllSpans();
1762
1762
 
1763
1763
  this._updateCellSpans(cellSpans, false); // Clear all styling
1764
1764
  this._trackX.moveLane(from, to);
1765
1765
 
1766
- var movedColumn = this._columns[from];
1766
+ let movedColumn = this._columns[from];
1767
1767
 
1768
1768
  Util.moveArrayItem(this._columns, from, to);
1769
1769
 
1770
1770
  if(movedColumn.getElement().offsetParent) {
1771
- var siblingIndex = to + 1;
1772
- var nextSibling = this._columns[siblingIndex] || null;
1771
+ let siblingIndex = to + 1;
1772
+ let nextSibling = this._columns[siblingIndex] || null;
1773
1773
  while (nextSibling && !nextSibling.getElement().offsetParent) {
1774
1774
  nextSibling = this._columns[++siblingIndex];
1775
1775
  }
@@ -1779,7 +1779,7 @@ LayoutGrid.prototype.moveColumn = function (from, to) {
1779
1779
  this._updateColumnIndices();
1780
1780
  this._updateCellSpans(cellSpans, true); // Restore all styling
1781
1781
 
1782
- var minIndex = (from < to) ? from : to;
1782
+ let minIndex = (from < to) ? from : to;
1783
1783
 
1784
1784
  this._syncLayoutToColumns(minIndex);
1785
1785
  };
@@ -1812,9 +1812,9 @@ LayoutGrid.prototype.getColumnIndex = function (colElem) {
1812
1812
  if(colElem["stretched"]) {
1813
1813
  return this._stretchedCells.getColumnIndex(colElem);
1814
1814
  }
1815
- var len = this._columns.length;
1815
+ let len = this._columns.length;
1816
1816
 
1817
- for (var i = 0; i < len; ++i) {
1817
+ for (let i = 0; i < len; ++i) {
1818
1818
  if (this._columns[i].getElement() === colElem) {
1819
1819
  return i;
1820
1820
  }
@@ -1835,7 +1835,7 @@ LayoutGrid.prototype.getCellIndex = function (colIndex, cellElem) {
1835
1835
  return this._stretchedCells.getRowIndex(cellElem);
1836
1836
  }
1837
1837
 
1838
- var column = this._columns[colIndex];
1838
+ let column = this._columns[colIndex];
1839
1839
  if(column) {
1840
1840
  return column.getCellIndex(cellElem);
1841
1841
  }
@@ -1893,7 +1893,7 @@ LayoutGrid.prototype.updateLayout = function () {
1893
1893
  * @inheritDoc
1894
1894
  */
1895
1895
  LayoutGrid.prototype.stretchCell = function (cellRef, rowIndex, opt_stretching, onlyToTheRight) {
1896
- var colIndex = -1;
1896
+ let colIndex = -1;
1897
1897
  if (typeof cellRef === "number") {
1898
1898
  colIndex = cellRef;
1899
1899
  if(rowIndex == null) {
@@ -1913,11 +1913,11 @@ LayoutGrid.prototype.stretchCell = function (cellRef, rowIndex, opt_stretching,
1913
1913
  return null;
1914
1914
  }
1915
1915
 
1916
- var stretching = (opt_stretching !== false);
1917
- var cell = null;
1916
+ let stretching = (opt_stretching !== false);
1917
+ let cell = null;
1918
1918
 
1919
1919
  if (stretching) {
1920
- var coverLayer = this._coverLayer;
1920
+ let coverLayer = this._coverLayer;
1921
1921
  if(!coverLayer) {
1922
1922
  coverLayer = this._coverLayer = document.createElement("div");
1923
1923
  coverLayer.className = "cover-layer";
@@ -1931,7 +1931,7 @@ LayoutGrid.prototype.stretchCell = function (cellRef, rowIndex, opt_stretching,
1931
1931
  cell = this._stretchedCells.unstretchCell(rowIndex);
1932
1932
  }
1933
1933
  if(cell) {
1934
- var selected = this._selectionList.getSelection(rowIndex);
1934
+ let selected = this._selectionList.getSelection(rowIndex);
1935
1935
  cell.enableClass("selected-row", selected); // It's can enable class without get stretch cell again.
1936
1936
  }
1937
1937
  return cell;
@@ -1979,7 +1979,7 @@ LayoutGrid.prototype.getStretchedCells = function () { // TODO: Deprecate this m
1979
1979
  * @inheritDoc */
1980
1980
  LayoutGrid.prototype.updateStretchedCells = function () {
1981
1981
  this._updateLayers();
1982
- var childCount = this._coverLayer ? this._coverLayer.children.length : 0; // TODO: Currently assume only stretched cells exists
1982
+ let childCount = this._coverLayer ? this._coverLayer.children.length : 0; // TODO: Currently assume only stretched cells exists
1983
1983
  if (childCount <= 0) {
1984
1984
  return false;
1985
1985
  }
@@ -1998,11 +1998,11 @@ LayoutGrid.prototype._calculateViewSize = function (forceRecal) {
1998
1998
  return this._stretchedCells.getStretchSize();
1999
1999
  }
2000
2000
 
2001
- var ctx = this._ctx;
2002
- var stretchSize = forceRecal ? 0 : this._stretchedCells.getStretchSize();
2001
+ let ctx = this._ctx;
2002
+ let stretchSize = forceRecal ? 0 : this._stretchedCells.getStretchSize();
2003
2003
  if(!stretchSize && ctx) {
2004
2004
  if(ctx["getWidth"]) {
2005
- var contentWidth = this.getContentWidth();
2005
+ let contentWidth = this.getContentWidth();
2006
2006
  stretchSize = ctx["getWidth"]();
2007
2007
  if(stretchSize) { // Grid may not be in the document
2008
2008
  if(contentWidth < stretchSize) { // If view width is larger than actual content
@@ -2025,7 +2025,7 @@ LayoutGrid.prototype._calculateViewSize = function (forceRecal) {
2025
2025
  * @param {boolean} enabled
2026
2026
  */
2027
2027
  LayoutGrid.prototype._enableStretchCellClass = function (rowIndex, className, enabled ) {
2028
- var stretchEl = this.getStretchedCell(rowIndex); // check stretched cell
2028
+ let stretchEl = this.getStretchedCell(rowIndex); // check stretched cell
2029
2029
  if(stretchEl) {
2030
2030
  stretchEl.enableClass(className, enabled);
2031
2031
  }
@@ -2092,7 +2092,7 @@ LayoutGrid.prototype.getRowLayout = function () {
2092
2092
  LayoutGrid.prototype.reserveRightSpace = function (size) {
2093
2093
  if (size && size > 0) {
2094
2094
  if (!this._rightSpace) {
2095
- var rs = this._rightSpace = document.createElement("div");
2095
+ let rs = this._rightSpace = document.createElement("div");
2096
2096
  rs.className = "tr-reserved-space";
2097
2097
  rs.style.height = this.getContentHeight() + "px";
2098
2098
 
@@ -2106,7 +2106,7 @@ LayoutGrid.prototype.reserveRightSpace = function (size) {
2106
2106
 
2107
2107
  this._updateCssWidth();
2108
2108
  } else if (this._rightSpace) {
2109
- var pn = this._rightSpace.parentNode;
2109
+ let pn = this._rightSpace.parentNode;
2110
2110
 
2111
2111
  if (pn) {
2112
2112
  pn.removeChild(this._rightSpace);
@@ -2125,17 +2125,17 @@ LayoutGrid.prototype.reserveRightSpace = function (size) {
2125
2125
  * @ignore
2126
2126
  */
2127
2127
  LayoutGrid.prototype._updateRightSpaceStyle = function() {
2128
- var rs = this._rightSpace;
2128
+ let rs = this._rightSpace;
2129
2129
  if(!rs) {
2130
2130
  return;
2131
2131
  }
2132
- var isScrollbarActive = false;
2133
- var pinnedRgtCount = 0;
2132
+ let isScrollbarActive = false;
2133
+ let pinnedRgtCount = 0;
2134
2134
  if(this._hscrollbar) {
2135
2135
  isScrollbarActive = this._hscrollbar.isActive();
2136
2136
  pinnedRgtCount = this._hscrollbar.getPinnedRightColumnCount();
2137
2137
  }
2138
- var absolutePos = isScrollbarActive && !pinnedRgtCount; // if true, the right space element will be positioned absolutely
2138
+ let absolutePos = isScrollbarActive && !pinnedRgtCount; // if true, the right space element will be positioned absolutely
2139
2139
 
2140
2140
  if (absolutePos) {
2141
2141
  rs.style.top = this._trackY.getLaneStart(this._activeRow) + "px";
@@ -2153,7 +2153,7 @@ LayoutGrid.prototype._updateRightSpaceStyle = function() {
2153
2153
  */
2154
2154
  LayoutGrid.prototype._updateLayers = function() {
2155
2155
  if(this._rightSpace) {
2156
- var pn = this._rightSpace.parentNode; // rightSpace can be located in two places: layout grid and pane slider
2156
+ let pn = this._rightSpace.parentNode; // rightSpace can be located in two places: layout grid and pane slider
2157
2157
  if(pn) {
2158
2158
  pn.appendChild(this._rightSpace);
2159
2159
  } else {
@@ -2181,7 +2181,7 @@ LayoutGrid.prototype.getReservedSpace = function () {
2181
2181
  * @inheritDoc
2182
2182
  */
2183
2183
  LayoutGrid.prototype.getComputedStyle = function () {
2184
- var elem = this._element;
2184
+ let elem = this._element;
2185
2185
 
2186
2186
  return elem.offsetParent ? getComputedStyle(elem) : null;
2187
2187
  };
@@ -2191,7 +2191,7 @@ LayoutGrid.prototype.getComputedStyle = function () {
2191
2191
  * @inheritDoc
2192
2192
  */
2193
2193
  LayoutGrid.prototype.isColumnActive = function (colIndex) {
2194
- var column = this._columns[colIndex];
2194
+ let column = this._columns[colIndex];
2195
2195
 
2196
2196
  return column ? column.isActive() : false;
2197
2197
  };
@@ -2205,11 +2205,11 @@ LayoutGrid.prototype.setRowAttributes = function (rowIndex, func) {
2205
2205
  return;
2206
2206
  }
2207
2207
 
2208
- for (var c = 0; c < this._colCount; ++c) {
2209
- var result = func(c);
2210
- for (var i = result.length; --i >= 0;) {
2211
- var entry = result[i];
2212
- var cell = this._columns[c].getCell(rowIndex);
2208
+ for (let c = 0; c < this._colCount; ++c) {
2209
+ let result = func(c);
2210
+ for (let i = result.length; --i >= 0;) {
2211
+ let entry = result[i];
2212
+ let cell = this._columns[c].getCell(rowIndex);
2213
2213
 
2214
2214
  if (!cell) {
2215
2215
  continue;
@@ -2241,7 +2241,7 @@ LayoutGrid.prototype.selectColumn = function (colIndex, selected) {
2241
2241
  if(selected) {
2242
2242
  this._colSelDirty = true;
2243
2243
 
2244
- var boundLayer = this._boundLayer;
2244
+ let boundLayer = this._boundLayer;
2245
2245
  if(!boundLayer) {
2246
2246
  this._initBoundLayer();
2247
2247
  this._updateLayers();
@@ -2261,7 +2261,7 @@ LayoutGrid.prototype.isSelectedColumn = function (colIndex) {
2261
2261
  * @param {boolean=} selected
2262
2262
  */
2263
2263
  LayoutGrid.prototype.selectCell = function (colIndex, rowIndex, selected) {
2264
- var cell = this._getCell(colIndex, rowIndex);
2264
+ let cell = this._getCell(colIndex, rowIndex);
2265
2265
  if(cell) {
2266
2266
  cell.enableClass("selection", selected);
2267
2267
  }
@@ -2288,21 +2288,21 @@ LayoutGrid.prototype.getHorizontalLayout = function () {
2288
2288
  * @param {!Array.<boolean>} outNoBorders
2289
2289
  */
2290
2290
  LayoutGrid.prototype.calculateColumnBounds = function (lftIdx, rgtIdx, outPositions, outNoBorders) {
2291
- var lftPx = 0;
2292
- var rgtPx = 0;
2293
- var noLftBorder = false;
2294
- var noRgtBorder = false;
2295
- var pinnedRgtIdx = this._trackX.getLaneCount();
2291
+ let lftPx = 0;
2292
+ let rgtPx = 0;
2293
+ let noLftBorder = false;
2294
+ let noRgtBorder = false;
2295
+ let pinnedRgtIdx = this._trackX.getLaneCount();
2296
2296
  if(lftIdx >= 0) {
2297
2297
  lftPx = this._trackX.getLaneStart(lftIdx);
2298
2298
  rgtPx = this._trackX.getLaneEnd(rgtIdx);
2299
2299
  }
2300
2300
  if(lftPx < rgtPx) {
2301
- var lftView = 0;
2302
- var rgtView, rgtLimit;
2303
- var scrollLeft = 0;
2304
- var pinnedLftCount = 0;
2305
- var pinnedRgtCount = 0;
2301
+ let lftView = 0;
2302
+ let rgtView, rgtLimit;
2303
+ let scrollLeft = 0;
2304
+ let pinnedLftCount = 0;
2305
+ let pinnedRgtCount = 0;
2306
2306
  if(this._hscrollbar) {
2307
2307
  scrollLeft = this._hscrollbar.getScrollLeft();
2308
2308
  pinnedLftCount = this._hscrollbar.getPinnedLeftColumnCount();
@@ -2357,8 +2357,8 @@ LayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderAry, topPx)
2357
2357
  return;
2358
2358
  }
2359
2359
 
2360
- var cbs = this._colBounds;
2361
- var cbc = this._colBoundCache;
2360
+ let cbs = this._colBounds;
2361
+ let cbc = this._colBoundCache;
2362
2362
  if(!cbs) {
2363
2363
  cbs = this._colBounds = [];
2364
2364
  }
@@ -2366,13 +2366,13 @@ LayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderAry, topPx)
2366
2366
  cbc = this._colBoundCache = [];
2367
2367
  }
2368
2368
 
2369
- var rangeCount = posAry.length;
2370
- var i;
2371
- var pn = null; // parentNode
2372
- var columnBound = null;
2369
+ let rangeCount = posAry.length;
2370
+ let i;
2371
+ let pn = null; // parentNode
2372
+ let columnBound = null;
2373
2373
 
2374
2374
  // Remove unused bounds from document
2375
- var activeCount = cbs.length;
2375
+ let activeCount = cbs.length;
2376
2376
  for(i = rangeCount; i < activeCount; ++i) {
2377
2377
  columnBound = cbs[i];
2378
2378
  pn = columnBound.parentNode;
@@ -2388,10 +2388,10 @@ LayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderAry, topPx)
2388
2388
  }
2389
2389
 
2390
2390
  for(i = 0; i < rangeCount; ++i) {
2391
- var positions = posAry[i];
2392
- var noBorders = noBorderAry[i];
2393
- var lftPx = /** @type{number} */(positions[0]);
2394
- var rgtPx = /** @type{number} */(positions[1]);
2391
+ let positions = posAry[i];
2392
+ let noBorders = noBorderAry[i];
2393
+ let lftPx = /** @type{number} */(positions[0]);
2394
+ let rgtPx = /** @type{number} */(positions[1]);
2395
2395
 
2396
2396
  columnBound = cbc[i];
2397
2397
  if(!columnBound) {
@@ -2418,20 +2418,20 @@ LayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderAry, topPx)
2418
2418
  /** @public
2419
2419
  */
2420
2420
  LayoutGrid.prototype.updateColumnSeparators = function () {
2421
- var pinnedLeftCount = this._hscrollbar.getPinnedLeftColumnCount();
2422
- var pinnedRightCount = this._hscrollbar.getPinnedRightColumnCount();
2421
+ let pinnedLeftCount = this._hscrollbar.getPinnedLeftColumnCount();
2422
+ let pinnedRightCount = this._hscrollbar.getPinnedRightColumnCount();
2423
2423
  if ((pinnedLeftCount || pinnedRightCount) && !this._boundLayer) {
2424
2424
  this._initBoundLayer();
2425
2425
  }
2426
2426
 
2427
- var isScrollbarActive = false;
2427
+ let isScrollbarActive = false;
2428
2428
  if(this._hscrollbar) {
2429
2429
  isScrollbarActive = this._hscrollbar.isActive();
2430
2430
  }
2431
2431
 
2432
- var boundLayer = this._boundLayer;
2432
+ let boundLayer = this._boundLayer;
2433
2433
 
2434
- var colSeparator = this._leftColumnSeparator;
2434
+ let colSeparator = this._leftColumnSeparator;
2435
2435
  if (isScrollbarActive && pinnedLeftCount) {
2436
2436
  if (!colSeparator) {
2437
2437
  colSeparator = this._leftColumnSeparator = this._createColumnSeparator();
@@ -2444,7 +2444,7 @@ LayoutGrid.prototype.updateColumnSeparators = function () {
2444
2444
  }
2445
2445
  }
2446
2446
 
2447
- var rightPos = this._trackX.getLaneStart(pinnedLeftCount);
2447
+ let rightPos = this._trackX.getLaneStart(pinnedLeftCount);
2448
2448
  colSeparator.style.left = (rightPos - 1) + "px";
2449
2449
  colSeparator.style.height = this._trackY.getTrackSize() + "px";
2450
2450
  } else {
@@ -2466,9 +2466,9 @@ LayoutGrid.prototype.updateColumnSeparators = function () {
2466
2466
  boundLayer.appendChild(colSeparator);
2467
2467
  }
2468
2468
  }
2469
- var colCount = this.getColumnCount();
2470
- var colWidth = this._trackX.getLaneEnd(colCount - 1) - this._trackX.getLaneStart(colCount - pinnedRightCount);
2471
- var viewSize = this._getViewSize();
2469
+ let colCount = this.getColumnCount();
2470
+ let colWidth = this._trackX.getLaneEnd(colCount - 1) - this._trackX.getLaneStart(colCount - pinnedRightCount);
2471
+ let viewSize = this._getViewSize();
2472
2472
 
2473
2473
  colSeparator.style.left = (viewSize - colWidth - this._rightSpaceSize) + "px";
2474
2474
  colSeparator.style.height = this._trackY.getTrackSize() + "px";
@@ -2482,7 +2482,7 @@ LayoutGrid.prototype.updateColumnSeparators = function () {
2482
2482
  * @return {Element}
2483
2483
  */
2484
2484
  LayoutGrid.prototype._createColumnSeparator = function() {
2485
- var colSeparator = document.createElement("div");
2485
+ let colSeparator = document.createElement("div");
2486
2486
  colSeparator.classList.add("column-separator");
2487
2487
  return colSeparator;
2488
2488
  };
@@ -2491,7 +2491,7 @@ LayoutGrid.prototype._createColumnSeparator = function() {
2491
2491
  * @return {Element}
2492
2492
  */
2493
2493
  LayoutGrid.prototype._initBoundLayer = function () {
2494
- var boundLayer = this._boundLayer;
2494
+ let boundLayer = this._boundLayer;
2495
2495
  if(!boundLayer) {
2496
2496
  boundLayer = this._boundLayer = document.createElement("div");
2497
2497
  boundLayer.className = "cover-layer";
@@ -2507,7 +2507,7 @@ LayoutGrid.prototype._initBoundLayer = function () {
2507
2507
  * @return {Cell}
2508
2508
  */
2509
2509
  LayoutGrid.prototype._getCell = function (indexX, indexY) {
2510
- var column = this._columns[indexX];
2510
+ let column = this._columns[indexX];
2511
2511
 
2512
2512
  return (column) ? column.getCell(indexY) : null;
2513
2513
  };
@@ -2521,10 +2521,10 @@ LayoutGrid.prototype._insertCells = function (from, to) {
2521
2521
  this._activeRow = from;
2522
2522
  this._activeRowEnd = to;
2523
2523
 
2524
- var top = this._trackY.getLaneStart(from);
2524
+ let top = this._trackY.getLaneStart(from);
2525
2525
 
2526
- for (var c = 0; c < this._colCount; ++c) {
2527
- var column = this._columns[c];
2526
+ for (let c = 0; c < this._colCount; ++c) {
2527
+ let column = this._columns[c];
2528
2528
 
2529
2529
  if (!column.hasCollapsedCells()) {
2530
2530
  column.setTop(top);
@@ -2538,7 +2538,7 @@ LayoutGrid.prototype._insertCells = function (from, to) {
2538
2538
  }
2539
2539
 
2540
2540
  if (to > this._availableRowCount) {
2541
- var e = {};
2541
+ let e = {};
2542
2542
 
2543
2543
  e["prevRowIndex"] = this._availableRowCount;
2544
2544
  e["rowIndex"] = to;
@@ -2554,14 +2554,14 @@ LayoutGrid.prototype._insertCells = function (from, to) {
2554
2554
  * @return {!ElementWrapper}
2555
2555
  */
2556
2556
  LayoutGrid.prototype._newColumn = function (indexX) {
2557
- var column = new Column(this._virOwner || this);
2557
+ let column = new Column(this._virOwner || this);
2558
2558
 
2559
2559
  column.setHeight(this._trackY.getDefaultLaneSize());
2560
2560
  column.setCellCount(this._rowCount);
2561
2561
  column.setTop(this._trackY.getLaneStart(this._activeRow));
2562
2562
  column.activateCells(this._activeRow, this._activeRowEnd);
2563
2563
 
2564
- for (var r = 0; r < this._rowCount; ++r) {
2564
+ for (let r = 0; r < this._rowCount; ++r) {
2565
2565
  if (!this._trackY.isAtDefaultSize(r)) {
2566
2566
  column.getCell(r).setHeight(this._trackY.getLaneSize(r));
2567
2567
  }
@@ -2574,7 +2574,7 @@ LayoutGrid.prototype._newColumn = function (indexX) {
2574
2574
  } else {
2575
2575
  this._columns.splice(indexX, 0, column);
2576
2576
 
2577
- var nextColumn = this._columns[indexX + 1];
2577
+ let nextColumn = this._columns[indexX + 1];
2578
2578
 
2579
2579
  column.insertBefore(nextColumn);
2580
2580
  }
@@ -2602,7 +2602,7 @@ LayoutGrid.prototype._updateViewHeight = function () {
2602
2602
  return;
2603
2603
  }
2604
2604
 
2605
- var contentHeight = this.getContentHeight();
2605
+ let contentHeight = this.getContentHeight();
2606
2606
 
2607
2607
  this._element.style.height = contentHeight + "px"; // View is kept in sync with content size
2608
2608
 
@@ -2614,8 +2614,8 @@ LayoutGrid.prototype._updateViewHeight = function () {
2614
2614
  /** @private
2615
2615
  */
2616
2616
  LayoutGrid.prototype._updateColumnIndices = function () {
2617
- var columnCount = this._columns.length;
2618
- var first = this._columns[0];
2617
+ let columnCount = this._columns.length;
2618
+ let first = this._columns[0];
2619
2619
 
2620
2620
  if (first !== this._firstColumn) {
2621
2621
  if (this._firstColumn) {
@@ -2629,7 +2629,7 @@ LayoutGrid.prototype._updateColumnIndices = function () {
2629
2629
  }
2630
2630
  }
2631
2631
 
2632
- var last = this._columns[columnCount - 1];
2632
+ let last = this._columns[columnCount - 1];
2633
2633
 
2634
2634
  if (last !== this._lastColumn) {
2635
2635
  if (this._lastColumn) {
@@ -2641,10 +2641,10 @@ LayoutGrid.prototype._updateColumnIndices = function () {
2641
2641
  if (this._lastColumn) { this._lastColumn.addClass("last"); }
2642
2642
  }
2643
2643
 
2644
- var sibling = null;
2644
+ let sibling = null;
2645
2645
 
2646
- for (var i = this._columns.length; --i >= 0;) {
2647
- var column = this._columns[i];
2646
+ for (let i = this._columns.length; --i >= 0;) {
2647
+ let column = this._columns[i];
2648
2648
 
2649
2649
  column.setNextSibling(sibling);
2650
2650
  sibling = column;
@@ -2669,8 +2669,8 @@ LayoutGrid.prototype._syncLayoutToColumns = function (from) {
2669
2669
  return false;
2670
2670
  }
2671
2671
 
2672
- for (var c = from; c < this._colCount; ++c) {
2673
- var column = this._columns[c];
2672
+ for (let c = from; c < this._colCount; ++c) {
2673
+ let column = this._columns[c];
2674
2674
 
2675
2675
  column.setLeft(this._trackX.getLaneStart(c));
2676
2676
  column.setWidth(this._trackX.getLaneSize(c));
@@ -2691,10 +2691,10 @@ LayoutGrid.prototype._syncLayoutToRows = function (indexY, toY) {
2691
2691
  return;
2692
2692
  }
2693
2693
 
2694
- for (var r = indexY; r < toY; ++r) {
2695
- var height = (this._trackY.isAtDefaultSize(r)) ? -1 : this._trackY.getLaneSize(r);
2694
+ for (let r = indexY; r < toY; ++r) {
2695
+ let height = (this._trackY.isAtDefaultSize(r)) ? -1 : this._trackY.getLaneSize(r);
2696
2696
 
2697
- for (var c = 0; c < this._colCount; ++c) {
2697
+ for (let c = 0; c < this._colCount; ++c) {
2698
2698
  this._columns[c].getCell(r).setHeight(height);
2699
2699
  }
2700
2700
  }
@@ -2722,7 +2722,7 @@ LayoutGrid.prototype._dispatchRowHeightChangedEvent = function (from, to) {
2722
2722
  return;
2723
2723
  }
2724
2724
 
2725
- var e = {};
2725
+ let e = {};
2726
2726
 
2727
2727
  e["rowIndex"] = from;
2728
2728
  e["changeLength"] = to - from;
@@ -2736,7 +2736,7 @@ LayoutGrid.prototype._dispatchRowHeightChangedEvent = function (from, to) {
2736
2736
  * @param {CellSpan} cellSpan
2737
2737
  */
2738
2738
  LayoutGrid.prototype._updateCellSpanSize = function (indexX, indexY, cellSpan) {
2739
- var cell = this._getCell(indexX, indexY);
2739
+ let cell = this._getCell(indexX, indexY);
2740
2740
 
2741
2741
  if (cell == null) {
2742
2742
  return;
@@ -2752,7 +2752,7 @@ LayoutGrid.prototype._updateCellSpanSize = function (indexX, indexY, cellSpan) {
2752
2752
  if (cellSpan && cellSpan.rowSpan > 1) {
2753
2753
  cell.setHeight(this.getCellHeight(indexX, indexY)); /////
2754
2754
  } else {
2755
- var height = this._trackY.isAtDefaultSize(indexY) ? -1 : this._trackY.getLaneSize(indexY);
2755
+ let height = this._trackY.isAtDefaultSize(indexY) ? -1 : this._trackY.getLaneSize(indexY);
2756
2756
 
2757
2757
  cell.setHeight(height);
2758
2758
  }
@@ -2765,8 +2765,8 @@ LayoutGrid.prototype._updateCellSpanSize = function (indexX, indexY, cellSpan) {
2765
2765
  LayoutGrid.prototype._updateCellSpanLayout = function (cellSpans) {
2766
2766
  if (cellSpans == null) { return; }
2767
2767
 
2768
- for (var i = cellSpans.length; --i >= 0; ) {
2769
- var cellSpan = cellSpans[i];
2768
+ for (let i = cellSpans.length; --i >= 0; ) {
2769
+ let cellSpan = cellSpans[i];
2770
2770
 
2771
2771
  this._updateCellSpanSize(cellSpan.indexX, cellSpan.indexY, cellSpan);
2772
2772
  }
@@ -2793,9 +2793,9 @@ LayoutGrid.prototype._updateCellSpan = function (indexX, indexY, cellSpan, addin
2793
2793
  * @param {boolean} adding
2794
2794
  */
2795
2795
  LayoutGrid.prototype._updateCellSpanClass = function (indexX, indexY, colSpan, rowSpan, adding) {
2796
- var column;
2796
+ let column;
2797
2797
 
2798
- for (var c = 0; c < colSpan; ++c) {
2798
+ for (let c = 0; c < colSpan; ++c) {
2799
2799
  column = this._columns[indexX + c];
2800
2800
 
2801
2801
  if (!column) {
@@ -2805,7 +2805,7 @@ LayoutGrid.prototype._updateCellSpanClass = function (indexX, indexY, colSpan, r
2805
2805
  column.collapseCells(indexY, rowSpan, adding, (c === 0), (c > 0));
2806
2806
  }
2807
2807
 
2808
- var cell = this._getCell(indexX, indexY);
2808
+ let cell = this._getCell(indexX, indexY);
2809
2809
 
2810
2810
  if (cell) {
2811
2811
  cell._colSpan = (adding) ? colSpan : 1;
@@ -2821,8 +2821,8 @@ LayoutGrid.prototype._updateCellSpanClass = function (indexX, indexY, colSpan, r
2821
2821
  LayoutGrid.prototype._updateCellSpans = function (cellSpans, adding) {
2822
2822
  if (cellSpans == null) { return; }
2823
2823
 
2824
- for (var i = cellSpans.length; --i >= 0; ) {
2825
- var cellSpan = cellSpans[i];
2824
+ for (let i = cellSpans.length; --i >= 0; ) {
2825
+ let cellSpan = cellSpans[i];
2826
2826
 
2827
2827
  this._updateCellSpan(cellSpan.indexX, cellSpan.indexY, cellSpan, adding);
2828
2828
  }
@@ -2833,15 +2833,15 @@ LayoutGrid.prototype._updateCellSpans = function (cellSpans, adding) {
2833
2833
  * @param {Object} e
2834
2834
  */
2835
2835
  LayoutGrid.prototype._onMouseMove = function (e) {
2836
- var target = e["target"];
2836
+ let target = e["target"];
2837
2837
 
2838
- var cellElement = Util.closestElement(target, "cell");
2839
- var colIndex = this._stretchedCells.getColumnIndex(cellElement);
2838
+ let cellElement = Util.closestElement(target, "cell");
2839
+ let colIndex = this._stretchedCells.getColumnIndex(cellElement);
2840
2840
  if(colIndex < 0) { // Not found colIndex in stretching cell, then get from normal row
2841
- var colElement = Util.closestElement(target, "column");
2841
+ let colElement = Util.closestElement(target, "column");
2842
2842
  colIndex = this.getColumnIndex(colElement);
2843
2843
  }
2844
- var rowIndex = this.getCellIndex(colIndex, cellElement);
2844
+ let rowIndex = this.getCellIndex(colIndex, cellElement);
2845
2845
 
2846
2846
  this.setRowHighlight(rowIndex);
2847
2847
  };
@@ -2851,10 +2851,10 @@ LayoutGrid.prototype._onMouseMove = function (e) {
2851
2851
  * @param {Object} e
2852
2852
  */
2853
2853
  LayoutGrid.prototype._onMouseOut = function (e) {
2854
- var rel = e.relatedTarget;
2854
+ let rel = e.relatedTarget;
2855
2855
 
2856
2856
  if (rel) {
2857
- var thisElem = this._element;
2857
+ let thisElem = this._element;
2858
2858
 
2859
2859
  while (rel.parentNode !== null) {
2860
2860
  rel = rel.parentNode;
@@ -2873,7 +2873,7 @@ LayoutGrid.prototype._onMouseOut = function (e) {
2873
2873
  * @param {number} rowIndex
2874
2874
  */
2875
2875
  LayoutGrid.prototype._updateSelectionUI = function (rowIndex) { // Update UI of the specified row index
2876
- var selected = this._selectionList.getSelection(rowIndex);
2876
+ let selected = this._selectionList.getSelection(rowIndex);
2877
2877
  this._enableStretchCellClass(rowIndex, "selected-row", selected);
2878
2878
  this.enableRowClass(rowIndex, "selected-row", selected);
2879
2879
  };
@@ -2901,7 +2901,7 @@ LayoutGrid.prototype._removeSelectionUI = function (rowIndex) {
2901
2901
  */
2902
2902
  LayoutGrid.prototype._onEnterDocument = function () {
2903
2903
  if (!this._initialized && this.getParent()) {
2904
- for (var c = 0; c < this._colCount; ++c) {
2904
+ for (let c = 0; c < this._colCount; ++c) {
2905
2905
  this._columns[c].enableAutoStyleUpdating();
2906
2906
  }
2907
2907