@refinitiv-ui/efx-grid 6.0.85 → 6.0.86

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. package/lib/core/dist/core.js +43 -10
  2. package/lib/core/dist/core.min.js +1 -1
  3. package/lib/core/es6/data/DataView.d.ts +4 -0
  4. package/lib/core/es6/data/DataView.js +23 -0
  5. package/lib/core/es6/grid/Core.js +20 -10
  6. package/lib/grid/index.js +1 -1
  7. package/lib/tr-grid-checkbox/es6/Checkbox.d.ts +2 -0
  8. package/lib/tr-grid-checkbox/es6/Checkbox.js +38 -0
  9. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +3 -4
  10. package/lib/tr-grid-filter-input/es6/FilterInput.js +1 -1
  11. package/lib/tr-grid-util/es6/Dom.d.ts +1 -1
  12. package/lib/tr-grid-util/es6/Dom.js +1 -1
  13. package/lib/tr-grid-util/es6/ExpressionParser.js +1 -1
  14. package/lib/tr-grid-util/es6/FilterBuilder.d.ts +1 -1
  15. package/lib/tr-grid-util/es6/FilterBuilder.js +1 -1
  16. package/lib/tr-grid-util/es6/PercentBar.d.ts +1 -1
  17. package/lib/tr-grid-util/es6/PercentBar.js +1 -1
  18. package/lib/tr-grid-util/es6/RangeBar.d.ts +1 -1
  19. package/lib/tr-grid-util/es6/RangeBar.js +8 -7
  20. package/lib/tr-grid-util/es6/TextHighlighter.d.ts +0 -2
  21. package/lib/tr-grid-util/es6/TextHighlighter.js +1 -6
  22. package/lib/tr-grid-util/es6/formula/Formula.js +1 -1
  23. package/lib/tr-grid-util/es6/formula/VariableToken.js +1 -1
  24. package/lib/tr-grid-util/es6/formula/functions/Excel.d.ts +1 -1
  25. package/lib/tr-grid-util/es6/formula/functions/Excel.js +1 -1
  26. package/lib/tr-grid-util/es6/index.js +1 -1
  27. package/lib/tr-grid-util/es6/jet/DataGenerator.d.ts +1 -1
  28. package/lib/tr-grid-util/es6/jet/DataGenerator.js +1 -1
  29. package/lib/types/es6/Core/data/DataView.d.ts +4 -0
  30. package/lib/versions.json +4 -4
  31. package/package.json +1 -1
@@ -20967,6 +20967,17 @@ DataView.prototype.getExpansionParents = function (from, to) {
20967
20967
  return parentMapping;
20968
20968
  };
20969
20969
 
20970
+ /**
20971
+ * @public
20972
+ * @param {string} rid
20973
+ * @return {string} parent row id
20974
+ */
20975
+ DataView.prototype.getExpansionParentByRowId = function(rid) {
20976
+ if(this._expansionChildren) {
20977
+ return this._expansionChildren[rid] || "";
20978
+ }
20979
+ return "";
20980
+ };
20970
20981
  /** Check if the specified row is itself a row expansion.
20971
20982
  * @public
20972
20983
  * @param {string} rid rowId
@@ -20989,6 +21000,18 @@ DataView.prototype.hasRowExpansion = function(rid) {
20989
21000
  }
20990
21001
  return false;
20991
21002
  };
21003
+ /**
21004
+ * @public
21005
+ * @param {string} rowId
21006
+ * @return {number}
21007
+ */
21008
+ DataView.prototype.getRowExpansionCount = function(rowId) {
21009
+ if(this._expansionMap) {
21010
+ return this._expansionMap[rowId] || 0;
21011
+ }
21012
+ return 0;
21013
+ };
21014
+
20992
21015
  /** Get row Id of the row expansion by providing the row Id of the row with row expansion (not row expansion itself). This is NOT recommended for normal usage, since the row expansion contains no data in the DataView
20993
21016
  * @public
20994
21017
  * @param {string} rid rowId
@@ -26155,7 +26178,7 @@ Core_Core.prototype._hasPendingRowChange = false;
26155
26178
  * @return {string}
26156
26179
  */
26157
26180
  Core_Core.getVersion = function () {
26158
- return "5.1.89";
26181
+ return "5.1.90";
26159
26182
  };
26160
26183
  /** {@link ElementWrapper#dispose}
26161
26184
  * @override
@@ -30462,25 +30485,35 @@ Core_Core.prototype._dispatchRowExpansionBinding = function (e) {
30462
30485
 
30463
30486
  var fromR = /** @type{number} */(e["fromRowIndex"]);
30464
30487
  var toR = /** @type{number} */(e["toRowIndex"]);
30465
- var parents = dataView.getExpansionParents(fromR, toR);
30466
30488
  var rids = dataView.getVisibleRowIds(true);
30467
30489
  var section = /** @type{ILayoutGrid} */(e["section"]);
30468
30490
 
30469
30491
  e["rowData"] = null;
30470
30492
  e["cell"] = null;
30471
- for (var r = fromR; r < toR; ++r) {
30472
- var parentRid = parents[r];
30493
+ var lastRowIndexChanged = false;
30494
+ for (var r = toR - 1; r >= fromR; --r) {
30495
+ var rowId = dataView.getRowId(r);
30496
+ if(!lastRowIndexChanged) {
30497
+ var reCount = dataView.getRowExpansionCount(rowId);
30498
+ if(reCount > 0){
30499
+ r = r + reCount + 1; // include parent row
30500
+ lastRowIndexChanged = true;
30501
+ continue;
30502
+ }
30503
+ }
30504
+
30473
30505
  var ctxRow = section.getContextRow(r);
30474
- if(parentRid) { // Previous row is the row with expansion
30475
- e["originalRowData"] = dataView.getRowData(parentRid);
30476
- e["originalRowId"] = parentRid;
30506
+ var parentId = dataView.getExpansionParentByRowId(rowId);
30507
+ if(parentId) { // dispatch to render row expansion
30508
+ e["originalRowData"] = dataView.getRowData(parentId);
30509
+ e["originalRowId"] = parentId;
30477
30510
  e["rowExpansion"] = ctxRow["rowExpansion"] = true;
30478
- } else if(ctxRow["rowExpansion"]) {
30511
+ } else if(ctxRow["rowExpansion"] ){ // dispose cases
30479
30512
  e["originalRowData"] = null;
30480
30513
  e["originalRowId"] = null;
30481
30514
  e["rowExpansion"] = ctxRow["rowExpansion"] = false;
30482
- } else {
30483
- continue; // There is no need to dispatch the event for normal row
30515
+ } else { // normal row no need to dispatch
30516
+ continue;
30484
30517
  }
30485
30518
  e["rowId"] = rids[r];
30486
30519
  e["rowIndex"] = r;