@refinitiv-ui/efx-grid 6.0.91 → 6.0.92

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -6,7 +6,7 @@ import {RequestQueue} from "../RequestQueue.js";
6
6
  /** @constructor
7
7
  * @extends {EventDispatcher}
8
8
  */
9
- var TSISubscription = function() {
9
+ let TSISubscription = function() {
10
10
  this._refreshData = this._refreshData.bind(this);
11
11
 
12
12
  // Old TSI service
@@ -209,18 +209,18 @@ TSISubscription.prototype.setTSISettings = function(sharedServiceUrl, taServiceU
209
209
  * @return {*} Return the value if there is existing. Return undefined when requesting the invalid field.
210
210
  */
211
211
  TSISubscription.prototype.addSymbolAndFieldToPeriod = function (symbol, field, period) {
212
- var periodRIC = this._getPeriodRICData(period, symbol);
212
+ let periodRIC = this._getPeriodRICData(period, symbol);
213
213
  if(periodRIC.dataCache[field] != null) { // Already have data
214
214
  return periodRIC.dataCache[field];
215
215
  }
216
216
 
217
- var periodMap = this._getPeriodMap(period);
218
- var isNewSymbol = periodMap.symbol[symbol] == null;
217
+ let periodMap = this._getPeriodMap(period);
218
+ let isNewSymbol = periodMap.symbol[symbol] == null;
219
219
  if(isNewSymbol) {
220
220
  periodMap.symbol[symbol] = true;
221
221
  }
222
222
 
223
- var isNewField = periodMap.field[field] == null;
223
+ let isNewField = periodMap.field[field] == null;
224
224
  if(isNewField) {
225
225
  periodMap.field[field] = true;
226
226
  }
@@ -311,7 +311,7 @@ TSISubscription.prototype._stop = function() {
311
311
  * @private
312
312
  */
313
313
  TSISubscription.prototype._refreshData = function() {
314
- for(var period in this._tsiPeriodMap) {
314
+ for(let period in this._tsiPeriodMap) {
315
315
  // Request to old TSI service
316
316
  this._oldTsiDataQ.add({ period: period }); // If it has error code, it will fallback to new service automatically.
317
317
  }
@@ -337,7 +337,7 @@ TSISubscription.prototype._getPeriodMap = function(period) {
337
337
  * @return {Object} Object that related to period and RIC
338
338
  */
339
339
  TSISubscription.prototype._getPeriodRICData = function(period, symbol) {
340
- var tsiPeriodMap = this._getPeriodMap(period);
340
+ let tsiPeriodMap = this._getPeriodMap(period);
341
341
  if(!tsiPeriodMap[symbol]) {
342
342
  tsiPeriodMap[symbol] = {
343
343
  view: {}, // This property will used for new TSI service
@@ -379,11 +379,11 @@ TSISubscription.prototype._requestMetadata = function(symbol) {
379
379
  TSISubscription.prototype._manageMetadataQ = function() {
380
380
  this._metadataTimer = 0; // Reset
381
381
 
382
- var symbolMap = this._metadataMap;
382
+ let symbolMap = this._metadataMap;
383
383
  this._metadataMap = {};
384
384
 
385
- var symbols = [];
386
- for(var key in symbolMap) {
385
+ let symbols = [];
386
+ for(let key in symbolMap) {
387
387
  if(this._metadataPendingMap[key]) {
388
388
  continue;
389
389
  }
@@ -406,17 +406,17 @@ TSISubscription.prototype._manageMetadataQ = function() {
406
406
  * @return {Promise}
407
407
  */
408
408
  TSISubscription.prototype._onRequestMetadata = function(obj, q) {
409
- var reqRics = obj.rics;
410
- var len = reqRics.length;
409
+ let reqRics = obj.rics;
410
+ let len = reqRics.length;
411
411
  if(len <= 0) {
412
412
  return Promise.resolve("");
413
413
  }
414
414
 
415
415
  // Merge request
416
- var qi = q.length;
417
- var remaining = TSISubscription.MAX_CONCURRENT_OBJECT - len;
416
+ let qi = q.length;
417
+ let remaining = TSISubscription.MAX_CONCURRENT_OBJECT - len;
418
418
  while(remaining > 0 && --qi >= 0) {
419
- var qObj = q[qi];
419
+ let qObj = q[qi];
420
420
  reqRics = reqRics.concat( qObj.rics.splice(0, remaining) );
421
421
 
422
422
  len = reqRics.length; // Update length
@@ -426,12 +426,12 @@ TSISubscription.prototype._onRequestMetadata = function(obj, q) {
426
426
  }
427
427
  }
428
428
 
429
- var payload = { "rics": reqRics };
430
- var pendingMap = this._metadataPendingMap;
429
+ let payload = { "rics": reqRics };
430
+ let pendingMap = this._metadataPendingMap;
431
431
  return Util.post(this._tsiTaServiceUrl + "/GetMetadata", payload)
432
432
  .then(this._extractMetadata)
433
433
  .catch(function(err) {
434
- for(var i = len; --i >= 0;) {
434
+ for(let i = len; --i >= 0;) {
435
435
  delete pendingMap[reqRics[i]]; // Remove key from pending list due to error
436
436
  }
437
437
  });
@@ -441,22 +441,22 @@ TSISubscription.prototype._onRequestMetadata = function(obj, q) {
441
441
  * @param {Object} serviceResponse
442
442
  */
443
443
  TSISubscription.prototype._extractMetadata = function(serviceResponse) {
444
- var instruments = serviceResponse["instruments"];
444
+ let instruments = serviceResponse["instruments"];
445
445
  if(instruments) { // Successful request
446
- var aryLen = Object.keys(/** @type {!Object} */(TSISubscription.INTERVAL_INDEX)).length;
447
- var ary = new Array(aryLen); // Reused array
448
- for(var i = instruments.length; --i >= 0;) {
449
- var instrument = instruments[i];
450
-
451
- var data = null;
452
- var viewList = instrument["viewList"] || [];
453
- for(var j = viewList.length; --j >= 0;) {
454
- var view = viewList[j];
455
- var intervals = view["intervals"];
456
- var k, interval, len;
446
+ let aryLen = Object.keys(/** @type {!Object} */(TSISubscription.INTERVAL_INDEX)).length;
447
+ let ary = new Array(aryLen); // Reused array
448
+ for(let i = instruments.length; --i >= 0;) {
449
+ let instrument = instruments[i];
450
+
451
+ let data = null;
452
+ let viewList = instrument["viewList"] || [];
453
+ for(let j = viewList.length; --j >= 0;) {
454
+ let view = viewList[j];
455
+ let intervals = view["intervals"];
456
+ let k, interval, len;
457
457
  for(k = 0, len = intervals.length; k < len; k++) {
458
458
  interval = intervals[k];
459
- var idx = TSISubscription.INTERVAL_INDEX[ interval["name"] ];
459
+ let idx = TSISubscription.INTERVAL_INDEX[ interval["name"] ];
460
460
  if(idx != null) {
461
461
  if(ary[idx] == null || TSISubscription.INTERVAL_MAIN[ interval["name"] ]) { // Main interval has more priority than other interval in same category
462
462
  ary[idx] = interval;
@@ -464,15 +464,15 @@ TSISubscription.prototype._extractMetadata = function(serviceResponse) {
464
464
  }
465
465
  }
466
466
 
467
- var viewData = null;
468
- var columns;
467
+ let viewData = null;
468
+ let columns;
469
469
  for(k = 0; k < aryLen; k++) {
470
470
  interval = ary[k];
471
471
  ary[k] = null; // Clear array for reused
472
472
  if(interval != null && viewData === null) {
473
473
  columns = 0; // Reset
474
474
 
475
- for(var l = interval["fields"].length; --l >= 0;) { // Column mask for view + interval
475
+ for(let l = interval["fields"].length; --l >= 0;) { // Column mask for view + interval
476
476
  columns |= TSISubscription.COLUMN_MASK_ENUM[ interval["fields"][l] ]; // undefined will be same as 0
477
477
  }
478
478
 
@@ -524,14 +524,14 @@ TSISubscription.prototype._getKey = function(symbol, view, period) {
524
524
  * @return {Object.<string, Array>}
525
525
  */
526
526
  TSISubscription.prototype._buildRequestInfo = function(reqPayload, dateMap) {
527
- var ric = reqPayload.ric;
528
- var view = reqPayload.view;
529
- var viewData = this._tsiMetadata[ric] && this._tsiMetadata[ric][view];
527
+ let ric = reqPayload.ric;
528
+ let view = reqPayload.view;
529
+ let viewData = this._tsiMetadata[ric] && this._tsiMetadata[ric][view];
530
530
  if(!viewData) {
531
531
  return null;
532
532
  }
533
533
 
534
- var period = dateMap[reqPayload.period];
534
+ let period = dateMap[reqPayload.period];
535
535
  if(period == null) {
536
536
  period = TSISubscription._dateCalculation(reqPayload.period).getTime();
537
537
  dateMap[reqPayload.period] = period;
@@ -560,7 +560,7 @@ TSISubscription.prototype._requestTSIData = function(symbol, view, period) {
560
560
  return;
561
561
  }
562
562
 
563
- var key = this._getKey(symbol, view, period);
563
+ let key = this._getKey(symbol, view, period);
564
564
  if(this._tsiDataPendingMap[key] || this._tsiDataMap[key]) { // Already in list
565
565
  return;
566
566
  }
@@ -580,12 +580,12 @@ TSISubscription.prototype._requestTSIData = function(symbol, view, period) {
580
580
  TSISubscription.prototype._manageTSIDataQ = function() {
581
581
  this._tsiDataTimer = 0; // Reset
582
582
 
583
- var listMap = this._tsiDataMap;
583
+ let listMap = this._tsiDataMap;
584
584
  this._tsiDataMap = {};
585
585
 
586
- var obj;
587
- var listArr = [];
588
- for(var key in listMap) {
586
+ let obj;
587
+ let listArr = [];
588
+ for(let key in listMap) {
589
589
  obj = listMap[key];
590
590
  if(this._hasMetadata(obj.ric)) {
591
591
  if(this._tsiDataPendingMap[key]) {
@@ -615,17 +615,17 @@ TSISubscription.prototype._manageTSIDataQ = function() {
615
615
  * @return {!Promise}
616
616
  */
617
617
  TSISubscription.prototype._onRequestTSIData = function(obj, q) {
618
- var reqPayloads = obj.list;
619
- var len = reqPayloads.length;
618
+ let reqPayloads = obj.list;
619
+ let len = reqPayloads.length;
620
620
  if(len <= 0) {
621
621
  return Promise.resolve("");
622
622
  }
623
623
 
624
624
  // Merge request
625
- var qi = q.length;
626
- var remaining = TSISubscription.MAX_CONCURRENT_OBJECT - len;
625
+ let qi = q.length;
626
+ let remaining = TSISubscription.MAX_CONCURRENT_OBJECT - len;
627
627
  while(remaining > 0 && --qi >= 0) {
628
- var qObj = q[qi];
628
+ let qObj = q[qi];
629
629
  reqPayloads = reqPayloads.concat( qObj.list.splice(0, remaining) );
630
630
 
631
631
  len = reqPayloads.length; // Update length
@@ -635,10 +635,10 @@ TSISubscription.prototype._onRequestTSIData = function(obj, q) {
635
635
  }
636
636
  }
637
637
 
638
- var dateMap = {};
639
- var requestInfos = [];
640
- var reqInfo;
641
- for(var i = len; --i >= 0;) {
638
+ let dateMap = {};
639
+ let requestInfos = [];
640
+ let reqInfo;
641
+ for(let i = len; --i >= 0;) {
642
642
  reqInfo = this._buildRequestInfo(reqPayloads[i], dateMap);
643
643
  if(reqInfo) {
644
644
  requestInfos.push( reqInfo ); // BEWARE: This is the reverse loop
@@ -649,14 +649,14 @@ TSISubscription.prototype._onRequestTSIData = function(obj, q) {
649
649
  * Complete the request so that it will not stay indefinitely as "pending"
650
650
  * TRGRID-2335
651
651
  */
652
- var key = this._getKey(reqPayloads[i].ric, reqPayloads[i].view, reqPayloads[i].period);
652
+ let key = this._getKey(reqPayloads[i].ric, reqPayloads[i].view, reqPayloads[i].period);
653
653
  delete this._tsiDataPendingMap[key]; // Remove from pending map
654
654
 
655
- var periodRIC = this._getPeriodRICData(reqPayloads[i].period, reqPayloads[i].ric);
656
- var periodMap = this._getPeriodMap(reqPayloads[i].period);
657
- var fields = periodMap.field;
658
- var rowData = {};
659
- for(var field in fields) {
655
+ let periodRIC = this._getPeriodRICData(reqPayloads[i].period, reqPayloads[i].ric);
656
+ let periodMap = this._getPeriodMap(reqPayloads[i].period);
657
+ let fields = periodMap.field;
658
+ let rowData = {};
659
+ for(let field in fields) {
660
660
  if(!fields[field]) continue;
661
661
  periodRIC.dataCache[field] = null;
662
662
  rowData[reqPayloads[i].period + "♠" + field] = periodRIC.dataCache[field];
@@ -670,8 +670,8 @@ TSISubscription.prototype._onRequestTSIData = function(obj, q) {
670
670
  return Promise.resolve("");
671
671
  }
672
672
 
673
- var self = this; // TODO: This is bad
674
- var payload = { "messages": requestInfos.reverse() }; // Reverse array back for normal order
673
+ let self = this; // TODO: This is bad
674
+ let payload = { "messages": requestInfos.reverse() }; // Reverse array back for normal order
675
675
  return Util.requestText(this._tsiTaServiceUrl + "/CalculateAllData", payload)
676
676
  .then(function(serviceResponse) {
677
677
  return {
@@ -681,8 +681,8 @@ TSISubscription.prototype._onRequestTSIData = function(obj, q) {
681
681
  })
682
682
  .then(this._extractTSIData)
683
683
  .catch(function(err) { // TODO: This is bad
684
- for(var i = len; --i >= 0;) { // eslint-disable-line
685
- var key = self._getKey(reqPayloads[i].ric, reqPayloads[i].view, reqPayloads[i].period); // eslint-disable-line
684
+ for(let i = len; --i >= 0;) { // eslint-disable-line
685
+ let key = self._getKey(reqPayloads[i].ric, reqPayloads[i].view, reqPayloads[i].period); // eslint-disable-line
686
686
  delete self._tsiDataPendingMap[key]; // Remove from pending map
687
687
  }
688
688
  });
@@ -693,8 +693,8 @@ TSISubscription.prototype._onRequestTSIData = function(obj, q) {
693
693
  * @return {Object}
694
694
  */
695
695
  TSISubscription.prototype._extractTSIData = function(res) {
696
- var response = res.response.replace(/\[NaN(,NaN)*\]/g, "[]"); // Handler for return the invalid JSON syntax due to no data
697
- var json;
696
+ let response = res.response.replace(/\[NaN(,NaN)*\]/g, "[]"); // Handler for return the invalid JSON syntax due to no data
697
+ let json;
698
698
  try {
699
699
  json = /** @type {Object} */(JSON.parse(response));
700
700
  } catch(ex) {
@@ -703,10 +703,10 @@ TSISubscription.prototype._extractTSIData = function(res) {
703
703
  }
704
704
 
705
705
  if(json) {
706
- var payload = res.payload;
707
- var len = payload.length;
708
- var periodRIC, dataCache, view, symbol, period, rowData, field, periodMap;
709
- for(var i = 0; i < len; i++) {
706
+ let payload = res.payload;
707
+ let len = payload.length;
708
+ let periodRIC, dataCache, view, symbol, period, rowData, field, periodMap;
709
+ for(let i = 0; i < len; i++) {
710
710
  view = payload[i].view;
711
711
  symbol = payload[i].ric;
712
712
  period = payload[i].period;
@@ -715,14 +715,14 @@ TSISubscription.prototype._extractTSIData = function(res) {
715
715
  periodRIC.view[view] = true; // Mark as already requested
716
716
  dataCache = periodRIC.dataCache;
717
717
 
718
- var data = json[i]["Columns"] || [];
718
+ let data = json[i]["Columns"] || [];
719
719
  if(data.length === 0) {
720
720
  continue;
721
721
  }
722
722
 
723
723
  rowData = {};
724
- var val;
725
- for(var j = 0, dataLen = data.length; j < dataLen; j++) {
724
+ let val;
725
+ for(let j = 0, dataLen = data.length; j < dataLen; j++) {
726
726
  val = data[j]["Values"][0];
727
727
  if(val == null || val !== val) {
728
728
  /*
@@ -804,23 +804,23 @@ TSISubscription.prototype._extractTSIData = function(res) {
804
804
  * @return {Promise}
805
805
  */
806
806
  TSISubscription.prototype._requestTimeSeriesData = function(obj, q) {
807
- var period = obj.period;
808
- for(var i = q.length; --i >= 0;) {
809
- var qObj = q[i];
807
+ let period = obj.period;
808
+ for(let i = q.length; --i >= 0;) {
809
+ let qObj = q[i];
810
810
  if(!qObj.rics && qObj.period === period) {
811
811
  q.splice(i, 1); // Remove any duplicate period that is being queued
812
812
  }
813
813
  }
814
814
 
815
- var periodMap = this._getPeriodMap(period);
816
- var fields = Object.keys(periodMap.field);
817
- var symbols = obj.rics ? obj.rics : Object.keys(periodMap.symbol);
815
+ let periodMap = this._getPeriodMap(period);
816
+ let fields = Object.keys(periodMap.field);
817
+ let symbols = obj.rics ? obj.rics : Object.keys(periodMap.symbol);
818
818
 
819
819
  if(fields.length === 0 || symbols.length === 0) {
820
820
  return null;
821
821
  }
822
822
 
823
- var reqDate = TSISubscription._dateCalculation(period).toJSON();
823
+ let reqDate = TSISubscription._dateCalculation(period).toJSON();
824
824
  if(reqDate === null) { // Invalid date/period parameter
825
825
  return null;
826
826
  } else {
@@ -833,7 +833,7 @@ TSISubscription.prototype._requestTimeSeriesData = function(obj, q) {
833
833
  q.unshift(obj); // Push the request back at the front of the queue
834
834
  }
835
835
 
836
- var payload = {
836
+ let payload = {
837
837
  "rics": symbols.join(" "),
838
838
  "factList": fields.join(","),
839
839
  "date": reqDate
@@ -855,21 +855,21 @@ TSISubscription.prototype._requestTimeSeriesData = function(obj, q) {
855
855
  * @param {Object} json JSON object of TSI response
856
856
  */
857
857
  TSISubscription.prototype._onTSIUpdate = function(json) {
858
- var period = json["period"];
859
- var result = json["result"];
860
- var periodMap = this._getPeriodMap(period);
861
- var fields = periodMap["field"];
858
+ let period = json["period"];
859
+ let result = json["result"];
860
+ let periodMap = this._getPeriodMap(period);
861
+ let fields = periodMap["field"];
862
862
 
863
- var header = result[0];
863
+ let header = result[0];
864
864
  if(!header) {
865
865
  throw("Invalid response from TSI service");
866
866
  }
867
867
 
868
- var ricIdx = -1;
869
- var returnStatusIdx = -1;
870
- // var timestampIdx = -1;
871
- var fieldIdxMap = {};
872
- for(var i = header.length; --i >= 0;) {
868
+ let ricIdx = -1;
869
+ let returnStatusIdx = -1;
870
+ // let timestampIdx = -1;
871
+ let fieldIdxMap = {};
872
+ for(let i = header.length; --i >= 0;) {
873
873
  if(header[i] === "RIC") {
874
874
  ricIdx = i;
875
875
  } else if(header[i] === "ReturnStatus") {
@@ -882,16 +882,16 @@ TSISubscription.prototype._onTSIUpdate = function(json) {
882
882
  }
883
883
  fields = Object.keys(fieldIdxMap); // Collect the fields of result
884
884
 
885
- var rowLen = result.length;
886
- var symbol, value, rowData, dataCache;
887
- // var isCorrectDate;
885
+ let rowLen = result.length;
886
+ let symbol, value, rowData, dataCache;
887
+ // let isCorrectDate;
888
888
  for(i = 1; i < rowLen; i++) {
889
889
  symbol = result[i][ricIdx];
890
890
 
891
891
  if(result[i][returnStatusIdx] !== "0") { // Have an error in response, then fallback to new TS data service
892
892
  // Request to new service
893
- for(var k = fields.length; --k >= 0;) {
894
- var view = fields[k].substring(0, fields[k].lastIndexOf("."));
893
+ for(let k = fields.length; --k >= 0;) {
894
+ let view = fields[k].substring(0, fields[k].lastIndexOf("."));
895
895
  if(!this._hasMetadata(symbol) || (this._tsiMetadata[symbol] && this._tsiMetadata[symbol][view])) { // No metadata || Ready to make a request
896
896
  this._requestTSIData(symbol, view, period);
897
897
  }
@@ -903,7 +903,7 @@ TSISubscription.prototype._onTSIUpdate = function(json) {
903
903
  dataCache = this._getPeriodRICData(period, symbol).dataCache;
904
904
  rowData = {};
905
905
 
906
- for(var j = fields.length; --j >= 0;) {
906
+ for(let j = fields.length; --j >= 0;) {
907
907
  // value = (isCorrectDate) ? (result[i][fieldIdxMap[fields[j]]] || null) : null; // If result is same as the requested timestamp then return the value. Otherwise return null.
908
908
  value = result[i][fieldIdxMap[fields[j]]] || null; // If return empty string, it should be null
909
909
  if(value !== null) {
@@ -939,7 +939,7 @@ TSISubscription._addDays = function(date, day) {
939
939
  */
940
940
  TSISubscription._addMonths = function(date, month) {
941
941
  // Reference: http://stackoverflow.com/questions/7937233/how-do-i-calculate-the-date-in-javascript-three-months-prior-to-today
942
- var expectedMonth = ((date.getMonth() + month) % 12 + 12) % 12;
942
+ let expectedMonth = ((date.getMonth() + month) % 12 + 12) % 12;
943
943
  date.setMonth(date.getMonth() + month);
944
944
  if (date.getMonth() !== expectedMonth) { // If it has an error of native date subtraction
945
945
  date.setDate(0); // Backward to the last day of previous month
@@ -972,25 +972,25 @@ TSISubscription._addDate = function(date, num, dateUnit) {
972
972
  * @return {Date} Date object
973
973
  */
974
974
  TSISubscription._dateCalculation = function(period) {
975
- var goBackPeriods = period.match(/\d+(D|W|M|Q|Y)/g);
975
+ let goBackPeriods = period.match(/\d+(D|W|M|Q|Y)/g);
976
976
  if(goBackPeriods) { // Relative date pattern
977
- var now = new Date();
978
- for(var i = goBackPeriods.length; --i >= 0;){
979
- var p = goBackPeriods[i];
980
- var dateUnit = p.substr(p.length - 1);
981
- var num = -(p.substr(0, p.length - 1));
977
+ let now = new Date();
978
+ for(let i = goBackPeriods.length; --i >= 0;){
979
+ let p = goBackPeriods[i];
980
+ let dateUnit = p.substr(p.length - 1);
981
+ let num = -(p.substr(0, p.length - 1));
982
982
  now = TSISubscription._addDate(now, num, dateUnit);
983
983
  }
984
984
  return now;
985
985
  }
986
986
 
987
987
  // Specified date
988
- var temp = new Date(period);
988
+ let temp = new Date(period);
989
989
  if(temp.toJSON() === null) {
990
990
  console.warn("Invalid period parameter: " + period);
991
991
  return null;
992
992
  }
993
- var date = null;
993
+ let date = null;
994
994
  if(period.match(/^\d{1,4}(-\d{2}(-\d{2})?)?$/)) { // If ISO format (YYYY-MM-DD)
995
995
  date = temp;
996
996
  } else { // If non ISO format
@@ -3,7 +3,7 @@
3
3
  * @param {string} str
4
4
  * @param {number=} index
5
5
  */
6
- var VariableToken = function(str, index) {
6
+ let VariableToken = function(str, index) {
7
7
  str = str.trim();
8
8
 
9
9
  if(this._inputConverter[str]) {
@@ -21,8 +21,8 @@ var VariableToken = function(str, index) {
21
21
  return;
22
22
  }
23
23
 
24
- var firstChar = str.charAt(0);
25
- var lastChar = (str.length > 1) ? str.charAt(str.length - 1) : "";
24
+ let firstChar = str.charAt(0);
25
+ let lastChar = (str.length > 1) ? str.charAt(str.length - 1) : "";
26
26
  if(firstChar === '"' && lastChar === '"') {
27
27
  this._value = str.substring(1, str.length - 1);
28
28
  this._type = "string";
@@ -42,19 +42,19 @@ var VariableToken = function(str, index) {
42
42
  return;
43
43
  }
44
44
 
45
- var adc = str.match(/TR\.\w+\(/);
45
+ let adc = str.match(/TR\.\w+\(/);
46
46
  if(adc) { // ADC field with parameters
47
47
  this._type = "dynamic"; // ADC field with params always a dynamic token field
48
48
  return;
49
49
  }
50
50
 
51
- var funcs = str.match(/[\w._]+\(/g);
51
+ let funcs = str.match(/[\w._]+\(/g);
52
52
  if(funcs && funcs.length === 1) { // There must be only one method in the given str
53
53
  this._resolveFunction(str, funcs[0]); // Function has undefined value (this._value == null)
54
54
  return;
55
55
  }
56
56
 
57
- var words = str.match(/[\w._♦]+/g);
57
+ let words = str.match(/[\w._♦]+/g);
58
58
  if(words && words.length > 1) { // A group of expression without parentheses
59
59
  this._resolveVariableGroup(str);
60
60
  return;
@@ -65,7 +65,7 @@ var VariableToken = function(str, index) {
65
65
  return;
66
66
  }
67
67
 
68
- var num = Number(str);
68
+ let num = Number(str);
69
69
  if(num === num) { // If not NaN
70
70
  this._value = num;
71
71
  this._type = "number";
@@ -187,12 +187,12 @@ VariableToken.prototype.getInputWithTokenField = function() {
187
187
  * @return {string}
188
188
  */
189
189
  VariableToken.prototype.getChildInputWithToken = function() {
190
- var len = this._subVars ? this._subVars.length : 0;
190
+ let len = this._subVars ? this._subVars.length : 0;
191
191
  if(len <= 0) {
192
192
  return "";
193
193
  }
194
- var inputs = new Array(len);
195
- for(var i = 0; i < len; ++i) {
194
+ let inputs = new Array(len);
195
+ for(let i = 0; i < len; ++i) {
196
196
  inputs[i] = this._subVars[i].getInputWithTokenField();
197
197
  }
198
198
  return inputs.join(", ");
@@ -233,8 +233,8 @@ VariableToken.prototype.getFunctionName = function() { return this._funcName; };
233
233
  VariableToken.prototype.getFieldNames = function(opt_obj) {
234
234
  if(this._subVars) {
235
235
  if(opt_obj) {
236
- var len = this._subVars.length;
237
- for(var i = 0; i < len; ++i) {
236
+ let len = this._subVars.length;
237
+ for(let i = 0; i < len; ++i) {
238
238
  this._subVars[i].getFieldNames(opt_obj);
239
239
  }
240
240
  }
@@ -254,14 +254,14 @@ VariableToken.prototype.getFieldNames = function(opt_obj) {
254
254
  * @returns {string}
255
255
  */
256
256
  VariableToken.prototype._resolveVariableGroup = function(str) {
257
- var i = this._subVars ? this._subVars.length : 0;
257
+ let i = this._subVars ? this._subVars.length : 0;
258
258
  this._type = "group";
259
259
 
260
260
  this._value = str.replace(/[\w._♦]+/g, function(varStr) {
261
261
  if(!this._subVars) {
262
262
  this._subVars = [];
263
263
  }
264
- var varToken = new VariableToken(varStr, this._subVars.length);
264
+ let varToken = new VariableToken(varStr, this._subVars.length);
265
265
  this._subVars.push(varToken);
266
266
  return varToken.getExpression();
267
267
  }.bind(this));
@@ -286,9 +286,9 @@ VariableToken.prototype._resolveFunction = function(str, matchedName) {
286
286
  str = str.substr(0, str.length - 1); // Strip ")"
287
287
  if(str) {
288
288
  this._subVars = [];
289
- var params = str.split(",");
290
- var len = params.length;
291
- for(var i = 0; i < len; ++i) {
289
+ let params = str.split(",");
290
+ let len = params.length;
291
+ for(let i = 0; i < len; ++i) {
292
292
  this._subVars[i] = new VariableToken(params[i], i);
293
293
  }
294
294
  }
@@ -302,9 +302,9 @@ VariableToken.prototype._resolveArray = function(str) {
302
302
  str = str.substr(1, str.length - 1); // Strip "[" and "]"
303
303
  if(str) {
304
304
  this._subVars = [];
305
- var params = str.split(",");
306
- var len = params.length;
307
- for(var i = 0; i < len; ++i) {
305
+ let params = str.split(",");
306
+ let len = params.length;
307
+ for(let i = 0; i < len; ++i) {
308
308
  this._subVars[i] = new VariableToken(params[i], i);
309
309
  }
310
310
  }
@@ -12,7 +12,7 @@ import DateTime from "../../DateTime.js";
12
12
  * {lang=ru} AdFin data access function
13
13
  * {lang=de} AdFin-Daten Zugriffsfunktion
14
14
  */
15
- var AdFin = {};
15
+ let AdFin = {};
16
16
 
17
17
  /**
18
18
  * @ignore
@@ -21,9 +21,9 @@ var AdFin = {};
21
21
  * @return {boolean} true if parameter is number of seconds since 01 JAN 1970 UTC (realtime date number), false otherwise
22
22
  */
23
23
  AdFin._dateIsSecondsSince1970 = function (seconds) {
24
- var milliseconds = seconds * 1000;
24
+ let milliseconds = seconds * 1000;
25
25
  if (('' + milliseconds).indexOf(".") !== -1) return false;
26
- var jsDate = new Date(milliseconds);
26
+ let jsDate = new Date(milliseconds);
27
27
  if (isNaN(jsDate.getTime())) return false;
28
28
  if (jsDate.getFullYear() === 1970) return false;
29
29
  return true;
@@ -50,7 +50,7 @@ AdFin._convertDaysSince1900UTCToJJMMMYYYY = function (value) {
50
50
  * @return {number|null} days number since 1 Jan, 1900 UTC
51
51
  */
52
52
  AdFin._convertSecondsSince1970ToDaysSince1900 = function (value) {
53
- var jsDate = new Date(value * 1000);
53
+ let jsDate = new Date(value * 1000);
54
54
  if (isNaN(jsDate.getTime())) return null; // invalid date
55
55
  if (jsDate.getFullYear() === 1970) return null;
56
56
  return DateTime.toDateNumber(jsDate); // days number since 1 Jan, 1900
@@ -63,7 +63,7 @@ AdFin._convertSecondsSince1970ToDaysSince1900 = function (value) {
63
63
  * @return {string|null} string date JJMMMYYYY
64
64
  */
65
65
  AdFin._convertSecondsSince1970UTCToJJMMMYYYY = function (value) {
66
- var days = AdFin._convertSecondsSince1970ToDaysSince1900(value);
66
+ let days = AdFin._convertSecondsSince1970ToDaysSince1900(value);
67
67
  if (days == null) return null;
68
68
  return AdFin._convertDaysSince1900UTCToJJMMMYYYY(days);
69
69
  };
@@ -239,10 +239,10 @@ AdFin.Definitions = {
239
239
  */
240
240
  AdFin._genericFunction = function (name, args) {
241
241
 
242
- /** @type {Array.<{name:string, type:string}>} */ var definitions = AdFin.Definitions[name];
243
- /** @type {Array.<Array.<string|number|null>>} */ var parameters = [];
242
+ /** @type {Array.<{name:string, type:string}>} */ let definitions = AdFin.Definitions[name];
243
+ /** @type {Array.<Array.<string|number|null>>} */ let parameters = [];
244
244
 
245
- for (var i = 0, length = args.length; i < length; ++i) {
245
+ for (let i = 0, length = args.length; i < length; ++i) {
246
246
  if (args[i] != null) {
247
247
  if ((definitions[i].type === "JJMMMYYYY") && (typeof (args[i]) === "number")) {
248
248
  if (AdFin._dateIsSecondsSince1970(args[i])) {
@@ -262,7 +262,7 @@ AdFin._genericFunction = function (name, args) {
262
262
  }
263
263
  }
264
264
 
265
- var adfinService = this.getIntervalService("AdFin");
265
+ let adfinService = this.getIntervalService("AdFin");
266
266
  if (!adfinService) {
267
267
  adfinService = AdFinService.create();
268
268
  if (!adfinService) {
@@ -272,7 +272,7 @@ AdFin._genericFunction = function (name, args) {
272
272
  this.setIntervalService("AdFin", adfinService);
273
273
  }
274
274
 
275
- var res = adfinService["call"](name, parameters);
275
+ let res = adfinService["call"](name, parameters);
276
276
  if (res === "...") {
277
277
  this.setDataError("Pending - no erase"); // Data update is pending - do not erase previous value
278
278
  }
@@ -3,7 +3,7 @@
3
3
  * @namespace Excel
4
4
  * @ignore
5
5
  */
6
- var Excel = {};
6
+ let Excel = {};
7
7
 
8
8
  Excel["BDSETTLE"] = function(/* ... args*/) {};
9
9
  Excel["CALTOTAL"] = function(/* ... args*/) {};