@refinitiv-ui/efx-grid 6.0.104 → 6.0.106

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/lib/core/dist/core.js +7 -8
  2. package/lib/core/dist/core.min.js +1 -1
  3. package/lib/core/es6/grid/Core.js +7 -8
  4. package/lib/formatters/es6/FormatterBuilder.js +10 -1
  5. package/lib/formatters/es6/SimpleTickerFormatter.d.ts +0 -2
  6. package/lib/formatters/es6/SimpleTickerFormatter.js +1 -0
  7. package/lib/grid/index.js +1 -1
  8. package/lib/rt-grid/dist/rt-grid.js +375 -737
  9. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  10. package/lib/rt-grid/es6/FieldDefinition.d.ts +2 -0
  11. package/lib/rt-grid/es6/FieldDefinition.js +23 -7
  12. package/lib/rt-grid/es6/Grid.d.ts +1 -1
  13. package/lib/rt-grid/es6/Grid.js +8 -49
  14. package/lib/rt-grid/es6/RowDefinition.d.ts +5 -3
  15. package/lib/rt-grid/es6/RowDefinition.js +49 -20
  16. package/lib/tr-grid-column-fitter/es6/ColumnFitter.js +523 -708
  17. package/lib/tr-grid-column-resizing/es6/ColumnResizing.d.ts +16 -16
  18. package/lib/tr-grid-column-resizing/es6/ColumnResizing.js +131 -109
  19. package/lib/tr-grid-printer/es6/CellWriter.d.ts +6 -5
  20. package/lib/tr-grid-printer/es6/CellWriter.js +57 -49
  21. package/lib/tr-grid-printer/es6/ColumnWriter.d.ts +1 -0
  22. package/lib/tr-grid-printer/es6/ColumnWriter.js +3 -1
  23. package/lib/tr-grid-printer/es6/GridPrinter.js +117 -99
  24. package/lib/tr-grid-printer/es6/PrintTrait.d.ts +1 -0
  25. package/lib/tr-grid-printer/es6/PrintTrait.js +60 -47
  26. package/lib/tr-grid-printer/es6/SectionWriter.d.ts +4 -1
  27. package/lib/tr-grid-printer/es6/SectionWriter.js +40 -15
  28. package/lib/tr-grid-row-grouping/es6/RowGrouping.js +6 -0
  29. package/lib/tr-grid-util/es6/MultiTableManager.js +1 -0
  30. package/lib/types/es6/ColumnResizing.d.ts +16 -16
  31. package/lib/types/es6/Core/data/DataCache.d.ts +0 -8
  32. package/lib/types/es6/RealtimeGrid/FieldDefinition.d.ts +2 -0
  33. package/lib/types/es6/RealtimeGrid/Grid.d.ts +1 -1
  34. package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +5 -3
  35. package/lib/versions.json +6 -6
  36. package/package.json +1 -1
@@ -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,9 +6,11 @@ declare class CellWriter extends ElementWrapper {
6
6
 
7
7
  constructor();
8
8
 
9
- public getContent(): Node|null|null;
9
+ public getParent(): Node|null;
10
10
 
11
- public setContent(content: any, opt_tooltip?: boolean|null): Element|null;
11
+ public getContent(): Node|null;
12
+
13
+ public setContent(content: any, tooltip?: boolean|null): Element|null;
12
14
 
13
15
  public setTooltip(str: string): void;
14
16
 
@@ -26,11 +28,9 @@ declare class CellWriter extends ElementWrapper {
26
28
 
27
29
  public listen(): void;
28
30
 
29
- public setTooltip(): void;
30
-
31
31
  public addClass(str: string): void;
32
32
 
33
- public hasClass(str: string): void;
33
+ public hasClass(str: string): boolean;
34
34
 
35
35
  public removeClass(str: string): void;
36
36
 
@@ -46,4 +46,5 @@ declare class CellWriter extends ElementWrapper {
46
46
 
47
47
  }
48
48
 
49
+ export default CellWriter;
49
50
  export { CellWriter };