dockview 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
3
- * @version 4.2.4
3
+ * @version 4.3.0
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -671,9 +671,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
671
671
  function shiftAbsoluteElementIntoView(element, root, options = { buffer: 10 }) {
672
672
  const buffer = options.buffer;
673
673
  const rect = element.getBoundingClientRect();
674
- const rootRect = element.getBoundingClientRect();
675
- const viewportWidth = root.clientWidth;
676
- const viewportHeight = root.clientHeight;
674
+ const rootRect = root.getBoundingClientRect();
677
675
  let translateX = 0;
678
676
  let translateY = 0;
679
677
  const left = rect.left - rootRect.left;
@@ -684,15 +682,15 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
684
682
  if (left < buffer) {
685
683
  translateX = buffer - left;
686
684
  }
687
- else if (right > viewportWidth - buffer) {
688
- translateX = viewportWidth - right - buffer;
685
+ else if (right > buffer) {
686
+ translateX = -buffer - right;
689
687
  }
690
688
  // Check vertical overflow
691
689
  if (top < buffer) {
692
690
  translateY = buffer - top;
693
691
  }
694
- else if (bottom > viewportHeight - buffer) {
695
- translateY = viewportHeight - bottom - buffer;
692
+ else if (bottom > buffer) {
693
+ translateY = -bottom - buffer;
696
694
  }
697
695
  // Apply the translation if needed
698
696
  if (translateX !== 0 || translateY !== 0) {
@@ -3985,9 +3983,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3985
3983
  onDragOver: (e) => {
3986
3984
  var _a, _b, _c, _d, _e, _f, _g;
3987
3985
  Droptarget.ACTUAL_TARGET = this;
3988
- const overrideTraget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
3986
+ const overrideTarget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
3989
3987
  if (this._acceptedTargetZonesSet.size === 0) {
3990
- if (overrideTraget) {
3988
+ if (overrideTarget) {
3991
3989
  return;
3992
3990
  }
3993
3991
  this.removeDropTarget();
@@ -4014,7 +4012,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4014
4012
  return;
4015
4013
  }
4016
4014
  if (!this.options.canDisplayOverlay(e, quadrant)) {
4017
- if (overrideTraget) {
4015
+ if (overrideTarget) {
4018
4016
  return;
4019
4017
  }
4020
4018
  this.removeDropTarget();
@@ -4034,7 +4032,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4034
4032
  return;
4035
4033
  }
4036
4034
  this.markAsUsed(e);
4037
- if (overrideTraget) ;
4035
+ if (overrideTarget) ;
4038
4036
  else if (!this.targetElement) {
4039
4037
  this.targetElement = document.createElement('div');
4040
4038
  this.targetElement.className = 'dv-drop-target-dropzone';
@@ -4973,6 +4971,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4973
4971
  var _a, _b;
4974
4972
  // class dockview provides to force ghost image to be drawn on a different layer and prevent weird rendering issues
4975
4973
  addClasses(ghostElement, 'dv-dragged');
4974
+ // move the element off-screen initially otherwise it may in some cases be rendered at (0,0) momentarily
4975
+ ghostElement.style.top = '-9999px';
4976
4976
  document.body.appendChild(ghostElement);
4977
4977
  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);
4978
4978
  setTimeout(() => {
@@ -5141,7 +5141,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5141
5141
  this.accessor.doSetGroupActive(this.group);
5142
5142
  }));
5143
5143
  const handler = new GroupDragHandler(this._element, accessor, group);
5144
- this.dropTraget = new Droptarget(this._element, {
5144
+ this.dropTarget = new Droptarget(this._element, {
5145
5145
  acceptedTargetZones: ['center'],
5146
5146
  canDisplayOverlay: (event, position) => {
5147
5147
  const data = getPanelData();
@@ -5152,12 +5152,12 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5152
5152
  },
5153
5153
  getOverrideTarget: () => { var _a; return (_a = group.model.dropTargetContainer) === null || _a === void 0 ? void 0 : _a.model; },
5154
5154
  });
5155
- this.onWillShowOverlay = this.dropTraget.onWillShowOverlay;
5155
+ this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
5156
5156
  this.addDisposables(handler, handler.onDragStart((event) => {
5157
5157
  this._onDragStart.fire(event);
5158
- }), this.dropTraget.onDrop((event) => {
5158
+ }), this.dropTarget.onDrop((event) => {
5159
5159
  this._onDrop.fire(event);
5160
- }), this.dropTraget);
5160
+ }), this.dropTarget);
5161
5161
  }
5162
5162
  }
5163
5163
 
@@ -8445,9 +8445,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8445
8445
  const gready = document.createElement('div');
8446
8446
  gready.className = 'dv-overlay-render-container';
8447
8447
  const overlayRenderContainer = new OverlayRenderContainer(gready, this);
8448
- const referenceGroup = itemToPopout instanceof DockviewPanel
8449
- ? itemToPopout.group
8450
- : itemToPopout;
8448
+ const referenceGroup = (options === null || options === void 0 ? void 0 : options.referenceGroup)
8449
+ ? options.referenceGroup
8450
+ : itemToPopout instanceof DockviewPanel
8451
+ ? itemToPopout.group
8452
+ : itemToPopout;
8451
8453
  const referenceLocation = itemToPopout.api.location.type;
8452
8454
  /**
8453
8455
  * The group that is being added doesn't already exist within the DOM, the most likely occurance
@@ -8935,7 +8937,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8935
8937
  return result;
8936
8938
  }
8937
8939
  fromJSON(data) {
8938
- var _a, _b, _c;
8940
+ var _a, _b;
8939
8941
  this.clear();
8940
8942
  if (typeof data !== 'object' || data === null) {
8941
8943
  throw new Error('serialized layout must be a non-null object');
@@ -9007,12 +9009,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
9007
9009
  for (const serializedPopoutGroup of serializedPopoutGroups) {
9008
9010
  const { data, position, gridReferenceGroup, url } = serializedPopoutGroup;
9009
9011
  const group = createGroupFromSerializedState(data);
9010
- this.addPopoutGroup((_c = (gridReferenceGroup
9011
- ? this.getPanel(gridReferenceGroup)
9012
- : undefined)) !== null && _c !== void 0 ? _c : group, {
9012
+ this.addPopoutGroup(group, {
9013
9013
  position: position !== null && position !== void 0 ? position : undefined,
9014
- overridePopoutGroup: gridReferenceGroup
9015
- ? group
9014
+ overridePopoutGroup: gridReferenceGroup ? group : undefined,
9015
+ referenceGroup: gridReferenceGroup
9016
+ ? this.getPanel(gridReferenceGroup)
9016
9017
  : undefined,
9017
9018
  popoutUrl: url,
9018
9019
  });