dockview-react 4.2.4 → 4.3.0

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-react
3
- * @version 4.2.4
3
+ * @version 4.3.0
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -674,9 +674,7 @@ function onDidWindowResizeEnd(element, cb) {
674
674
  function shiftAbsoluteElementIntoView(element, root, options = { buffer: 10 }) {
675
675
  const buffer = options.buffer;
676
676
  const rect = element.getBoundingClientRect();
677
- const rootRect = element.getBoundingClientRect();
678
- const viewportWidth = root.clientWidth;
679
- const viewportHeight = root.clientHeight;
677
+ const rootRect = root.getBoundingClientRect();
680
678
  let translateX = 0;
681
679
  let translateY = 0;
682
680
  const left = rect.left - rootRect.left;
@@ -687,15 +685,15 @@ function shiftAbsoluteElementIntoView(element, root, options = { buffer: 10 }) {
687
685
  if (left < buffer) {
688
686
  translateX = buffer - left;
689
687
  }
690
- else if (right > viewportWidth - buffer) {
691
- translateX = viewportWidth - right - buffer;
688
+ else if (right > buffer) {
689
+ translateX = -buffer - right;
692
690
  }
693
691
  // Check vertical overflow
694
692
  if (top < buffer) {
695
693
  translateY = buffer - top;
696
694
  }
697
- else if (bottom > viewportHeight - buffer) {
698
- translateY = viewportHeight - bottom - buffer;
695
+ else if (bottom > buffer) {
696
+ translateY = -bottom - buffer;
699
697
  }
700
698
  // Apply the translation if needed
701
699
  if (translateX !== 0 || translateY !== 0) {
@@ -3988,9 +3986,9 @@ class Droptarget extends CompositeDisposable {
3988
3986
  onDragOver: (e) => {
3989
3987
  var _a, _b, _c, _d, _e, _f, _g;
3990
3988
  Droptarget.ACTUAL_TARGET = this;
3991
- const overrideTraget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
3989
+ const overrideTarget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
3992
3990
  if (this._acceptedTargetZonesSet.size === 0) {
3993
- if (overrideTraget) {
3991
+ if (overrideTarget) {
3994
3992
  return;
3995
3993
  }
3996
3994
  this.removeDropTarget();
@@ -4017,7 +4015,7 @@ class Droptarget extends CompositeDisposable {
4017
4015
  return;
4018
4016
  }
4019
4017
  if (!this.options.canDisplayOverlay(e, quadrant)) {
4020
- if (overrideTraget) {
4018
+ if (overrideTarget) {
4021
4019
  return;
4022
4020
  }
4023
4021
  this.removeDropTarget();
@@ -4037,7 +4035,7 @@ class Droptarget extends CompositeDisposable {
4037
4035
  return;
4038
4036
  }
4039
4037
  this.markAsUsed(e);
4040
- if (overrideTraget) ;
4038
+ if (overrideTarget) ;
4041
4039
  else if (!this.targetElement) {
4042
4040
  this.targetElement = document.createElement('div');
4043
4041
  this.targetElement.className = 'dv-drop-target-dropzone';
@@ -4976,6 +4974,8 @@ function addGhostImage(dataTransfer, ghostElement, options) {
4976
4974
  var _a, _b;
4977
4975
  // class dockview provides to force ghost image to be drawn on a different layer and prevent weird rendering issues
4978
4976
  addClasses(ghostElement, 'dv-dragged');
4977
+ // move the element off-screen initially otherwise it may in some cases be rendered at (0,0) momentarily
4978
+ ghostElement.style.top = '-9999px';
4979
4979
  document.body.appendChild(ghostElement);
4980
4980
  dataTransfer.setDragImage(ghostElement, (_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0, (_b = options === null || options === void 0 ? void 0 : options.y) !== null && _b !== void 0 ? _b : 0);
4981
4981
  setTimeout(() => {
@@ -5144,7 +5144,7 @@ class VoidContainer extends CompositeDisposable {
5144
5144
  this.accessor.doSetGroupActive(this.group);
5145
5145
  }));
5146
5146
  const handler = new GroupDragHandler(this._element, accessor, group);
5147
- this.dropTraget = new Droptarget(this._element, {
5147
+ this.dropTarget = new Droptarget(this._element, {
5148
5148
  acceptedTargetZones: ['center'],
5149
5149
  canDisplayOverlay: (event, position) => {
5150
5150
  const data = getPanelData();
@@ -5155,12 +5155,12 @@ class VoidContainer extends CompositeDisposable {
5155
5155
  },
5156
5156
  getOverrideTarget: () => { var _a; return (_a = group.model.dropTargetContainer) === null || _a === void 0 ? void 0 : _a.model; },
5157
5157
  });
5158
- this.onWillShowOverlay = this.dropTraget.onWillShowOverlay;
5158
+ this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
5159
5159
  this.addDisposables(handler, handler.onDragStart((event) => {
5160
5160
  this._onDragStart.fire(event);
5161
- }), this.dropTraget.onDrop((event) => {
5161
+ }), this.dropTarget.onDrop((event) => {
5162
5162
  this._onDrop.fire(event);
5163
- }), this.dropTraget);
5163
+ }), this.dropTarget);
5164
5164
  }
5165
5165
  }
5166
5166
 
@@ -8448,9 +8448,11 @@ class DockviewComponent extends BaseGrid {
8448
8448
  const gready = document.createElement('div');
8449
8449
  gready.className = 'dv-overlay-render-container';
8450
8450
  const overlayRenderContainer = new OverlayRenderContainer(gready, this);
8451
- const referenceGroup = itemToPopout instanceof DockviewPanel
8452
- ? itemToPopout.group
8453
- : itemToPopout;
8451
+ const referenceGroup = (options === null || options === void 0 ? void 0 : options.referenceGroup)
8452
+ ? options.referenceGroup
8453
+ : itemToPopout instanceof DockviewPanel
8454
+ ? itemToPopout.group
8455
+ : itemToPopout;
8454
8456
  const referenceLocation = itemToPopout.api.location.type;
8455
8457
  /**
8456
8458
  * The group that is being added doesn't already exist within the DOM, the most likely occurance
@@ -8938,7 +8940,7 @@ class DockviewComponent extends BaseGrid {
8938
8940
  return result;
8939
8941
  }
8940
8942
  fromJSON(data) {
8941
- var _a, _b, _c;
8943
+ var _a, _b;
8942
8944
  this.clear();
8943
8945
  if (typeof data !== 'object' || data === null) {
8944
8946
  throw new Error('serialized layout must be a non-null object');
@@ -9010,12 +9012,11 @@ class DockviewComponent extends BaseGrid {
9010
9012
  for (const serializedPopoutGroup of serializedPopoutGroups) {
9011
9013
  const { data, position, gridReferenceGroup, url } = serializedPopoutGroup;
9012
9014
  const group = createGroupFromSerializedState(data);
9013
- this.addPopoutGroup((_c = (gridReferenceGroup
9014
- ? this.getPanel(gridReferenceGroup)
9015
- : undefined)) !== null && _c !== void 0 ? _c : group, {
9015
+ this.addPopoutGroup(group, {
9016
9016
  position: position !== null && position !== void 0 ? position : undefined,
9017
- overridePopoutGroup: gridReferenceGroup
9018
- ? group
9017
+ overridePopoutGroup: gridReferenceGroup ? group : undefined,
9018
+ referenceGroup: gridReferenceGroup
9019
+ ? this.getPanel(gridReferenceGroup)
9019
9020
  : undefined,
9020
9021
  popoutUrl: url,
9021
9022
  });