@refinitiv-ui/efx-grid 6.0.36 → 6.0.38

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 (31) hide show
  1. package/lib/core/dist/core.js +51 -4
  2. package/lib/core/dist/core.min.js +1 -1
  3. package/lib/core/es6/grid/Core.d.ts +2 -0
  4. package/lib/core/es6/grid/Core.js +51 -4
  5. package/lib/grid/index.js +1 -1
  6. package/lib/grid/themes/base.less +1 -0
  7. package/lib/grid/themes/halo/dark/efx-grid.js +1 -1
  8. package/lib/grid/themes/halo/dark/es5/all-elements.js +1 -1
  9. package/lib/grid/themes/halo/efx-grid.less +2 -0
  10. package/lib/grid/themes/halo/light/efx-grid.js +1 -1
  11. package/lib/grid/themes/halo/light/es5/all-elements.js +1 -1
  12. package/lib/grid/themes/solar/charcoal/efx-grid.js +1 -1
  13. package/lib/grid/themes/solar/charcoal/es5/all-elements.js +1 -1
  14. package/lib/grid/themes/solar/pearl/efx-grid.js +1 -1
  15. package/lib/grid/themes/solar/pearl/es5/all-elements.js +1 -1
  16. package/lib/rt-grid/dist/rt-grid.js +375 -131
  17. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  18. package/lib/rt-grid/es6/FieldDefinition.js +0 -41
  19. package/lib/rt-grid/es6/Grid.d.ts +1 -1
  20. package/lib/rt-grid/es6/Grid.js +63 -29
  21. package/lib/rt-grid/es6/RowDefinition.d.ts +2 -2
  22. package/lib/rt-grid/es6/RowDefinition.js +103 -53
  23. package/lib/tr-grid-cell-selection/es6/CellSelection.js +180 -421
  24. package/lib/tr-grid-column-stack/es6/ColumnStack.js +159 -31
  25. package/lib/tr-grid-util/es6/jet/MockQuotes2.js +7 -0
  26. package/lib/types/es6/ColumnStack.d.ts +1 -0
  27. package/lib/types/es6/Core/grid/Core.d.ts +2 -0
  28. package/lib/types/es6/Core/grid/LayoutGrid.d.ts +4 -0
  29. package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +2 -2
  30. package/lib/versions.json +3 -3
  31. package/package.json +1 -1
