@refinitiv-ui/efx-grid 6.0.140 → 6.0.142

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. package/lib/core/dist/core.js +99 -28
  2. package/lib/core/dist/core.min.js +1 -1
  3. package/lib/core/es6/data/DataTable.d.ts +5 -1
  4. package/lib/core/es6/data/DataTable.js +38 -8
  5. package/lib/core/es6/data/DataView.d.ts +2 -0
  6. package/lib/core/es6/data/DataView.js +8 -0
  7. package/lib/core/es6/data/Segment.d.ts +1 -1
  8. package/lib/core/es6/data/Segment.js +16 -4
  9. package/lib/core/es6/data/SegmentCollection.d.ts +2 -0
  10. package/lib/core/es6/data/SegmentCollection.js +21 -10
  11. package/lib/core/es6/grid/Core.js +1 -1
  12. package/lib/core/es6/grid/components/Cell.js +9 -3
  13. package/lib/core/es6/grid/components/ElementWrapper.d.ts +2 -0
  14. package/lib/core/es6/grid/components/ElementWrapper.js +6 -2
  15. package/lib/grid/index.js +1 -1
  16. package/lib/row-segmenting/es6/RowSegmenting.d.ts +8 -1
  17. package/lib/row-segmenting/es6/RowSegmenting.js +88 -23
  18. package/lib/rt-grid/dist/rt-grid.js +607 -566
  19. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  20. package/lib/rt-grid/es6/Grid.js +37 -14
  21. package/lib/rt-grid/es6/RowDefinition.d.ts +1 -1
  22. package/lib/rt-grid/es6/RowDefinition.js +11 -3
  23. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.d.ts +1 -1
  24. package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +2 -3
  25. package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +2 -1
  26. package/lib/tr-grid-row-filtering/es6/RowFiltering.js +18 -3
  27. package/lib/tr-grid-util/es6/CellPainter.d.ts +1 -7
  28. package/lib/tr-grid-util/es6/CellPainter.js +51 -74
  29. package/lib/tr-grid-util/es6/ElfUtil.d.ts +2 -0
  30. package/lib/tr-grid-util/es6/ElfUtil.js +11 -1
  31. package/lib/tr-grid-util/es6/jet/MockQuotes2.d.ts +2 -0
  32. package/lib/tr-grid-util/es6/jet/MockQuotes2.js +38 -8
  33. package/lib/types/es6/ConditionalColoring.d.ts +1 -1
  34. package/lib/types/es6/Core/data/DataTable.d.ts +5 -1
  35. package/lib/types/es6/Core/data/DataView.d.ts +2 -0
  36. package/lib/types/es6/Core/data/Segment.d.ts +1 -1
  37. package/lib/types/es6/Core/data/SegmentCollection.d.ts +2 -0
  38. package/lib/types/es6/Core/grid/components/ElementWrapper.d.ts +2 -0
  39. package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +1 -1
  40. package/lib/versions.json +4 -4
  41. package/package.json +1 -1
