@refinitiv-ui/efx-grid 6.0.18 → 6.0.19

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 (70) hide show
  1. package/lib/column-format-dialog/themes/elemental/dark/column-format-dialog.js +1 -1
  2. package/lib/column-format-dialog/themes/elemental/dark/es5/all-elements.js +1 -1
  3. package/lib/column-format-dialog/themes/elemental/light/column-format-dialog.js +1 -1
  4. package/lib/column-format-dialog/themes/elemental/light/es5/all-elements.js +1 -1
  5. package/lib/column-format-dialog/themes/halo/dark/column-format-dialog.js +1 -1
  6. package/lib/column-format-dialog/themes/halo/dark/es5/all-elements.js +1 -1
  7. package/lib/column-format-dialog/themes/halo/light/column-format-dialog.js +1 -1
  8. package/lib/column-format-dialog/themes/halo/light/es5/all-elements.js +1 -1
  9. package/lib/column-format-dialog/themes/luna/default/column-format-dialog.js +1 -1
  10. package/lib/column-format-dialog/themes/luna/default/es5/all-elements.js +1 -1
  11. package/lib/column-format-dialog/themes/solar/charcoal/column-format-dialog.js +1 -1
  12. package/lib/column-format-dialog/themes/solar/charcoal/es5/all-elements.js +1 -1
  13. package/lib/column-format-dialog/themes/solar/pearl/column-format-dialog.js +1 -1
  14. package/lib/column-format-dialog/themes/solar/pearl/es5/all-elements.js +1 -1
  15. package/lib/column-selection-dialog/themes/elemental/dark/column-selection-dialog.js +1 -1
  16. package/lib/column-selection-dialog/themes/elemental/dark/es5/all-elements.js +1 -1
  17. package/lib/column-selection-dialog/themes/elemental/light/column-selection-dialog.js +1 -1
  18. package/lib/column-selection-dialog/themes/elemental/light/es5/all-elements.js +1 -1
  19. package/lib/column-selection-dialog/themes/halo/dark/column-selection-dialog.js +1 -1
  20. package/lib/column-selection-dialog/themes/halo/dark/es5/all-elements.js +1 -1
  21. package/lib/column-selection-dialog/themes/halo/light/column-selection-dialog.js +1 -1
  22. package/lib/column-selection-dialog/themes/halo/light/es5/all-elements.js +1 -1
  23. package/lib/column-selection-dialog/themes/solar/charcoal/column-selection-dialog.js +1 -1
  24. package/lib/column-selection-dialog/themes/solar/charcoal/es5/all-elements.js +1 -1
  25. package/lib/column-selection-dialog/themes/solar/pearl/column-selection-dialog.js +1 -1
  26. package/lib/column-selection-dialog/themes/solar/pearl/es5/all-elements.js +1 -1
  27. package/lib/core/dist/core.js +40 -23
  28. package/lib/core/dist/core.min.js +1 -1
  29. package/lib/core/es6/data/DataView.d.ts +4 -0
  30. package/lib/core/es6/data/DataView.js +19 -1
  31. package/lib/core/es6/data/SegmentCollection.js +20 -8
  32. package/lib/core/es6/grid/Core.js +1 -1
  33. package/lib/core/es6/grid/components/Cell.js +0 -13
  34. package/lib/filter-dialog/lib/filter-dialog.js +149 -131
  35. package/lib/filter-dialog/themes/elemental/dark/checkbox-list.js +1 -1
  36. package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +2 -2
  37. package/lib/filter-dialog/themes/elemental/dark/filter-dialog.js +1 -1
  38. package/lib/filter-dialog/themes/elemental/light/checkbox-list.js +1 -1
  39. package/lib/filter-dialog/themes/elemental/light/es5/all-elements.js +2 -2
  40. package/lib/filter-dialog/themes/elemental/light/filter-dialog.js +1 -1
  41. package/lib/filter-dialog/themes/halo/dark/checkbox-list.js +1 -1
  42. package/lib/filter-dialog/themes/halo/dark/es5/all-elements.js +2 -2
  43. package/lib/filter-dialog/themes/halo/dark/filter-dialog.js +1 -1
  44. package/lib/filter-dialog/themes/halo/light/checkbox-list.js +1 -1
  45. package/lib/filter-dialog/themes/halo/light/es5/all-elements.js +2 -2
  46. package/lib/filter-dialog/themes/halo/light/filter-dialog.js +1 -1
  47. package/lib/filter-dialog/themes/solar/charcoal/checkbox-list.js +1 -1
  48. package/lib/filter-dialog/themes/solar/charcoal/es5/all-elements.js +2 -2
  49. package/lib/filter-dialog/themes/solar/charcoal/filter-dialog.js +1 -1
  50. package/lib/filter-dialog/themes/solar/pearl/checkbox-list.js +1 -1
  51. package/lib/filter-dialog/themes/solar/pearl/es5/all-elements.js +2 -2
  52. package/lib/filter-dialog/themes/solar/pearl/filter-dialog.js +1 -1
  53. package/lib/grid/index.js +1 -1
  54. package/lib/rt-grid/dist/rt-grid.js +22 -23
  55. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  56. package/lib/tr-grid-checkbox/es6/Checkbox.js +63 -12
  57. package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +70 -110
  58. package/lib/tr-grid-filter-input/es6/FilterInput.d.ts +1 -1
  59. package/lib/tr-grid-filter-input/es6/FilterInput.js +10 -9
  60. package/lib/tr-grid-pagination/es6/Pagination.d.ts +1 -0
  61. package/lib/tr-grid-pagination/es6/Pagination.js +35 -29
  62. package/lib/tr-grid-row-grouping/es6/RowGrouping.d.ts +5 -0
  63. package/lib/tr-grid-row-grouping/es6/RowGrouping.js +30 -0
  64. package/lib/tr-grid-util/es6/Popup.js +5 -1
  65. package/lib/types/es6/Core/data/DataView.d.ts +4 -0
  66. package/lib/types/es6/FilterInput.d.ts +1 -0
  67. package/lib/types/es6/Pagination.d.ts +1 -0
  68. package/lib/types/es6/RealtimeGrid/Grid.d.ts +1 -1
  69. package/lib/versions.json +8 -8
  70. package/package.json +1 -1
