@refinitiv-ui/efx-grid 6.0.91 → 6.0.92

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 (151) hide show
  1. package/lib/column-dragging/es6/ColumnDragging.d.ts +1 -1
  2. package/lib/column-dragging/es6/ColumnDragging.js +144 -34
  3. package/lib/core/dist/core.js +2410 -2621
  4. package/lib/core/dist/core.min.js +1 -1
  5. package/lib/core/es6/data/ColumnStats.js +14 -14
  6. package/lib/core/es6/data/DataCache.js +118 -118
  7. package/lib/core/es6/data/DataTable.d.ts +3 -1
  8. package/lib/core/es6/data/DataTable.js +208 -190
  9. package/lib/core/es6/data/DataView.d.ts +1 -1
  10. package/lib/core/es6/data/DataView.js +291 -291
  11. package/lib/core/es6/data/Segment.js +79 -79
  12. package/lib/core/es6/data/SegmentCollection.js +81 -81
  13. package/lib/core/es6/data/WrappedView.js +41 -41
  14. package/lib/core/es6/grid/Core.js +635 -635
  15. package/lib/core/es6/grid/ILayoutGrid.js +1 -1
  16. package/lib/core/es6/grid/LayoutGrid.js +183 -183
  17. package/lib/core/es6/grid/VirtualizedLayoutGrid.js +91 -91
  18. package/lib/core/es6/grid/components/Cell.js +29 -29
  19. package/lib/core/es6/grid/components/CellFloatingPanel.js +11 -11
  20. package/lib/core/es6/grid/components/CellSpan.js +7 -7
  21. package/lib/core/es6/grid/components/CellSpans.js +36 -34
  22. package/lib/core/es6/grid/components/Column.js +40 -40
  23. package/lib/core/es6/grid/components/ElementWrapper.js +17 -17
  24. package/lib/core/es6/grid/components/HScrollbar.js +31 -31
  25. package/lib/core/es6/grid/components/Scrollbar.js +77 -77
  26. package/lib/core/es6/grid/components/StretchedCells.js +49 -49
  27. package/lib/core/es6/grid/components/VScrollbar.js +11 -11
  28. package/lib/core/es6/grid/components/VirtualItems.js +3 -3
  29. package/lib/core/es6/grid/event/EventDispatcher.js +9 -9
  30. package/lib/core/es6/grid/event/EventListeners.js +4 -4
  31. package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +186 -186
  32. package/lib/core/es6/grid/util/Conflator.js +4 -4
  33. package/lib/core/es6/grid/util/Reverter.js +1 -1
  34. package/lib/core/es6/grid/util/SectionSettings.js +20 -20
  35. package/lib/core/es6/grid/util/SelectionList.js +23 -23
  36. package/lib/core/es6/grid/util/TrackLayout.js +74 -74
  37. package/lib/core/es6/grid/util/Virtualizer.js +15 -15
  38. package/lib/core/es6/grid/util/util.js +20 -20
  39. package/lib/core/es6/index.d.ts +0 -2
  40. package/lib/core/es6/index.js +0 -3
  41. package/lib/grid/index.js +1 -1
  42. package/lib/rt-grid/dist/rt-grid.js +193 -70
  43. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  44. package/lib/rt-grid/es6/Grid.js +46 -30
  45. package/lib/rt-grid/es6/RowDefinition.d.ts +2 -1
  46. package/lib/rt-grid/es6/RowDefinition.js +74 -16
  47. package/lib/tr-grid-cell-selection/es6/CellSelection.js +56 -1
  48. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.d.ts +3 -1
  49. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +29 -1
  50. package/lib/tr-grid-util/es6/CellPainter.js +94 -93
  51. package/lib/tr-grid-util/es6/Conflator.js +4 -4
  52. package/lib/tr-grid-util/es6/CoralItems.js +6 -6
  53. package/lib/tr-grid-util/es6/DateTime.js +39 -39
  54. package/lib/tr-grid-util/es6/Deferred.js +5 -5
  55. package/lib/tr-grid-util/es6/Delay.js +1 -1
  56. package/lib/tr-grid-util/es6/Dom.js +26 -26
  57. package/lib/tr-grid-util/es6/DragUI.js +17 -17
  58. package/lib/tr-grid-util/es6/ElementObserver.js +12 -12
  59. package/lib/tr-grid-util/es6/ElementWrapper.js +2 -2
  60. package/lib/tr-grid-util/es6/ElfDate.js +4 -4
  61. package/lib/tr-grid-util/es6/ElfUtil.js +37 -37
  62. package/lib/tr-grid-util/es6/EventDispatcher.js +12 -12
  63. package/lib/tr-grid-util/es6/ExpanderIcon.js +6 -6
  64. package/lib/tr-grid-util/es6/ExpressionParser.js +43 -43
  65. package/lib/tr-grid-util/es6/Ext.js +6 -6
  66. package/lib/tr-grid-util/es6/FieldFormatter.js +17 -17
  67. package/lib/tr-grid-util/es6/FilterBuilder.js +57 -57
  68. package/lib/tr-grid-util/es6/FilterOperators.d.ts +12 -1
  69. package/lib/tr-grid-util/es6/FilterOperators.js +13 -2
  70. package/lib/tr-grid-util/es6/GridPlugin.js +86 -86
  71. package/lib/tr-grid-util/es6/GroupDefinitions.js +90 -90
  72. package/lib/tr-grid-util/es6/Icon.js +4 -4
  73. package/lib/tr-grid-util/es6/MouseDownTrait.js +6 -6
  74. package/lib/tr-grid-util/es6/MultiTableManager.js +68 -68
  75. package/lib/tr-grid-util/es6/NumberFormatter.js +22 -22
  76. package/lib/tr-grid-util/es6/PercentBar.js +17 -17
  77. package/lib/tr-grid-util/es6/Perf.js +5 -5
  78. package/lib/tr-grid-util/es6/Popup.js +42 -42
  79. package/lib/tr-grid-util/es6/RangeBar.js +5 -5
  80. package/lib/tr-grid-util/es6/RequestQueue.js +5 -5
  81. package/lib/tr-grid-util/es6/RowPainter.js +23 -23
  82. package/lib/tr-grid-util/es6/SubTable.js +94 -94
  83. package/lib/tr-grid-util/es6/Table.js +51 -51
  84. package/lib/tr-grid-util/es6/TextHighlighter.js +49 -49
  85. package/lib/tr-grid-util/es6/TickCodes.js +2 -2
  86. package/lib/tr-grid-util/es6/Timer.js +2 -2
  87. package/lib/tr-grid-util/es6/TouchProxy.js +7 -7
  88. package/lib/tr-grid-util/es6/Util.js +50 -50
  89. package/lib/tr-grid-util/es6/formula/ADCService.js +2 -2
  90. package/lib/tr-grid-util/es6/formula/ADCSubscription.js +19 -19
  91. package/lib/tr-grid-util/es6/formula/AdFinService.js +2 -2
  92. package/lib/tr-grid-util/es6/formula/AdFinSubscription.js +19 -19
  93. package/lib/tr-grid-util/es6/formula/Engine.js +56 -56
  94. package/lib/tr-grid-util/es6/formula/Formula.js +62 -62
  95. package/lib/tr-grid-util/es6/formula/IntervalSubscription.js +3 -3
  96. package/lib/tr-grid-util/es6/formula/Realtime.js +15 -15
  97. package/lib/tr-grid-util/es6/formula/RealtimeService.js +15 -15
  98. package/lib/tr-grid-util/es6/formula/TSIService.js +2 -2
  99. package/lib/tr-grid-util/es6/formula/TSISubscription.js +104 -104
  100. package/lib/tr-grid-util/es6/formula/VariableToken.js +20 -20
  101. package/lib/tr-grid-util/es6/formula/functions/AdFin.js +10 -10
  102. package/lib/tr-grid-util/es6/formula/functions/Excel.js +1 -1
  103. package/lib/tr-grid-util/es6/formula/functions/Info.js +2 -2
  104. package/lib/tr-grid-util/es6/formula/functions/Internal.js +5 -5
  105. package/lib/tr-grid-util/es6/formula/functions/Logic.js +5 -5
  106. package/lib/tr-grid-util/es6/formula/functions/Math.js +46 -46
  107. package/lib/tr-grid-util/es6/formula/functions/Statistics.js +27 -27
  108. package/lib/tr-grid-util/es6/formula/functions/Text.js +19 -19
  109. package/lib/tr-grid-util/es6/index.js +1 -1
  110. package/lib/tr-grid-util/es6/jet/Adc.js +36 -36
  111. package/lib/tr-grid-util/es6/jet/CollectionDict.js +11 -11
  112. package/lib/tr-grid-util/es6/jet/DataGenerator.js +95 -95
  113. package/lib/tr-grid-util/es6/jet/DataSet.js +1 -1
  114. package/lib/tr-grid-util/es6/jet/MockArchive.js +5 -5
  115. package/lib/tr-grid-util/es6/jet/MockJET.js +1 -1
  116. package/lib/tr-grid-util/es6/jet/MockQuotes.js +13 -13
  117. package/lib/tr-grid-util/es6/jet/MockQuotes2.js +100 -100
  118. package/lib/tr-grid-util/es6/jet/MockRTK.js +4 -4
  119. package/lib/tr-grid-util/es6/jet/MockUtil.js +2 -2
  120. package/lib/tr-grid-util/es6/jet/index.js +1 -1
  121. package/lib/tr-grid-util/es6/jet/mockDataAPI.js +15 -15
  122. package/lib/tr-grid-util/es6/locale/translation-de.js +1 -1
  123. package/lib/tr-grid-util/es6/locale/translation-en.js +1 -1
  124. package/lib/tr-grid-util/es6/locale/translation-ja.js +1 -1
  125. package/lib/tr-grid-util/es6/locale/translation-zh-hant.js +1 -1
  126. package/lib/tr-grid-util/es6/locale/translation-zh.js +1 -1
  127. package/lib/tr-grid-util/es6/locale/translation.js +1 -1
  128. package/lib/types/es6/ColumnDragging.d.ts +1 -1
  129. package/lib/types/es6/ColumnGrouping.d.ts +3 -1
  130. package/lib/types/es6/Core/data/DataTable.d.ts +4 -0
  131. package/lib/types/es6/Core/data/DataView.d.ts +2 -0
  132. package/lib/types/es6/Core/data/SegmentCollection.d.ts +2 -0
  133. package/lib/types/es6/Core/index.d.ts +0 -2
  134. package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +2 -1
  135. package/lib/versions.json +4 -4
  136. package/package.json +1 -1
  137. package/lib/core/es6/grid/util/ElementFrameWork.d.ts +0 -18
  138. package/lib/core/es6/grid/util/ElementFrameWork.js +0 -227
  139. package/lib/core/es6/grid/util/HttpRequest.d.ts +0 -53
  140. package/lib/core/es6/grid/util/HttpRequest.js +0 -371
  141. package/lib/core/es6/grid/util/PercentBar.d.ts +0 -43
  142. package/lib/core/es6/grid/util/PercentBar.js +0 -390
  143. package/lib/core/es6/grid/util/PercentBarRenderer.d.ts +0 -41
  144. package/lib/core/es6/grid/util/PercentBarRenderer.js +0 -316
  145. package/lib/core/es6/grid/util/RangeBar.d.ts +0 -25
  146. package/lib/core/es6/grid/util/RangeBar.js +0 -255
  147. package/lib/types/es6/Core/grid/util/ElementFrameWork.d.ts +0 -18
  148. package/lib/types/es6/Core/grid/util/HttpRequest.d.ts +0 -53
  149. package/lib/types/es6/Core/grid/util/PercentBar.d.ts +0 -43
  150. package/lib/types/es6/Core/grid/util/PercentBarRenderer.d.ts +0 -41
  151. package/lib/types/es6/Core/grid/util/RangeBar.d.ts +0 -25
