@refinitiv-ui/efx-grid 6.0.40 → 6.0.41

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. package/lib/column-selection-dialog/lib/column-selection-dialog.d.ts +2 -1
  2. package/lib/column-selection-dialog/lib/column-selection-dialog.js +23 -7
  3. package/lib/core/dist/core.js +25 -26
  4. package/lib/core/dist/core.min.js +1 -1
  5. package/lib/core/es6/grid/Core.js +25 -26
  6. package/lib/grid/index.js +1 -1
  7. package/lib/rt-grid/dist/rt-grid.js +2083 -1753
  8. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  9. package/lib/rt-grid/es6/Grid.js +55 -7
  10. package/lib/rt-grid/es6/RowDefinition.d.ts +2 -2
  11. package/lib/rt-grid/es6/RowDefinition.js +37 -18
  12. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +26 -40
  13. package/lib/tr-grid-util/es6/CellPainter.d.ts +2 -1
  14. package/lib/tr-grid-util/es6/CellPainter.js +6 -4
  15. package/lib/tr-grid-util/es6/ExpressionParser.d.ts +10 -0
  16. package/lib/tr-grid-util/es6/ExpressionParser.js +366 -0
  17. package/lib/tr-grid-util/es6/FilterBuilder.d.ts +10 -6
  18. package/lib/tr-grid-util/es6/FilterBuilder.js +264 -234
  19. package/lib/tr-grid-util/es6/FilterOperators.d.ts +3 -1
  20. package/lib/tr-grid-util/es6/FilterOperators.js +51 -2
  21. package/lib/tr-grid-util/es6/Util.d.ts +0 -3
  22. package/lib/tr-grid-util/es6/Util.js +0 -53
  23. package/lib/tr-grid-util/es6/formula/Formula.js +3 -3
  24. package/lib/types/es6/ColumnDragging.d.ts +51 -0
  25. package/lib/types/es6/ExtensionOptions.d.ts +2 -0
  26. package/lib/types/es6/Extensions.d.ts +3 -1
  27. package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +2 -2
  28. package/lib/types/es6/index.d.ts +1 -0
  29. package/lib/versions.json +3 -3
  30. package/package.json +1 -1
@@ -23,7 +23,8 @@ declare namespace ColumnSelectionDialog {
23
23
  excludedRightColumns?: number|null,
24
24
  unmovableColumns?: number|null,
25
25
  descriptionBox?: boolean|null,
26
- middleSeparator?: string|null
26
+ middleSeparator?: string|null,
27
+ collapseAll?: boolean|null
27
28
  };
28
29
 
29
30
  }
