@refinitiv-ui/efx-grid 6.0.92 → 6.0.93

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.
@@ -70,9 +70,9 @@ import { preventDefault } from "../../tr-grid-util/es6/EventDispatcher.js";
70
70
  * @param {*} refB
71
71
  * @return {number}
72
72
  */
73
- var _indexSorter = function(indexMap, refA, refB) {
74
- var numA = indexMap[refA];
75
- var numB = indexMap[refB];
73
+ let _indexSorter = function(indexMap, refA, refB) {
74
+ let numA = indexMap[refA];
75
+ let numB = indexMap[refB];
76
76
  if(numA === numB) {
77
77
  return 0;
78
78
  }
@@ -90,7 +90,7 @@ var _indexSorter = function(indexMap, refA, refB) {
90
90
  * @param {*} refA
91
91
  * @return {boolean}
92
92
  */
93
- var _byValidIndex = function(indexMap, refA) {
93
+ let _byValidIndex = function(indexMap, refA) {
94
94
  return indexMap[refA] >= 0;
95
95
  };
96
96
 
@@ -99,11 +99,11 @@ var _byValidIndex = function(indexMap, refA) {
99
99
  * @param {Object} stackOpt
100
100
  * @return {boolean} Return true if there is any change
101
101
  */
102
- var _resolveActiveColumn = function(stackOpt) {
102
+ let _resolveActiveColumn = function(stackOpt) {
103
103
  if(stackOpt) {
104
- var children = stackOpt.children;
104
+ let children = stackOpt.children;
105
105
  if(children && children.length) {
106
- var activeColumn = stackOpt.activeColumn;
106
+ let activeColumn = stackOpt.activeColumn;
107
107
  if(!activeColumn || children.indexOf(activeColumn) < 0) {
108
108
  stackOpt.activeColumn = stackOpt.spreading ? children[children.length - 1] : children[0];
109
109
  return true;
@@ -116,7 +116,7 @@ var _resolveActiveColumn = function(stackOpt) {
116
116
  /** @constructor
117
117
  * @extends {GridPlugin}
118
118
  */
119
- var ColumnStackPlugin = function () {
119
+ let ColumnStackPlugin = function () {
120
120
  this._onPreSectionRender = this._onPreSectionRender.bind(this);
121
121
  this._onColumnRemoved = this._onColumnRemoved.bind(this);
122
122
  this._onColumnMoved = this._onColumnMoved.bind(this);
@@ -182,7 +182,7 @@ ColumnStackPlugin._runningId = 0;
182
182
  * @return {string}
183
183
  */
184
184
  ColumnStackPlugin.prototype._generateStackId = function() {
185
- var sid = "Stack" + ColumnStackPlugin._runningId++;
185
+ let sid = "Stack" + ColumnStackPlugin._runningId++;
186
186
  while(this._groupDefs.getGroup(sid)) {
187
187
  sid = "Stack" + ColumnStackPlugin._runningId++;
188
188
  }
@@ -211,7 +211,7 @@ ColumnStackPlugin.prototype.initialize = function (host, options) {
211
211
 
212
212
  if(options) {
213
213
  if(options["icons"]) {
214
- var icons = options["icons"]["columnStack"];
214
+ let icons = options["icons"]["columnStack"];
215
215
  if(icons) {
216
216
  this._stackIconName = icons["stack"];
217
217
  this._expandIconName = icons["expand"];
@@ -219,15 +219,15 @@ ColumnStackPlugin.prototype.initialize = function (host, options) {
219
219
  }
220
220
  }
221
221
 
222
- var opt = options["columnStack"];
222
+ let opt = options["columnStack"];
223
223
  if(opt && this._hosts.length === 1) {
224
- var menuElement = opt["menuElement"];
224
+ let menuElement = opt["menuElement"];
225
225
  if(menuElement && typeof menuElement === "object" && menuElement.nodeType === 1) {
226
226
  menuElement.addEventListener("item-trigger", this._onMenuItemClicked);
227
227
  this._menuElement = menuElement;
228
228
  }
229
229
 
230
- var menuItemClicked = opt["menuItemClicked"];
230
+ let menuItemClicked = opt["menuItemClicked"];
231
231
  if(typeof menuItemClicked === "function") {
232
232
  this._menuItemClicked = menuItemClicked;
233
233
  }
@@ -253,7 +253,7 @@ ColumnStackPlugin.prototype.initialize = function (host, options) {
253
253
  * @param {Object} host core grid object
254
254
  */
255
255
  ColumnStackPlugin.prototype.unload = function (host) {
256
- var at = this._hosts.indexOf(host);
256
+ let at = this._hosts.indexOf(host);
257
257
  if(at < 0) { return; }
258
258
  this._hosts.splice(at, 1);
259
259
 
@@ -311,7 +311,7 @@ ColumnStackPlugin._styles = prettifyCss([
311
311
  * @param {Object} grid core grid object
312
312
  */
313
313
  ColumnStackPlugin._applyThemeColor = function(grid) {
314
- if (!grid._columnStackingStyles) {
314
+ if(!grid._columnStackingStyles) {
315
315
  grid._columnStackingStyles = true;
316
316
  injectCss(ColumnStackPlugin._styles, grid.getElement());
317
317
  }
@@ -323,19 +323,19 @@ ColumnStackPlugin._applyThemeColor = function(grid) {
323
323
  ColumnStackPlugin.prototype.config = function (options) {
324
324
  if(!options) { return; }
325
325
 
326
- var columns = options["columns"];
326
+ let columns = options["columns"];
327
327
  if(!columns) {
328
328
  columns = [];
329
329
  }
330
330
 
331
- var i;
332
- var colCount = columns.length;
331
+ let i;
332
+ let colCount = columns.length;
333
333
 
334
- var columnStack = options.columnStack;
335
- var stackId = "";
336
- var stacks = {};
337
- var hasStack = false;
338
- var stackConfig = null;
334
+ let columnStack = options.columnStack;
335
+ let stackId = "";
336
+ let stacks = {};
337
+ let hasStack = false;
338
+ let stackConfig = null;
339
339
  if(columnStack) {
340
340
  this.addListener(columnStack, "clicked");
341
341
  this._usingField = false;
@@ -351,9 +351,9 @@ ColumnStackPlugin.prototype.config = function (options) {
351
351
  collapsed: columnStack.collapsed !== false,
352
352
  fields: columnStack.fields
353
353
  };
354
- } else if (columnStack.stacks && columnStack.stacks.length) {
354
+ } else if(columnStack.stacks && columnStack.stacks.length) {
355
355
  hasStack = true;
356
- var stackLen = columnStack.stacks.length;
356
+ let stackLen = columnStack.stacks.length;
357
357
  for(i = 0; i < stackLen; i++){
358
358
  stackConfig = columnStack.stacks[i];
359
359
  stackId = stackConfig.id || this._generateStackId();
@@ -370,16 +370,16 @@ ColumnStackPlugin.prototype.config = function (options) {
370
370
 
371
371
  if(!hasStack) {
372
372
  for(i = 0; i < colCount; ++i) {
373
- var column = columns[i];
374
- var stackOpt = column["stackId"] || column["stack"];
373
+ let column = columns[i];
374
+ let stackOpt = column["stackId"] || column["stack"];
375
375
  if(!stackOpt) {
376
376
  continue;
377
377
  }
378
378
 
379
379
  stackId = "";
380
- var spreading = false;
381
- var collapsed = true;
382
- var activeColumn = "";
380
+ let spreading = false;
381
+ let collapsed = true;
382
+ let activeColumn = "";
383
383
  if(typeof stackOpt === "string") {
384
384
  stackId = stackOpt;
385
385
  } else if(typeof stackOpt === "object") {
@@ -423,10 +423,10 @@ ColumnStackPlugin.prototype.config = function (options) {
423
423
  * @return {!Object}
424
424
  */
425
425
  ColumnStackPlugin.prototype.getConfigObject = function (gridOptions) {
426
- var obj = gridOptions || {};
426
+ let obj = gridOptions || {};
427
427
 
428
428
  // TODO: Handle the case where pendingStacks has not been applied
429
- var stackOptions = this.getStacks();
429
+ let stackOptions = this.getStacks();
430
430
 
431
431
  if(stackOptions.length) {
432
432
  obj.columnStack = {};
@@ -466,10 +466,10 @@ ColumnStackPlugin.prototype._toColumnId = function(colRef) {
466
466
  ColumnStackPlugin.prototype._applyUserConfigs = function(stacks) {
467
467
  if(stacks) {
468
468
  this.removeAllStacks(false); // No UI update
469
- for(var stackId in stacks) {
470
- var stack = stacks[stackId];
471
- var children = stack.children;
472
- var fields = stack.fields;
469
+ for(let stackId in stacks) {
470
+ let stack = stacks[stackId];
471
+ let children = stack.children;
472
+ let fields = stack.fields;
473
473
  if(fields) { // Convert all fields and indices to column Ids
474
474
  this._usingField = true;
475
475
  children = fields; // override children with fields
@@ -487,7 +487,7 @@ ColumnStackPlugin.prototype._applyUserConfigs = function(stacks) {
487
487
  */
488
488
  ColumnStackPlugin.prototype._getColumnStackOptions = function(colIndex) {
489
489
  if(colIndex >= 0 && colIndex < this.getColumnCount()) {
490
- var colId = this.getColumnId(colIndex);
490
+ let colId = this.getColumnId(colIndex);
491
491
  return this._groupDefs.getParentGroup(colId) || null;
492
492
  }
493
493
  return null;
@@ -496,7 +496,7 @@ ColumnStackPlugin.prototype._getColumnStackOptions = function(colIndex) {
496
496
  * @return {!Array.<number>} Sorted column indices
497
497
  */
498
498
  ColumnStackPlugin.prototype._getSelectedColumns = function() {
499
- var csp = this._getPlugin("ColumnSelectionPlugin");
499
+ let csp = this._getPlugin("ColumnSelectionPlugin");
500
500
  return (csp && csp.isEnabled()) ? csp.getSelectedColumns() : [];
501
501
  };
502
502
  /** Hide the specified column to prevent it from flashing when it is added as a member of the stack
@@ -510,8 +510,8 @@ ColumnStackPlugin.prototype._hideStackedColumns = function(stack, colRefs, activ
510
510
  return; // In spreading mode, columns in an expanded stack don't need to be hidden
511
511
  }
512
512
  // WARNING: activeIndex may not be valid
513
- var activeIndex = (typeof activeRef === "number") ? activeRef : this.getColumnIndex(stack.activeColumn);
514
- var colIndices = null;
513
+ let activeIndex = (typeof activeRef === "number") ? activeRef : this.getColumnIndex(stack.activeColumn);
514
+ let colIndices = null;
515
515
  if(typeof colRefs === "number") {
516
516
  colIndices = [colRefs];
517
517
  } else if(colIndices == null) {
@@ -519,9 +519,9 @@ ColumnStackPlugin.prototype._hideStackedColumns = function(stack, colRefs, activ
519
519
  } else {
520
520
  colIndices = colRefs;
521
521
  }
522
- var validCount = colIndices.length;
523
- for(var i = 0; i < validCount; ++i) {
524
- var colIndex = colIndices[i];
522
+ let validCount = colIndices.length;
523
+ for(let i = 0; i < validCount; ++i) {
524
+ let colIndex = colIndices[i];
525
525
  if(colIndex !== activeIndex) {
526
526
  this._setColumnVisibility(colIndex, false); // Hide a column
527
527
  }
@@ -533,8 +533,8 @@ ColumnStackPlugin.prototype._hideStackedColumns = function(stack, colRefs, activ
533
533
  */
534
534
  ColumnStackPlugin.prototype._setColumnVisibility = function(colIndex, shown) {
535
535
  if(colIndex >= 0) {
536
- var dirty = false;
537
- for(var g = this._hosts.length; --g >= 0;) {
536
+ let dirty = false;
537
+ for(let g = this._hosts.length; --g >= 0;) {
538
538
  dirty |= this._hosts[g].setColumnVisibility(colIndex, shown, 2);
539
539
  }
540
540
 
@@ -548,7 +548,7 @@ ColumnStackPlugin.prototype._requestFilterRefresh = function() {
548
548
  if(this._filterConflator.conflate()) {
549
549
  return;
550
550
  }
551
- var rfp = this._getPlugin("RowFilteringPlugin");
551
+ let rfp = this._getPlugin("RowFilteringPlugin");
552
552
  if(rfp && rfp["refresh"]) {
553
553
  rfp["refresh"]();
554
554
  }
@@ -557,7 +557,7 @@ ColumnStackPlugin.prototype._requestFilterRefresh = function() {
557
557
  * @param {Array} colRefs Array of column index, id, or field
558
558
  */
559
559
  ColumnStackPlugin.prototype._moveStackedColumns = function (colRefs) {
560
- var colIndices = this.getColumnIndices(colRefs);
560
+ let colIndices = this.getColumnIndices(colRefs);
561
561
  if(colIndices.length > 1) {
562
562
  this.reorderColumns(colIndices, colIndices[0]);
563
563
  }
@@ -575,19 +575,19 @@ ColumnStackPlugin.prototype._isIconAvailable = function() {
575
575
  * @param {Object} stackOpt
576
576
  */
577
577
  ColumnStackPlugin.prototype._updateIcon = function(colIndex, stackOpt) {
578
- var spreading = (stackOpt) ? stackOpt.spreading : false;
579
- var gridCount = this._hosts.length;
580
-
581
- for(var g = 0; g < gridCount; ++g) {
582
- var host = this._hosts[g];
583
- var tSect = host.getSection("title");
584
- var rowCount = tSect.getRowCount();
585
- var cell = tSect.getCell(colIndex, rowCount - 1, true);
578
+ let spreading = (stackOpt) ? stackOpt.spreading : false;
579
+ let gridCount = this._hosts.length;
580
+
581
+ for(let g = 0; g < gridCount; ++g) {
582
+ let host = this._hosts[g];
583
+ let tSect = host.getSection("title");
584
+ let rowCount = tSect.getRowCount();
585
+ let cell = tSect.getCell(colIndex, rowCount - 1, true);
586
586
  if(!cell) { continue; }
587
587
 
588
- var stackIcon = cell._stackIcon;
588
+ let stackIcon = cell._stackIcon;
589
589
  if(stackOpt) {
590
- var activeStackedColumn = this.isActiveStackedColumn(colIndex);
590
+ let activeStackedColumn = this.isActiveStackedColumn(colIndex);
591
591
  if(!stackIcon && activeStackedColumn) {
592
592
  if(spreading) {
593
593
  cell.addClass("grouping");
@@ -647,15 +647,15 @@ ColumnStackPlugin.prototype._updateUI = function() {
647
647
  }
648
648
 
649
649
  this._updating = true;
650
- var colCount = this.getColumnCount();
651
- var gridCount = this._hosts.length;
652
- var stackOpt, spreading;
653
- for(var c = 0; c < colCount; ++c) {
650
+ let colCount = this.getColumnCount();
651
+ let gridCount = this._hosts.length;
652
+ let stackOpt, spreading;
653
+ for(let c = 0; c < colCount; ++c) {
654
654
  stackOpt = this._getColumnStackOptions(c);
655
655
  spreading = (stackOpt) ? stackOpt.spreading : false;
656
656
  spreading = spreading === true;
657
- for(var g = 0; g < gridCount; ++g) {
658
- var host = this._hosts[g];
657
+ for(let g = 0; g < gridCount; ++g) {
658
+ let host = this._hosts[g];
659
659
  host.enableColumnClass(c, "grouped", spreading);
660
660
  }
661
661
 
@@ -681,20 +681,20 @@ ColumnStackPlugin.prototype._forceUpdateUI = function() {
681
681
  * @param {boolean} collapsed
682
682
  */
683
683
  ColumnStackPlugin.prototype._collapseMember = function(colIndex, collapsed) {
684
- var stackOpt = this._getColumnStackOptions(colIndex);
684
+ let stackOpt = this._getColumnStackOptions(colIndex);
685
685
  if(!stackOpt) {
686
686
  return;
687
687
  }
688
688
 
689
- for (var i = this._hosts.length; --i >= 0;) {
690
- var host = this._hosts[i];
689
+ for(let i = this._hosts.length; --i >= 0;) {
690
+ let host = this._hosts[i];
691
691
  host.enableColumnClass(colIndex, "collapsed", collapsed);
692
692
 
693
693
  if(this.isActiveStackedColumn(colIndex)) {
694
694
  host.setColumnVisibility(colIndex, true, 2);
695
- var tSect = host.getSection("title");
696
- var rowCount = tSect.getRowCount();
697
- var cell = tSect.getCell(colIndex, rowCount - 1, true);
695
+ let tSect = host.getSection("title");
696
+ let rowCount = tSect.getRowCount();
697
+ let cell = tSect.getCell(colIndex, rowCount - 1, true);
698
698
  if(collapsed) {
699
699
  if(stackOpt.collapsed !== collapsed || !stackOpt._origWidth) { // Prevent from getting width while column is collapsed
700
700
  stackOpt._origWidth = this._getColumnWidth(host, colIndex);
@@ -738,8 +738,8 @@ ColumnStackPlugin.prototype._collapseMember = function(colIndex, collapsed) {
738
738
  */
739
739
  ColumnStackPlugin.prototype._getColumnWidth = function(host, colIndex) {
740
740
  if(host) {
741
- var min = host.getMinimumColumnWidth(colIndex);
742
- var size = host.getColumnCustomLaneSize(colIndex);
741
+ let min = host.getMinimumColumnWidth(colIndex);
742
+ let size = host.getColumnCustomLaneSize(colIndex);
743
743
  return (size < min) ? min : size; // Column width cannot be smaller than min
744
744
  }
745
745
  return NaN;
@@ -749,7 +749,7 @@ ColumnStackPlugin.prototype._getColumnWidth = function(host, colIndex) {
749
749
  * @return {Array.<number>} Null if there is no column data
750
750
  */
751
751
  ColumnStackPlugin.prototype.getMemberIndices = function(colIndex) {
752
- var stackOpt = this._getColumnStackOptions(colIndex);
752
+ let stackOpt = this._getColumnStackOptions(colIndex);
753
753
  if(stackOpt) {
754
754
  return this.getColumnIndices(stackOpt.children);
755
755
  }
@@ -761,7 +761,7 @@ ColumnStackPlugin.prototype.getMemberIndices = function(colIndex) {
761
761
  * @return {Array.<number>} Null if it is non-grouped column
762
762
  */
763
763
  ColumnStackPlugin.prototype.collapseGroup = function(colIndex, collapsed) {
764
- var stackOpt = this._getColumnStackOptions(colIndex);
764
+ let stackOpt = this._getColumnStackOptions(colIndex);
765
765
  if(!stackOpt) {
766
766
  return null;
767
767
  }
@@ -771,9 +771,9 @@ ColumnStackPlugin.prototype.collapseGroup = function(colIndex, collapsed) {
771
771
 
772
772
  collapsed = collapsed !== false;
773
773
  if(stackOpt.collapsed !== collapsed) {
774
- var groupMembers = this.getColumnIndices(stackOpt.children);
774
+ let groupMembers = this.getColumnIndices(stackOpt.children);
775
775
  if(groupMembers) {
776
- for(var j = groupMembers.length; --j >= 0;) {
776
+ for(let j = groupMembers.length; --j >= 0;) {
777
777
  this._collapseMember(groupMembers[j], collapsed);
778
778
  }
779
779
  stackOpt.collapsed = collapsed;
@@ -799,8 +799,8 @@ ColumnStackPlugin.prototype.isColumnStackable = function(colIndices) {
799
799
  if(!colIndices) {
800
800
  return false;
801
801
  }
802
- var len = colIndices.length;
803
- for(var i = 0; i < len; ++i) {
802
+ let len = colIndices.length;
803
+ for(let i = 0; i < len; ++i) {
804
804
  if(this._getColumnStackOptions(colIndices[i])) {
805
805
  return false;
806
806
  }
@@ -816,8 +816,8 @@ ColumnStackPlugin.prototype.isColumnStacked = function(colIndices) {
816
816
  if(!colIndices) {
817
817
  colIndices = this._getSelectedColumns();
818
818
  }
819
- var len = colIndices.length;
820
- for(var i = 0; i < len; ++i) {
819
+ let len = colIndices.length;
820
+ for(let i = 0; i < len; ++i) {
821
821
  if(this._getColumnStackOptions(colIndices[i])) {
822
822
  return true;
823
823
  }
@@ -831,7 +831,7 @@ ColumnStackPlugin.prototype.isColumnStacked = function(colIndices) {
831
831
  * @see {@link ColumnStackPlugin#isColumnActive}
832
832
  */
833
833
  ColumnStackPlugin.prototype.isInactiveStackedColumn = function(colIndex) {
834
- var stackOpt = this._getColumnStackOptions(colIndex);
834
+ let stackOpt = this._getColumnStackOptions(colIndex);
835
835
  if(stackOpt) {
836
836
  return !this._isActiveStackedColumn(colIndex, stackOpt);
837
837
  }
@@ -865,7 +865,7 @@ ColumnStackPlugin.prototype._isActiveStackedColumn = function(colIndex, stackOpt
865
865
  * @return {boolean}
866
866
  */
867
867
  ColumnStackPlugin.prototype.isStackingMode = function(colIndex) {
868
- var stackOpt = this._getColumnStackOptions(colIndex);
868
+ let stackOpt = this._getColumnStackOptions(colIndex);
869
869
  if(stackOpt) {
870
870
  return stackOpt.spreading !== true;
871
871
  }
@@ -876,7 +876,7 @@ ColumnStackPlugin.prototype.isStackingMode = function(colIndex) {
876
876
  * @return {boolean}
877
877
  */
878
878
  ColumnStackPlugin.prototype.isCollapsingMode = function(colIndex) {
879
- var stackOpt = this._getColumnStackOptions(colIndex);
879
+ let stackOpt = this._getColumnStackOptions(colIndex);
880
880
  if(stackOpt) {
881
881
  return stackOpt.spreading === true;
882
882
  }
@@ -902,7 +902,7 @@ ColumnStackPlugin.prototype.isInCollection = ColumnStackPlugin.prototype.isColum
902
902
  * @return {boolean}
903
903
  */
904
904
  ColumnStackPlugin.prototype.isColumnCollapsed = function(colIndex) {
905
- var stackOpt = this._getColumnStackOptions(colIndex);
905
+ let stackOpt = this._getColumnStackOptions(colIndex);
906
906
  if(stackOpt) {
907
907
  return (stackOpt.spreading === true) && (stackOpt.collapsed === true);
908
908
  }
@@ -913,7 +913,7 @@ ColumnStackPlugin.prototype.isColumnCollapsed = function(colIndex) {
913
913
  * @return {boolean}
914
914
  */
915
915
  ColumnStackPlugin.prototype.isColumnActive = function(colIndex) {
916
- var stackOpt = this._getColumnStackOptions(colIndex);
916
+ let stackOpt = this._getColumnStackOptions(colIndex);
917
917
  if(stackOpt) {
918
918
  if(stackOpt.spreading) {
919
919
  if(!stackOpt.collapsed) {
@@ -933,9 +933,9 @@ ColumnStackPlugin.prototype.isColumnActive = function(colIndex) {
933
933
  * @return {string}
934
934
  */
935
935
  ColumnStackPlugin.prototype.getStackId = function(colRef) {
936
- var colIndex = (typeof colRef === "number") ? colRef : this.getColumnIndex(colRef);
936
+ let colIndex = (typeof colRef === "number") ? colRef : this.getColumnIndex(colRef);
937
937
  if(colIndex >= 0) {
938
- var stackOpt = this._getColumnStackOptions(colIndex);
938
+ let stackOpt = this._getColumnStackOptions(colIndex);
939
939
  if(stackOpt) {
940
940
  return stackOpt.id || "";
941
941
  }
@@ -949,8 +949,8 @@ ColumnStackPlugin.prototype.getStackId = function(colRef) {
949
949
  * @return {boolean} Return true if there is any change.
950
950
  */
951
951
  ColumnStackPlugin.prototype.stackColumns = function(colRefs, stackId, options) {
952
- var updateRequired = false;
953
- var sid = stackId;
952
+ let updateRequired = false;
953
+ let sid = stackId;
954
954
  if(sid) {
955
955
  if(this._removeStack(sid)) {
956
956
  // TODO: pinning state are removed and may need to be kept
@@ -964,7 +964,7 @@ ColumnStackPlugin.prototype.stackColumns = function(colRefs, stackId, options) {
964
964
  colRefs = this._getSelectedColumns();
965
965
  }
966
966
 
967
- var refCount = colRefs ? colRefs.length : 0;
967
+ let refCount = colRefs ? colRefs.length : 0;
968
968
  if(refCount < 2) {
969
969
  if(updateRequired) {
970
970
  this._updateUI();
@@ -976,11 +976,11 @@ ColumnStackPlugin.prototype.stackColumns = function(colRefs, stackId, options) {
976
976
  options = {};
977
977
  }
978
978
  // Clone user data
979
- var isSpreading = options.spreading === true;
980
- var isCollapsed = options.collapsed !== false;
981
- var activeColumn = options.activeColumn || ""; // field or id
979
+ let isSpreading = options.spreading === true;
980
+ let isCollapsed = options.collapsed !== false;
981
+ let activeColumn = options.activeColumn || ""; // field or id
982
982
  // WARNING: fields property in user option is ignored
983
- var stack = {};
983
+ let stack = {};
984
984
  stack.id = sid;
985
985
  stack.name = options.name || "";
986
986
  stack.spreading = isSpreading;
@@ -989,7 +989,7 @@ ColumnStackPlugin.prototype.stackColumns = function(colRefs, stackId, options) {
989
989
 
990
990
  // If grid is not initialized, add setting to pending stacks
991
991
  if(!this._initializedGrid) {
992
- var pendingStacks = this._pendingStacks;
992
+ let pendingStacks = this._pendingStacks;
993
993
  if(!pendingStacks) {
994
994
  pendingStacks = this._pendingStacks = {};
995
995
  }
@@ -998,7 +998,7 @@ ColumnStackPlugin.prototype.stackColumns = function(colRefs, stackId, options) {
998
998
  return false;
999
999
  }
1000
1000
 
1001
- var colIndices = this.getColumnIndices(colRefs); // WARNING: Invalid columns are filtered out
1001
+ let colIndices = this.getColumnIndices(colRefs); // WARNING: Invalid columns are filtered out
1002
1002
 
1003
1003
  // Prevent columns already in a stack from moving out to another stack
1004
1004
  if(!this.isColumnStackable(colIndices)) {
@@ -1009,10 +1009,10 @@ ColumnStackPlugin.prototype.stackColumns = function(colRefs, stackId, options) {
1009
1009
  }
1010
1010
 
1011
1011
  // WARNING: Invalid columns are filtered out
1012
- var children = colIndices.map(this._toColumnId); // All fields and indices from colRefs will be converted to column Ids
1012
+ let children = colIndices.map(this._toColumnId); // All fields and indices from colRefs will be converted to column Ids
1013
1013
  stack.children = children; // Note: children property now contains only valid column ids
1014
1014
 
1015
- var activeIndex = -1;
1015
+ let activeIndex = -1;
1016
1016
  if(activeColumn && typeof activeColumn === "string") {
1017
1017
  activeIndex = this.getColumnIndex(activeColumn);
1018
1018
  stack.activeColumn = activeColumn = this.getColumnId(activeIndex); // Convert field or invalid column id to a valid id
@@ -1031,13 +1031,13 @@ ColumnStackPlugin.prototype.stackColumns = function(colRefs, stackId, options) {
1031
1031
  this.reorderColumns(colIndices, colIndices[0]);
1032
1032
 
1033
1033
  // Update column selection
1034
- var validCount = colIndices.length;
1034
+ let validCount = colIndices.length;
1035
1035
  if(!isSpreading) {
1036
- var csp = this._getPlugin("ColumnSelectionPlugin");
1036
+ let csp = this._getPlugin("ColumnSelectionPlugin");
1037
1037
  if(csp && csp.isEnabled()){
1038
- var stackSelection = false;
1039
- for(var i = 0; i < validCount; ++i){
1040
- var colIndex = colIndices[i];
1038
+ let stackSelection = false;
1039
+ for(let i = 0; i < validCount; ++i){
1040
+ let colIndex = colIndices[i];
1041
1041
  if(colIndex === activeIndex){
1042
1042
  continue;
1043
1043
  }
@@ -1070,32 +1070,32 @@ ColumnStackPlugin.prototype._verifyColumnPinning = function(stack) {
1070
1070
  stack.leftPinned = false;
1071
1071
  stack.rightPinned = false;
1072
1072
 
1073
- var host = this._hosts[0];
1074
- var leftPinnedIndex = host.getFrozenColumnCount() - 1;
1075
- var rightPinnedIndex = host.getFirstPinnedRightIndex();
1076
- var colCount = this.getColumnCount();
1073
+ let host = this._hosts[0];
1074
+ let leftPinnedIndex = host.getFrozenColumnCount() - 1;
1075
+ let rightPinnedIndex = host.getFirstPinnedRightIndex();
1076
+ let colCount = this.getColumnCount();
1077
1077
 
1078
- if (leftPinnedIndex < 0 && rightPinnedIndex === colCount) {
1078
+ if(leftPinnedIndex < 0 && rightPinnedIndex === colCount) {
1079
1079
  return;
1080
1080
  }
1081
1081
 
1082
- var colIndices = this.getColumnIndices(stack.children);
1083
- var min = colIndices[0];
1084
- var max = colIndices[0];
1085
- for (var i = 1; i < colIndices.length; i++) {
1086
- var colIndex = colIndices[i];
1087
- if (colIndex > max) { max = colIndex; }
1088
- if (colIndex < min) { min = colIndex; }
1082
+ let colIndices = this.getColumnIndices(stack.children);
1083
+ let min = colIndices[0];
1084
+ let max = colIndices[0];
1085
+ for(let i = 1; i < colIndices.length; i++) {
1086
+ let colIndex = colIndices[i];
1087
+ if(colIndex > max) { max = colIndex; }
1088
+ if(colIndex < min) { min = colIndex; }
1089
1089
  }
1090
1090
 
1091
- if (min <= leftPinnedIndex) {
1091
+ if(min <= leftPinnedIndex) {
1092
1092
  stack.leftPinned = true;
1093
- if (max > leftPinnedIndex) {
1093
+ if(max > leftPinnedIndex) {
1094
1094
  this._freezeColumn(max, colCount - rightPinnedIndex);
1095
1095
  }
1096
- } else if (max >= rightPinnedIndex) {
1096
+ } else if(max >= rightPinnedIndex) {
1097
1097
  stack.rightPinned = true;
1098
- if (min < rightPinnedIndex) {
1098
+ if(min < rightPinnedIndex) {
1099
1099
  this._freezeColumn(leftPinnedIndex, colCount - min);
1100
1100
  }
1101
1101
  }
@@ -1106,8 +1106,8 @@ ColumnStackPlugin.prototype._verifyColumnPinning = function(stack) {
1106
1106
  * @param {number=} numRightColumn
1107
1107
  */
1108
1108
  ColumnStackPlugin.prototype._freezeColumn = function(frozenColIndex, numRightColumn) {
1109
- var hosts = this._hosts;
1110
- for (var i = 0; i < hosts.length; i++) {
1109
+ let hosts = this._hosts;
1110
+ for(let i = 0; i < hosts.length; i++) {
1111
1111
  hosts[i].freezeColumn(frozenColIndex, numRightColumn);
1112
1112
  }
1113
1113
  };
@@ -1121,7 +1121,7 @@ ColumnStackPlugin.prototype._freezeColumn = function(frozenColIndex, numRightCol
1121
1121
  ColumnStackPlugin.prototype.setStack = function(colRefs, activeColRef) {
1122
1122
  this.removeAllStacks();
1123
1123
 
1124
- var stackOptions = {};
1124
+ let stackOptions = {};
1125
1125
  if(activeColRef) {
1126
1126
  stackOptions.activeColumn = activeColRef;
1127
1127
  }
@@ -1137,9 +1137,9 @@ ColumnStackPlugin.prototype.setStack = function(colRefs, activeColRef) {
1137
1137
  ColumnStackPlugin.prototype.setStacks = function(stacks) {
1138
1138
  this.removeAllStacks();
1139
1139
 
1140
- var stackCount = stacks ? stacks.length : 0;
1141
- for(var i = 0; i < stackCount; ++i) {
1142
- var stack = stacks[i];
1140
+ let stackCount = stacks ? stacks.length : 0;
1141
+ for(let i = 0; i < stackCount; ++i) {
1142
+ let stack = stacks[i];
1143
1143
  if(stack) {
1144
1144
  if(stack.children) {
1145
1145
  this.stackColumns(stack.children, stack.id, stack);
@@ -1152,35 +1152,35 @@ ColumnStackPlugin.prototype.setStacks = function(stacks) {
1152
1152
  * @return {!Array.<ColumnStackPlugin~StackDefinition>} Array of stack definition objects
1153
1153
  */
1154
1154
  ColumnStackPlugin.prototype.getStacks = function() {
1155
- var stacks = this._groupDefs.getGroupMap();
1156
- var stackOptions = [];
1155
+ let stacks = this._groupDefs.getGroupMap();
1156
+ let stackOptions = [];
1157
1157
 
1158
- for (var stackKey in stacks) {
1159
- var stackOption = stacks[stackKey];
1160
- var stackId = stackOption.id;
1158
+ for(let stackKey in stacks) {
1159
+ let stackOption = stacks[stackKey];
1160
+ let stackId = stackOption.id;
1161
1161
 
1162
- var stackConfigObj = {
1162
+ let stackConfigObj = {
1163
1163
  id: stackId
1164
1164
  };
1165
- var name = stackOption.name;
1166
- var collapsed = stackOption.collapsed;
1167
- var spreading = stackOption.spreading;
1165
+ let name = stackOption.name;
1166
+ let collapsed = stackOption.collapsed;
1167
+ let spreading = stackOption.spreading;
1168
1168
 
1169
- if (name) {
1169
+ if(name) {
1170
1170
  stackConfigObj.name = name;
1171
1171
  }
1172
- if (collapsed !== true) {
1172
+ if(collapsed !== true) {
1173
1173
  stackConfigObj.collapsed = collapsed;
1174
1174
  }
1175
- if (spreading !== false) {
1175
+ if(spreading !== false) {
1176
1176
  stackConfigObj.spreading = spreading;
1177
1177
  }
1178
1178
 
1179
- if (this._usingField) {
1180
- var colIndices = this.getStackMemberIndices(stackId);
1181
- var memberCount = colIndices.length;
1182
- var fields = new Array(memberCount);
1183
- for(var i = 0; i < memberCount; ++i) {
1179
+ if(this._usingField) {
1180
+ let colIndices = this.getStackMemberIndices(stackId);
1181
+ let memberCount = colIndices.length;
1182
+ let fields = new Array(memberCount);
1183
+ for(let i = 0; i < memberCount; ++i) {
1184
1184
  fields[i] = this.getColumnField(colIndices[i]);
1185
1185
  }
1186
1186
  stackConfigObj.fields = fields;
@@ -1205,11 +1205,11 @@ ColumnStackPlugin.prototype.unstackColumns = function(colIndices) {
1205
1205
  colIndices = this._getSelectedColumns();
1206
1206
  }
1207
1207
 
1208
- var dirty = false;
1209
- var len = colIndices.length;
1210
- for(var i = 0; i < len; ++i) {
1211
- var colIndex = colIndices[i];
1212
- var stackOpt = this._getColumnStackOptions(colIndex);
1208
+ let dirty = false;
1209
+ let len = colIndices.length;
1210
+ for(let i = 0; i < len; ++i) {
1211
+ let colIndex = colIndices[i];
1212
+ let stackOpt = this._getColumnStackOptions(colIndex);
1213
1213
  if(stackOpt) {
1214
1214
  dirty = true;
1215
1215
  this._removeStack(stackOpt.id);
@@ -1226,15 +1226,15 @@ ColumnStackPlugin.prototype.unstackColumns = function(colIndices) {
1226
1226
  * @return {boolean} Returns true if there is any change
1227
1227
  */
1228
1228
  ColumnStackPlugin.prototype._removeStack = function(stackId) {
1229
- var stack = this._groupDefs.getGroup(stackId);
1229
+ let stack = this._groupDefs.getGroup(stackId);
1230
1230
  if(!stack) {
1231
1231
  return false;
1232
1232
  }
1233
1233
 
1234
- var colIndices = this.getColumnIndices(stack.children);
1235
- var len = colIndices.length;
1236
- for(var i = 0; i < len; ++i) {
1237
- var colIndex = colIndices[i]; // colIndex is guaranteed to be positive (verified)
1234
+ let colIndices = this.getColumnIndices(stack.children);
1235
+ let len = colIndices.length;
1236
+ for(let i = 0; i < len; ++i) {
1237
+ let colIndex = colIndices[i]; // colIndex is guaranteed to be positive (verified)
1238
1238
  if(stack.spreading && stack.collapsed) {
1239
1239
  this._collapseMember(colIndex, false);
1240
1240
  }
@@ -1260,10 +1260,10 @@ ColumnStackPlugin.prototype.removeStack = function(stackId) {
1260
1260
  * @return {boolean} true if at least one stacking removed
1261
1261
  */
1262
1262
  ColumnStackPlugin.prototype.removeAllStacks = function(enableUpdateUI) {
1263
- var groupIds = this._groupDefs.getGroupIds();
1264
- var groupCount = groupIds.length;
1263
+ let groupIds = this._groupDefs.getGroupIds();
1264
+ let groupCount = groupIds.length;
1265
1265
  if(groupCount) {
1266
- for(var i = 0; i < groupCount; ++i) {
1266
+ for(let i = 0; i < groupCount; ++i) {
1267
1267
  this._removeStack(groupIds[i]);
1268
1268
  }
1269
1269
  this._groupDefs.removeAllGroups(); // TODO: May not necessary
@@ -1280,22 +1280,22 @@ ColumnStackPlugin.prototype.removeAllStacks = function(enableUpdateUI) {
1280
1280
  * @return {boolean}
1281
1281
  */
1282
1282
  ColumnStackPlugin.prototype.setActiveColumn = function(activeColumn) {
1283
- var colIndex = this.getColumnIndex(activeColumn);
1283
+ let colIndex = this.getColumnIndex(activeColumn);
1284
1284
  if(colIndex < 0) {
1285
1285
  return false;
1286
1286
  }
1287
- var colCount = this.getColumnCount();
1287
+ let colCount = this.getColumnCount();
1288
1288
  if(colIndex >= colCount) {
1289
1289
  return false;
1290
1290
  }
1291
1291
 
1292
- var colId = this.getColumnId(colIndex);
1293
- var stack = this._groupDefs.getParentGroup(colId);
1292
+ let colId = this.getColumnId(colIndex);
1293
+ let stack = this._groupDefs.getParentGroup(colId);
1294
1294
  if(!stack) {
1295
1295
  return false;
1296
1296
  }
1297
- var chdr = stack.children;
1298
- var memberIndex = chdr.indexOf(colId);
1297
+ let chdr = stack.children;
1298
+ let memberIndex = chdr.indexOf(colId);
1299
1299
  if(memberIndex < 0) {
1300
1300
  return false;
1301
1301
  }
@@ -1309,13 +1309,13 @@ ColumnStackPlugin.prototype.setActiveColumn = function(activeColumn) {
1309
1309
  * @see {@link ColumnStackPlugin#setActiveColumn}
1310
1310
  */
1311
1311
  ColumnStackPlugin.prototype.swapColumn = function(colRef, swappingIndex) {
1312
- var colIndex = (typeof colRef === "number") ? colRef : this.getColumnIndex(colRef);
1312
+ let colIndex = (typeof colRef === "number") ? colRef : this.getColumnIndex(colRef);
1313
1313
 
1314
- var stackOpt = this._getColumnStackOptions(colIndex);
1314
+ let stackOpt = this._getColumnStackOptions(colIndex);
1315
1315
  if(!stackOpt) {
1316
1316
  return false; // Invalid column index
1317
1317
  }
1318
- var children = stackOpt.children;
1318
+ let children = stackOpt.children;
1319
1319
  if(!children) {
1320
1320
  return false; // Invalid column type
1321
1321
  }
@@ -1335,8 +1335,8 @@ ColumnStackPlugin.prototype._setActiveColumn = function(stack, newActiveColumn)
1335
1335
  return false; // The given index is already active stacked column
1336
1336
  }
1337
1337
 
1338
- var prevActiveColumnIndex = this.getColumnIndex(stack.activeColumn);
1339
- var newActiveColumnIndex = this.getColumnIndex(newActiveColumn);
1338
+ let prevActiveColumnIndex = this.getColumnIndex(stack.activeColumn);
1339
+ let newActiveColumnIndex = this.getColumnIndex(newActiveColumn);
1340
1340
  stack.activeColumn = newActiveColumn; // Change active column
1341
1341
 
1342
1342
  this._setColumnVisibility(newActiveColumnIndex, true);
@@ -1345,7 +1345,7 @@ ColumnStackPlugin.prototype._setActiveColumn = function(stack, newActiveColumn)
1345
1345
  this._updateIcon(prevActiveColumnIndex, stack);
1346
1346
  this._updateIcon(newActiveColumnIndex, stack);
1347
1347
 
1348
- var csp = this._getPlugin("ColumnSelectionPlugin");
1348
+ let csp = this._getPlugin("ColumnSelectionPlugin");
1349
1349
  if(csp && csp.isEnabled()) {
1350
1350
  csp.selectSingleColumn(newActiveColumnIndex);
1351
1351
  if(csp.dispatchSelectionChanged) {
@@ -1359,7 +1359,7 @@ ColumnStackPlugin.prototype._setActiveColumn = function(stack, newActiveColumn)
1359
1359
  * @param {Object} e
1360
1360
  */
1361
1361
  ColumnStackPlugin.prototype._onPreSectionRender = function (e) {
1362
- if (e["sectionType"] !== "title") {
1362
+ if(e["sectionType"] !== "title") {
1363
1363
  return;
1364
1364
  }
1365
1365
  this._forceUpdateUI();
@@ -1372,14 +1372,14 @@ ColumnStackPlugin.prototype._onColumnRemoved = function (e) {
1372
1372
  return;
1373
1373
  }
1374
1374
 
1375
- var colId = e.colId;
1376
- var stackOpt = this._groupDefs.getParentGroup(colId);
1375
+ let colId = e.colId;
1376
+ let stackOpt = this._groupDefs.getParentGroup(colId);
1377
1377
 
1378
1378
  if(!stackOpt) {
1379
1379
  return;
1380
1380
  }
1381
1381
  // update members
1382
- var children = stackOpt.children;
1382
+ let children = stackOpt.children;
1383
1383
  if(children.length <= 2) {
1384
1384
  this._removeStack(stackOpt.id);
1385
1385
  this._updateUI();
@@ -1399,18 +1399,18 @@ ColumnStackPlugin.prototype._onColumnMoved = function (e) {
1399
1399
  return; // during the reordering or resetting, there is no need to recalculate stacks
1400
1400
  }
1401
1401
 
1402
- var toIndex = e.toColIndex;
1403
- var colId = this.getColumnId(toIndex);
1404
- var stackOpt = this._groupDefs.getParentGroup(colId);
1402
+ let toIndex = e.toColIndex;
1403
+ let colId = this.getColumnId(toIndex);
1404
+ let stackOpt = this._groupDefs.getParentGroup(colId);
1405
1405
  if(!stackOpt) {
1406
1406
  return;
1407
1407
  }
1408
1408
 
1409
- var leftStackOpt = this._getColumnStackOptions(toIndex - 1);
1410
- var rightStackOpt = this._getColumnStackOptions(toIndex + 1);
1409
+ let leftStackOpt = this._getColumnStackOptions(toIndex - 1);
1410
+ let rightStackOpt = this._getColumnStackOptions(toIndex + 1);
1411
1411
 
1412
- var stackChange = true;
1413
- var dirty = false;
1412
+ let stackChange = true;
1413
+ let dirty = false;
1414
1414
  if(stackOpt) {
1415
1415
  // The move was within the same stack
1416
1416
  if(stackOpt === leftStackOpt || stackOpt === rightStackOpt) {
@@ -1446,8 +1446,8 @@ ColumnStackPlugin.prototype._onColumnAdded = function (e) {
1446
1446
  return;
1447
1447
  }
1448
1448
 
1449
- var colIndex = e.colIndex;
1450
- var stackOpt = this._isWithinStack(colIndex);
1449
+ let colIndex = e.colIndex;
1450
+ let stackOpt = this._isWithinStack(colIndex);
1451
1451
  if(stackOpt) {
1452
1452
  if(this._addRefToStack(stackOpt, colIndex)) {
1453
1453
  this._updateUI();
@@ -1468,7 +1468,7 @@ ColumnStackPlugin.prototype._onBeforeBatchOperation = function (e) {
1468
1468
  * @param {Object} e
1469
1469
  */
1470
1470
  ColumnStackPlugin.prototype._onAfterBatchOperation = function (e) {
1471
- var groups, groupCount, i, group;
1471
+ let groups, groupCount, i, group;
1472
1472
  if(e.batchType === "reset") {
1473
1473
  this._inResetting = false;
1474
1474
 
@@ -1500,9 +1500,9 @@ ColumnStackPlugin.prototype._onAfterBatchOperation = function (e) {
1500
1500
  * @return {Object} stackOption
1501
1501
  */
1502
1502
  ColumnStackPlugin.prototype._isWithinStack = function (colIndex) {
1503
- var leftStackOpt = this._getColumnStackOptions(colIndex - 1);
1503
+ let leftStackOpt = this._getColumnStackOptions(colIndex - 1);
1504
1504
  if(leftStackOpt) {
1505
- var rightStackOpt = this._getColumnStackOptions(colIndex + 1);
1505
+ let rightStackOpt = this._getColumnStackOptions(colIndex + 1);
1506
1506
  if(leftStackOpt === rightStackOpt) {
1507
1507
  return leftStackOpt;
1508
1508
  }
@@ -1516,14 +1516,14 @@ ColumnStackPlugin.prototype._isWithinStack = function (colIndex) {
1516
1516
  * @return {boolean}
1517
1517
  */
1518
1518
  ColumnStackPlugin.prototype._addRefToStack = function (stackOption, colIndex) {
1519
- var colId = this._toColumnId(colIndex);
1519
+ let colId = this._toColumnId(colIndex);
1520
1520
 
1521
1521
  this._hideStackedColumns(stackOption, colIndex);
1522
1522
 
1523
1523
  // Find a position to be placed in the stack
1524
- var rightColRef = this._toColumnId(colIndex + 1);
1525
- var children = stackOption.children;
1526
- var pos = children.indexOf(rightColRef); // WARNING This does not work for field
1524
+ let rightColRef = this._toColumnId(colIndex + 1);
1525
+ let children = stackOption.children;
1526
+ let pos = children.indexOf(rightColRef); // WARNING This does not work for field
1527
1527
  return this._groupDefs.addGroupChild(stackOption.id, colId, pos);
1528
1528
  };
1529
1529
  /** Remove unique ref of the specified index from the stack
@@ -1538,7 +1538,7 @@ ColumnStackPlugin.prototype._removeRefFromStack = function (stackOption, colId,
1538
1538
  return false;
1539
1539
  }
1540
1540
 
1541
- var isCollapsed = stackOption.spreading && stackOption.collapsed;
1541
+ let isCollapsed = stackOption.spreading && stackOption.collapsed;
1542
1542
  if(isCollapsed) {
1543
1543
  this._collapseMember(colIndex, false);
1544
1544
  } else {
@@ -1554,16 +1554,16 @@ ColumnStackPlugin.prototype._removeRefFromStack = function (stackOption, colId,
1554
1554
  * @param {boolean=} validate Remove invalid members and stack
1555
1555
  */
1556
1556
  ColumnStackPlugin.prototype._repositionMembers = function (stackOption, validate) {
1557
- var children = stackOption.children;
1558
- var refCount = children ? children.length : 0;
1559
-
1560
- var indexMap = {};
1561
- var prevIndex = -1;
1562
- var dirty = false;
1563
- var hasInvalid = false;
1564
- for(var i = 0; i < refCount; i++) {
1565
- var colRef = children[i];
1566
- var colIndex = this.getColumnIndex(colRef);
1557
+ let children = stackOption.children;
1558
+ let refCount = children ? children.length : 0;
1559
+
1560
+ let indexMap = {};
1561
+ let prevIndex = -1;
1562
+ let dirty = false;
1563
+ let hasInvalid = false;
1564
+ for(let i = 0; i < refCount; i++) {
1565
+ let colRef = children[i];
1566
+ let colIndex = this.getColumnIndex(colRef);
1567
1567
  indexMap[colRef] = colIndex;
1568
1568
  if(colIndex >= 0) {
1569
1569
  if(colIndex < prevIndex) {
@@ -1601,32 +1601,32 @@ ColumnStackPlugin.prototype._repositionMembers = function (stackOption, validate
1601
1601
  * @param {Object} e
1602
1602
  */
1603
1603
  ColumnStackPlugin.prototype._onStackButtonClicked = function(e) {
1604
- var elem = e.currentTarget;
1604
+ let elem = e.currentTarget;
1605
1605
  if(e.button) { // right click or middle click
1606
1606
  return;
1607
1607
  }
1608
1608
 
1609
- var grid = this.getRelativeGrid(e);
1610
- var pos = grid.getRelativePosition(e);
1611
- var colIndex = pos["colIndex"];
1612
- var colData = this._getColumnStackOptions(colIndex);
1609
+ let grid = this.getRelativeGrid(e);
1610
+ let pos = grid.getRelativePosition(e);
1611
+ let colIndex = pos["colIndex"];
1612
+ let colData = this._getColumnStackOptions(colIndex);
1613
1613
  if(!colData) { return; }
1614
1614
 
1615
1615
  e.stopPropagation();
1616
1616
 
1617
- var children = colData.children;
1618
- var colIndices = this.getColumnIndices(children);
1617
+ let children = colData.children;
1618
+ let colIndices = this.getColumnIndices(children);
1619
1619
  if(colData.spreading) {
1620
- var collapsed = !colData.collapsed;
1620
+ let collapsed = !colData.collapsed;
1621
1621
  this.collapseGroup(colIndex, collapsed);
1622
1622
  pos["menuData"] = null;
1623
1623
  pos["activeIndex"] = -1;
1624
1624
  pos["collapsed"] = collapsed;
1625
1625
  } else {
1626
- var activeIndex = children.indexOf(colData.activeColumn);
1627
- var len = children.length;
1628
- var menuData = new Array(len);
1629
- for(var i = len; --i >= 0;) {
1626
+ let activeIndex = children.indexOf(colData.activeColumn);
1627
+ let len = children.length;
1628
+ let menuData = new Array(len);
1629
+ for(let i = len; --i >= 0;) {
1630
1630
  menuData[i] = {
1631
1631
  value: i,
1632
1632
  selected: i === activeIndex,
@@ -1649,8 +1649,8 @@ ColumnStackPlugin.prototype._onStackButtonClicked = function(e) {
1649
1649
 
1650
1650
  if(this._menuElement && !colData.spreading) {
1651
1651
  // Populate stack member
1652
- var button = pos.event.srcElement;
1653
- var el = this._menuElement;
1652
+ let button = pos.event.srcElement;
1653
+ let el = this._menuElement;
1654
1654
  el.data = pos["menuData"];
1655
1655
  el.positionTarget = button;
1656
1656
  el.opened = true;
@@ -1662,9 +1662,9 @@ ColumnStackPlugin.prototype._onStackButtonClicked = function(e) {
1662
1662
  */
1663
1663
  ColumnStackPlugin.prototype._onMenuItemClicked = function(e) {
1664
1664
  if(e.detail) {
1665
- var selectedIndex = parseInt(e.detail.value, 0);
1666
- var menuData = this._menuElement.data[selectedIndex];
1667
- var colId = menuData.colId;
1665
+ let selectedIndex = parseInt(e.detail.value, 0);
1666
+ let menuData = this._menuElement.data[selectedIndex];
1667
+ let colId = menuData.colId;
1668
1668
  this.setActiveColumn(colId);
1669
1669
  }
1670
1670
  this._menuElement.opened = false;
@@ -1689,7 +1689,7 @@ ColumnStackPlugin.prototype.getStackMemberIndices = function(stackId) {
1689
1689
  */
1690
1690
  ColumnStackPlugin.prototype.getStackMemberIds = function(stackId) { // WARNING: This does not filter out invalid members
1691
1691
  if(stackId) {
1692
- var stack = this._groupDefs.getGroup(stackId);
1692
+ let stack = this._groupDefs.getGroup(stackId);
1693
1693
  if(stack){
1694
1694
  return stack.children;
1695
1695
  }
@@ -1706,9 +1706,9 @@ ColumnStackPlugin.prototype.getColumnIdsByIndex = function(colIndices) {
1706
1706
  if(!Array.isArray(colIndices)){
1707
1707
  colIndices = [colIndices];
1708
1708
  }
1709
- var colIds = [];
1710
- var colId;
1711
- for(var i = 0; i < colIndices.length; ++i) {
1709
+ let colIds = [];
1710
+ let colId;
1711
+ for(let i = 0; i < colIndices.length; ++i) {
1712
1712
  colId = this.getColumnId(colIndices[i]);
1713
1713
  colIds.push(colId);
1714
1714
  }
@@ -1724,9 +1724,9 @@ ColumnStackPlugin.prototype.getColumnIndicesByColumnIds = function(colIds) {
1724
1724
  if(!Array.isArray(colIds)){
1725
1725
  colIds = [colIds];
1726
1726
  }
1727
- var colIndices = [];
1728
- var colIndex;
1729
- for(var i = 0; i < colIds.length; ++i) {
1727
+ let colIndices = [];
1728
+ let colIndex;
1729
+ for(let i = 0; i < colIds.length; ++i) {
1730
1730
  colIndex = this.getColumnIndex(colIds[i]);
1731
1731
  colIndices.push(colIndex);
1732
1732
  }
@@ -1742,12 +1742,12 @@ ColumnStackPlugin.prototype.getColumnIdsByFields = function(fields) {
1742
1742
  if(!fields) {
1743
1743
  return [];
1744
1744
  }
1745
- var ary = Array.isArray(fields) ? fields : [fields];
1746
- var count = fields.length;
1747
- var outAry = new Array(count);
1748
- for(var i = 0; i < count; ++i) {
1749
- var ref = ary[i];
1750
- var colIndex = -1;
1745
+ let ary = Array.isArray(fields) ? fields : [fields];
1746
+ let count = fields.length;
1747
+ let outAry = new Array(count);
1748
+ for(let i = 0; i < count; ++i) {
1749
+ let ref = ary[i];
1750
+ let colIndex = -1;
1751
1751
  if(typeof ref === "number") {
1752
1752
  colIndex = ref;
1753
1753
  } else if(ref) {
@@ -1766,10 +1766,10 @@ ColumnStackPlugin.prototype.getColumnIdsByFields = function(fields) {
1766
1766
  * @param {string} stackId
1767
1767
  */
1768
1768
  ColumnStackPlugin.prototype.addColumnToStack = function(colRef, stackId) {
1769
- var colId = this._toColumnId(colRef);
1769
+ let colId = this._toColumnId(colRef);
1770
1770
 
1771
- var stack = this._groupDefs.getGroup(stackId);
1772
- var isColumnStackable = !this._groupDefs.getParentGroup(colId);
1771
+ let stack = this._groupDefs.getGroup(stackId);
1772
+ let isColumnStackable = !this._groupDefs.getParentGroup(colId);
1773
1773
 
1774
1774
  // if column not stackable or destination stack not exist, do nothing
1775
1775
  if(!isColumnStackable || !stack){
@@ -1782,17 +1782,17 @@ ColumnStackPlugin.prototype.addColumnToStack = function(colRef, stackId) {
1782
1782
  this._groupDefs.addGroupChild(stackId, colId);
1783
1783
 
1784
1784
  // To avoid state interference from Core Grid, keep the pin state before moving the columns
1785
- var host = this._hosts[0];
1786
- var leftPinnedIndex = host.getFrozenColumnCount() - 1;
1787
- var rightPinnedCount = host.getPinnedRightColumnCount();
1788
- var colIndex = this.getColumnIndex(colId);
1785
+ let host = this._hosts[0];
1786
+ let leftPinnedIndex = host.getFrozenColumnCount() - 1;
1787
+ let rightPinnedCount = host.getPinnedRightColumnCount();
1788
+ let colIndex = this.getColumnIndex(colId);
1789
1789
 
1790
1790
  // Pack stacked columns together
1791
1791
  this._moveStackedColumns(stack.children);
1792
1792
 
1793
1793
  // If an unpinned column is added to a pinned stack, the pinning position should be updated
1794
1794
  if(stack.leftPinned || stack.rightPinned) {
1795
- var colCount = this.getColumnCount();
1795
+ let colCount = this.getColumnCount();
1796
1796
  if(stack.leftPinned && colIndex > leftPinnedIndex) {
1797
1797
  leftPinnedIndex++;
1798
1798
  this._freezeColumn(leftPinnedIndex, rightPinnedCount);
@@ -1810,20 +1810,20 @@ ColumnStackPlugin.prototype.addColumnToStack = function(colRef, stackId) {
1810
1810
  * @param {number|string} colRef column field or column index
1811
1811
  */
1812
1812
  ColumnStackPlugin.prototype.removeColumnFromStack = function(colRef) {
1813
- var colIndex = (typeof colRef === "string") ? this.getColumnIndex(colRef) : colRef;
1813
+ let colIndex = (typeof colRef === "string") ? this.getColumnIndex(colRef) : colRef;
1814
1814
  if(colIndex < 0) {
1815
1815
  return;
1816
1816
  }
1817
1817
 
1818
- var colId = this.getColumnId(colIndex);
1819
- var stack = this._groupDefs.getParentGroup(colId);
1818
+ let colId = this.getColumnId(colIndex);
1819
+ let stack = this._groupDefs.getParentGroup(colId);
1820
1820
 
1821
1821
  if(!stack) {
1822
1822
  return;
1823
1823
  }
1824
1824
 
1825
- var children = stack.children;
1826
- var memberCount = children.length;
1825
+ let children = stack.children;
1826
+ let memberCount = children.length;
1827
1827
  if(memberCount <= 2) {
1828
1828
  if(memberCount === 2) {
1829
1829
  if(colId === children[0]) { // If the first column is removed from the stack, move it to the end of stack
@@ -1835,7 +1835,7 @@ ColumnStackPlugin.prototype.removeColumnFromStack = function(colRef) {
1835
1835
  return;
1836
1836
  }
1837
1837
 
1838
- var colIndices = this.getColumnIndices(children);
1838
+ let colIndices = this.getColumnIndices(children);
1839
1839
  this._removeRefFromStack(stack, colId, colIndex);
1840
1840
 
1841
1841
  this.moveColumnById(colIndex, colIndices[memberCount - 1] + 1); // This assumes that the column order is already in correct position
@@ -1849,23 +1849,23 @@ ColumnStackPlugin.prototype.removeColumnFromStack = function(colRef) {
1849
1849
  * @param {string} stackId
1850
1850
  */
1851
1851
  ColumnStackPlugin.prototype.reorderStackColumns = function(colRefs, stackId) {
1852
- var stack = this._groupDefs.getGroup(stackId);
1852
+ let stack = this._groupDefs.getGroup(stackId);
1853
1853
  if(!stack) {
1854
1854
  return;
1855
1855
  }
1856
1856
  if(!colRefs || !colRefs.length) {
1857
1857
  return; // Nothing to be reordered
1858
1858
  }
1859
- var colIndices = this.getColumnIndices(colRefs); // Slow
1859
+ let colIndices = this.getColumnIndices(colRefs); // Slow
1860
1860
  if(!colIndices.length) {
1861
1861
  return; // Given input has no valid column
1862
1862
  }
1863
1863
 
1864
- var curMemberIndices = this.getStackMemberIndices(stackId); // Slow
1865
- var memberCount = curMemberIndices.length;
1866
- var indexMap = {};
1867
- for(var i = 0; i < memberCount; ++i) {
1868
- var colIndex = curMemberIndices[i];
1864
+ let curMemberIndices = this.getStackMemberIndices(stackId); // Slow
1865
+ let memberCount = curMemberIndices.length;
1866
+ let indexMap = {};
1867
+ for(let i = 0; i < memberCount; ++i) {
1868
+ let colIndex = curMemberIndices[i];
1869
1869
  indexMap[colIndex] = colIndices.indexOf(colIndex);
1870
1870
  }
1871
1871
 
@@ -1897,7 +1897,7 @@ ColumnStackPlugin.prototype.getStackName = function(stackId) {
1897
1897
  * @return {string} active column id
1898
1898
  */
1899
1899
  ColumnStackPlugin.prototype.getActiveColumnId = function(stackId) {
1900
- var stack = this._groupDefs.getGroup(stackId);
1900
+ let stack = this._groupDefs.getGroup(stackId);
1901
1901
  if(stack){
1902
1902
  return stack.activeColumn || "";
1903
1903
  }
@@ -1918,7 +1918,7 @@ ColumnStackPlugin.prototype.getActiveColumnField = function(stackId) {
1918
1918
  * @return {number} active column index
1919
1919
  */
1920
1920
  ColumnStackPlugin.prototype.getActiveColumnIndex = function(stackId) {
1921
- var stack = this._groupDefs.getGroup(stackId);
1921
+ let stack = this._groupDefs.getGroup(stackId);
1922
1922
  if(stack){
1923
1923
  return this.getColumnIndex(stack.activeColumn);
1924
1924
  }
@@ -1974,7 +1974,7 @@ ColumnStackPlugin.prototype.moveColumnById = function(srcCol, destCol) {
1974
1974
  ColumnStackPlugin.prototype._updateActiveColumn = function(stackOpt) {
1975
1975
  if(_resolveActiveColumn(stackOpt)) {
1976
1976
  // TODO: Add a proper way to set visibility to activeColumn when activeColumn is changed
1977
- var activeColIndex = this.getColumnIndex(stackOpt.activeColumn);
1977
+ let activeColIndex = this.getColumnIndex(stackOpt.activeColumn);
1978
1978
  if(activeColIndex >= 0) {
1979
1979
  this._setColumnVisibility(activeColIndex, true);
1980
1980
  this._updateUI();
@@ -1991,7 +1991,7 @@ ColumnStackPlugin.prototype.hideStack = function(stackId, hidden) {
1991
1991
  if(!stackId){
1992
1992
  return;
1993
1993
  }
1994
- var stackOption = this._groupDefs.getGroup(stackId);
1994
+ let stackOption = this._groupDefs.getGroup(stackId);
1995
1995
  if(!stackOption){
1996
1996
  return;
1997
1997
  }
@@ -1999,9 +1999,9 @@ ColumnStackPlugin.prototype.hideStack = function(stackId, hidden) {
1999
1999
  if(hidden == null){
2000
2000
  hidden = true;
2001
2001
  }
2002
- var children = stackOption.children;
2003
- for(var i = 0; i < children.length; i++){
2004
- for(var g = this._hosts.length; --g >= 0;) {
2002
+ let children = stackOption.children;
2003
+ for(let i = 0; i < children.length; i++){
2004
+ for(let g = this._hosts.length; --g >= 0;) {
2005
2005
  this._hosts[g].hideColumn(this.getColumnIndex(children[i]), hidden);
2006
2006
  }
2007
2007
  }
@@ -2024,15 +2024,15 @@ ColumnStackPlugin.prototype.showStack = function(stackId) {
2024
2024
  * @return {boolean|null}
2025
2025
  */
2026
2026
  ColumnStackPlugin.prototype.isStackHidden = function(stackId) {
2027
- var stackOption = this._groupDefs.getGroup(stackId);
2028
- var host = this._host || this._hosts[0];
2027
+ let stackOption = this._groupDefs.getGroup(stackId);
2028
+ let host = this._host || this._hosts[0];
2029
2029
 
2030
2030
  if(!stackOption || !host){
2031
2031
  return null;
2032
2032
  }
2033
2033
 
2034
- var activeColIndex = this.getColumnIndex(stackOption.activeColumn);
2035
- var isVisible = host.isColumnVisible(activeColIndex);
2034
+ let activeColIndex = this.getColumnIndex(stackOption.activeColumn);
2035
+ let isVisible = host.isColumnVisible(activeColIndex);
2036
2036
 
2037
2037
  return !isVisible;
2038
2038
  };
@@ -2046,8 +2046,8 @@ ColumnStackPlugin.prototype.moveStack = function(stackId, destCol) {
2046
2046
  if(!stackId){
2047
2047
  return false;
2048
2048
  }
2049
- var colList = this.getStackMemberIds(stackId);
2050
- var dirty = this.reorderColumns(colList, destCol);
2049
+ let colList = this.getStackMemberIds(stackId);
2050
+ let dirty = this.reorderColumns(colList, destCol);
2051
2051
  return dirty;
2052
2052
  };
2053
2053
 
@@ -2060,19 +2060,19 @@ ColumnStackPlugin.prototype.pinStack = function(stackId, side) {
2060
2060
  return;
2061
2061
  }
2062
2062
 
2063
- var stack = this._groupDefs.getGroup(stackId);
2063
+ let stack = this._groupDefs.getGroup(stackId);
2064
2064
  if(!stack) {
2065
2065
  return;
2066
2066
  }
2067
2067
 
2068
- var host = this._hosts[0];
2069
- var leftPinnedIndex = host.getFrozenColumnCount() - 1;
2070
- var rightPinnedCount = host.getPinnedRightColumnCount();
2071
- var colCount = this.getColumnCount();
2072
- var colList = this.getStackMemberIds(stackId);
2073
- var len = colList.length;
2068
+ let host = this._hosts[0];
2069
+ let leftPinnedIndex = host.getFrozenColumnCount() - 1;
2070
+ let rightPinnedCount = host.getPinnedRightColumnCount();
2071
+ let colCount = this.getColumnCount();
2072
+ let colList = this.getStackMemberIds(stackId);
2073
+ let len = colList.length;
2074
2074
 
2075
- var dest;
2075
+ let dest;
2076
2076
  if(side === "right") {
2077
2077
  if(stack.rightPinned) {
2078
2078
  return;
@@ -2110,7 +2110,7 @@ ColumnStackPlugin.prototype.unpinStack = function(stackId, dest) {
2110
2110
  return;
2111
2111
  }
2112
2112
 
2113
- var stack = this._groupDefs.getGroup(stackId);
2113
+ let stack = this._groupDefs.getGroup(stackId);
2114
2114
  if(!stack) {
2115
2115
  return;
2116
2116
  }
@@ -2119,17 +2119,17 @@ ColumnStackPlugin.prototype.unpinStack = function(stackId, dest) {
2119
2119
  return;
2120
2120
  }
2121
2121
 
2122
- var host = this._hosts[0];
2123
- var leftPinnedCount = host.getFrozenColumnCount();
2124
- var rightPinnedCount = host.getPinnedRightColumnCount();
2125
- var colCount = this.getColumnCount();
2126
- var firstRightPinnedIndex = colCount - rightPinnedCount;
2127
- var colList = this.getStackMemberIds(stackId);
2128
- var len = colList.length;
2122
+ let host = this._hosts[0];
2123
+ let leftPinnedCount = host.getFrozenColumnCount();
2124
+ let rightPinnedCount = host.getPinnedRightColumnCount();
2125
+ let colCount = this.getColumnCount();
2126
+ let firstRightPinnedIndex = colCount - rightPinnedCount;
2127
+ let colList = this.getStackMemberIds(stackId);
2128
+ let len = colList.length;
2129
2129
 
2130
- var destId = null;
2130
+ let destId = null;
2131
2131
  if(dest != null) {
2132
- var destIdx = this.getColumnIndex(dest);
2132
+ let destIdx = this.getColumnIndex(dest);
2133
2133
  destId = this.getColumnId(destIdx);
2134
2134
  }
2135
2135