@@ -25398,6 +25398,7 @@ var Core_Core = function (opt_initializer) {
25398
25398
  _t._onVScroll = _t._onVScroll.bind(_t);
25399
25399
  _t._onHScroll = _t._onHScroll.bind(_t);
25400
25400
  _t._onSyncVScroll = _t._onSyncVScroll.bind(_t);
25401
+ _t._onSyncHScroll = _t._onSyncHScroll.bind(_t);
25401
25402
  _t.updateLayout = _t.updateLayout.bind(_t);
25402
25403
  _t._onRowRefresh = _t._onRowRefresh.bind(_t);
25403
25404
  _t._onVScrollEnabled = _t._onVScrollEnabled.bind(_t);
@@ -25510,7 +25511,8 @@ var Core_Core = function (opt_initializer) {
25510
25511
  "rowPositionChanged",
25511
25512
  "beforeColumnBoundUpdate",
25512
25513
  "beforeBatchOperation",
25513
- "afterBatchOperation"
25514
+ "afterBatchOperation",
25515
+ "pinningChanged"
25514
25516
  );
25515
25517
 
25516
25518
  // For debugging in advanced optimization mode
@@ -25859,7 +25861,7 @@ Core_Core.prototype._batches = null;
25859
25861
  * @return {string}
25860
25862
  */
25861
25863
  Core_Core.getVersion = function () {
25862
- return "5.1.50";
25864
+ return "5.1.52";
25863
25865
  };
25864
25866
  /** {@link ElementWrapper#dispose}
25865
25867
  * @override
@@ -25901,6 +25903,12 @@ Core_Core.prototype.dispose = function () {
25901
25903
  mainScrolbar.unlisten("scroll", this._onSyncVScroll);
25902
25904
  this._vscrollbar._mainScrollbar = null;
25903
25905
  }
25906
+ mainScrolbar = this._hscrollbar._mainScrollbar;
25907
+ if(mainScrolbar) {
25908
+ mainScrolbar.unlisten("scroll", this._onSyncHScroll);
25909
+ this._hscrollbar._mainScrollbar = null;
25910
+ }
25911
+
25904
25912
  this._vscrollbar.dispose();
25905
25913
  this._hscrollbar.dispose();
25906
25914
  this._rowHeightConflator.dispose();
@@ -28214,10 +28222,14 @@ Core_Core.prototype.freezeColumn = function (frozenColIndex, numRightColumn) {
28214
28222
  var colCount = this.getColumnCount();
28215
28223
  var leftPinnedCount = 0;
28216
28224
  var rightPinnedCount = 0;
28225
+ var dirty = false;
28217
28226
  if (frozenColIndex || frozenColIndex === 0) {
28218
28227
  this._hScrollbarEnabled = true;
28219
28228
  leftPinnedCount = (frozenColIndex >= 0) ? frozenColIndex + 1 : 0;
28220
- this._pinnedLeftColumnCount = leftPinnedCount; // This variable is used for caching
28229
+ if (this._pinnedLeftColumnCount !== leftPinnedCount) {
28230
+ dirty = true;
28231
+ this._pinnedLeftColumnCount = leftPinnedCount; // This variable is used for caching
28232
+ }
28221
28233
 
28222
28234
  for (i = 0; i < colCount; ++i) {
28223
28235
  colDef = this._getColumnDef(i);
@@ -28228,7 +28240,10 @@ Core_Core.prototype.freezeColumn = function (frozenColIndex, numRightColumn) {
28228
28240
  }
28229
28241
  if(numRightColumn != null) {
28230
28242
  rightPinnedCount = numRightColumn > 0 ? numRightColumn : 0;
28231
- this._pinnedRightColumnCount = rightPinnedCount; // This variable is used for caching
28243
+ if (this._pinnedLeftColumnCount !== rightPinnedCount) {
28244
+ dirty = true;
28245
+ this._pinnedRightColumnCount = rightPinnedCount; // This variable is used for caching
28246
+ }
28232
28247
 
28233
28248
  for (i = colCount; --i >= 0;) {
28234
28249
  colDef = this._getColumnDef(i);
@@ -28239,6 +28254,12 @@ Core_Core.prototype.freezeColumn = function (frozenColIndex, numRightColumn) {
28239
28254
  this._onColumnCountChanged(); // Activate horizontal scrollbar and column virtualization
28240
28255
  this._updateScrollbarWidth(true, true);
28241
28256
  this._updateColumnSeparators();
28257
+
28258
+ if (dirty) {
28259
+ if (!this._isEventDispatching("pinningChanged")) {
28260
+ this._dispatch("pinningChanged", {});
28261
+ }
28262
+ }
28242
28263
  };
28243
28264
 
28244
28265
  /** @private
@@ -29063,6 +29084,26 @@ Core_Core.prototype.synchronizeVScrollbar = function (subGrid) {
29063
29084
  this._vscrollbar.listen("scroll", subGrid._onSyncVScroll);
29064
29085
  };
29065
29086
 
29087
+ /** Synchronize two horizontal scrollbars of two grid, by hiding its scrollbar and using the one from the given grid
29088
+ * @public
29089
+ * @param {Core} subGrid
29090
+ */
29091
+ Core_Core.prototype.synchronizeHScrollbar = function (subGrid) {
29092
+ subGrid.unlisten("mousemove", subGrid._onMouseMove);
29093
+ subGrid.listen("mousemove", this._onMouseMove);
29094
+
29095
+ var hscrollbar = subGrid.getHScrollbar();
29096
+ hscrollbar._mainScrollbar = this._hscrollbar; // HACK
29097
+
29098
+ hscrollbar.setStyle("visibility", "hidden");
29099
+ hscrollbar.setStyle("pointerEvents", "none");
29100
+ hscrollbar.disableMouseWheel(); // Disable sub-grid wheel behavior
29101
+ hscrollbar.attachToExternalElement(this._hscrollbar.getParent()); // MouseWheel event is still available on the main
29102
+
29103
+ // TODO: Check if we need to re-append this._hscrollbar to move it to the front over other grid elements.
29104
+ this._hscrollbar.listen("scroll", subGrid._onSyncHScroll);
29105
+ };
29106
+
29066
29107
  /** Fires data binding event without actual change in the data source. <br>
29067
29108
  * This will force visual elements to be re-rendered with the latest data in the data source.
29068
29109
  * @public
@@ -30718,6 +30759,12 @@ Core_Core.prototype._onSyncVScroll = function (e) {
30718
30759
  this._vscrollbar.setScrollTop(e.scrollTop);
30719
30760
  };
30720
30761
  /** @private
30762
+ * @param {Object} e
30763
+ */
30764
+ Core_Core.prototype._onSyncHScroll = function (e) {
30765
+ this._hscrollbar.setScrollLeft(e.scrollLeft);
30766
+ };
30767
+ /** @private
30721
30768
  * @return {number} index of footer section
30722
30769
  */
30723
30770
  Core_Core.prototype._getFooterStartIndex = function () {