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
  */
@@ -641,9 +641,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
641
641
  function shiftAbsoluteElementIntoView(element, root, options = { buffer: 10 }) {
642
642
  const buffer = options.buffer;
643
643
  const rect = element.getBoundingClientRect();
644
- const rootRect = element.getBoundingClientRect();
645
- const viewportWidth = root.clientWidth;
646
- const viewportHeight = root.clientHeight;
644
+ const rootRect = root.getBoundingClientRect();
647
645
  let translateX = 0;
648
646
  let translateY = 0;
649
647
  const left = rect.left - rootRect.left;
@@ -654,15 +652,15 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
654
652
  if (left < buffer) {
655
653
  translateX = buffer - left;
656
654
  }
657
- else if (right > viewportWidth - buffer) {
658
- translateX = viewportWidth - right - buffer;
655
+ else if (right > buffer) {
656
+ translateX = -buffer - right;
659
657
  }
660
658
  // Check vertical overflow
661
659
  if (top < buffer) {
662
660
  translateY = buffer - top;
663
661
  }
664
- else if (bottom > viewportHeight - buffer) {
665
- translateY = viewportHeight - bottom - buffer;
662
+ else if (bottom > buffer) {
663
+ translateY = -bottom - buffer;
666
664
  }
667
665
  // Apply the translation if needed
668
666
  if (translateX !== 0 || translateY !== 0) {
@@ -3955,9 +3953,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3955
3953
  onDragOver: (e) => {
3956
3954
  var _a, _b, _c, _d, _e, _f, _g;
3957
3955
  Droptarget.ACTUAL_TARGET = this;
3958
- const overrideTraget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
3956
+ const overrideTarget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
3959
3957
  if (this._acceptedTargetZonesSet.size === 0) {
3960
- if (overrideTraget) {
3958
+ if (overrideTarget) {
3961
3959
  return;
3962
3960
  }
3963
3961
  this.removeDropTarget();
@@ -3984,7 +3982,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3984
3982
  return;
3985
3983
  }
3986
3984
  if (!this.options.canDisplayOverlay(e, quadrant)) {
3987
- if (overrideTraget) {
3985
+ if (overrideTarget) {
3988
3986
  return;
3989
3987
  }
3990
3988
  this.removeDropTarget();
@@ -4004,7 +4002,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4004
4002
  return;
4005
4003
  }
4006
4004
  this.markAsUsed(e);
4007
- if (overrideTraget) ;
4005
+ if (overrideTarget) ;
4008
4006
  else if (!this.targetElement) {
4009
4007
  this.targetElement = document.createElement('div');
4010
4008
  this.targetElement.className = 'dv-drop-target-dropzone';
@@ -4943,6 +4941,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4943
4941
  var _a, _b;
4944
4942
  // class dockview provides to force ghost image to be drawn on a different layer and prevent weird rendering issues
4945
4943
  addClasses(ghostElement, 'dv-dragged');
4944
+ // move the element off-screen initially otherwise it may in some cases be rendered at (0,0) momentarily
4945
+ ghostElement.style.top = '-9999px';
4946
4946
  document.body.appendChild(ghostElement);
4947
4947
  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);
4948
4948
  setTimeout(() => {
@@ -5111,7 +5111,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5111
5111
  this.accessor.doSetGroupActive(this.group);
5112
5112
  }));
5113
5113
  const handler = new GroupDragHandler(this._element, accessor, group);
5114
- this.dropTraget = new Droptarget(this._element, {
5114
+ this.dropTarget = new Droptarget(this._element, {
5115
5115
  acceptedTargetZones: ['center'],
5116
5116
  canDisplayOverlay: (event, position) => {
5117
5117
  const data = getPanelData();
@@ -5122,12 +5122,12 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5122
5122
  },
5123
5123
  getOverrideTarget: () => { var _a; return (_a = group.model.dropTargetContainer) === null || _a === void 0 ? void 0 : _a.model; },
5124
5124
  });
5125
- this.onWillShowOverlay = this.dropTraget.onWillShowOverlay;
5125
+ this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
5126
5126
  this.addDisposables(handler, handler.onDragStart((event) => {
5127
5127
  this._onDragStart.fire(event);
5128
- }), this.dropTraget.onDrop((event) => {
5128
+ }), this.dropTarget.onDrop((event) => {
5129
5129
  this._onDrop.fire(event);
5130
- }), this.dropTraget);
5130
+ }), this.dropTarget);
5131
5131
  }
5132
5132
  }
5133
5133
 
@@ -8415,9 +8415,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8415
8415
  const gready = document.createElement('div');
8416
8416
  gready.className = 'dv-overlay-render-container';
8417
8417
  const overlayRenderContainer = new OverlayRenderContainer(gready, this);
8418
- const referenceGroup = itemToPopout instanceof DockviewPanel
8419
- ? itemToPopout.group
8420
- : itemToPopout;
8418
+ const referenceGroup = (options === null || options === void 0 ? void 0 : options.referenceGroup)
8419
+ ? options.referenceGroup
8420
+ : itemToPopout instanceof DockviewPanel
8421
+ ? itemToPopout.group
8422
+ : itemToPopout;
8421
8423
  const referenceLocation = itemToPopout.api.location.type;
8422
8424
  /**
8423
8425
  * The group that is being added doesn't already exist within the DOM, the most likely occurance
@@ -8905,7 +8907,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8905
8907
  return result;
8906
8908
  }
8907
8909
  fromJSON(data) {
8908
- var _a, _b, _c;
8910
+ var _a, _b;
8909
8911
  this.clear();
8910
8912
  if (typeof data !== 'object' || data === null) {
8911
8913
  throw new Error('serialized layout must be a non-null object');
@@ -8977,12 +8979,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8977
8979
  for (const serializedPopoutGroup of serializedPopoutGroups) {
8978
8980
  const { data, position, gridReferenceGroup, url } = serializedPopoutGroup;
8979
8981
  const group = createGroupFromSerializedState(data);
8980
- this.addPopoutGroup((_c = (gridReferenceGroup
8981
- ? this.getPanel(gridReferenceGroup)
8982
- : undefined)) !== null && _c !== void 0 ? _c : group, {
8982
+ this.addPopoutGroup(group, {
8983
8983
  position: position !== null && position !== void 0 ? position : undefined,
8984
- overridePopoutGroup: gridReferenceGroup
8985
- ? group
8984
+ overridePopoutGroup: gridReferenceGroup ? group : undefined,
8985
+ referenceGroup: gridReferenceGroup
8986
+ ? this.getPanel(gridReferenceGroup)
8986
8987
  : undefined,
8987
8988
  popoutUrl: url,
8988
8989
  });