@@ -22,6 +22,7 @@ import { injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
22
22
  * @property {number=} unmovableColumns Depricated, Alias with stationary column option. Number of columns that is unmovable in Visible Columns.
23
23
  * @property {boolean=} descriptionBox Show description box
24
24
  * @property {string=} middleSeparator Field of column which used as middle separator to divide grid into two sides
25
+ * @property {boolean=} collapseAll=false Default collapse property applies to all groups
25
26
  */
26
27
 
27
28
  /** Insert multiple items to the given array. This is an in-place modification.
@@ -256,10 +257,15 @@ const _getSelectedItemIndexes = function (list) {
256
257
  * @private
257
258
  * @param {Object} colObj
258
259
  * @param {string} parent parent of this group
260
+ * @param {boolean} defaultExpanded default expand state for tree item
259
261
  * @return {Object}
260
262
  */
261
- const _toCoralTreeItem = function (colObj, parent) {
263
+ const _toCoralTreeItem = function (colObj, parent, defaultExpanded) {
262
264
  var label = colObj.label || colObj.title || colObj.name || colObj.field;
265
+ var expanded = defaultExpanded;
266
+ if(colObj.expanded != null){
267
+ expanded = colObj.expanded;
268
+ }
263
269
  var currentId;
264
270
  if(parent) {
265
271
  currentId = parent + '/' + label;
@@ -272,9 +278,9 @@ const _toCoralTreeItem = function (colObj, parent) {
272
278
  rawValue: colObj.id,
273
279
  value: colObj.id,
274
280
  items: colObj.items.map(function (obj) {
275
- return _toCoralTreeItem(obj, currentId);
281
+ return _toCoralTreeItem(obj, currentId, defaultExpanded);
276
282
  }),
277
- expanded: true,
283
+ expanded: expanded,
278
284
  isGroup: true
279
285
  };
280
286
  } else {
@@ -494,6 +500,7 @@ class ColumnSelectionDialog extends BasicElement {
494
500
  this._pendingTreeRefresh = false;
495
501
  this._pendingResetSearchInput = false;
496
502
  this._middleSeparator = "";
503
+ this._defaultExpanded = true;
497
504
 
498
505
  this._allItemMapping = {};
499
506
  this._filterItemMapping = {};
@@ -574,6 +581,10 @@ class ColumnSelectionDialog extends BasicElement {
574
581
  this._descriptionBox = !!this.config.descriptionBox;
575
582
  }
576
583
 
584
+ if (this.config.collapseAll != null) {
585
+ this._defaultExpanded = !this.config.collapseAll;
586
+ }
587
+
577
588
  this._defaultItems = this.config.defaultItems;
578
589
  }
579
590
  }
@@ -766,7 +777,10 @@ class ColumnSelectionDialog extends BasicElement {
766
777
  }
767
778
 
768
779
  if(this._pendingScroll) {
769
- this._visibleColumnsContainer.scrollTop = this._visibleColumnsContainer.scrollHeight;
780
+ var selectedIndexes = _getSelectedItemIndexes(this._visibleColumnList);
781
+ if (selectedIndexes.length) {
782
+ scrollToItem(this._visibleColumnsContainer, selectedIndexes[0]);
783
+ }
770
784
  this._pendingScroll = false;
771
785
  }
772
786
 
@@ -879,9 +893,11 @@ class ColumnSelectionDialog extends BasicElement {
879
893
 
880
894
  }
881
895
 
882
- this._allColumnList = allItems.map(function (obj) {
883
- return _toCoralTreeItem(obj);
884
- });
896
+ this._allColumnList = [];
897
+ for(i = 0; i < allItems.length; i++){
898
+ item = allItems[i];
899
+ this._allColumnList.push(_toCoralTreeItem(item, null, this._defaultExpanded));
900
+ }
885
901
  this._allItemMapping = _createMapping(this._allColumnList, 'value');
886
902
 
887
903
  this._visibleColumnList = [];
@@ -25917,7 +25917,7 @@ Core_Core.prototype._batches = null;
25917
25917
  * @return {string}
25918
25918
  */
25919
25919
  Core_Core.getVersion = function () {
25920
- return "5.1.57";
25920
+ return "5.1.59";
25921
25921
  };
25922
25922
  /** {@link ElementWrapper#dispose}
25923
25923
  * @override
@@ -26864,16 +26864,12 @@ Core_Core.prototype.removeColumnAt = function (index) {
26864
26864
 
26865
26865
  if (this._hasListener("columnRemoved")) {
26866
26866
  var e = {};
26867
- var batches = this._batches;
26868
- if(batches){
26869
- e["batches"] = batches;
26870
- }
26871
26867
  e["atTheMiddle"] = true;
26872
26868
  e["colIndex"] = index;
26873
26869
  e["columns"] = "deprecated";
26874
26870
  e["columnData"] = colDef["columnData"];
26875
26871
  e["colId"] = colDef["id"] || "";
26876
- this._dispatch("columnRemoved", e);
26872
+ this._dispatchColumnEvent("columnRemoved", e);
26877
26873
  }
26878
26874
 
26879
26875
  // Last index in view here might be different from before moving column if columns have different width.
@@ -27126,7 +27122,7 @@ Core_Core.prototype._moveColumn = function (fromCol, destCol) {
27126
27122
  e["fromColIndex"] = fromCol;
27127
27123
  e["toColIndex"] = destCol;
27128
27124
  e["colId"] = colId; // TODO: Id may not needed
27129
- this._dispatch("columnMoved", e);
27125
+ this._dispatchColumnEvent("columnMoved", e); // add remove move
27130
27126
  }
27131
27127
 
27132
27128
  // Last index in view here might be different from before moving column if columns have different width.
@@ -27196,6 +27192,9 @@ Core_Core.prototype.reorderColumns = function (colRefs, destCol) {
27196
27192
  destId = destCol;
27197
27193
  }
27198
27194
 
27195
+ this.startBatch("move");
27196
+
27197
+ var dirty = 0;
27199
27198
  if(Array.isArray(colRefs)) {
27200
27199
  var srcLen = colRefs.length;
27201
27200
  if(srcLen > 1) {
@@ -27238,7 +27237,6 @@ Core_Core.prototype.reorderColumns = function (colRefs, destCol) {
27238
27237
  }
27239
27238
  }
27240
27239
 
27241
- var dirty = 0;
27242
27240
  for(i = srcLen; --i >= 0;) {
27243
27241
  srcId = srcIds[i]; // Only valid source columns are left at this point
27244
27242
  srcIdx = this.getColumnIndex(srcId);
@@ -27249,17 +27247,15 @@ Core_Core.prototype.reorderColumns = function (colRefs, destCol) {
27249
27247
  dirty |= this._moveColumnByIndex(srcIdx, destIdx);
27250
27248
  destId = srcId;
27251
27249
  }
27252
- return dirty ? true : false;
27253
27250
  } else {
27254
- return this.moveColumnById(colRefs[0], destId);
27251
+ dirty = this.moveColumnById(colRefs[0], destId);
27255
27252
  }
27256
- }
27257
-
27258
- if(colRefs != null) {
27253
+ } else if(colRefs != null) {
27259
27254
  // colRefs will be a number or string
27260
- return this.moveColumnById(colRefs, destId);
27255
+ dirty = this.moveColumnById(colRefs, destId);
27261
27256
  }
27262
- return false;
27257
+ this.stopBatch("move");
27258
+ return dirty ? true : false;
27263
27259
  };
27264
27260
 
27265
27261
  /** @public
@@ -29813,6 +29809,17 @@ Core_Core.prototype.stopBatch = function (batchType) {
29813
29809
 
29814
29810
  //#region Private Methods
29815
29811
  /** @private
29812
+ * @param {string} type
29813
+ * @param {!Object} eventArg
29814
+ */
29815
+ Core_Core.prototype._dispatchColumnEvent = function (type, eventArg) {
29816
+ var batches = this._batches;
29817
+ if(batches){
29818
+ eventArg["batches"] = batches;
29819
+ }
29820
+ this._dispatch(type, eventArg);
29821
+ };
29822
+ /** @private
29816
29823
  */
29817
29824
  Core_Core.prototype._dispatchColumnPositionChanged = function () {
29818
29825
  if(this._columnPositionConflator.conflate()) {
@@ -30052,20 +30059,16 @@ Core_Core.prototype._dispatchColumnAddedEvent = function (at, count, atTheMiddle
30052
30059
  if (this._hasListener("columnAdded")) {
30053
30060
  var e = {};
30054
30061
  e["atTheMiddle"] = atTheMiddle;
30055
- var batches = this._batches;
30056
- if(batches){
30057
- e["batches"] = batches;
30058
- }
30059
30062
  if(count === 1) {
30060
30063
  e["colIndex"] = at;
30061
30064
  e["context"] = ctx;
30062
- this._dispatch("columnAdded", e);
30065
+ this._dispatchColumnEvent("columnAdded", e);
30063
30066
  } else {
30064
30067
  var ary = Array.isArray(ctx) ? ctx : [];
30065
30068
  for (var i = 0; i < count; ++i) {
30066
30069
  e["colIndex"] = at + i;
30067
30070
  e["context"] = ary[i];
30068
- this._dispatch("columnAdded", e);
30071
+ this._dispatchColumnEvent("columnAdded", e);
30069
30072
  }
30070
30073
  }
30071
30074
  }
@@ -30207,15 +30210,11 @@ Core_Core.prototype._removeColumn = function (num) { // TODO: change the logic
30207
30210
 
30208
30211
  if (this._hasListener("columnRemoved")) {
30209
30212
  var e = {};
30210
- var batches = this._batches;
30211
- if(batches){
30212
- e["batches"] = batches;
30213
- }
30214
30213
  for (var c = colCount; --c >= newCount; ) {
30215
30214
  var colDef = removedCols[c - newCount];
30216
30215
  e["colIndex"] = c;
30217
30216
  e["columnData"] = colDef ? colDef["columnData"] : null;
30218
- this._dispatch("columnRemoved", e);
30217
+ this._dispatchColumnEvent("columnRemoved", e);
30219
30218
  }
30220
30219
  }
30221
30220
  };