@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.
@@ -37,10 +37,10 @@ import {ElfUtil} from '../../tr-grid-util/es6/ElfUtil.js';
37
37
  * @property {string=} cssClass cssClass="" Predefined color class name
38
38
  * @property {string=} field Field to be used for this specific condition, overriding the field defined in ConditionalColoringOptions
39
39
  * @example
40
- * var conditions1 = [ // Add cssClass for any value that is greater than or equal to 10, and less than or equal to 20
40
+ * let conditions1 = [ // Add cssClass for any value that is greater than or equal to 10, and less than or equal to 20
41
41
  * {expression: [["GTE", 10, "AND"], ["LTE", 20]], cssClass: "predefinedColors"}
42
42
  * ];
43
- * var conditions2 = [ // Add background color for any fieldA value that is not blank value (e.g., null, undefined, 0, false, empty string)
43
+ * let conditions2 = [ // Add background color for any fieldA value that is not blank value (e.g., null, undefined, 0, false, empty string)
44
44
  * {
45
45
  * expression: function(rowData) {
46
46
  * return rowData["fieldA"] ? true : false;
@@ -49,7 +49,7 @@ import {ElfUtil} from '../../tr-grid-util/es6/ElfUtil.js';
49
49
  * field: "fieldA"
50
50
  * }
51
51
  * ];
52
- * var conditions3 = [ // Add text color for any fieldA value that is not equal to 10
52
+ * let conditions3 = [ // Add text color for any fieldA value that is not equal to 10
53
53
  * {expression: "[fieldA] != 10", color: "red"}
54
54
  * ];
55
55
  */
@@ -74,30 +74,50 @@ import {ElfUtil} from '../../tr-grid-util/es6/ElfUtil.js';
74
74
  * @property {string=} levelClass CSS class name.
75
75
  */
76
76
 
77
- var COLORING_TYPE = "coloring";
78
- var BLINKING_TYPE = "blinking";
79
- var CLEARING_BG = {
77
+ /** @type {string}
78
+ * @private
79
+ * @constant
80
+ */
81
+ const COLORING_TYPE = "coloring";
82
+ /** @type {string}
83
+ * @private
84
+ * @constant
85
+ */
86
+ const BLINKING_TYPE = "blinking";
87
+ /** @type {Object}
88
+ * @private
89
+ * @constant
90
+ */
91
+ const CLEARING_BG = {
80
92
  "backgroundColor": 1
81
93
  };
82
- var CLEARING_TEXT = {
94
+ /** @type {Object}
95
+ * @private
96
+ * @constant
97
+ */
98
+ const CLEARING_TEXT = {
83
99
  "color": 1
84
100
  };
85
- var CLEARING_ALL = {
101
+ /** @type {Object}
102
+ * @private
103
+ * @constant
104
+ */
105
+ const CLEARING_ALL = {
86
106
  "backgroundColor": 1,
87
107
  "color": 1
88
108
  };
89
109
 
90
- var _bracketExp = /\[[^\[\]]*\]/g;
110
+ let _bracketExp = /\[[^\[\]]*\]/g;
91
111
 
92
112
  /** @private
93
113
  * @param {string} exp Expression string
94
114
  * @return {Array.<string>}
95
115
  */
96
- var _getFieldsFromExpression = function(exp) {
97
- var fields = [];
116
+ let _getFieldsFromExpression = function(exp) {
117
+ let fields = [];
98
118
  if(exp && typeof exp === "string") {
99
- var matches = exp.match(_bracketExp);
100
- for (var i = 0; i < matches.length; i++) {
119
+ let matches = exp.match(_bracketExp);
120
+ for (let i = 0; i < matches.length; i++) {
101
121
  fields.push(matches[i].replace(/[\[\]]/g, ""));
102
122
  }
103
123
  }
@@ -107,7 +127,7 @@ var _getFieldsFromExpression = function(exp) {
107
127
  /** @constructor
108
128
  * @extends {GridPlugin}
109
129
  */
110
- var ConditionalColoringPlugin = function () {
130
+ let ConditionalColoringPlugin = function () {
111
131
  this._onSectionBinding = this._onSectionBinding.bind(this);
112
132
  this._onColumnAdded = this._onColumnAdded.bind(this);
113
133
  this._onColumnRemoved = this._onColumnRemoved.bind(this);
@@ -182,14 +202,14 @@ ConditionalColoringPlugin.prototype.hasMultiTableSupport = function() {
182
202
  ConditionalColoringPlugin.prototype.initialize = function (host, options) {
183
203
  host._prevDataRows = {};
184
204
 
185
- var hosts = this._hosts;
205
+ let hosts = this._hosts;
186
206
  if(hosts.indexOf(host) >= 0) { return; }
187
207
 
188
208
  hosts.push(host);
189
209
 
190
- var extOptions = options["conditionalColoring"];
210
+ let extOptions = options["conditionalColoring"];
191
211
  if (extOptions) {
192
- var predefinedColors = extOptions["predefinedColors"];
212
+ let predefinedColors = extOptions["predefinedColors"];
193
213
  if (predefinedColors != null && typeof predefinedColors === "object") {
194
214
  if (!this._predefinedColors) {
195
215
  this._predefinedColors = predefinedColors;
@@ -199,11 +219,11 @@ ConditionalColoringPlugin.prototype.initialize = function (host, options) {
199
219
  this._injectPredefinedColors(host);
200
220
  host.enableClass(ConditionalColoringPlugin._controlClass);
201
221
  }
202
- var blinkingDuration = extOptions["blinkingDuration"];
222
+ let blinkingDuration = extOptions["blinkingDuration"];
203
223
  if(blinkingDuration != null && typeof blinkingDuration === "number"){
204
224
  this._blinkingDuration = blinkingDuration;
205
225
  }
206
- var insertionBlinking = extOptions["insertionBlinking"];
226
+ let insertionBlinking = extOptions["insertionBlinking"];
207
227
  if(insertionBlinking != null){
208
228
  this._insertionBlinking = insertionBlinking;
209
229
  }
@@ -235,10 +255,10 @@ ConditionalColoringPlugin.prototype.initialize = function (host, options) {
235
255
  * @ignore
236
256
  */
237
257
  ConditionalColoringPlugin.prototype._afterInit = function () {
238
- var pendingFields = this._pendingFields;
258
+ let pendingFields = this._pendingFields;
239
259
  if(pendingFields) {
240
- var fields, colIndex, type;
241
- for(var i = 0; i < pendingFields.length; i++) {
260
+ let fields, colIndex, type;
261
+ for(let i = 0; i < pendingFields.length; i++) {
242
262
  fields = pendingFields[i][0];
243
263
  colIndex = pendingFields[i][1];
244
264
  type = pendingFields[i][2];
@@ -252,7 +272,7 @@ ConditionalColoringPlugin.prototype._afterInit = function () {
252
272
  * @param {Object} host core grid object
253
273
  */
254
274
  ConditionalColoringPlugin.prototype.unload = function (host) {
255
- var at = this._hosts.indexOf(host);
275
+ let at = this._hosts.indexOf(host);
256
276
  if(at < 0) { return; }
257
277
  this._hosts.splice(at, 1);
258
278
 
@@ -283,11 +303,11 @@ ConditionalColoringPlugin.prototype.beforeProcessOption = function (optionName,
283
303
  ConditionalColoringPlugin.prototype.config = function (options) {
284
304
  if(!options) { return; }
285
305
 
286
- var columns = options["columns"];
306
+ let columns = options["columns"];
287
307
  if(!columns) { return; }
288
308
 
289
- var len = columns.length;
290
- for(var i = 0; i < len; ++i) {
309
+ let len = columns.length;
310
+ for(let i = 0; i < len; ++i) {
291
311
  this.setColumnColoring(i, columns[i]);
292
312
  }
293
313
  };
@@ -297,9 +317,9 @@ ConditionalColoringPlugin.prototype.config = function (options) {
297
317
  * @return {!Object}
298
318
  */
299
319
  ConditionalColoringPlugin.prototype.getConfigObject = function (gridOptions) {
300
- var obj = gridOptions || {};
320
+ let obj = gridOptions || {};
301
321
 
302
- var extOptions = obj["conditionalColoring"];
322
+ let extOptions = obj["conditionalColoring"];
303
323
  if(!extOptions) {
304
324
  extOptions = obj["conditionalColoring"] = {};
305
325
  }
@@ -316,14 +336,14 @@ ConditionalColoringPlugin.prototype.getConfigObject = function (gridOptions) {
316
336
  extOptions["insertionBlinking"] = this._insertionBlinking;
317
337
  }
318
338
 
319
- var columns = obj.columns;
339
+ let columns = obj.columns;
320
340
  if (!columns) {
321
341
  columns = obj.columns = [];
322
342
  }
323
343
 
324
- var len = this.getColumnCount();
325
- for (var i = 0; i < len; ++i) {
326
- var column = columns[i];
344
+ let len = this.getColumnCount();
345
+ for (let i = 0; i < len; ++i) {
346
+ let column = columns[i];
327
347
  if (!column) {
328
348
  column = columns[i] = {};
329
349
  }
@@ -343,25 +363,25 @@ ConditionalColoringPlugin.prototype.getColumnColoring = function(colIndex, optio
343
363
  if(!options) {
344
364
  options = {};
345
365
  }
346
- var host = this._hosts[0];
347
- var conditions = this._getColumnOption(colIndex, "conditions", host);
366
+ let host = this._hosts[0];
367
+ let conditions = this._getColumnOption(colIndex, "conditions", host);
348
368
  if (Array.isArray(conditions) && conditions.length > 0) {
349
369
  options.conditions = [];
350
370
 
351
- var returnedFields = [
371
+ let returnedFields = [
352
372
  "expression",
353
373
  "backgroundColor",
354
374
  "color",
355
375
  "cssClass",
356
376
  "field"
357
377
  ];
358
- var count = conditions.length;
359
- for (var n = 0; n < count; n++) {
360
- var exCondition = {};
361
- var cond = conditions[n];
378
+ let count = conditions.length;
379
+ for (let n = 0; n < count; n++) {
380
+ let exCondition = {};
381
+ let cond = conditions[n];
362
382
  extendObject(exCondition, cond, returnedFields);
363
383
  if(typeof exCondition["expression"] === "function") {
364
- var origExp = cond["origExpression"];
384
+ let origExp = cond["origExpression"];
365
385
  if(origExp) {
366
386
  exCondition["expression"] = origExp;
367
387
  }
@@ -371,23 +391,23 @@ ConditionalColoringPlugin.prototype.getColumnColoring = function(colIndex, optio
371
391
  }
372
392
  }
373
393
 
374
- var colorText = this._getColumnOption(colIndex, "colorText", host);
394
+ let colorText = this._getColumnOption(colIndex, "colorText", host);
375
395
  if (colorText) {
376
396
  options.colorText = colorText;
377
397
  }
378
398
 
379
399
  // alias with colorText
380
- var tickColor = this._getColumnOption(colIndex, "tickColor", host);
400
+ let tickColor = this._getColumnOption(colIndex, "tickColor", host);
381
401
  if (tickColor) {
382
402
  options.tickColor = tickColor;
383
403
  }
384
404
 
385
- var blinking = this._getColumnOption(colIndex, "blinking", host);
405
+ let blinking = this._getColumnOption(colIndex, "blinking", host);
386
406
  if (blinking) {
387
407
  options.blinking = blinking;
388
408
  }
389
409
 
390
- var field = this._getField(colIndex);
410
+ let field = this._getField(colIndex);
391
411
  if (field) {
392
412
  options.field = field;
393
413
  }
@@ -402,12 +422,12 @@ ConditionalColoringPlugin.prototype.getColumnColoring = function(colIndex, optio
402
422
  ConditionalColoringPlugin.prototype._applyStyle = function(host, options) {
403
423
  if(!options) { return; }
404
424
 
405
- var columns = options["columns"];
425
+ let columns = options["columns"];
406
426
  if(!columns) { return; }
407
427
 
408
- var painter;
409
- var len = columns.length;
410
- for(var i = 0; i < len; ++i) {
428
+ let painter;
429
+ let len = columns.length;
430
+ for(let i = 0; i < len; ++i) {
411
431
  painter = this.getColumnPainter(i);
412
432
  if(this._isValidPainter(painter)) {
413
433
  host.enableColumnClass(i, "conditionally-colored", true);
@@ -421,9 +441,9 @@ ConditionalColoringPlugin.prototype._applyStyle = function(host, options) {
421
441
  */
422
442
  ConditionalColoringPlugin.prototype._enableColumnStyle = function(colIndex, enabled) {
423
443
  enabled = enabled !== false;
424
- var hosts = this._hosts;
425
- var grid;
426
- for(var i = hosts.length; --i >= 0;) {
444
+ let hosts = this._hosts;
445
+ let grid;
446
+ for(let i = hosts.length; --i >= 0;) {
427
447
  grid = hosts[i];
428
448
  grid.enableColumnClass(colIndex, "conditionally-colored", enabled);
429
449
  }
@@ -437,7 +457,7 @@ ConditionalColoringPlugin.prototype._isValidPainter = function(painter) {
437
457
  if (!painter) {
438
458
  return false;
439
459
  }
440
- var type = painter.getColoringType();
460
+ let type = painter.getColoringType();
441
461
  if (type !== CellPainter.ColoringTypes.HEATMAP) {
442
462
  return true;
443
463
  } else {
@@ -450,8 +470,8 @@ ConditionalColoringPlugin.prototype._isValidPainter = function(painter) {
450
470
  * @param {Object=} styleMapping
451
471
  */
452
472
  ConditionalColoringPlugin.prototype._clearCellStyles = function(colIndex, styleMapping) {
453
- var i, grid, sect, rowCount, r, cell;
454
- var hosts = this._hosts;
473
+ let i, grid, sect, rowCount, r, cell;
474
+ let hosts = this._hosts;
455
475
  for(i = hosts.length; --i >= 0;) {
456
476
  grid = hosts[i];
457
477
  sect = grid.getSection("content");
@@ -468,10 +488,10 @@ ConditionalColoringPlugin.prototype._clearCellStyles = function(colIndex, styleM
468
488
  /** @private
469
489
  */
470
490
  ConditionalColoringPlugin.prototype._cachePreviousValue = function() {
471
- var colCount = this.getColumnCount();
472
- var hosts = this._hosts;
473
- var len = hosts.length;
474
- var i, c, host;
491
+ let colCount = this.getColumnCount();
492
+ let hosts = this._hosts;
493
+ let len = hosts.length;
494
+ let i, c, host;
475
495
  for (i = 0; i < len; i++) {
476
496
  host = hosts[i];
477
497
  for (c = 0; c < colCount; ++c) {
@@ -485,13 +505,13 @@ ConditionalColoringPlugin.prototype._cachePreviousValue = function() {
485
505
  * @param {Object} host
486
506
  */
487
507
  ConditionalColoringPlugin.prototype._cacheColumnPreviousValue = function(colIndex, host) {
488
- var prevDataRows = host._prevDataRows || {};
489
- var dv = host.getDataSource();
490
- var rowCount = dv.getRowCount();
491
- var colData = this._getColumnData(colIndex);
508
+ let prevDataRows = host._prevDataRows || {};
509
+ let dv = host.getDataSource();
510
+ let rowCount = dv.getRowCount();
511
+ let colData = this._getColumnData(colIndex);
492
512
  if (colData["blinking"]) {
493
- var field = colData["blinkingField"] || this._getField(colIndex);
494
- var r, rid, value, prevDataRow;
513
+ let field = colData["blinkingField"] || this._getField(colIndex);
514
+ let r, rid, value, prevDataRow;
495
515
  for (r = 0; r < rowCount; r++) {
496
516
  rid = dv.getRowId(r);
497
517
  value = this._getData(dv, r, field);
@@ -517,9 +537,9 @@ ConditionalColoringPlugin.prototype._addDataFields = function(fieldRef, colRef,
517
537
  if(!this._realTimeGrid || !fieldRef || !type) {
518
538
  return;
519
539
  }
520
- var referrer = null;
540
+ let referrer = null;
521
541
  if (colRef != null) {
522
- var colDef = typeof colRef === "object" ? colRef : this._realTimeGrid.getColumnDefinition(colRef);
542
+ let colDef = typeof colRef === "object" ? colRef : this._realTimeGrid.getColumnDefinition(colRef);
523
543
  referrer = colDef ? colDef.getId() + "_" + type : null;
524
544
  }
525
545
 
@@ -535,9 +555,9 @@ ConditionalColoringPlugin.prototype._removeDataFields = function(fieldRef, colRe
535
555
  if(!this._realTimeGrid || !fieldRef || !type) {
536
556
  return;
537
557
  }
538
- var referrer = null;
558
+ let referrer = null;
539
559
  if (colRef != null) {
540
- var colDef = typeof colRef === "object" ? colRef : this._realTimeGrid.getColumnDefinition(colRef);
560
+ let colDef = typeof colRef === "object" ? colRef : this._realTimeGrid.getColumnDefinition(colRef);
541
561
  referrer = colDef ? colDef.getId() + "_" + type : null;
542
562
  }
543
563
  this._realTimeGrid.removeDataFields(fieldRef, referrer);
@@ -551,11 +571,11 @@ ConditionalColoringPlugin.prototype._removeFieldReferrer = function(colRef, type
551
571
  if(!this._realTimeGrid || !type) {
552
572
  return;
553
573
  }
554
- var referrer = null;
574
+ let referrer = null;
555
575
  if (colRef != null) {
556
- var colId = colRef;
576
+ let colId = colRef;
557
577
  if (typeof colRef === "number") {
558
- var colDef = this._realTimeGrid.getColumnDefinition(colRef);
578
+ let colDef = this._realTimeGrid.getColumnDefinition(colRef);
559
579
  if (colDef) {
560
580
  colId = colDef.getId();
561
581
  }
@@ -577,7 +597,7 @@ ConditionalColoringPlugin.prototype._removeFieldReferrer = function(colRef, type
577
597
  * @see {@link ConditionalColoringPlugin.setConditionalColoring}
578
598
  * @see {@link ConditionalColoringPlugin.setColumnBlinking}
579
599
  * @example
580
- * var columnOptions1 = {
600
+ * let columnOptions1 = {
581
601
  * "field": "string",
582
602
  * "conditions": [{ // Array.<Object> Condition Object Properties
583
603
  * "expression": "[column0] > 0", // string
@@ -585,14 +605,14 @@ ConditionalColoringPlugin.prototype._removeFieldReferrer = function(colRef, type
585
605
  * "color": "" // Optional string e.g. #000000, white
586
606
  * }]
587
607
  * };
588
- * var columnOptions2 = {
608
+ * let columnOptions2 = {
589
609
  * "field": "string",
590
610
  * "colorText": true, // string as Field or boolean for text coloring mode
591
611
  * "blinking": true
592
612
  * };
593
613
  */
594
614
  ConditionalColoringPlugin.prototype.setColumnColoring = function (colIndex, columnOptions) {
595
- var blinkingOptions, field;
615
+ let blinkingOptions, field;
596
616
  if(columnOptions) {
597
617
  blinkingOptions = columnOptions["blinking"];
598
618
  field = columnOptions["field"];
@@ -601,7 +621,7 @@ ConditionalColoringPlugin.prototype.setColumnColoring = function (colIndex, colu
601
621
  this.setColumnBlinking(colIndex, blinkingOptions, field);
602
622
  this.setConditionalColoring(colIndex, columnOptions);
603
623
 
604
- var colData = this._newColumnData(colIndex);
624
+ let colData = this._newColumnData(colIndex);
605
625
  if (colData["painter"] && !(colData["coloringFields"] || colData["blinkingField"])) { // Clear existing painter
606
626
  this._clearPainter(colData);
607
627
  }
@@ -612,7 +632,7 @@ ConditionalColoringPlugin.prototype.setColumnColoring = function (colIndex, colu
612
632
  * @param {ConditionalColoringPlugin~ConditionalColoringOptions=} coloringOptions
613
633
  */
614
634
  ConditionalColoringPlugin.prototype.setConditionalColoring = function (colIndex, coloringOptions) {
615
- var colData = this._newColumnData(colIndex);
635
+ let colData = this._newColumnData(colIndex);
616
636
 
617
637
  colData["conditions"] = null; // WARNING: This clears existing user states
618
638
  if(coloringOptions) {
@@ -624,13 +644,13 @@ ConditionalColoringPlugin.prototype.setConditionalColoring = function (colIndex,
624
644
  colData["colorText"] = null;
625
645
  colData["tickColor"] = null;
626
646
  }
627
- var painter = colData["painter"];
628
- var prevFields = colData["coloringFields"] ? Object.keys(colData["coloringFields"]) : null;
629
- var colorOptions = this._prepareColorOptions(colIndex, coloringOptions);
647
+ let painter = colData["painter"];
648
+ let prevFields = colData["coloringFields"] ? Object.keys(colData["coloringFields"]) : null;
649
+ let colorOptions = this._prepareColorOptions(colIndex, coloringOptions);
630
650
 
631
651
  if (this._isValidPainter(painter)) {
632
652
  if (prevFields) {
633
- var effectiveStyles = painter.getEffectiveStyles();
653
+ let effectiveStyles = painter.getEffectiveStyles();
634
654
  this._clearCellStyles(colIndex, effectiveStyles); // Need to clear the existing previous coloring styles here
635
655
  }
636
656
  painter.resetColoring(); // Release any used memory
@@ -638,14 +658,14 @@ ConditionalColoringPlugin.prototype.setConditionalColoring = function (colIndex,
638
658
 
639
659
  if(colorOptions.hasColor) { // Set new coloring
640
660
  colData["conditions"] = coloringOptions["conditions"]; // WARNING: This stores user object
641
- var newFieldsMap = colorOptions.fields;
661
+ let newFieldsMap = colorOptions.fields;
642
662
  if (!painter) {
643
663
  painter = colData["painter"] = new CellPainter();
644
664
  } else if (prevFields) {
645
665
  // Remove unused fields
646
- var unusedFields = [];
647
- var prevField;
648
- for (var i = 0; i < prevFields.length; i++) {
666
+ let unusedFields = [];
667
+ let prevField;
668
+ for (let i = 0; i < prevFields.length; i++) {
649
669
  prevField = prevFields[i];
650
670
  if (!newFieldsMap[prevField]) {
651
671
  unusedFields.push(prevField);
@@ -657,14 +677,14 @@ ConditionalColoringPlugin.prototype.setConditionalColoring = function (colIndex,
657
677
  }
658
678
 
659
679
  if(colorOptions.condColoring) {
660
- var conditions = colorOptions.condColoring.conditions;
680
+ let conditions = colorOptions.condColoring.conditions;
661
681
  painter.setConditions(conditions);
662
682
  this._setEffectiveStyles(painter, conditions);
663
683
  } else if(colorOptions.colorText) {
664
- var options = colorOptions.colorText;
684
+ let options = colorOptions.colorText;
665
685
  if (options.useThemeColors) {
666
686
  if (!ConditionalColoringPlugin._colorTextStyles) {
667
- var styles = {
687
+ let styles = {
668
688
  positive: {
669
689
  color: "var(--color-scheme-positive)"
670
690
  },
@@ -685,7 +705,7 @@ ConditionalColoringPlugin.prototype.setConditionalColoring = function (colIndex,
685
705
  }
686
706
  }
687
707
 
688
- var fields = Object.keys(newFieldsMap);
708
+ let fields = Object.keys(newFieldsMap);
689
709
  if (this._initializedGrid) {
690
710
  this._addDataFields(fields, colIndex, COLORING_TYPE);
691
711
  } else {
@@ -707,9 +727,9 @@ ConditionalColoringPlugin.prototype.setConditionalColoring = function (colIndex,
707
727
  this._enableColumnStyle(colIndex, false);
708
728
  }
709
729
  if (this._initializedGrid) {
710
- var core = this._hosts[0];
730
+ let core = this._hosts[0];
711
731
  if(core){
712
- var rowColoring = core.getPlugin('RowColoringPlugin');
732
+ let rowColoring = core.getPlugin('RowColoringPlugin');
713
733
  if(rowColoring && rowColoring.forceUpdateRowColor){
714
734
  rowColoring.forceUpdateRowColor();
715
735
  }
@@ -724,13 +744,13 @@ ConditionalColoringPlugin.prototype.setConditionalColoring = function (colIndex,
724
744
  * @param {string=} field If not specified, column field will be used
725
745
  */
726
746
  ConditionalColoringPlugin.prototype.setColumnBlinking = function (colIndex, blinkingOptions, field) {
727
- var colData = this._newColumnData(colIndex);
728
- var prevField = colData["blinkingField"];
747
+ let colData = this._newColumnData(colIndex);
748
+ let prevField = colData["blinkingField"];
729
749
  colData["blinking"] = blinkingOptions;
730
- var painter = colData["painter"];
731
- var bOptions = this._prepareBlinkingOptions(colIndex, blinkingOptions, field);
750
+ let painter = colData["painter"];
751
+ let bOptions = this._prepareBlinkingOptions(colIndex, blinkingOptions, field);
732
752
  if (bOptions) {
733
- var newBlinkingField = bOptions.field;
753
+ let newBlinkingField = bOptions.field;
734
754
  if (!painter) {
735
755
  colData["painter"] = painter = new CellPainter();
736
756
  } else if(prevField) {
@@ -740,7 +760,7 @@ ConditionalColoringPlugin.prototype.setColumnBlinking = function (colIndex, blin
740
760
  this._removeDataFields(prevField, colIndex, BLINKING_TYPE);
741
761
  }
742
762
  }
743
- var blinkDuration = bOptions.duration || this._blinkingDuration;
763
+ let blinkDuration = bOptions.duration || this._blinkingDuration;
744
764
  painter.setBlinkingDuration(blinkDuration);
745
765
  painter.disableLevelColor(bOptions.level === false);
746
766
  if (bOptions.customColor) {
@@ -755,8 +775,8 @@ ConditionalColoringPlugin.prototype.setColumnBlinking = function (colIndex, blin
755
775
  // Emerald Grid needs to cache in the initializing phase
756
776
  // Atlas Blotter will cache in the first binding
757
777
  if (this._compositeGrid || this._initializedGrid) {
758
- var host, hosts = this._hosts;
759
- for (var i = 0; i < hosts.length; i++) {
778
+ let host, hosts = this._hosts;
779
+ for (let i = 0; i < hosts.length; i++) {
760
780
  host = hosts[i];
761
781
  this._cacheColumnPreviousValue(colIndex, host);
762
782
  }
@@ -793,20 +813,20 @@ ConditionalColoringPlugin.prototype.blinkRow = function (rowIndex, blinkSignal,
793
813
  host = host || this._hosts[0];
794
814
  if (!host) return;
795
815
 
796
- var dv = host.getDataSource();
816
+ let dv = host.getDataSource();
797
817
  if (!dv) return;
798
818
 
799
- var section = host.getSection('content');
819
+ let section = host.getSection('content');
800
820
  if (!section) return;
801
821
 
802
- var rowData = dv.getRowDataAt(rowIndex);
822
+ let rowData = dv.getRowDataAt(rowIndex);
803
823
 
804
- var colCount = section.getColumnCount();
805
- for (var c = 0; c < colCount; ++c) {
806
- var painter = this.getColumnPainter(c);
824
+ let colCount = section.getColumnCount();
825
+ for (let c = 0; c < colCount; ++c) {
826
+ let painter = this.getColumnPainter(c);
807
827
  if (!painter) continue;
808
828
 
809
- var cell = section.getCell(c, rowIndex, false);
829
+ let cell = section.getCell(c, rowIndex, false);
810
830
  if (!cell) continue;
811
831
  painter.blink(cell, blinkSignal, rowData);
812
832
  }
@@ -823,9 +843,9 @@ ConditionalColoringPlugin.prototype._prepareBlinkingOptions = function (colIndex
823
843
  return null;
824
844
  }
825
845
 
826
- var bOptions = {};
827
- var field = columnField || this._getField(colIndex);
828
- var blinkField = field;
846
+ let bOptions = {};
847
+ let field = columnField || this._getField(colIndex);
848
+ let blinkField = field;
829
849
  if (typeof blinkingOptions === "string") {
830
850
  blinkField = blinkingOptions;
831
851
  } else if(typeof blinkingOptions === "object") {
@@ -851,11 +871,11 @@ ConditionalColoringPlugin.prototype._prepareBlinkingOptions = function (colIndex
851
871
  * @param {Object} obj
852
872
  * @param {Array|string} entries
853
873
  */
854
- var _addMapEntries = function(obj, entries) {
874
+ let _addMapEntries = function(obj, entries) {
855
875
  if(entries) {
856
876
  if(Array.isArray(entries)) {
857
- var len = entries.length;
858
- for(var i = 0; i < len; ++i) {
877
+ let len = entries.length;
878
+ for(let i = 0; i < len; ++i) {
859
879
  obj[entries[i]] = true;
860
880
  }
861
881
  } else {
@@ -872,33 +892,33 @@ ConditionalColoringPlugin.prototype._prepareColorOptions = function(colIndex, co
872
892
  if(!columnOptions) {
873
893
  return {};
874
894
  }
875
- var colField = this._getField(colIndex);
876
- var inputField = columnOptions["inputField"] || ""; // The value is from user so it can be "THIS_COLUMN" or null
877
- var field = ConditionalColoringPlugin._convertKeyword(inputField, colField);
895
+ let colField = this._getField(colIndex);
896
+ let inputField = columnOptions["inputField"] || ""; // The value is from user so it can be "THIS_COLUMN" or null
897
+ let field = ConditionalColoringPlugin._convertKeyword(inputField, colField);
878
898
  if(columnOptions["field"]) {
879
899
  field = /** @type{string} */(columnOptions["field"]);
880
900
  }
881
901
 
882
- var hasColor = 0;
883
- var fieldMap = {};
902
+ let hasColor = 0;
903
+ let fieldMap = {};
884
904
 
885
905
  // Check if there is another type of coloring
886
- var colorText = columnOptions["colorText"] || columnOptions["tickColor"];
887
- var conditions = columnOptions["conditions"];
888
- var conditionCount = conditions ? conditions.length : 0;
889
- var colorOptions = {};
906
+ let colorText = columnOptions["colorText"] || columnOptions["tickColor"];
907
+ let conditions = columnOptions["conditions"];
908
+ let conditionCount = conditions ? conditions.length : 0;
909
+ let colorOptions = {};
890
910
  if(conditionCount) {
891
911
  colorOptions.condColoring = {};
892
912
  colorOptions.condColoring.conditions = conditions;
893
913
 
894
- var formatter = (field == colField) ? columnOptions["textFormatter"] : null; // TODO: This text formatter is not used or defined any where
895
- var builder = ConditionalColoringPlugin.getFilterBuilder();
914
+ let formatter = (field == colField) ? columnOptions["textFormatter"] : null; // TODO: This text formatter is not used or defined any where
915
+ let builder = ConditionalColoringPlugin.getFilterBuilder();
896
916
 
897
- for(var i = conditionCount; --i >= 0;) {
898
- var cond = conditions[i];
899
- var exp = cond ? cond["expression"] : null;
917
+ for(let i = conditionCount; --i >= 0;) {
918
+ let cond = conditions[i];
919
+ let exp = cond ? cond["expression"] : null;
900
920
  if(Array.isArray(exp)) {
901
- var fieldPerCon = cond["field"] || field;
921
+ let fieldPerCon = cond["field"] || field;
902
922
  cond["expression"] = builder.parse(exp, fieldPerCon, null, fieldPerCon); // WARNING: This alters user object
903
923
  if(cond["expression"]) {
904
924
  cond["origExpression"] = exp;
@@ -914,9 +934,9 @@ ConditionalColoringPlugin.prototype._prepareColorOptions = function(colIndex, co
914
934
  } else if(field && cond["condition"]) {
915
935
  hasColor = 1;
916
936
  builder.setFieldDefinition(field, formatter, field); // TODO: Each condition could have different fields
917
- var oper = cond["condition"]; // WARNING: This condition is used by Format dialog. It's undocumented
918
- var value1 = cond["value1"];
919
- var value2 = cond["value2"];
937
+ let oper = cond["condition"]; // WARNING: This condition is used by Format dialog. It's undocumented
938
+ let value1 = cond["value1"];
939
+ let value2 = cond["value2"];
920
940
 
921
941
  if(oper !== "BTW") {
922
942
  builder.addCondition(oper, value1);
@@ -980,10 +1000,10 @@ ConditionalColoringPlugin._convertKeyword = function(userInput, fallback) {
980
1000
  * @return {Object} mapping of inserted row id
981
1001
  */
982
1002
  ConditionalColoringPlugin._mapInsertedRowId = function (events) {
983
- var insertedDict = {};
984
- var eventCount = events ? events.length : 0;
985
- for (var i = 0; i < eventCount; ++i) {
986
- var event = events[i];
1003
+ let insertedDict = {};
1004
+ let eventCount = events ? events.length : 0;
1005
+ for (let i = 0; i < eventCount; ++i) {
1006
+ let event = events[i];
987
1007
 
988
1008
  // map inserted row
989
1009
  if (event.type === "inserted") {
@@ -999,26 +1019,26 @@ ConditionalColoringPlugin._mapInsertedRowId = function (events) {
999
1019
  * @return {!Array.<Object>} Array of merged changes
1000
1020
  */
1001
1021
  ConditionalColoringPlugin._mergeUpdates = function(e) {
1002
- var evts = e.events; // dataSource event
1003
- var evtCount = evts ? evts.length : 0;
1004
- var dv = e.dataSource;
1005
- var changedRows = [];
1006
- var evt, i;
1022
+ let evts = e.events; // dataSource event
1023
+ let evtCount = evts ? evts.length : 0;
1024
+ let dv = e.dataSource;
1025
+ let changedRows = [];
1026
+ let evt, i;
1007
1027
  for (i = 0; i < evtCount; ++i) {
1008
1028
  evt = evts[i];
1009
1029
 
1010
1030
  // merge update event
1011
1031
  if (evt.type === "updated") {
1012
- var rowIndex = dv.getRowIndex(evt.rid);
1032
+ let rowIndex = dv.getRowIndex(evt.rid);
1013
1033
  if (!changedRows[rowIndex]) {
1014
1034
  changedRows[rowIndex] = {
1015
1035
  changed: {},
1016
1036
  rid: evt.rid
1017
1037
  };
1018
1038
  }
1019
- var mergedChanges = changedRows[rowIndex].changed;
1020
- var changes = evt.changes;
1021
- for (var key in changes) {
1039
+ let mergedChanges = changedRows[rowIndex].changed;
1040
+ let changes = evt.changes;
1041
+ for (let key in changes) {
1022
1042
  mergedChanges[key] = 1;
1023
1043
  }
1024
1044
  }
@@ -1030,10 +1050,10 @@ ConditionalColoringPlugin._mergeUpdates = function(e) {
1030
1050
  * @return {string} prettified CSS string
1031
1051
  */
1032
1052
  ConditionalColoringPlugin.prototype._prepareStyles = function(colors) {
1033
- var prefix = ".tr-grid." + ConditionalColoringPlugin._controlClass + " .column.conditionally-colored .cell";
1034
- var css = [];
1035
- var ss, styles, value;
1036
- for (var className in colors) {
1053
+ let prefix = ".tr-grid." + ConditionalColoringPlugin._controlClass + " .column.conditionally-colored .cell";
1054
+ let css = [];
1055
+ let ss, styles, value;
1056
+ for (let className in colors) {
1037
1057
  css.push(prefix + "." + className);
1038
1058
  ss = [];
1039
1059
  styles = colors[className];
@@ -1057,10 +1077,10 @@ ConditionalColoringPlugin.prototype._prepareStyles = function(colors) {
1057
1077
  */
1058
1078
  ConditionalColoringPlugin.prototype._injectColorTextStyles = function() {
1059
1079
  if (ConditionalColoringPlugin._colorTextStyles) {
1060
- var hosts = this._hosts;
1061
- var len = hosts.length;
1062
- for (var i = 0; i < len; i++) {
1063
- var host = hosts[i];
1080
+ let hosts = this._hosts;
1081
+ let len = hosts.length;
1082
+ for (let i = 0; i < len; i++) {
1083
+ let host = hosts[i];
1064
1084
  host.enableClass(ConditionalColoringPlugin._controlClass);
1065
1085
  if (!host._colorTextStyles) {
1066
1086
  injectCss(ConditionalColoringPlugin._colorTextStyles, host.getElement());
@@ -1086,9 +1106,9 @@ ConditionalColoringPlugin.prototype.setPredefinedColors = function(predefinedCol
1086
1106
  if (predefinedColors != null && typeof predefinedColors === "object") {
1087
1107
  this._predefinedColors = predefinedColors;
1088
1108
  this._predefinedColorsStyles = this._prepareStyles(predefinedColors);
1089
- var hosts = this._hosts;
1090
- var len = hosts.length;
1091
- for (var i = 0; i < len; i++) {
1109
+ let hosts = this._hosts;
1110
+ let len = hosts.length;
1111
+ for (let i = 0; i < len; i++) {
1092
1112
  this._injectPredefinedColors(hosts[i]);
1093
1113
  }
1094
1114
  }
@@ -1121,7 +1141,7 @@ ConditionalColoringPlugin.prototype._requestRowRefresh = function () {
1121
1141
  if(!this._hasColoring()){
1122
1142
  return;
1123
1143
  }
1124
- for(var i = this._hosts.length; --i >= 0;) {
1144
+ for(let i = this._hosts.length; --i >= 0;) {
1125
1145
  this._hosts[i].requestRowRefresh();
1126
1146
  }
1127
1147
  };
@@ -1140,12 +1160,12 @@ ConditionalColoringPlugin.prototype.getColumnPainter = function (colIndex) {
1140
1160
  * @param {Object=} rowData A row data which will be used to determine a color together with a colIndex
1141
1161
  */
1142
1162
  ConditionalColoringPlugin.prototype.applyColor = function (colIndex, cell, rowData) {
1143
- var painter = this.getColumnPainter(colIndex);
1163
+ let painter = this.getColumnPainter(colIndex);
1144
1164
  if (!painter) { return; }
1145
1165
 
1146
1166
  if (!rowData) rowData = {};
1147
- var field = this._getField(colIndex);
1148
- var changes = {};
1167
+ let field = this._getField(colIndex);
1168
+ let changes = {};
1149
1169
  changes[field] = 1;
1150
1170
  painter.render(cell, rowData, NaN, NaN, changes); // NaN values are min and max values for heatmap calculation
1151
1171
  };
@@ -1154,22 +1174,22 @@ ConditionalColoringPlugin.prototype.applyColor = function (colIndex, cell, rowDa
1154
1174
  * @param {Object} e
1155
1175
  */
1156
1176
  ConditionalColoringPlugin.prototype._onSectionBinding = function (e) {
1157
- var dataRows = /** @type{Array.<Object>} */(e["dataRows"]);
1177
+ let dataRows = /** @type{Array.<Object>} */(e["dataRows"]);
1158
1178
  if(!dataRows) {
1159
1179
  return; // dataRows could be empty in case of no column is presented
1160
1180
  }
1161
1181
 
1162
- var c, r, cell, painter, changedCols, rowDef, rid, changedRow, changedRows;
1163
- var dataRow, insertedId, colData, cachedValues, updatePrev;
1164
- var section = e["section"];
1165
- var colCount = section.getColumnCount();
1166
- var fromR = /** @type{number} */(e["fromRowIndex"]);
1167
- var toR = /** @type{number} */(e["toRowIndex"]);
1168
- var actualUpdate = e["actualUpdate"];
1169
- var dv = e["dataSource"];
1170
- var host = e["sender"];
1182
+ let c, r, cell, painter, changedCols, rowDef, rid, changedRow, changedRows;
1183
+ let dataRow, insertedId, colData, cachedValues, updatePrev;
1184
+ let section = e["section"];
1185
+ let colCount = section.getColumnCount();
1186
+ let fromR = /** @type{number} */(e["fromRowIndex"]);
1187
+ let toR = /** @type{number} */(e["toRowIndex"]);
1188
+ let actualUpdate = e["actualUpdate"];
1189
+ let dv = e["dataSource"];
1190
+ let host = e["sender"];
1171
1191
 
1172
- var blinkingEnabled = actualUpdate && this._blinkingEnabled;
1192
+ let blinkingEnabled = actualUpdate && this._blinkingEnabled;
1173
1193
  if (blinkingEnabled) {
1174
1194
  insertedId = ConditionalColoringPlugin._mapInsertedRowId(e.events);
1175
1195
  if (this._compositeGrid) {
@@ -1177,16 +1197,16 @@ ConditionalColoringPlugin.prototype._onSectionBinding = function (e) {
1177
1197
  }
1178
1198
  }
1179
1199
 
1180
- var prevDataRow, prevDataRows = host._prevDataRows;
1181
- var prevIds = Object.keys(prevDataRows);
1182
- var prevRowCount = prevIds.length;
1200
+ let prevDataRow, prevDataRows = host._prevDataRows;
1201
+ let prevIds = Object.keys(prevDataRows);
1202
+ let prevRowCount = prevIds.length;
1183
1203
  for (r = fromR; r < toR; ++r) {
1184
1204
  dataRow = this._rowGetter(dataRows[r]);
1185
1205
  if (!dataRow) continue; // prevent from null value access when using with RowGroupingExtension
1186
1206
 
1187
1207
  changedCols = null;
1188
- var allowBlinking = false;
1189
- var insertedRow = null;
1208
+ let allowBlinking = false;
1209
+ let insertedRow = null;
1190
1210
  if (blinkingEnabled) {
1191
1211
  if (this._realTimeGrid) {
1192
1212
  // TODO: check rid from e.rids
@@ -1229,14 +1249,14 @@ ConditionalColoringPlugin.prototype._onSectionBinding = function (e) {
1229
1249
  painter = this.getColumnPainter(c);
1230
1250
  if (painter) {
1231
1251
  colData = this._getColumnData(c);
1232
- var bgBlinking = false;
1252
+ let bgBlinking = false;
1233
1253
  if (colData["blinking"] && actualUpdate) {
1234
- var blinking = false;
1235
- var field = colData["blinkingField"] || this._getField(c);
1236
- var newValue = dataRow[field];
1254
+ let blinking = false;
1255
+ let field = colData["blinkingField"] || this._getField(c);
1256
+ let newValue = dataRow[field];
1237
1257
  if(allowBlinking){
1238
1258
  if (prevDataRow) {
1239
- var prevValue = prevDataRow[field];
1259
+ let prevValue = prevDataRow[field];
1240
1260
  if (prevValue != null) {
1241
1261
  if (changedCols && changedCols[field]) {
1242
1262
  blinking = true;
@@ -1285,7 +1305,7 @@ ConditionalColoringPlugin.prototype._onColumnAdded = function(e) {
1285
1305
  * @param {Object} e
1286
1306
  */
1287
1307
  ConditionalColoringPlugin.prototype._onColumnRemoved = function(e) {
1288
- var colData = /** @type{Object} */(e.columnData);
1308
+ let colData = /** @type{Object} */(e.columnData);
1289
1309
  if (!colData) {
1290
1310
  return;
1291
1311
  }
@@ -1293,7 +1313,7 @@ ConditionalColoringPlugin.prototype._onColumnRemoved = function(e) {
1293
1313
  this._clearPainter(colData);
1294
1314
 
1295
1315
  // Removed column
1296
- var colId = e["colId"];
1316
+ let colId = e["colId"];
1297
1317
  if (colId) {
1298
1318
  if (colData["coloringFields"]) {
1299
1319
  this._removeFieldReferrer(colId, COLORING_TYPE);
@@ -1304,13 +1324,13 @@ ConditionalColoringPlugin.prototype._onColumnRemoved = function(e) {
1304
1324
  }
1305
1325
 
1306
1326
  // Another columns
1307
- var field = colData["field"];
1327
+ let field = colData["field"];
1308
1328
  if (field) {
1309
- var colDef = colData["COL_DEF"];
1310
- var isStaticField = colDef ? !colDef.isRealTimeField() : true;
1329
+ let colDef = colData["COL_DEF"];
1330
+ let isStaticField = colDef ? !colDef.isRealTimeField() : true;
1311
1331
  if (isStaticField) {
1312
- var colCount = this.getColumnCount();
1313
- for (var i = 0; i < colCount; i++) {
1332
+ let colCount = this.getColumnCount();
1333
+ for (let i = 0; i < colCount; i++) {
1314
1334
  colData = this._getColumnData(i);
1315
1335
  if (colData["coloringFields"] && colData["coloringFields"][field]) {
1316
1336
  this.setConditionalColoring(i, null);
@@ -1336,7 +1356,7 @@ ConditionalColoringPlugin.prototype._onThemeLoaded = function () {
1336
1356
  ConditionalColoringPlugin.prototype._clearPainter = function (colData) {
1337
1357
  if (colData) {
1338
1358
  ConditionalColoringPlugin._cleanUpPrevFields();
1339
- var painter = colData["painter"];
1359
+ let painter = colData["painter"];
1340
1360
  if (painter) {
1341
1361
  if (this._isValidPainter(painter)) {
1342
1362
  painter.dispose();
@@ -1356,12 +1376,12 @@ ConditionalColoringPlugin.prototype._clearPainter = function (colData) {
1356
1376
  * @param {Array<ConditionalColoringPlugin~Condition>} conditions
1357
1377
  */
1358
1378
  ConditionalColoringPlugin.prototype._setEffectiveStyles = function(painter, conditions) {
1359
- var effectiveStyles = null;
1360
- var hasColor = false;
1361
- var hasBackgroundColor = false;
1362
- var condCount = conditions ? conditions.length : 0;
1363
- for(var i = 0; i < condCount; i++){
1364
- var cond = conditions[i];
1379
+ let effectiveStyles = null;
1380
+ let hasColor = false;
1381
+ let hasBackgroundColor = false;
1382
+ let condCount = conditions ? conditions.length : 0;
1383
+ for(let i = 0; i < condCount; i++){
1384
+ let cond = conditions[i];
1365
1385
  if(cond["color"]){
1366
1386
  hasColor = true;
1367
1387
  }
@@ -1384,21 +1404,21 @@ ConditionalColoringPlugin.prototype._setEffectiveStyles = function(painter, cond
1384
1404
  */
1385
1405
  ConditionalColoringPlugin._cleanUpPrevFields = function() {
1386
1406
  // Assume that all hosts are using the same columns' options
1387
- var colCount = this.getColumnCount();
1388
- var colData, blinkingFields = {};
1389
- var isBlinking = false;
1390
- for (var c = 0; c < colCount; c++) {
1407
+ let colCount = this.getColumnCount();
1408
+ let colData, blinkingFields = {};
1409
+ let isBlinking = false;
1410
+ for (let c = 0; c < colCount; c++) {
1391
1411
  colData = this._getColumnData(c);
1392
1412
  if (colData["blinking"]) {
1393
1413
  blinkingFields[colData["blinkingField"]] = isBlinking = true;
1394
1414
  }
1395
1415
  }
1396
1416
 
1397
- var hosts = this._hosts;
1398
- var len = hosts.length;
1399
- var host, i;
1417
+ let hosts = this._hosts;
1418
+ let len = hosts.length;
1419
+ let host, i;
1400
1420
  if (isBlinking) {
1401
- var prevDataRow, prevDataRows, rid, field;
1421
+ let prevDataRow, prevDataRows, rid, field;
1402
1422
  for (i = 0; i < len; i++) {
1403
1423
  host = hosts[i];
1404
1424
  prevDataRows = host._prevDataRows;
@@ -1423,9 +1443,9 @@ ConditionalColoringPlugin._cleanUpPrevFields = function() {
1423
1443
  /** @public
1424
1444
  */
1425
1445
  ConditionalColoringPlugin.cleanUpPrevRows = function() {
1426
- var hosts = this._hosts;
1427
- var len = hosts.length;
1428
- var host, dv, i, n, rids, rid, prevDataRows;
1446
+ let hosts = this._hosts;
1447
+ let len = hosts.length;
1448
+ let host, dv, i, n, rids, rid, prevDataRows;
1429
1449
  for (i = 0; i < len; i++) {
1430
1450
  host = hosts[i];
1431
1451
  dv = host.getDataSource();
@@ -1461,11 +1481,11 @@ ConditionalColoringPlugin._stopCleanUpInterval = function() {
1461
1481
  * @return {Boolean}
1462
1482
  */
1463
1483
  ConditionalColoringPlugin.prototype._hasColoring = function() {
1464
- var hosts = this._hosts;
1465
- var grid = hosts[0];
1484
+ let hosts = this._hosts;
1485
+ let grid = hosts[0];
1466
1486
 
1467
- var colCount = this.getColumnCount();
1468
- for(var colIndex = 0; colIndex < colCount; colIndex++){
1487
+ let colCount = this.getColumnCount();
1488
+ for(let colIndex = 0; colIndex < colCount; colIndex++){
1469
1489
  if(grid.hasColumnClass(colIndex, "conditionally-colored")){
1470
1490
  return true;
1471
1491
  }