dockview-react 4.7.0 → 4.7.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-react
3
- * @version 4.7.0
3
+ * @version 4.7.1
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -3808,9 +3808,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3808
3808
  }
3809
3809
 
3810
3810
  class DragHandler extends CompositeDisposable {
3811
- constructor(el) {
3811
+ constructor(el, disabled) {
3812
3812
  super();
3813
3813
  this.el = el;
3814
+ this.disabled = disabled;
3814
3815
  this.dataDisposable = new MutableDisposable();
3815
3816
  this.pointerEventsDisposable = new MutableDisposable();
3816
3817
  this._onDragStart = new Emitter();
@@ -3818,12 +3819,15 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3818
3819
  this.addDisposables(this._onDragStart, this.dataDisposable, this.pointerEventsDisposable);
3819
3820
  this.configure();
3820
3821
  }
3822
+ setDisabled(disabled) {
3823
+ this.disabled = disabled;
3824
+ }
3821
3825
  isCancelled(_event) {
3822
3826
  return false;
3823
3827
  }
3824
3828
  configure() {
3825
3829
  this.addDisposables(this._onDragStart, addDisposableListener(this.el, 'dragstart', (event) => {
3826
- if (event.defaultPrevented || this.isCancelled(event)) {
3830
+ if (event.defaultPrevented || this.isCancelled(event) || this.disabled) {
3827
3831
  event.preventDefault();
3828
3832
  return;
3829
3833
  }
@@ -5023,8 +5027,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5023
5027
  }
5024
5028
 
5025
5029
  class TabDragHandler extends DragHandler {
5026
- constructor(element, accessor, group, panel) {
5027
- super(element);
5030
+ constructor(element, accessor, group, panel, disabled) {
5031
+ super(element, disabled);
5028
5032
  this.accessor = accessor;
5029
5033
  this.group = group;
5030
5034
  this.panel = panel;
@@ -5060,7 +5064,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5060
5064
  this._element.tabIndex = 0;
5061
5065
  this._element.draggable = !this.accessor.options.disableDnd;
5062
5066
  toggleClass(this.element, 'dv-inactive-tab', true);
5063
- const dragHandler = new TabDragHandler(this._element, this.accessor, this.group, this.panel);
5067
+ this.dragHandler = new TabDragHandler(this._element, this.accessor, this.group, this.panel, !!this.accessor.options.disableDnd);
5064
5068
  this.dropTarget = new Droptarget(this._element, {
5065
5069
  acceptedTargetZones: ['left', 'right'],
5066
5070
  overlayModel: { activationSize: { value: 50, type: 'percentage' } },
@@ -5077,7 +5081,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5077
5081
  getOverrideTarget: () => { var _a; return (_a = group.model.dropTargetContainer) === null || _a === void 0 ? void 0 : _a.model; },
5078
5082
  });
5079
5083
  this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
5080
- this.addDisposables(this._onPointDown, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
5084
+ this.addDisposables(this._onPointDown, this._onDropped, this._onDragStart, this.dragHandler.onDragStart((event) => {
5081
5085
  if (event.dataTransfer) {
5082
5086
  const style = getComputedStyle(this.element);
5083
5087
  const newNode = this.element.cloneNode(true);
@@ -5089,7 +5093,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5089
5093
  });
5090
5094
  }
5091
5095
  this._onDragStart.fire(event);
5092
- }), dragHandler, addDisposableListener(this._element, 'pointerdown', (event) => {
5096
+ }), this.dragHandler, addDisposableListener(this._element, 'pointerdown', (event) => {
5093
5097
  this._onPointDown.fire(event);
5094
5098
  }), this.dropTarget.onDrop((event) => {
5095
5099
  this._onDropped.fire(event);
@@ -5108,6 +5112,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5108
5112
  }
5109
5113
  updateDragAndDropState() {
5110
5114
  this._element.draggable = !this.accessor.options.disableDnd;
5115
+ this.dragHandler.setDisabled(!!this.accessor.options.disableDnd);
5111
5116
  }
5112
5117
  dispose() {
5113
5118
  super.dispose();
@@ -5149,8 +5154,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5149
5154
  }
5150
5155
 
5151
5156
  class GroupDragHandler extends DragHandler {
5152
- constructor(element, accessor, group) {
5153
- super(element);
5157
+ constructor(element, accessor, group, disabled) {
5158
+ super(element, disabled);
5154
5159
  this.accessor = accessor;
5155
5160
  this.group = group;
5156
5161
  this.panelTransfer = LocalSelectionTransfer.getInstance();
@@ -5219,7 +5224,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5219
5224
  this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
5220
5225
  this.accessor.doSetGroupActive(this.group);
5221
5226
  }));
5222
- const handler = new GroupDragHandler(this._element, accessor, group);
5227
+ this.handler = new GroupDragHandler(this._element, accessor, group, !!this.accessor.options.disableDnd);
5223
5228
  this.dropTarget = new Droptarget(this._element, {
5224
5229
  acceptedTargetZones: ['center'],
5225
5230
  canDisplayOverlay: (event, position) => {
@@ -5232,7 +5237,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5232
5237
  getOverrideTarget: () => { var _a; return (_a = group.model.dropTargetContainer) === null || _a === void 0 ? void 0 : _a.model; },
5233
5238
  });
5234
5239
  this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
5235
- this.addDisposables(handler, handler.onDragStart((event) => {
5240
+ this.addDisposables(this.handler, this.handler.onDragStart((event) => {
5236
5241
  this._onDragStart.fire(event);
5237
5242
  }), this.dropTarget.onDrop((event) => {
5238
5243
  this._onDrop.fire(event);
@@ -5241,6 +5246,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5241
5246
  updateDragAndDropState() {
5242
5247
  this._element.draggable = !this.accessor.options.disableDnd;
5243
5248
  toggleClass(this._element, 'dv-draggable', !this.accessor.options.disableDnd);
5249
+ this.handler.setDisabled(!!this.accessor.options.disableDnd);
5244
5250
  }
5245
5251
  }
5246
5252
 
@@ -9631,11 +9637,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
9631
9637
  // remove the group and do not set a new group as active
9632
9638
  this.doRemoveGroup(sourceGroup, { skipActive: true });
9633
9639
  }
9640
+ // Check if destination group is empty - if so, force render the component
9641
+ const isDestinationGroupEmpty = destinationGroup.model.size === 0;
9634
9642
  this.movingLock(() => {
9635
9643
  var _a;
9636
9644
  return destinationGroup.model.openPanel(removedPanel, {
9637
9645
  index: destinationIndex,
9638
- skipSetActive: (_a = options.skipSetActive) !== null && _a !== void 0 ? _a : false,
9646
+ skipSetActive: ((_a = options.skipSetActive) !== null && _a !== void 0 ? _a : false) && !isDestinationGroupEmpty,
9639
9647
  skipSetGroupActive: true,
9640
9648
  });
9641
9649
  });