@@ -188,6 +188,10 @@ declare class DataView extends EventDispatcher {
188
188
 
189
189
  public enableContentAsHeader(bool?: boolean|null): void;
190
190
 
191
+ public setDefaultCollapse(collapse?: boolean|null): void;
192
+
193
+ public getDefaultCollapse(): boolean;
194
+
191
195
  public getVisibleRowCount(): number;
192
196
 
193
197
  public isRowDataInGroup(rowData: any, groupID?: string|null): boolean;
@@ -1054,7 +1054,7 @@ DataView.prototype.prevPage = DataView.prototype.previousPage;
1054
1054
  * @fires DataView#dataChanged
1055
1055
  */
1056
1056
  DataView.prototype.lastPage = function () {
1057
- return this.gotoPage(this._lastPageIndex - 1);
1057
+ return this.gotoPage(this._lastPageIndex);
1058
1058
  };
1059
1059
  /** Goes to the first page
1060
1060
  * @public
@@ -1760,6 +1760,20 @@ DataView.prototype.isCollapsed = function() {
1760
1760
  DataView.prototype.enableContentAsHeader = function(bool) {
1761
1761
  this._shared.contentAsHeader = bool !== false;
1762
1762
  };
1763
+ /** set default collapse when new groups added
1764
+ * @public
1765
+ * @param {boolean=} collapse=false, if enable it, it will be set collapsing by default
1766
+ */
1767
+ DataView.prototype.setDefaultCollapse = function(collapse) {
1768
+ this._shared.defaultCollapse = !!collapse;
1769
+ };
1770
+ /** get default collapse when new groups added
1771
+ * @public
1772
+ * @return {boolean}
1773
+ */
1774
+ DataView.prototype.getDefaultCollapse = function() {
1775
+ return !!this._shared.defaultCollapse; // it can be null, convert to boolean
1776
+ };
1763
1777
  /** @private
1764
1778
  * @return {?Array.<string>}
1765
1779
  */
@@ -3678,6 +3692,10 @@ DataView.prototype._addGroup = function (value) {
3678
3692
  }
3679
3693
  }
