@refinitiv-ui/efx-grid 6.0.18 → 6.0.19

Sign up to get free protection for your applications and to get access to all the features.
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