dockview-core 4.7.0 → 4.9.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.
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.9.0
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -3808,9 +3808,10 @@ define(['exports'], (function (exports) { 'use strict';
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'], (function (exports) { 'use strict';
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'], (function (exports) { 'use strict';
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'], (function (exports) { 'use strict';
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'], (function (exports) { 'use strict';
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'], (function (exports) { 'use strict';
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'], (function (exports) { 'use strict';
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'], (function (exports) { 'use strict';
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'], (function (exports) { 'use strict';
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'], (function (exports) { 'use strict';
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'], (function (exports) { 'use strict';
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
 
@@ -9654,11 +9660,13 @@ define(['exports'], (function (exports) { 'use strict';
9654
9660
  // remove the group and do not set a new group as active
9655
9661
  this.doRemoveGroup(sourceGroup, { skipActive: true });
9656
9662
  }
9663
+ // Check if destination group is empty - if so, force render the component
9664
+ const isDestinationGroupEmpty = destinationGroup.model.size === 0;
9657
9665
  this.movingLock(() => {
9658
9666
  var _a;
9659
9667
  return destinationGroup.model.openPanel(removedPanel, {
9660
9668
  index: destinationIndex,
9661
- skipSetActive: (_a = options.skipSetActive) !== null && _a !== void 0 ? _a : false,
9669
+ skipSetActive: ((_a = options.skipSetActive) !== null && _a !== void 0 ? _a : false) && !isDestinationGroupEmpty,
9662
9670
  skipSetGroupActive: true,
9663
9671
  });
9664
9672
  });