3680
3694
  member = new DataView();
3695
+ var collapsed = this._shared.defaultCollapse;
3696
+ if(collapsed != null) {
3697
+ member._collapsed = collapsed;
3698
+ }
3681
3699
  member._groupId = groupId;
3682
3700
  if(typeof value == "string") { // TODO: Raw value should not always be a string
3683
3701
  if(value == "null") {
@@ -440,26 +440,38 @@ SegmentCollection.prototype.getSegmentValues = function(rids) {
440
440
  var prevSegment = null;
441
441
  var segmentValues = new Array(rowCount);
442
442
  var segmentVal = 0;
443
+ var highestVal = -10;
443
444
  var offset = 0;
444
445
  for(var r = 0; r < rowCount; ++r) {
445
446
  var rid = rids[r];
446
447
  curSegment = segmentSeparators[rid];
447
- if(curSegment) {
448
+ if(curSegment) { // segment separator
449
+ if(prevSegment !== curSegment) {
450
+ prevSegment = curSegment;
451
+ segmentVal = curSegment.getOrder() * 100;
452
+ if(segmentVal > highestVal) {
453
+ highestVal = segmentVal;
454
+ }
455
+ }
448
456
  offset = 0;
449
457
  } else {
450
458
  var parentId = childToSegmentId[rid];
451
- if(parentId) {
459
+ if(parentId) { // segment member
452
460
  curSegment = segmentSeparators[parentId];
461
+ if(prevSegment !== curSegment) {
462
+ prevSegment = curSegment;
463
+ segmentVal = curSegment.getOrder() * 100;
464
+ if(segmentVal > highestVal) {
465
+ highestVal = segmentVal;
466
+ }
467
+ }
453
468
  offset = 1;
454
- } else {
455
- offset = prevSegment ? 10 : 0;
469
+ } else { // row outside of segments
470
+ segmentVal = highestVal;
471
+ offset = 10;
456
472
  }
457
473
  }
458
474
 
459
- if(curSegment && prevSegment !== curSegment) {
460
- prevSegment = curSegment;
461
- segmentVal = curSegment.getOrder() * 100;
462
- }
463
475
  segmentValues[r] = segmentVal + offset;
464
476
  }
465
477
 
@@ -528,7 +528,7 @@ Core.prototype._rowHeightTimerId = 0;
528
528
  * @return {string}
529
529
  */
530
530
  Core.getVersion = function () {
531
- return "5.1.27";
531
+ return "5.1.31";
532
532
  };
533
533
  /** {@link ElementWrapper#dispose}
534
534
  * @override
@@ -13,8 +13,6 @@ import CellFloatingPanel from "../components/CellFloatingPanel.js";
13
13
  * @param {ILayoutGrid=} opt_section Parent section
14
14
  */
15
15
  var Cell = function (opt_element, opt_section) {
16
- this._onFocus = this._onFocus.bind(this);
17
-
18
16
  this._id = Cell._runningId++;
19
17
  this._element = document.createElement("div");
20
18
  this._element.className = "cell";
@@ -358,7 +356,6 @@ Cell.prototype.initialize = function () {
358
356
  this._aligner = document.createElement("div");
359
357
  } else {
360
358
  this._aligner = document.createElement("button");
361
- this._aligner.addEventListener('focus', this._onFocus);
362
359
  }
363
360
  this._aligner.className = "valigner";
364
361
  if(this._frontIcon) {
@@ -724,16 +721,6 @@ Cell.prototype._updateDisplay = function () {
724
721
  this._element.style.display = "none";
725
722
  }
726
723
  };
727
-
728
- /** @private
729
- * @param {Event} e
730
- */
731
- Cell.prototype._onFocus = function (e) {
732
- if (!this._section) return;
733
-
734
- var core = this._section._getContext();
735
- core.getElement().focus({ preventScroll: true });
736
- };
737
724
  //#endregion Private Methods
738
725
 
739
726