@@ -1,5 +1,5 @@
1
1
  /** @namespace */
2
- var ElfDate = {};
2
+ let ElfDate = {};
3
3
 
4
4
  /** Check ELF version
5
5
  * @public
@@ -18,7 +18,7 @@ var ElfDate = {};
18
18
  */
19
19
  ElfDate.from = function (val) {
20
20
  if(val) {
21
- var d = val;
21
+ let d = val;
22
22
  if(typeof val === "string" || typeof val === "number") {
23
23
  d = new Date(val);
24
24
  } else if(Array.isArray(val)) {
@@ -38,7 +38,7 @@ ElfDate.from = function (val) {
38
38
  */
39
39
  ElfDate.isValid = function (d) {
40
40
  if(d && d.getTime) { // Date object must have getTime method
41
- var ms = d.getTime(); // millisecond since 1 first january 1970
41
+ let ms = d.getTime(); // millisecond since 1 first january 1970
42
42
  return ms === ms; // Invalid Date will have NaN as its value
43
43
  }
44
44
  return false;
@@ -77,7 +77,7 @@ ElfDate.toYMD = function (d) {
77
77
  return d; // pass through only if we have yyyy-MM-dd
78
78
  }
79
79
  }
80
- var dateObj = ElfDate.from(d);
80
+ let dateObj = ElfDate.from(d);
81
81
  if(dateObj) {
82
82
  return dateObj.getFullYear() + "-" +
83
83
  ElfDate.prefixSingleDigit(dateObj.getMonth() + 1) + "-" +
@@ -7,7 +7,7 @@ import { ElementObserver } from "./ElementObserver.js";
7
7
  * @private
8
8
  * @const
9
9
  */
10
- var LANGUAGE_SUPPORTS = {
10
+ let LANGUAGE_SUPPORTS = {
11
11
  "en": true,
12
12
  "de": true,
13
13
  "ja": true,
@@ -16,7 +16,7 @@ var LANGUAGE_SUPPORTS = {
16
16
  };
17
17
 
18
18
  /** @namespace */
19
- var ElfUtil = {};
19
+ let ElfUtil = {};
20
20
  /** @type {Deferred}
21
21
  * @private
22
22
  */
@@ -123,14 +123,14 @@ ElfUtil._icons["solar-theme"] = ElfUtil._icons["elf-theme-solar"];
123
123
  */
124
124
  ElfUtil.getElfVersion = function () {
125
125
  if (!ElfUtil._elfVersion) {
126
- var val = 0;
126
+ let val = 0;
127
127
  if (window.EFX_GRID) {
128
- var version = window.EFX_GRID.version;
128
+ let version = window.EFX_GRID.version;
129
129
  version = version.split(".");
130
130
  val = +version[0];
131
131
  } else if (window.elf) {
132
132
  if (window.elf.version) {
133
- var ver = window.elf.version.match(/\d/); // example version code: 4.0.1
133
+ let ver = window.elf.version.match(/\d/); // example version code: 4.0.1
134
134
  if (ver && ver[0]) {
135
135
  val = parseInt(ver[0], 10);
136
136
  }
@@ -160,12 +160,12 @@ ElfUtil.getElfVersion = function () {
160
160
  * ElfUtil.hasComponent("unknown-button"); // 0
161
161
  */
162
162
  ElfUtil.hasComponent = function (compName) {
163
- var val = ElfUtil._components[compName];
163
+ let val = ElfUtil._components[compName];
164
164
  if (val == null) {
165
165
  val = 0;
166
- var ver = ElfUtil.getElfVersion();
166
+ let ver = ElfUtil.getElfVersion();
167
167
  if (compName) {
168
- var elem;
168
+ let elem;
169
169
  if (ver === 1) {
170
170
  elem = document.createElement(compName);
171
171
  if (elem.is === compName) {
@@ -198,7 +198,7 @@ ElfUtil.toLangString = function (lang) {
198
198
  if(lang === "zh-hant") {
199
199
  return "zh-Hant";
200
200
  }
201
- var mainLang = lang.replace(/-.*/, "");
201
+ let mainLang = lang.replace(/-.*/, "");
202
202
  if(LANGUAGE_SUPPORTS[mainLang]){
203
203
  return mainLang;
204
204
  }
@@ -284,13 +284,13 @@ ElfUtil.isHaloTheme = function (themeName) {
284
284
  ElfUtil.injectIcons = function (configObj, optElem) {
285
285
  if (typeof configObj !== "object") { return; }
286
286
 
287
- var theme = ElfUtil.getThemeName();
287
+ let theme = ElfUtil.getThemeName();
288
288
  configObj.themeName = theme;
289
289
 
290
- var ver = ElfUtil.getElfVersion();
290
+ let ver = ElfUtil.getElfVersion();
291
291
  configObj.elfVersion = ver;
292
292
 
293
- var icons = ElfUtil._icons[theme];
293
+ let icons = ElfUtil._icons[theme];
294
294
  if (icons) {
295
295
  configObj.icons = icons;
296
296
  }
@@ -302,7 +302,7 @@ ElfUtil.injectIcons = function (configObj, optElem) {
302
302
  * @returns {!Array.<string>} Always return a list of icons for the existing theme
303
303
  */
304
304
  ElfUtil.getIconList = function () {
305
- var iconStruct = ElfUtil._icons[ElfUtil.getThemeName()];
305
+ let iconStruct = ElfUtil._icons[ElfUtil.getThemeName()];
306
306
  return iconStruct ? nestedObjectToArray(iconStruct) : [];
307
307
  };
308
308
 
@@ -311,7 +311,7 @@ ElfUtil.getIconList = function () {
311
311
  */
312
312
  ElfUtil._onIconPreloaded = function() {
313
313
  if(ElfUtil._dummyIcon) {
314
- var pn = ElfUtil._dummyIcon.parentNode;
314
+ let pn = ElfUtil._dummyIcon.parentNode;
315
315
  if(pn) {
316
316
  pn.removeChild(ElfUtil._dummyIcon);
317
317
  }
@@ -326,10 +326,10 @@ ElfUtil._onIconPreloaded = function() {
326
326
  ElfUtil.prepareIconPreloading = function() {
327
327
  if(!ElfUtil._iconLoaded) {
328
328
  ElfUtil._iconLoaded = true;
329
- var iconList = ElfUtil.getIconList();
329
+ let iconList = ElfUtil.getIconList();
330
330
  if(iconList.length) {
331
331
  setTimeout(ElfUtil._onIconPreloaded, 10);
332
- var dummyIcon = ElfUtil._dummyIcon = document.createElement("ef-icon");
332
+ let dummyIcon = ElfUtil._dummyIcon = document.createElement("ef-icon");
333
333
  dummyIcon.style.transform = "scale(0)";
334
334
  document.body.appendChild(dummyIcon);
335
335
  return iconList;
@@ -347,8 +347,8 @@ ElfUtil.prepareIconPreloading = function() {
347
347
  * ElfUtil.getCssVariable("--valid-name", spanElement);
348
348
  */
349
349
  ElfUtil.getCssVariable = function (varName, optElem) {
350
- var result = "";
351
- var elem = optElem || document.body;
350
+ let result = "";
351
+ let elem = optElem || document.body;
352
352
  if (window && typeof varName === "string" && elem.nodeType === 1) {
353
353
  if (varName.match(/^--/)) {
354
354
  result = window.getComputedStyle(elem).getPropertyValue(varName);
@@ -368,11 +368,11 @@ ElfUtil.getCssVariable = function (varName, optElem) {
368
368
  * }, spanElement); // Css varriable names will be replaced with their value
369
369
  */
370
370
  ElfUtil.getCssVariables = function (obj, optElem) {
371
- var elem = optElem || document.body;
371
+ let elem = optElem || document.body;
372
372
  if (window && elem.nodeType === 1) {
373
- var computedStyle = window.getComputedStyle(elem);
374
- for(var key in obj) {
375
- var varName = obj[key];
373
+ let computedStyle = window.getComputedStyle(elem);
374
+ for(let key in obj) {
375
+ let varName = obj[key];
376
376
  if (varName && varName.match(/^--/)) {
377
377
  obj[key] = computedStyle.getPropertyValue(varName).replace(/\"/g, ""); // eslint-disable-line
378
378
  }
@@ -402,7 +402,7 @@ ElfUtil.getMovementColorProfile = function() {
402
402
  * @param {Function} cb
403
403
  */
404
404
  ElfUtil._addThemeChangedCallback = function(cb) {
405
- var callbacks = ElfUtil._callbacks;
405
+ let callbacks = ElfUtil._callbacks;
406
406
  if(callbacks.indexOf(cb) < 0) {
407
407
  callbacks.push(cb);
408
408
  }
@@ -438,10 +438,10 @@ ElfUtil.getThemeColors = function(themeChangedCb) {
438
438
  return ElfUtil.themeReady;
439
439
  }
440
440
 
441
- var d = ElfUtil._deferred = new Deferred();
441
+ let d = ElfUtil._deferred = new Deferred();
442
442
  ElfUtil.themeReady = d.promise;
443
443
 
444
- var profileName = ElfUtil.getMovementColorProfile();
444
+ let profileName = ElfUtil.getMovementColorProfile();
445
445
  if(profileName) {
446
446
  if(profileName !== ElfUtil._profileName) {
447
447
  setTimeout(ElfUtil._profileNameRetrieved, 100); // TODO: Find a proper way to ensure that theme is ready
@@ -449,12 +449,12 @@ ElfUtil.getThemeColors = function(themeChangedCb) {
449
449
  ElfUtil._deferred.resolve(ElfUtil.themeColors);
450
450
  }
451
451
  } else {
452
- var options = {
452
+ let options = {
453
453
  providerName: "Configuration",
454
454
  settingName: "RDE_USER_CURRENT_TICK_COLOR"
455
455
  };
456
456
 
457
- var jet = window ? window.JET : null;
457
+ let jet = window ? window.JET : null;
458
458
  ElfUtil._themeLoaded = false;
459
459
  if(ElfUtil._rtk && ElfUtil._rtk.Settings) {
460
460
  ElfUtil._rtk.Settings.getAsync(options)
@@ -477,7 +477,7 @@ ElfUtil.getThemeColors = function(themeChangedCb) {
477
477
  /** @private
478
478
  * @param {string} profileName
479
479
  */
480
- var movementColorProfileChanged = function(profileName) {
480
+ let movementColorProfileChanged = function(profileName) {
481
481
  if(profileName !== ElfUtil._profileName) {
482
482
  ElfUtil._retrieveThemeColors(profileName);
483
483
 
@@ -486,8 +486,8 @@ var movementColorProfileChanged = function(profileName) {
486
486
  ElfUtil._deferred.resolve(ElfUtil.themeColors);
487
487
  }
488
488
 
489
- var callbacks = ElfUtil._callbacks;
490
- for (var i = 0; i < callbacks.length; i++) {
489
+ let callbacks = ElfUtil._callbacks;
490
+ for (let i = 0; i < callbacks.length; i++) {
491
491
  callbacks[i]();
492
492
  }
493
493
  }
@@ -523,7 +523,7 @@ ElfUtil._loadingProfileFailure = function() {
523
523
  /** @private
524
524
  */
525
525
  ElfUtil._profileNameRetrieved = function() {
526
- var profileName = ElfUtil.getMovementColorProfile();
526
+ let profileName = ElfUtil.getMovementColorProfile();
527
527
  ElfUtil._retrieveThemeColors(profileName);
528
528
  if(!ElfUtil._observed) {
529
529
  ElfUtil._observed = true;
@@ -540,7 +540,7 @@ ElfUtil._retrieveThemeColors = function(profileName) {
540
540
  ElfUtil._themeLoaded = true;
541
541
  ElfUtil._profileName = profileName;
542
542
 
543
- var colors = ElfUtil.themeColors = ElfUtil.getCssVariables({
543
+ let colors = ElfUtil.themeColors = ElfUtil.getCssVariables({
544
544
  "primary": "--color-scheme-primary", // Usually used in headers, and selection
545
545
  "secondary": "--color-scheme-secondary",
546
546
  "tertiary": "--color-scheme-tertiary", // Usually black or white
@@ -565,20 +565,20 @@ ElfUtil._retrieveThemeColors = function(profileName) {
565
565
  colors["neutral"] = colors["level"];
566
566
 
567
567
  // Retrieve table styles to be used in grid and extensions
568
- var tableElem = document.createElement("table");
568
+ let tableElem = document.createElement("table");
569
569
  tableElem.style.visibility = "hidden";
570
570
  tableElem.style.position = "fixed";
571
571
  tableElem.style.left = "0"; // Activate fixed position
572
572
  tableElem.style.top = "0";
573
573
  tableElem.style.width = "0"; // Prevent creating scrollbar
574
- var trElem = tableElem.insertRow(-1);
575
- var tdElem = trElem.insertCell(-1);
574
+ let trElem = tableElem.insertRow(-1);
575
+ let tdElem = trElem.insertCell(-1);
576
576
 
577
577
  document.body.appendChild(tableElem);
578
- var trStyles = window.getComputedStyle(trElem);
578
+ let trStyles = window.getComputedStyle(trElem);
579
579
  colors["tableBg"] = trStyles.backgroundColor; // Usually equivalent to --color-scheme-tertiary
580
580
 
581
- var tdStyles = window.getComputedStyle(tdElem);
581
+ let tdStyles = window.getComputedStyle(tdElem);
582
582
  colors["tableText"] = tdStyles.color; // Usually equivalent to --color-scheme-neutral
583
583
  colors["tableBorder"] = tdStyles.borderColor;
584
584
  if(colors["tableText"] === colors["tableBorder"]) {
@@ -1,7 +1,7 @@
1
1
  /** Abstract base class that provides event management methods for derived class
2
2
  * @constructor
3
3
  */
4
- var EventDispatcher = function () {};
4
+ let EventDispatcher = function () {};
5
5
 
6
6
  /** @type {Object.<string, Function>}
7
7
  * @protected
@@ -26,7 +26,7 @@ EventDispatcher.prototype.addEventListener = function(type, handler) {
26
26
  this._events = {};
27
27
  }
28
28
 
29
- var listeners = this._events[type];
29
+ let listeners = this._events[type];
30
30
  if(listeners) {
31
31
  if(listeners.indexOf(handler) < 0) {
32
32
  listeners.push(handler);
@@ -43,9 +43,9 @@ EventDispatcher.prototype.addEventListener = function(type, handler) {
43
43
  * @param {Function} handler Event handler
44
44
  */
45
45
  EventDispatcher.prototype.removeEventListener = function(type, handler) {
46
- var listeners = (this._events) ? this._events[type] : null;
46
+ let listeners = (this._events) ? this._events[type] : null;
47
47
  if(listeners) {
48
- var at = listeners.indexOf(handler);
48
+ let at = listeners.indexOf(handler);
49
49
  if(at >= 0) {
50
50
  listeners.splice(at, 1);
51
51
  --this._listenerCount;
@@ -68,7 +68,7 @@ EventDispatcher.prototype.removeAllEventListeners = function() {
68
68
  EventDispatcher.prototype.hasListener = function(type) {
69
69
  if(this._listenerCount) {
70
70
  if(type) {
71
- var listeners = this._events ? this._events[type] : null;
71
+ let listeners = this._events ? this._events[type] : null;
72
72
  return listeners ? (listeners.length > 0) : false;
73
73
  } else {
74
74
  return true;
@@ -85,7 +85,7 @@ EventDispatcher.prototype.hasListener = function(type) {
85
85
  */
86
86
  EventDispatcher.prototype.getListener = function(type, idx) {
87
87
  if(type) {
88
- var listeners = this._events ? this._events[type] : null;
88
+ let listeners = this._events ? this._events[type] : null;
89
89
  if(listeners) {
90
90
  if(!idx) {
91
91
  idx = 0;
@@ -101,12 +101,12 @@ EventDispatcher.prototype.getListener = function(type, idx) {
101
101
  * @param {Object} obj Object that contains a handler with the same name as the given `type`
102
102
  * @param {string} type Event name
103
103
  * @example
104
- * var obj = {"mouseUp": function(e) { console.log(e); }};
104
+ * let obj = {"mouseUp": function(e) { console.log(e); }};
105
105
  * plugin.addListener(obj, "mouseUp");
106
106
  * plugin.addListener(obj, "mouseDown");
107
107
  */
108
108
  EventDispatcher.prototype.addListener = function(obj, type) {
109
- var func = obj ? obj[type] : null;
109
+ let func = obj ? obj[type] : null;
110
110
  if(typeof func === "function") {
111
111
  this.addEventListener(type, func);
112
112
  }
@@ -130,11 +130,11 @@ EventDispatcher.prototype._prepareEventArguments = function(type, eventArg) {
130
130
  * @param {Object} eventArg Event arguments
131
131
  */
132
132
  EventDispatcher.prototype._dispatch = function(type, eventArg) {
133
- var listeners = this._events ? this._events[type] : null;
133
+ let listeners = this._events ? this._events[type] : null;
134
134
  if(listeners) {
135
135
  eventArg = this._prepareEventArguments(type, eventArg);
136
- var len = listeners.length;
137
- for(var i = 0; i < len; ++i) {
136
+ let len = listeners.length;
137
+ for(let i = 0; i < len; ++i) {
138
138
  listeners[i](eventArg);
139
139
  }
140
140
  }
@@ -144,7 +144,7 @@ EventDispatcher.prototype._dispatch = function(type, eventArg) {
144
144
  * @function
145
145
  * @param {Event} e
146
146
  */
147
- var preventDefault = function(e) {
147
+ let preventDefault = function(e) {
148
148
  if(e && e.preventDefault) {
149
149
  e.preventDefault();
150
150
  e.stopPropagation();
@@ -6,14 +6,14 @@ import { ElfUtil } from "./ElfUtil.js";
6
6
  * @constructor
7
7
  * @extends {ElementWrapper}
8
8
  */
9
- var ExpanderIcon = function () {
10
- var elem;
9
+ let ExpanderIcon = function () {
10
+ let elem;
11
11
  if (ExpanderIcon._iconName) {
12
12
  elem = document.createElement("ef-icon");
13
13
  elem.setAttribute("icon", ExpanderIcon._iconName);
14
14
  } else {
15
15
  elem = document.createElement("span");
16
- var fallback = document.createElement("span");
16
+ let fallback = document.createElement("span");
17
17
  fallback.className = "fallback-arrow";
18
18
  fallback.textContent = "\u25bc";
19
19
  elem.appendChild(fallback);
@@ -49,7 +49,7 @@ ExpanderIcon._onThemeLoaded = function() {
49
49
  */
50
50
  ExpanderIcon.loadExpanderStyles = function() {
51
51
  if(!ExpanderIcon._iconName) {
52
- var themeName = ElfUtil.getThemeName();
52
+ let themeName = ElfUtil.getThemeName();
53
53
 
54
54
  if(themeName) {
55
55
  ExpanderIcon._onThemeLoaded(); // synchronous
@@ -65,11 +65,11 @@ ExpanderIcon.loadExpanderStyles = function() {
65
65
  * @return {ExpanderIcon} Return ExpanderIcon object only if Expander is newly created
66
66
  */
67
67
  ExpanderIcon.renderOn = function (cell, removal) {
68
- var newExpander = null;
68
+ let newExpander = null;
69
69
  if (removal) {
70
70
  cell.removeIcon();
71
71
  } else {
72
- var expander = cell._expanderIcon;
72
+ let expander = cell._expanderIcon;
73
73
  if (!expander) {
74
74
  expander = cell._expanderIcon = newExpander = new ExpanderIcon();
75
75
  }
@@ -2,7 +2,7 @@
2
2
  * @private
3
3
  * @const
4
4
  */
5
- var OperatorPrecedences = {
5
+ let OperatorPrecedences = {
6
6
  "||": 1,
7
7
  "&&": 2,
8
8
  "<": 3,
@@ -25,7 +25,7 @@ var OperatorPrecedences = {
25
25
  * @private
26
26
  * @const
27
27
  */
28
- var OperatorFunctions = {
28
+ let OperatorFunctions = {
29
29
  "+": function(lhs, rhs){ return lhs + rhs; },
30
30
  "-": function(lhs, rhs){ return lhs - rhs; },
31
31
  "*": function(lhs, rhs){ return lhs * rhs; },
@@ -46,7 +46,7 @@ var OperatorFunctions = {
46
46
  * @private
47
47
  * @const
48
48
  */
49
- var OperandRequirements = {
49
+ let OperandRequirements = {
50
50
  "+": 2,
51
51
  "-": 2,
52
52
  "*": 2,
@@ -71,8 +71,8 @@ var OperandRequirements = {
71
71
  * @param {string=} dataType
72
72
  * @return {number}
73
73
  */
74
- var _addToken = function(ary, value, type, dataType) {
75
- var tok = {
74
+ let _addToken = function(ary, value, type, dataType) {
75
+ let tok = {
76
76
  value: value,
77
77
  type: type
78
78
  };
@@ -92,14 +92,14 @@ var _addToken = function(ary, value, type, dataType) {
92
92
  * @param {Object} obj
93
93
  * @returns {*}
94
94
  */
95
- var _toValue = function(obj) { // eslint-disable-line
95
+ let _toValue = function(obj) { // eslint-disable-line
96
96
  return obj.value;
97
97
  };
98
98
 
99
99
  /** @public
100
100
  * @namespace
101
101
  */
102
- var ExpressionParser = {};
102
+ let ExpressionParser = {};
103
103
  /** @type {Array.<Object>}
104
104
  * @private
105
105
  * @const
@@ -113,7 +113,7 @@ ExpressionParser._tokens = [];
113
113
  * @return {string}
114
114
  */
115
115
  ExpressionParser._withString = function(str) {
116
- var tokId = _addToken(ExpressionParser._tokens,
116
+ let tokId = _addToken(ExpressionParser._tokens,
117
117
  str.substring(1, str.length - 1),
118
118
  "literal",
119
119
  "string"
@@ -126,7 +126,7 @@ ExpressionParser._withString = function(str) {
126
126
  * @return {string}
127
127
  */
128
128
  ExpressionParser._withField = function(field) {
129
- var tokId = _addToken(ExpressionParser._tokens,
129
+ let tokId = _addToken(ExpressionParser._tokens,
130
130
  field,
131
131
  "literal",
132
132
  "variable"
@@ -147,9 +147,9 @@ ExpressionParser._withFieldInBrackets = function(field) {
147
147
  * @return {string}
148
148
  */
149
149
  ExpressionParser._withNegativeNumber = function(numStr) {
150
- var num = +numStr;
150
+ let num = +numStr;
151
151
  if(num === num) {
152
- var tokId = _addToken(ExpressionParser._tokens,
152
+ let tokId = _addToken(ExpressionParser._tokens,
153
153
  num,
154
154
  "literal",
155
155
  "number"
@@ -179,7 +179,7 @@ ExpressionParser._withOperator = function(opStr) {
179
179
  if(opStr == "=" || opStr == "===") {
180
180
  opStr = "==";
181
181
  }
182
- var tokId = _addToken(ExpressionParser._tokens, opStr, "operator");
182
+ let tokId = _addToken(ExpressionParser._tokens, opStr, "operator");
183
183
  return "#" + tokId + "#";
184
184
  }
185
185
  return "";
@@ -190,7 +190,7 @@ ExpressionParser._withOperator = function(opStr) {
190
190
  * @return {string}
191
191
  */
192
192
  ExpressionParser._withParenthesis = function(paStr) {
193
- var tokId = _addToken(ExpressionParser._tokens, paStr, "parenthesis");
193
+ let tokId = _addToken(ExpressionParser._tokens, paStr, "parenthesis");
194
194
  return "#" + tokId + "#";
195
195
  };
196
196
 
@@ -201,14 +201,14 @@ ExpressionParser._withParenthesis = function(paStr) {
201
201
  * @return {boolean} Returns true if there is any error, otherwise returns false (everything is OK)
202
202
  */
203
203
  ExpressionParser._tester = function(ctx) {
204
- var rpn = ctx._rpn;
205
- var inputCount = rpn.length;
206
- var operandCount = 0;
207
- var maxStack = 0;
208
- for(var i = 0; i < inputCount; ++i) {
209
- var tok = rpn[i];
204
+ let rpn = ctx._rpn;
205
+ let inputCount = rpn.length;
206
+ let operandCount = 0;
207
+ let maxStack = 0;
208
+ for(let i = 0; i < inputCount; ++i) {
209
+ let tok = rpn[i];
210
210
  if(tok.type !== "literal") {
211
- var requiredCount = OperandRequirements[tok.value];
211
+ let requiredCount = OperandRequirements[tok.value];
212
212
  if(operandCount >= requiredCount) {
213
213
  operandCount -= requiredCount;
214
214
  } else {
@@ -236,14 +236,14 @@ ExpressionParser._tester = function(ctx) {
236
236
  * @return {boolean}
237
237
  */
238
238
  ExpressionParser._filter = function(ctx, rowData) {
239
- var rpn = ctx._rpn;
240
- var results = new Array(ctx._stackSize);
241
- var inputCount = rpn.length;
242
- var operandCount = 0;
243
- var curRes;
244
- for(var i = 0; i < inputCount; ++i) {
245
- var tok = rpn[i];
246
- var tokValue = tok.value;
239
+ let rpn = ctx._rpn;
240
+ let results = new Array(ctx._stackSize);
241
+ let inputCount = rpn.length;
242
+ let operandCount = 0;
243
+ let curRes;
244
+ for(let i = 0; i < inputCount; ++i) {
245
+ let tok = rpn[i];
246
+ let tokValue = tok.value;
247
247
  if(tok.type === "literal") {
248
248
  if(tok.dataType !== "variable") {
249
249
  curRes = tokValue;
@@ -287,7 +287,7 @@ ExpressionParser.parse = function(expression) {
287
287
  return null;
288
288
  }
289
289
 
290
- var tokExp = expression.trim();
290
+ let tokExp = expression.trim();
291
291
  if(!tokExp) {
292
292
  return null;
293
293
  }
@@ -302,23 +302,23 @@ ExpressionParser.parse = function(expression) {
302
302
  tokExp = tokExp.replace(/[\-\/+*%!=<>&|]+/g, ExpressionParser._withOperator);
303
303
  tokExp = tokExp.replace(/[()]/g, ExpressionParser._withParenthesis); // round brackets
304
304
 
305
- var tokens = ExpressionParser._tokens;
306
- var tokCount = tokens.length;
305
+ let tokens = ExpressionParser._tokens;
306
+ let tokCount = tokens.length;
307
307
  if(!tokCount) {
308
308
  return null; // There is no recognizable character
309
309
  }
310
310
 
311
311
  // Generate infix token list
312
- var infixTokens = [];
313
- var matches = tokExp.match(/#[0-9]+#/g);
314
- var i, tok, tokType;
312
+ let infixTokens = [];
313
+ let matches = tokExp.match(/#[0-9]+#/g);
314
+ let i, tok, tokType;
315
315
  for(i = 0; i < tokCount; ++i) {
316
- var tokId = matches[i];
317
- var tokIdx = +(tokId.substring(1, tokId.length - 1));
316
+ let tokId = matches[i];
317
+ let tokIdx = +(tokId.substring(1, tokId.length - 1));
318
318
  tok = tokens[tokIdx];
319
319
  tokType = tok.type;
320
320
  if(tokType === "literal") {
321
- var prevTok = infixTokens[infixTokens.length - 1];
321
+ let prevTok = infixTokens[infixTokens.length - 1];
322
322
  if(prevTok && prevTok.type === "literal") { // Incorrect infix notation detected
323
323
  if(tok.value < 0 && tok.dataType === "number") {
324
324
  _addToken(infixTokens, "-", "operator");
@@ -336,10 +336,10 @@ ExpressionParser.parse = function(expression) {
336
336
  // Convert Infix notation to Reverse Polish Notation (Postfix)
337
337
  // See https://en.wikipedia.org/wiki/Shunting_yard_algorithm#The_algorithm_in_detail
338
338
  tokCount = infixTokens.length;
339
- var rpn = [];
340
- var operators = [];
341
- var lastOp = null;
342
- var foundLeftPa = false;
339
+ let rpn = [];
340
+ let operators = [];
341
+ let lastOp = null;
342
+ let foundLeftPa = false;
343
343
  for(i = 0; i < tokCount; ++i) {
344
344
  tok = infixTokens[i];
345
345
  tokType = tok.type;
@@ -388,12 +388,12 @@ ExpressionParser.parse = function(expression) {
388
388
  console.warn("No right parenthesis paired with the left one");
389
389
  }
390
390
 
391
- var inputCount = rpn.length;
391
+ let inputCount = rpn.length;
392
392
  if(!inputCount) {
393
393
  return null; // The expression contains nothing but parentheses
394
394
  }
395
395
 
396
- var ctx = {
396
+ let ctx = {
397
397
  _rpn: rpn
398
398
  };
399
399
 
@@ -1,15 +1,15 @@
1
1
  /** Provide ability for prototype based Class to inherits another class
2
2
  * @namespace
3
3
  * @example
4
- * var BaseClass = function() {};
4
+ * let BaseClass = function() {};
5
5
  * BaseClass.prototype.method = function() {};
6
6
  * BaseClass.prototype._member = 1;
7
- * var DerivedClass = function() {};
7
+ * let DerivedClass = function() {};
8
8
  * Ext.inherits(DerivedClass, BaseClass); // Derived class will have methods and members of the base class
9
9
  * // To call base class method
10
10
  * DeriveClass["base"](this, "methodName", ...params);
11
11
  */
12
- var Ext = {};
12
+ let Ext = {};
13
13
 
14
14
  /** @public
15
15
  * @function
@@ -39,9 +39,9 @@ Ext.inherits = function (childCtor, parentCtor) {
39
39
  childCtor["base"] = function(me, methodName, var_args) {
40
40
  if(!methodName) { methodName = 'constructor'; }
41
41
  // Copying using loop to avoid deop due to passing arguments object to function. This is faster in many JS engines as of late 2014.
42
- var len = arguments.length;
43
- var args = new Array(len); // http://jsperf.com/creating-an-array
44
- for (var i = 2; i < len; i++) {
42
+ let len = arguments.length;
43
+ let args = new Array(len); // http://jsperf.com/creating-an-array
44
+ for (let i = 2; i < len; i++) {
45
45
  args[i - 2] = arguments[i];
46
46
  }
47
47
  return parentCtor.prototype[methodName].apply(me, args);