dockview-core 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.
Files changed (41) hide show
  1. package/dist/cjs/dnd/abstractDragHandler.d.ts +3 -1
  2. package/dist/cjs/dnd/abstractDragHandler.js +6 -2
  3. package/dist/cjs/dnd/groupDragHandler.d.ts +1 -1
  4. package/dist/cjs/dnd/groupDragHandler.js +2 -2
  5. package/dist/cjs/dockview/components/tab/tab.d.ts +1 -0
  6. package/dist/cjs/dockview/components/tab/tab.js +6 -5
  7. package/dist/cjs/dockview/components/titlebar/voidContainer.d.ts +1 -0
  8. package/dist/cjs/dockview/components/titlebar/voidContainer.js +3 -2
  9. package/dist/cjs/dockview/dockviewComponent.js +3 -1
  10. package/dist/dockview-core.amd.js +21 -13
  11. package/dist/dockview-core.amd.js.map +1 -1
  12. package/dist/dockview-core.amd.min.js +2 -2
  13. package/dist/dockview-core.amd.min.js.map +1 -1
  14. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  15. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  16. package/dist/dockview-core.amd.noStyle.js +21 -13
  17. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  18. package/dist/dockview-core.cjs.js +21 -13
  19. package/dist/dockview-core.cjs.js.map +1 -1
  20. package/dist/dockview-core.esm.js +21 -13
  21. package/dist/dockview-core.esm.js.map +1 -1
  22. package/dist/dockview-core.esm.min.js +2 -2
  23. package/dist/dockview-core.esm.min.js.map +1 -1
  24. package/dist/dockview-core.js +21 -13
  25. package/dist/dockview-core.js.map +1 -1
  26. package/dist/dockview-core.min.js +2 -2
  27. package/dist/dockview-core.min.js.map +1 -1
  28. package/dist/dockview-core.min.noStyle.js +2 -2
  29. package/dist/dockview-core.min.noStyle.js.map +1 -1
  30. package/dist/dockview-core.noStyle.js +21 -13
  31. package/dist/dockview-core.noStyle.js.map +1 -1
  32. package/dist/esm/dnd/abstractDragHandler.d.ts +3 -1
  33. package/dist/esm/dnd/abstractDragHandler.js +6 -2
  34. package/dist/esm/dnd/groupDragHandler.d.ts +1 -1
  35. package/dist/esm/dnd/groupDragHandler.js +2 -2
  36. package/dist/esm/dockview/components/tab/tab.d.ts +1 -0
  37. package/dist/esm/dockview/components/tab/tab.js +6 -5
  38. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +1 -0
  39. package/dist/esm/dockview/components/titlebar/voidContainer.js +3 -2
  40. package/dist/esm/dockview/dockviewComponent.js +3 -1
  41. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-core
3
- * @version 4.7.0
3
+ * @version 4.7.1
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -3836,9 +3836,10 @@ class DockviewApi {
3836
3836
  }
3837
3837
 
