@refinitiv-ui/efx-grid 6.0.36 → 6.0.38

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 +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 () {