@refinitiv-ui/efx-grid 6.0.37 → 6.0.38

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