@refinitiv-ui/efx-grid 6.0.104 → 6.0.105

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,25 +6,25 @@ import { injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
6
6
  declare namespace ColumnResizingPlugin {
7
7
 
8
8
  type Options = {
9
- preserveProportion?: boolean,
10
- preserveGridSize?: boolean,
11
- noResizing?: boolean,
12
- columnResized?: ((...params: any[]) => any),
13
- dblClicked?: ((...params: any[]) => any),
14
- dragStart?: ((...params: any[]) => any),
15
- dragEnd?: ((...params: any[]) => any)
9
+ preserveProportion?: boolean|null,
10
+ preserveGridSize?: boolean|null,
11
+ noResizing?: boolean|null,
12
+ columnResized?: ((...params: any[]) => any)|null,
13
+ dblClicked?: ((...params: any[]) => any)|null,
14
+ dragStart?: ((...params: any[]) => any)|null,
15
+ dragEnd?: ((...params: any[]) => any)|null
16
16
  };
17
17
 
18
18
  type ColumnOptions = {
19
- noResizing?: boolean,
20
- defaultWidth?: number
19
+ noResizing?: boolean|null,
20
+ defaultWidth?: number|null
21
21
  };
22
22
 
23
23
  }
24
24
 
25
25
  declare class ColumnResizingPlugin extends GridPlugin {
26
26
 
27
- constructor(options?: ColumnResizingPlugin.Options);
27
+ constructor(options?: ColumnResizingPlugin.Options|null);
28
28
 
29
29
  public getName(): string;
30
30
 
@@ -40,15 +40,15 @@ declare class ColumnResizingPlugin extends GridPlugin {
40
40
 
41
41
  public getConfigObject(gridOptions?: any): any;
42
42
 
43
- public disableResizing(colIndex: number, opt_disabled?: boolean): void;
43
+ public disableResizing(colIndex: number, opt_disabled?: boolean|null): void;
44
44
 
45
45
  public getDraggedColumnIndex(): number;
46
46
 
47
47
  public getDraggedAnchorX(): number;
48
48
 
49
- public setColumnWidths(cols: (number)[], width: (number)[]|number, opt_scalable?: boolean): void;
49
+ public setColumnWidths(cols: (number)[]|null, width: (number)[]|number|null, opt_scalable?: boolean|null): void;
50
50
 
51
- public setAllColumnWidths(colWidth: number, scalability?: boolean): boolean;
51
+ public setAllColumnWidths(colWidth: number, scalability?: boolean|null): boolean;
52
52
 
53
53
  public getColumnWidths(): (number)[]|null;
54
54
 
@@ -56,11 +56,11 @@ declare class ColumnResizingPlugin extends GridPlugin {
56
56
 
57
57
  public getColumnSizeStates(): (any)[]|null;
58
58
 
59
- public setColumnSizeStates(columns: (any)[]|string): void;
59
+ public setColumnSizeStates(columns: (any)[]|string|null): void;
60
60
 
61
- public enablePipeHandleMode(bool?: boolean): void;
61
+ public enablePipeHandleMode(bool?: boolean|null): void;
62
62
 
63
- public enableHandlebarMode(bool?: boolean): void;
63
+ public enableHandlebarMode(bool?: boolean|null): void;
64
64
 
65
65
  }
66
66
 
@@ -39,8 +39,8 @@ import { injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
39
39
  * @extends {GridPlugin}
40
40
  * @param {ColumnResizingPlugin~Options=} options
41
41
  */
42
- var ColumnResizingPlugin = function (options) {
43
- var t = this;
42
+ let ColumnResizingPlugin = function (options) {
43
+ let t = this;
44
44
  t._onPreSectionRender = t._onPreSectionRender.bind(t);
45
45
  t._requestResizerUpdate = t._requestResizerUpdate.bind(t);
46
46
  t._updateResizers = t._updateResizers.bind(t);
@@ -265,7 +265,7 @@ ColumnResizingPlugin.prototype.initialize = function (host, options) {
265
265
  * @param {Object} host core grid object
266
266
  */
267
267
  ColumnResizingPlugin.prototype.unload = function (host) {
268
- var at = this._hosts.indexOf(host);
268
+ let at = this._hosts.indexOf(host);
269
269
  if(at < 0) { return; }
270
270
 
271
271
  this._hosts.splice(at, 1);
@@ -280,36 +280,29 @@ ColumnResizingPlugin.prototype.unload = function (host) {
280
280
  this._updateTimer = 0;
281
281
  }
282
282
 
283
- var titleSect = host.getSection("title");
283
+ let titleSect = host.getSection("title");
284
284
  if(titleSect) {
285
- for(var c = host.getColumnCount(); --c >= 0;) {
286
- var col = titleSect.getColumn(c);
285
+ for(let c = host.getColumnCount(); --c >= 0;) {
286
+ let col = titleSect.getColumn(c);
287
287
  if(col._resizers) {
288
- var len = col._resizers.length;
289
- for(var i = 0; i < len; ++i) {
290
- var resizer = col._resizers[i];
291
- if(resizer.dispose) {
292
- resizer.dispose();
293
- } else {
294
- Dom.removeParent(resizer);
295
- }
288
+ let len = col._resizers.length;
289
+ for(let i = 0; i < len; ++i) {
290
+ Dom.removeParent(col._resizers[i]);
296
291
  }
297
292
  col._resizers = null;
298
293
  }
299
294
  }
300
295
  }
301
296
 
302
- if(!this._hosts.length) {
303
- this._compositeGrid = null;
304
- }
297
+ this._dispose();
305
298
  };
306
299
  /** @public
307
300
  * @param {Object=} options
308
301
  */
309
302
  ColumnResizingPlugin.prototype.config = function (options) {
310
303
  if(!options) { return; }
311
- var host = this._hosts[this._hosts.length - 1];
312
- var pluginOption = options["columnResizing"];
304
+ let host = this._hosts[this._hosts.length - 1];
305
+ let pluginOption = options["columnResizing"];
313
306
  if(pluginOption) {
314
307
  if(pluginOption["preserveProportion"]) {
315
308
  this._keepProportion = true;
@@ -339,11 +332,11 @@ ColumnResizingPlugin.prototype.config = function (options) {
339
332
  this.addListener(pluginOption, "dragEnd");
340
333
  }
341
334
 
342
- var columns = options["columns"];
335
+ let columns = options["columns"];
343
336
  if(!columns) { return; }
344
337
 
345
- var len = columns.length;
346
- for(var c = 0; c < len; ++c) {
338
+ let len = columns.length;
339
+ for(let c = 0; c < len; ++c) {
347
340
  this._configColumn(host, c, columns[c]);
348
341
  }
349
342
  };
@@ -353,32 +346,32 @@ ColumnResizingPlugin.prototype.config = function (options) {
353
346
  * @return {!Object}
354
347
  */
355
348
  ColumnResizingPlugin.prototype.getConfigObject = function (gridOptions) {
356
- var obj = gridOptions || {};
349
+ let obj = gridOptions || {};
357
350
 
358
- var columns = obj.columns;
351
+ let columns = obj.columns;
359
352
  if (!columns) {
360
353
  columns = obj.columns = [];
361
354
  }
362
355
 
363
- var len = this.getColumnCount();
364
- for (var i = 0; i < len; ++i) {
365
- var column = columns[i];
356
+ let len = this.getColumnCount();
357
+ for (let i = 0; i < len; ++i) {
358
+ let column = columns[i];
366
359
  if (!column) {
367
360
  column = columns[i] = {};
368
361
  }
369
362
 
370
- var noResizing = this._getColumnOption(i, 'noResizing', this._hosts[0]);
363
+ let noResizing = this._getColumnOption(i, 'noResizing', this._hosts[0]);
371
364
  if (noResizing) {
372
365
  column.noResizing = noResizing;
373
366
  }
374
367
 
375
- var defaultWidth = this._getColumnOption(i, 'defaultWidth', this._hosts[0]);
368
+ let defaultWidth = this._getColumnOption(i, 'defaultWidth', this._hosts[0]);
376
369
  if (typeof defaultWidth == "number") {
377
370
  column.defaultWidth = defaultWidth;
378
371
  }
379
372
  }
380
373
 
381
- var extOptions = obj.columnResizing;
374
+ let extOptions = obj.columnResizing;
382
375
  if (!extOptions) {
383
376
  extOptions = obj.columnResizing = {};
384
377
  }
@@ -401,7 +394,7 @@ ColumnResizingPlugin.prototype._configColumn = function(host, colIndex, columnCo
401
394
  if(columnConfig["noResizing"]) {
402
395
  this._newColumnData(colIndex)["noResizing"] = true;
403
396
  }
404
- var num = columnConfig["defaultWidth"];
397
+ let num = columnConfig["defaultWidth"];
405
398
  if(typeof num == "number") {
406
399
  this._newColumnData(colIndex)["defaultWidth"] = num;
407
400
  if(host) {
@@ -416,7 +409,7 @@ ColumnResizingPlugin.prototype._configColumn = function(host, colIndex, columnCo
416
409
  */
417
410
  ColumnResizingPlugin.prototype._afterInit = function () {
418
411
  if(this._compositeGrid) {
419
- var core = this._compositeGrid.getCoreGrid();
412
+ let core = this._compositeGrid.getCoreGrid();
420
413
  core.unloadPlugin("ResizableTitlePlugin");
421
414
  }
422
415
  };
@@ -427,10 +420,10 @@ ColumnResizingPlugin.prototype._afterInit = function () {
427
420
  * @param {boolean=} opt_disabled
428
421
  */
429
422
  ColumnResizingPlugin.prototype.disableResizing = function(colIndex, opt_disabled) {
430
- var colData = this._newColumnData(colIndex);
423
+ let colData = this._newColumnData(colIndex);
431
424
  colData["noResizing"] = opt_disabled !== false;
432
425
 
433
- for(var i = this._hosts.length; --i >= 0;) {
426
+ for(let i = this._hosts.length; --i >= 0;) {
434
427
  this._updateResizerCount(this._hosts[i]);
435
428
  }
436
429
  };
@@ -456,14 +449,14 @@ ColumnResizingPlugin.prototype.getDraggedAnchorX = function() {
456
449
  * @param {boolean=} opt_scalable If not defined false value is used instead
457
450
  */
458
451
  ColumnResizingPlugin.prototype.setColumnWidths = function (cols, width, opt_scalable) {
459
- var colCount = this.getColumnCount();
460
- var widths = new Array(colCount);
461
- var isNumber = typeof width === "number";
462
- for (var c = 0; c < cols.length; c++) {
452
+ let colCount = this.getColumnCount();
453
+ let widths = new Array(colCount);
454
+ let isNumber = typeof width === "number";
455
+ for (let c = 0; c < cols.length; c++) {
463
456
  widths[cols[c]] = isNumber ? width : width[c];
464
457
  }
465
- var host;
466
- for(var i = this._hosts.length; --i >= 0;) {
458
+ let host;
459
+ for(let i = this._hosts.length; --i >= 0;) {
467
460
  host = this._hosts[i];
468
461
  host.setColumnWidths(widths, opt_scalable);
469
462
  }
@@ -476,13 +469,13 @@ ColumnResizingPlugin.prototype.setColumnWidths = function (cols, width, opt_scal
476
469
  * @return {boolean} True if there is any changed
477
470
  */
478
471
  ColumnResizingPlugin.prototype.setAllColumnWidths = function (colWidth, scalability) {
479
- var colCount = this.getColumnCount();
480
- var widths = new Array(colCount);
481
- var i;
472
+ let colCount = this.getColumnCount();
473
+ let widths = new Array(colCount);
474
+ let i;
482
475
  for (i = 0; i < colCount; i++) {
483
476
  widths[i] = colWidth;
484
477
  }
485
- var host, dirty = false;
478
+ let host, dirty = false;
486
479
  for(i = this._hosts.length; --i >= 0;) {
487
480
  host = this._hosts[i];
488
481
  dirty |= host.setColumnWidths(widths, scalability);
@@ -495,9 +488,9 @@ ColumnResizingPlugin.prototype.setAllColumnWidths = function (colWidth, scalabil
495
488
  * @returns {Array.<number>} Array of width
496
489
  */
497
490
  ColumnResizingPlugin.prototype.getColumnWidths = function () {
498
- var colCount = this.getColumnCount();
499
- var host = this._hosts[0], out = new Array(colCount);
500
- for (var i = 0; i < colCount; i++) {
491
+ let colCount = this.getColumnCount();
492
+ let host = this._hosts[0], out = new Array(colCount);
493
+ for (let i = 0; i < colCount; i++) {
501
494
  out[i] = host.getColumnWidth(i);
502
495
  }
503
496
  return out;
@@ -508,10 +501,10 @@ ColumnResizingPlugin.prototype.getColumnWidths = function () {
508
501
  * @returns {boolean} True if there is any changed
509
502
  */
510
503
  ColumnResizingPlugin.prototype.resetAllColumnsToDefaultWidth = function () {
511
- var dirty = false;
512
- var hosts = this._hosts;
513
- var host;
514
- for (var i = 0; i < hosts.length; i++ ) {
504
+ let dirty = false;
505
+ let hosts = this._hosts;
506
+ let host;
507
+ for (let i = 0; i < hosts.length; i++ ) {
515
508
  host = hosts[i];
516
509
  dirty |= host.resetColumnWidths();
517
510
  }
@@ -523,9 +516,9 @@ ColumnResizingPlugin.prototype.resetAllColumnsToDefaultWidth = function () {
523
516
  * @returns {Array.<Object>} Columns state
524
517
  */
525
518
  ColumnResizingPlugin.prototype.getColumnSizeStates = function () {
526
- var colCount = this.getColumnCount();
527
- var host = this._hosts[0], out = new Array(colCount);
528
- for (var i = 0; i < colCount; i++) {
519
+ let colCount = this.getColumnCount();
520
+ let host = this._hosts[0], out = new Array(colCount);
521
+ for (let i = 0; i < colCount; i++) {
529
522
  out[i] = {
530
523
  width: host.getColumnWidth(i),
531
524
  scalability: host.getColumnScalability(i)
@@ -540,7 +533,7 @@ ColumnResizingPlugin.prototype.getColumnSizeStates = function () {
540
533
  * @param {Array.<Object>|string} columns Array or string
541
534
  */
542
535
  ColumnResizingPlugin.prototype.setColumnSizeStates = function (columns) {
543
- var host = this._hosts[0];
536
+ let host = this._hosts[0];
544
537
 
545
538
  if (typeof columns === 'string') {
546
539
  columns = JSON.parse(columns);
@@ -557,9 +550,9 @@ ColumnResizingPlugin.prototype.setColumnSizeStates = function (columns) {
557
550
  * @param {boolean=} bool
558
551
  */
559
552
  ColumnResizingPlugin.prototype.enablePipeHandleMode = function(bool) {
560
- var pipe = this._pipe = (bool !== false);
561
- var len = this._hosts.length;
562
- for(var i = 0; i < len; ++i) {
553
+ let pipe = this._pipe = (bool !== false);
554
+ let len = this._hosts.length;
555
+ for(let i = 0; i < len; ++i) {
563
556
  this._hosts[i].enableClass("tr-pipe-resizer", pipe);
564
557
  }
565
558
  };
@@ -567,10 +560,10 @@ ColumnResizingPlugin.prototype.enablePipeHandleMode = function(bool) {
567
560
  * @param {boolean=} bool
568
561
  */
569
562
  ColumnResizingPlugin.prototype.enableHandlebarMode = function(bool) {
570
- var enabled = this._hbMode = (bool !== false);
563
+ let enabled = this._hbMode = (bool !== false);
571
564
 
572
565
  if(enabled) {
573
- var csp = this._getCSP();
566
+ let csp = this._getCSP();
574
567
  if(csp) {
575
568
  csp.listen("selectionChanged", this._updateHandlebar);
576
569
  } else {
@@ -599,8 +592,8 @@ ColumnResizingPlugin.prototype._updateResizers = function () {
599
592
  if(this._hbMode) {
600
593
  this._updateHandlebar();
601
594
  } else {
602
- for(var i = this._hosts.length; --i >= 0;) {
603
- var host = this._hosts[i];
595
+ for(let i = this._hosts.length; --i >= 0;) {
596
+ let host = this._hosts[i];
604
597
  this._updateResizerCount(host);
605
598
  }
606
599
  }
@@ -620,7 +613,7 @@ ColumnResizingPlugin.prototype._onPreSectionRender = function (e) {
620
613
  */
621
614
  ColumnResizingPlugin.prototype._onTimer = function() {
622
615
  if(this._hbMode) {
623
- var csp = this._getCSP();
616
+ let csp = this._getCSP();
624
617
  if(csp) {
625
618
  csp.listen("selectionChanged", this._updateHandlebar);
626
619
  }
@@ -633,8 +626,8 @@ ColumnResizingPlugin.prototype._onTimer = function() {
633
626
  */
634
627
  ColumnResizingPlugin.prototype._onColumnAdded = function(e) {
635
628
  if(e.context && e.colIndex != null) {
636
- for(var i = this._hosts.length; --i >= 0;) {
637
- var host = this._hosts[i];
629
+ for(let i = this._hosts.length; --i >= 0;) {
630
+ let host = this._hosts[i];
638
631
  this._configColumn(host, e.colIndex, e.context);
639
632
  }
640
633
  }
@@ -645,7 +638,7 @@ ColumnResizingPlugin.prototype._onColumnAdded = function(e) {
645
638
  ColumnResizingPlugin.prototype._onDragStart = function (e) {
646
639
  if (this._dragIndex >= 0) { return; }
647
640
 
648
- var host = this._getDraggedGrid(e);
641
+ let host = this._getDraggedGrid(e);
649
642
  this._dragIndex = this._getResizerIndex(host, e);
650
643
  if (this._dragIndex < 0) { return; }
651
644
 
@@ -658,7 +651,7 @@ ColumnResizingPlugin.prototype._onDragStart = function (e) {
658
651
  window.addEventListener("mouseup", this._onDragEnd);
659
652
  }
660
653
 
661
- var gridParent = host.getElement().parentElement;
654
+ let gridParent = host.getElement().parentElement;
662
655
 
663
656
  gridParent.classList.add("tr-dragging"); // Prevent text selection
664
657
  gridParent.classList.add("tr-resize-cursor");
@@ -697,9 +690,9 @@ ColumnResizingPlugin.prototype._onDrag = function (e) {
697
690
  return;
698
691
  }
699
692
 
700
- var diff = this._diffX = this._getAnchorX(e) - this._anchorX;
701
- var width = this._draggedGrid.getColumnWidth(this._dragIndex);
702
- var minWidth = this._draggedGrid.getMinimumColumnWidth(this._dragIndex);
693
+ let diff = this._diffX = this._getAnchorX(e) - this._anchorX;
694
+ let width = this._draggedGrid.getColumnWidth(this._dragIndex);
695
+ let minWidth = this._draggedGrid.getMinimumColumnWidth(this._dragIndex);
703
696
 
704
697
  if (width + diff < minWidth) {
705
698
  diff = minWidth - width;
@@ -716,7 +709,7 @@ ColumnResizingPlugin.prototype._onDragEnd = function (e) {
716
709
  window.removeEventListener("mousemove", this._onDrag);
717
710
  window.removeEventListener("mouseup", this._onDragEnd);
718
711
 
719
- var parentElement = this._guideline.parentElement;
712
+ let parentElement = this._guideline.parentElement;
720
713
  if (parentElement) {
721
714
  parentElement.classList.remove("tr-dragging");
722
715
  parentElement.classList.remove("tr-resize-cursor");
@@ -729,9 +722,9 @@ ColumnResizingPlugin.prototype._onDragEnd = function (e) {
729
722
  this._activeResizer = null;
730
723
 
731
724
  if(this._diffX) { // There must be some change after dragging
732
- var diff = this._diffX;
733
- var minWidth = this._draggedGrid.getMinimumColumnWidth(this._dragIndex);
734
- var newWidth = this._draggedGrid.getColumnWidth(this._dragIndex) + (diff / this._draggedGrid["zoomFactor"]);
725
+ let diff = this._diffX;
726
+ let minWidth = this._draggedGrid.getMinimumColumnWidth(this._dragIndex);
727
+ let newWidth = this._draggedGrid.getColumnWidth(this._dragIndex) + (diff / this._draggedGrid["zoomFactor"]);
735
728
  if (newWidth < minWidth) { newWidth = minWidth; }
736
729
 
737
730
  if (this._keepProportion) {
@@ -743,7 +736,7 @@ ColumnResizingPlugin.prototype._onDragEnd = function (e) {
743
736
  "scalability": true
744
737
  });
745
738
  } else {
746
- var cols = this._getResizingCols(this._dragIndex);
739
+ let cols = this._getResizingCols(this._dragIndex);
747
740
  this.setColumnWidths(cols, newWidth);
748
741
 
749
742
  this._dispatch("columnResized", {
@@ -767,20 +760,20 @@ ColumnResizingPlugin.prototype._onDragEnd = function (e) {
767
760
  * @param {Event} e
768
761
  */
769
762
  ColumnResizingPlugin.prototype._onDblClick = function(e){
770
- var host = this.getRelativeGrid(e);
771
- var colIndex = this._getResizerIndex(host, e);
772
- var plugin = this._getPlugin("ColumnFitterPlugin");
763
+ let host = this.getRelativeGrid(e);
764
+ let colIndex = this._getResizerIndex(host, e);
765
+ let plugin = this._getPlugin("ColumnFitterPlugin");
773
766
  if(!plugin) {
774
767
  plugin = this._getPlugin("ColumnWidthAdjustingPlugin");
775
768
  }
776
769
 
777
770
  if(plugin) {
778
- var cols = this._getResizingCols(colIndex);
779
- var widths = [];
780
- var index;
781
- for(var i = cols.length; --i >= 0;) {
771
+ let cols = this._getResizingCols(colIndex);
772
+ let widths = [];
773
+ let index;
774
+ for(let i = cols.length; --i >= 0;) {
782
775
  index = cols[i];
783
- var defaultW = this._getColumnOption(index, "defaultWidth");
776
+ let defaultW = this._getColumnOption(index, "defaultWidth");
784
777
  widths[i] = (defaultW != null) ? defaultW : plugin["getAdjustedColumnWidth"](index);
785
778
  }
786
779
 
@@ -799,22 +792,22 @@ ColumnResizingPlugin.prototype._updateHandlebar = function(e) {
799
792
  return;
800
793
  }
801
794
 
802
- var csp = this._getCSP();
795
+ let csp = this._getCSP();
803
796
  if(!csp) {
804
797
  return;
805
798
  }
806
799
 
807
- var sels = csp.getSelectedColumns();
800
+ let sels = csp.getSelectedColumns();
808
801
 
809
- var showHandlebar = sels.length === 1;
802
+ let showHandlebar = sels.length === 1;
810
803
  if(showHandlebar) {
811
804
  if(!this._handlebar) {
812
805
  this._handlebar = this._newResizer("tr-handlebar");
813
806
  this._guideline.classList.add("tr-hb-guideline");
814
807
  this._guideline.appendChild(this._handlebar);
815
808
  }
816
- var colIndex = this._handlebar._colIndex = sels[0];
817
- var grid = null;
809
+ let colIndex = this._handlebar._colIndex = sels[0];
810
+ let grid = null;
818
811
  if(e) {
819
812
  grid = this._handlebar._grid = e.grid;
820
813
  } else {
@@ -846,7 +839,7 @@ ColumnResizingPlugin._stopPropagation = function (e) {
846
839
  * @return {ColumnSelectionPlugin}
847
840
  */
848
841
  ColumnResizingPlugin.prototype._getCSP = function () {
849
- var csp = this._getPlugin("ColumnSelectionPlugin");
842
+ let csp = this._getPlugin("ColumnSelectionPlugin");
850
843
  if(csp && csp.isEnabled()) {
851
844
  return /** @type{ColumnSelectionPlugin} */(csp);
852
845
  } else {
@@ -861,15 +854,15 @@ ColumnResizingPlugin.prototype._updateResizerCount = function (host) {
861
854
  return;
862
855
  }
863
856
 
864
- var titleSect = host.getSection("title");
857
+ let titleSect = host.getSection("title");
865
858
  if(!titleSect) {
866
859
  return;
867
860
  }
868
- var colCount = host.getColumnCount();
869
- var c, rowCount, col, boxes;
861
+ let colCount = host.getColumnCount();
862
+ let c, rowCount, col, boxes;
870
863
  // Normal mode and Pipe mode
871
- var titleSects = host.getAllSections("title");
872
- for (var i = 0; i < titleSects.length; i++) {
864
+ let titleSects = host.getAllSections("title");
865
+ for (let i = 0; i < titleSects.length; i++) {
873
866
  titleSect = titleSects[i];
874
867
  for (c = 0; c < colCount; ++c) {
875
868
  rowCount = titleSect.getRowCount();
@@ -878,21 +871,21 @@ ColumnResizingPlugin.prototype._updateResizerCount = function (host) {
878
871
  if (!boxes) {
879
872
  boxes = col._resizers = [];
880
873
  }
881
- for (var j = 0; j < rowCount; j++) {
882
- var disabled = false;
883
- var cell = titleSect.getCell(c, j); // TODO: This can be optimized
884
- var cellColSpan = titleSect.getCellColSpan(c, j);
874
+ for (let j = 0; j < rowCount; j++) {
875
+ let disabled = false;
876
+ let cell = titleSect.getCell(c, j); // TODO: This can be optimized
877
+ let cellColSpan = titleSect.getCellColSpan(c, j);
885
878
  if(cellColSpan){
886
- var lastSpanCol = c + cellColSpan - 1;
879
+ let lastSpanCol = c + cellColSpan - 1;
887
880
  disabled = this._getColumnOption(lastSpanCol, "noResizing");
888
881
  } else {
889
882
  disabled = this._getColumnOption(c, "noResizing");
890
883
  }
891
- var box = cell._resizer;
884
+ let box = cell._resizer;
892
885
  if (!box) {
893
886
  box = this._newResizer();
894
887
  cell._resizer = box; // Cache to prevent repeating creation
895
- var cellElem = cell.getElement();
888
+ let cellElem = cell.getElement();
896
889
  cellElem.insertBefore(box, cellElem.firstChild);
897
890
  boxes.push(box);
898
891
  }
@@ -907,7 +900,7 @@ ColumnResizingPlugin.prototype._updateResizerCount = function (host) {
907
900
  * @return {!Element}
908
901
  */
909
902
  ColumnResizingPlugin.prototype._newResizer = function (classStr) {
910
- var box = Dom.div(classStr ? classStr : "resizer");
903
+ let box = Dom.div(classStr ? classStr : "resizer");
911
904
  box.setAttribute("draggable", "true");
912
905
  box.addEventListener("mousedown", ColumnResizingPlugin._stopPropagation);
913
906
  box.addEventListener("click", ColumnResizingPlugin._stopPropagation);
@@ -946,15 +939,15 @@ ColumnResizingPlugin.prototype._getResizerIndex = function (host, e) {
946
939
  }
947
940
  }
948
941
 
949
- var box = e["currentTarget"];
942
+ let box = e["currentTarget"];
950
943
  if (box._disabled) { // disabled is an internal flag
951
944
  return -1;
952
945
  }
953
946
 
954
- var pos = host.getRelativePosition(e);
955
- var colIndex = pos.colIndex;
956
- var rowIndex = pos.rowIndex;
957
- var colSpan = pos["section"].getCellColSpan(colIndex, rowIndex);
947
+ let pos = host.getRelativePosition(e);
948
+ let colIndex = pos.colIndex;
949
+ let rowIndex = pos.rowIndex;
950
+ let colSpan = pos["section"].getCellColSpan(colIndex, rowIndex);
958
951
  return (colIndex != null) ? colIndex + colSpan - 1 : -1;
959
952
  };
960
953
  /** @private
@@ -972,9 +965,9 @@ ColumnResizingPlugin.prototype._getColumnRight = function (host, colIndex) {
972
965
  * @return {Array.<number>}
973
966
  */
974
967
  ColumnResizingPlugin.prototype._getResizingCols = function (clickIndex) {
975
- var csp = this._getCSP();
968
+ let csp = this._getCSP();
976
969
  if(csp) {
977
- var cols = csp["getSelectedColumns"]();
970
+ let cols = csp["getSelectedColumns"]();
978
971
  if(cols.indexOf(clickIndex) >= 0) { // if clickIndex does not exist in selected columns then return clickIndex.
979
972
  return cols;
980
973
  }
@@ -982,6 +975,35 @@ ColumnResizingPlugin.prototype._getResizingCols = function (clickIndex) {
982
975
  return [clickIndex];
983
976
  };
984
977
 
978
+ /** @public
979
+ * @ignore
980
+ * @return {Object}
981
+ */
982
+ ColumnResizingPlugin.prototype._getEventHandlers = function () {
983
+ return {
984
+ "dragStart": this._onDragStart,
985
+ "drag": this._onDrag,
986
+ "dragEnd": this._onDragEnd,
987
+ "dblClick": this._onDblClick
988
+ };
989
+ };
990
+ /** @public
991
+ * @ignore
992
+ * @param {number} colIndex
993
+ * @return {Array.<Element>}
994
+ */
995
+ ColumnResizingPlugin.prototype.getResizers = function (colIndex) {
996
+ var host = this._hosts[0];
997
+ let titleSect = host ? host.getSection("title") : null;
998
+ if(titleSect) {
999
+ let col = titleSect.getColumn(colIndex);
1000
+ if(col) {
1001
+ return col._resizers || null;
1002
+ }
1003
+ }
1004
+ return null;
1005
+ };
1006
+
985
1007
 
986
1008
 
987
1009
  export default ColumnResizingPlugin;
@@ -6,25 +6,25 @@ import { injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
6
6
  declare namespace ColumnResizingPlugin {
7
7
 
8
8
  type Options = {
9
- preserveProportion?: boolean,
10
- preserveGridSize?: boolean,
11
- noResizing?: boolean,
12
- columnResized?: ((...params: any[]) => any),
13
- dblClicked?: ((...params: any[]) => any),
14
- dragStart?: ((...params: any[]) => any),
15
- dragEnd?: ((...params: any[]) => any)
9
+ preserveProportion?: boolean|null,
10
+ preserveGridSize?: boolean|null,
11
+ noResizing?: boolean|null,
12
+ columnResized?: ((...params: any[]) => any)|null,
13
+ dblClicked?: ((...params: any[]) => any)|null,
14
+ dragStart?: ((...params: any[]) => any)|null,
15
+ dragEnd?: ((...params: any[]) => any)|null
16
16
  };
17
17
 
18
18
  type ColumnOptions = {
19
- noResizing?: boolean,
20
- defaultWidth?: number
19
+ noResizing?: boolean|null,
20
+ defaultWidth?: number|null
21
21
  };
22
22
 
23
23
  }
24
24
 
25
25
  declare class ColumnResizingPlugin extends GridPlugin {
26
26
 
27
- constructor(options?: ColumnResizingPlugin.Options);
27
+ constructor(options?: ColumnResizingPlugin.Options|null);
28
28
 
29
29
  public getName(): string;
30
30
 
@@ -40,15 +40,15 @@ declare class ColumnResizingPlugin extends GridPlugin {
40
40
 
41
41
  public getConfigObject(gridOptions?: any): any;
42
42
 
43
- public disableResizing(colIndex: number, opt_disabled?: boolean): void;
43
+ public disableResizing(colIndex: number, opt_disabled?: boolean|null): void;
44
44
 
45
45
  public getDraggedColumnIndex(): number;
46
46
 
47
47
  public getDraggedAnchorX(): number;
48
48
 
49
- public setColumnWidths(cols: (number)[], width: (number)[]|number, opt_scalable?: boolean): void;
49
+ public setColumnWidths(cols: (number)[]|null, width: (number)[]|number|null, opt_scalable?: boolean|null): void;
50
50
 
51
- public setAllColumnWidths(colWidth: number, scalability?: boolean): boolean;
51
+ public setAllColumnWidths(colWidth: number, scalability?: boolean|null): boolean;
52
52
 
53
53
  public getColumnWidths(): (number)[]|null;
54
54
 
@@ -56,11 +56,11 @@ declare class ColumnResizingPlugin extends GridPlugin {
56
56
 
57
57
  public getColumnSizeStates(): (any)[]|null;
58
58
 
59
- public setColumnSizeStates(columns: (any)[]|string): void;
59
+ public setColumnSizeStates(columns: (any)[]|string|null): void;
60
60
 
61
- public enablePipeHandleMode(bool?: boolean): void;
61
+ public enablePipeHandleMode(bool?: boolean|null): void;
62
62
 
63
- public enableHandlebarMode(bool?: boolean): void;
63
+ public enableHandlebarMode(bool?: boolean|null): void;
64
64
 
65
65
  }
66
66