3838
3838
  class DragHandler extends CompositeDisposable {
3839
- constructor(el) {
3839
+ constructor(el, disabled) {
3840
3840
  super();
3841
3841
  this.el = el;
3842
+ this.disabled = disabled;
3842
3843
  this.dataDisposable = new MutableDisposable();
3843
3844
  this.pointerEventsDisposable = new MutableDisposable();
3844
3845
  this._onDragStart = new Emitter();
@@ -3846,12 +3847,15 @@ class DragHandler extends CompositeDisposable {
3846
3847
  this.addDisposables(this._onDragStart, this.dataDisposable, this.pointerEventsDisposable);
3847
3848
  this.configure();
3848
3849
  }
3850
+ setDisabled(disabled) {
3851
+ this.disabled = disabled;
3852
+ }
3849
3853
  isCancelled(_event) {
3850
3854
  return false;
3851
3855
  }
3852
3856
  configure() {
3853
3857
  this.addDisposables(this._onDragStart, addDisposableListener(this.el, 'dragstart', (event) => {
3854
- if (event.defaultPrevented || this.isCancelled(event)) {
3858
+ if (event.defaultPrevented || this.isCancelled(event) || this.disabled) {
3855
3859
  event.preventDefault();
3856
3860
  return;
3857
3861
  }
@@ -5051,8 +5055,8 @@ function addGhostImage(dataTransfer, ghostElement, options) {
5051
5055
  }
5052
5056
 
5053
5057
  class TabDragHandler extends DragHandler {
5054
- constructor(element, accessor, group, panel) {
5055
- super(element);
5058
+ constructor(element, accessor, group, panel, disabled) {
5059
+ super(element, disabled);
5056
5060
  this.accessor = accessor;
5057
5061
  this.group = group;
5058
5062
  this.panel = panel;
@@ -5088,7 +5092,7 @@ class Tab extends CompositeDisposable {
5088
5092
  this._element.tabIndex = 0;
5089
5093
  this._element.draggable = !this.accessor.options.disableDnd;
5090
5094
  toggleClass(this.element, 'dv-inactive-tab', true);
5091
- const dragHandler = new TabDragHandler(this._element, this.accessor, this.group, this.panel);
5095
+ this.dragHandler = new TabDragHandler(this._element, this.accessor, this.group, this.panel, !!this.accessor.options.disableDnd);
5092
5096
  this.dropTarget = new Droptarget(this._element, {
5093
5097
  acceptedTargetZones: ['left', 'right'],
5094
5098
  overlayModel: { activationSize: { value: 50, type: 'percentage' } },
@@ -5105,7 +5109,7 @@ class Tab extends CompositeDisposable {
5105
5109
  getOverrideTarget: () => { var _a; return (_a = group.model.dropTargetContainer) === null || _a === void 0 ? void 0 : _a.model; },
5106
5110
  });
5107
5111
  this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
5108
- this.addDisposables(this._onPointDown, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
5112
+ this.addDisposables(this._onPointDown, this._onDropped, this._onDragStart, this.dragHandler.onDragStart((event) => {
5109
5113
  if (event.dataTransfer) {
5110
5114
  const style = getComputedStyle(this.element);
5111
5115
  const newNode = this.element.cloneNode(true);
@@ -5117,7 +5121,7 @@ class Tab extends CompositeDisposable {
5117
5121
  });
5118
5122
  }
5119
5123
  this._onDragStart.fire(event);
5120
- }), dragHandler, addDisposableListener(this._element, 'pointerdown', (event) => {
5124
+ }), this.dragHandler, addDisposableListener(this._element, 'pointerdown', (event) => {
5121
5125
  this._onPointDown.fire(event);
5122
5126
  }), this.dropTarget.onDrop((event) => {
5123
5127
  this._onDropped.fire(event);
@@ -5136,6 +5140,7 @@ class Tab extends CompositeDisposable {
5136
5140
  }
5137
5141
  updateDragAndDropState() {
5138
5142
  this._element.draggable = !this.accessor.options.disableDnd;
5143
+ this.dragHandler.setDisabled(!!this.accessor.options.disableDnd);
5139
5144
  }
5140
5145
  dispose() {
5141
5146
  super.dispose();
@@ -5177,8 +5182,8 @@ class WillShowOverlayLocationEvent {
5177
5182
  }
5178
5183
 
5179
5184
  class GroupDragHandler extends DragHandler {
5180
- constructor(element, accessor, group) {
5181
- super(element);
5185
+ constructor(element, accessor, group, disabled) {
5186
+ super(element, disabled);
5182
5187
  this.accessor = accessor;
5183
5188
  this.group = group;
5184
5189
  this.panelTransfer = LocalSelectionTransfer.getInstance();
@@ -5247,7 +5252,7 @@ class VoidContainer extends CompositeDisposable {
5247
5252
  this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
5248
5253
  this.accessor.doSetGroupActive(this.group);
5249
5254
  }));
5250
- const handler = new GroupDragHandler(this._element, accessor, group);
5255
+ this.handler = new GroupDragHandler(this._element, accessor, group, !!this.accessor.options.disableDnd);
5251
5256
  this.dropTarget = new Droptarget(this._element, {
5252
5257
  acceptedTargetZones: ['center'],
5253
5258
  canDisplayOverlay: (event, position) => {
@@ -5260,7 +5265,7 @@ class VoidContainer extends CompositeDisposable {
5260
5265
  getOverrideTarget: () => { var _a; return (_a = group.model.dropTargetContainer) === null || _a === void 0 ? void 0 : _a.model; },
5261
5266
  });
5262
5267
  this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
5263
- this.addDisposables(handler, handler.onDragStart((event) => {
5268
+ this.addDisposables(this.handler, this.handler.onDragStart((event) => {
5264
5269
  this._onDragStart.fire(event);
5265
5270
  }), this.dropTarget.onDrop((event) => {
5266
5271
  this._onDrop.fire(event);
@@ -5269,6 +5274,7 @@ class VoidContainer extends CompositeDisposable {
5269
5274
  updateDragAndDropState() {
5270
5275
  this._element.draggable = !this.accessor.options.disableDnd;
5271
5276
  toggleClass(this._element, 'dv-draggable', !this.accessor.options.disableDnd);
5277
+ this.handler.setDisabled(!!this.accessor.options.disableDnd);
5272
5278
  }
5273
5279
  }
5274
5280
 
@@ -9682,11 +9688,13 @@ class DockviewComponent extends BaseGrid {
9682
9688
  // remove the group and do not set a new group as active
9683
9689
  this.doRemoveGroup(sourceGroup, { skipActive: true });
9684
9690
  }
9691
+ // Check if destination group is empty - if so, force render the component
9692
+ const isDestinationGroupEmpty = destinationGroup.model.size === 0;
9685
9693
  this.movingLock(() => {
9686
9694
  var _a;
9687
9695
  return destinationGroup.model.openPanel(removedPanel, {
9688
9696
  index: destinationIndex,
9689
- skipSetActive: (_a = options.skipSetActive) !== null && _a !== void 0 ? _a : false,
9697
+ skipSetActive: ((_a = options.skipSetActive) !== null && _a !== void 0 ? _a : false) && !isDestinationGroupEmpty,
9690
9698
  skipSetGroupActive: true,
9691
9699
  });
9692
9700
  });