dockview-angular 4.13.0 → 4.13.1

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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-angular
3
- * @version 4.13.0
3
+ * @version 4.13.1
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -8530,7 +8530,14 @@ define(['exports', '@angular/core', '@angular/common', 'rxjs'], (function (expor
8530
8530
  if (options.debug) {
8531
8531
  this.addDisposables(new StrictEventsSequencing(this));
8532
8532
  }
8533
- this.addDisposables(this.rootDropTargetContainer, this.overlayRenderContainer, this._onWillDragPanel, this._onWillDragGroup, this._onWillShowOverlay, this._onDidActivePanelChange, this._onDidAddPanel, this._onDidRemovePanel, this._onDidLayoutFromJSON, this._onDidDrop, this._onWillDrop, this._onDidMovePanel, this._onDidAddGroup, this._onDidRemoveGroup, this._onDidActiveGroupChange, this._onUnhandledDragOverEvent, this._onDidMaximizedGroupChange, this._onDidOptionsChange, this._onDidPopoutGroupSizeChange, this._onDidPopoutGroupPositionChange, this._onDidOpenPopoutWindowFail, this.onDidViewVisibilityChangeMicroTaskQueue(() => {
8533
+ this.addDisposables(this.rootDropTargetContainer, this.overlayRenderContainer, this._onWillDragPanel, this._onWillDragGroup, this._onWillShowOverlay, this._onDidActivePanelChange, this._onDidAddPanel, this._onDidRemovePanel, this._onDidLayoutFromJSON, this._onDidDrop, this._onWillDrop, this._onDidMovePanel, this._onDidMovePanel.event(() => {
8534
+ /**
8535
+ * Update overlay positions after DOM layout completes to prevent 0×0 dimensions.
8536
+ * With defaultRenderer="always" this results in panel content not showing after move operations.
8537
+ * Debounced to avoid multiple calls when moving groups with multiple panels.
8538
+ */
8539
+ this.debouncedUpdateAllPositions();
8540
+ }), this._onDidAddGroup, this._onDidRemoveGroup, this._onDidActiveGroupChange, this._onUnhandledDragOverEvent, this._onDidMaximizedGroupChange, this._onDidOptionsChange, this._onDidPopoutGroupSizeChange, this._onDidPopoutGroupPositionChange, this._onDidOpenPopoutWindowFail, this.onDidViewVisibilityChangeMicroTaskQueue(() => {
8534
8541
  this.updateWatermark();
8535
8542
  }), this.onDidAdd((event) => {
8536
8543
  if (!this._moving) {
@@ -9396,9 +9403,7 @@ define(['exports', '@angular/core', '@angular/common', 'rxjs'], (function (expor
9396
9403
  }
9397
9404
  this.updateWatermark();
9398
9405
  // Force position updates for always visible panels after DOM layout is complete
9399
- requestAnimationFrame(() => {
9400
- this.overlayRenderContainer.updateAllPositions();
9401
- });
9406
+ this.debouncedUpdateAllPositions();
9402
9407
  this._onDidLayoutFromJSON.fire();
9403
9408
  }
9404
9409
  clear() {
@@ -9734,6 +9739,15 @@ define(['exports', '@angular/core', '@angular/common', 'rxjs'], (function (expor
9734
9739
  }
9735
9740
  return re;
9736
9741
  }
9742
+ debouncedUpdateAllPositions() {
9743
+ if (this._updatePositionsFrameId !== undefined) {
9744
+ cancelAnimationFrame(this._updatePositionsFrameId);
9745
+ }
9746
+ this._updatePositionsFrameId = requestAnimationFrame(() => {
9747
+ this._updatePositionsFrameId = undefined;
9748
+ this.overlayRenderContainer.updateAllPositions();
9749
+ });
9750
+ }
9737
9751
  movingLock(func) {
9738
9752
  const isMoving = this._moving;
9739
9753
  try {
@@ -9804,13 +9818,6 @@ define(['exports', '@angular/core', '@angular/common', 'rxjs'], (function (expor
9804
9818
  panel: removedPanel,
9805
9819
  from: sourceGroup,
9806
9820
  });
9807
- /**
9808
- * Update overlay positions after DOM layout completes to prevent 0×0 dimensions.
9809
- * With defaultRenderer="always" this results in panel content not showing after move operations.
9810
- */
9811
- requestAnimationFrame(() => {
9812
- this.overlayRenderContainer.updateAllPositions();
9813
- });
9814
9821
  }
9815
9822
  else {
9816
9823
  /**
@@ -10051,6 +10058,7 @@ define(['exports', '@angular/core', '@angular/common', 'rxjs'], (function (expor
10051
10058
  from.panels.forEach((panel) => {
10052
10059
  this._onDidMovePanel.fire({ panel, from });
10053
10060
  });
10061
+ this.debouncedUpdateAllPositions();
10054
10062
  // Ensure group becomes active after move
10055
10063
  if (options.skipSetActive === false) {
10056
10064
  // Only activate when explicitly requested (skipSetActive: false)