@@ -1198,12 +1198,16 @@ ElementWrapper.prototype.getClass = function () { return this._element.className
1198
1198
  */
1199
1199
  ElementWrapper.prototype.setClass = function (str) { this._element.className = str; };
1200
1200
 
1201
- /**
1202
- * @public
1201
+ /** @public
1203
1202
  * @param {string} str
1204
1203
  * @return {string}
1205
1204
  */
1206
1205
  ElementWrapper.prototype.getAttribute = function (str) { return this._element.getAttribute(str); };
1206
+ /** @public
1207
+ * @param {string} str
1208
+ * @return {boolean}
1209
+ */
1210
+ ElementWrapper.prototype.hasAttribute = function (str) { return this._element.hasAttribute(str); };
1207
1211
  /** Sets attribute to DOM element
1208
1212
  * @public
1209
1213
  * @param {string} str
@@ -2349,11 +2353,17 @@ Cell.prototype.updateTooltip = function() {
2349
2353
  }
2350
2354
 
2351
2355
  if(customizedTooltip) {
2352
- if(this.getAttribute("title") !== customizedTooltip) {
2356
+ let curTooltip = this.hasAttribute("tooltip") ? this.getAttribute("tooltip") : this.getAttribute("title");
2357
+ if(curTooltip !== customizedTooltip) {
2353
2358
  this.setAttribute("title", customizedTooltip);
2354
2359
  }
2355
- } else if(this.getAttribute("title") != null) {
2356
- this.removeAttribute("title");
2360
+ } else {
2361
+ if(this.hasAttribute("title")) {
2362
+ this.removeAttribute("title");
2363
+ }
2364
+ if(this.hasAttribute("tooltip")) {
2365
+ this.removeAttribute("tooltip");
2366
+ }
2357
2367
  }
2358
2368
  };
2359
2369
  /** @public
@@ -13022,6 +13032,9 @@ let Segment = function(rid, sharedObj) {
13022
13032
  this._rid = rid;
13023
13033
  this._children = {};
13024
13034
  this._shared = sharedObj;
13035
+ if(sharedObj.defaultCollapsing) {
13036
+ this._collapsed = true;
13037
+ }
13025
13038
  };
13026
13039
  es6_Ext.inherits(Segment, es6_EventDispatcher);
13027
13040
 
@@ -13136,9 +13149,12 @@ Segment.prototype.dispose = function() {
13136
13149
  this._subSegMap = this._subSegNames = null;
13137
13150
  }
13138
13151
  if(this._collapsed) {
13139
- this._shared.dirtyCollapsingState = true;
13152
+ if(this._childCount || this._subSegDef) {
13153
+ this._shared.dirtyCollapsingState = true;
13154
+ }
13140
13155
  }
13141
13156
 
13157
+ this._childCount = 0;
13142
13158
  this._shared = null;
13143
13159
  this._subSegParent = this._subSegDef = this._subSegVal = null;
13144
13160
  };
@@ -13639,7 +13655,9 @@ Segment.prototype.collapse = function(bool) {
13639
13655
  bool = (bool !== false);
13640
13656
  if(this._collapsed !== bool) {
13641
13657
  this._collapsed = bool;
13642
- this._shared.dirtyCollapsingState = true;
13658
+ if(this._childCount || this._subSegDef) {
13659
+ this._shared.dirtyCollapsingState = true;
13660
+ }
13643
13661
  return true;
13644
13662
  }
13645
13663
  return false;
@@ -13746,10 +13764,14 @@ Segment.prototype.setOrder = function(val) {
13746
13764
  */
13747
13765
  Segment._tabs = null;
13748
13766
  /** @public
13749
- * @param {Array.<string>} lines
13750
- * @return {Array.<string>} lines
13767
+ * @param {Array.<string>=} lines
13768
+ * @return {!Array.<string>} lines
13751
13769
  */
13752
13770
  Segment.prototype.log = function(lines) {
13771
+ if(!lines) {
13772
+ lines = [];
13773
+ }
13774
+
13753
13775
  let i;
13754
13776
  let tabs = Segment._tabs;
13755
13777
  if(!tabs) {
@@ -13802,7 +13824,8 @@ let SegmentCollection = function() {
13802
13824
 
13803
13825
  this._shared = {
13804
13826
  childToSegment: {}, // child Id to segment Id
13805
- dirtyCollapsingState: false
13827
+ dirtyCollapsingState: false,
13828
+ defaultCollapsing: false
13806
13829
  };
13807
13830
  };
13808
13831
  es6_Ext.inherits(SegmentCollection, es6_EventDispatcher);
@@ -14001,19 +14024,17 @@ SegmentCollection.prototype.getSegmentIds = function() {
14001
14024
  * @return {boolean} Returns true if there is any change. Otherwise, returns false
14002
14025
  */
14003
14026
  SegmentCollection.prototype.collapseSegments = function(segmentIds, bool) {
14027
+ let dirty = 0;
14004
14028
  if(this._segmentCount) {
14005
- let dirty = 0;
14006
14029
  let len = segmentIds.length;
14007
14030
  for (let i = 0; i < len; i++) {
14008
- let rowId = segmentIds[i];
14009
- dirty |= this._segments[rowId].collapse(bool);
14010
-
14011
- }
14012
- if(dirty) {
14013
- return true;
14031
+ let segment = this._segments[segmentIds[i]];
14032
+ if(segment) {
14033
+ dirty |= segment.collapse(bool);
14034
+ }
14014
14035
  }
14015
14036
  }
14016
- return false;
14037
+ return dirty ? true : false;
14017
14038
  };
14018
14039
 
14019
14040
  /** @public
@@ -14334,7 +14355,6 @@ SegmentCollection.prototype.logRowIdMap = function() {
14334
14355
  return lines.join("\n");
14335
14356
  };
14336
14357
 
14337
-
14338
14358
  /** @public
14339
14359
  * @param {string} segmentId
14340
14360
  * @param {string|Array.<string>} fields
@@ -14425,6 +14445,19 @@ SegmentCollection.prototype._onSubSegmentRemoved = function(e) {
14425
14445
  this.removeSegment(rid);
14426
14446
  };
14427
14447
 
14448
+ /** @public
14449
+ * @param {boolean} bool
14450
+ * @return {boolean}
14451
+ */
14452
+ SegmentCollection.prototype.setDefaultCollapsing = function(bool) {
14453
+ let newVal = bool ? true : false;
14454
+ if(this._shared.defaultCollapsing !== newVal) {
14455
+ this._shared.defaultCollapsing = newVal;
14456
+ return true;
14457
+ }
14458
+ return false;
14459
+ };
14460
+
14428
14461
 
14429
14462
  /* harmony default export */ const data_SegmentCollection = (SegmentCollection);
14430
14463
 
@@ -14523,6 +14556,10 @@ DataTable.prototype._clsSource = null;
14523
14556
  * @type {number}
14524
14557
  */
14525
14558
  DataTable.prototype._classifyingTimer = 0;
14559
+ /** @private
14560
+ * @type {boolean}
14561
+ */
14562
+ DataTable.prototype._segmentDefaultCollapsing = false;
14526
14563
 
14527
14564
 
14528
14565
  /** @typedef {Function} DataTable~SortLogic
@@ -15435,6 +15472,15 @@ DataTable.prototype.isFrozen = function() {
15435
15472
  return this._frozen;
15436
15473
  };
15437
15474
 
15475
+ /** @private
15476
+ */
15477
+ DataTable.prototype._initSegmentCollection = function() {
15478
+ if (!this._segments) {
15479
+ this._segments = new data_SegmentCollection();
15480
+ this._segments.setDefaultCollapsing(this._segmentDefaultCollapsing);
15481
+ this._segments.addEventListener("subSegmentChanged", this._onSubSegmentChanged);
15482
+ }
15483
+ };
15438
15484
  /**
15439
15485
  * @public
15440
15486
  * @param {Array.<string>} rids
@@ -15449,10 +15495,7 @@ DataTable.prototype.setSegmentSeparators = function(rids, enabled) {
15449
15495
  for (let i = 0; i < len; i++) {
15450
15496
  if(enabled !== false) {
15451
15497
  let rid = rids[i];
15452
- if (!this._segments) {
15453
- this._segments = new data_SegmentCollection();
15454
- this._segments.addEventListener("subSegmentChanged", this._onSubSegmentChanged);
15455
- }
15498
+ this._initSegmentCollection();
15456
15499
  if(this._autoSegmentFilling) {
15457
15500
  let parentId = this._segments.getParentRowId(rid);
15458
15501
  if(parentId) {
@@ -15496,10 +15539,7 @@ DataTable.prototype.setSegmentSeparator = function(rid, enabled) {
15496
15539
  let memberCount = 0;
15497
15540
  if(rid && typeof rid === "string") {
15498
15541
  if(enabled !== false) {
15499
- if(!this._segments) {
15500
- this._segments = new data_SegmentCollection();
15501
- this._segments.addEventListener("subSegmentChanged", this._onSubSegmentChanged);
15502
- }
15542
+ this._initSegmentCollection();
15503
15543
  if(this._autoSegmentFilling) {
15504
15544
  let parentId = this._segments.getParentRowId(rid);
15505
15545
  if(parentId) {
@@ -15563,6 +15603,13 @@ DataTable.prototype.hasSegmentation = function() {
15563
15603
  };
15564
15604
  /**
15565
15605
  * @public
15606
+ * @return {boolean}
15607
+ */
15608
+ DataTable.prototype.hasSegmentClassification = function() {
15609
+ return this._segments ? this._segments.hasClassification() : false;
15610
+ };
15611
+ /**
15612
+ * @public
15566
15613
  * @param {string} rid
15567
15614
  * @return {boolean}
15568
15615
  */
@@ -16059,6 +16106,22 @@ DataTable.prototype._onSubSegmentChanged = function(e) {
16059
16106
  }
16060
16107
  };
16061
16108
 
16109
+ /**
16110
+ * @public
16111
+ * @param {boolean} bool
16112
+ * @return {boolean}
16113
+ */
16114
+ DataTable.prototype.setSegmentDefaultCollapsing = function(bool) {
16115
+ if(this._segmentDefaultCollapsing !== bool) {
16116
+ this._segmentDefaultCollapsing = bool;
16117
+ if(this._segments) {
16118
+ this._segments.setDefaultCollapsing(bool);
16119
+ }
16120
+ return true;
16121
+ }
16122
+ return false;
16123
+ };
16124
+
16062
16125
 
16063
16126
  /**
16064
16127
  * @public
@@ -21291,6 +21354,14 @@ DataView.prototype.enableSeparatorFiltering = function (enabled) {
21291
21354
  DataView.prototype.setSegmentClassification = function(segmentRef, fields) {
21292
21355
  return this._dt.setSegmentClassification(this._toRowId(segmentRef), fields);
21293
21356
  };
21357
+ /**
21358
+ * @public
21359
+ * @param {boolean} bool
21360
+ * @return {boolean}
21361
+ */
21362
+ DataView.prototype.setSegmentDefaultCollapsing = function(bool) {
21363
+ return this._dt.setSegmentDefaultCollapsing(bool);
21364
+ };
21294
21365
 
21295
21366
  /** @public
21296
21367
  * @ignore
@@ -25897,7 +25968,7 @@ Core_Core.prototype._hasPendingRowChange = false;
25897
25968
  * @return {string}
25898
25969
  */
25899
25970
  Core_Core.getVersion = function () {
25900
- return "5.1.133";
25971
+ return "5.1.135";
25901
25972
  };
25902
25973
  /** {@link ElementWrapper#dispose}
25903
25974
  * @override