dockview-core 4.3.1 → 4.4.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 (51) hide show
  1. package/dist/cjs/api/component.api.d.ts +1 -0
  2. package/dist/cjs/api/component.api.js +7 -0
  3. package/dist/cjs/dockview/components/tab/tab.d.ts +1 -0
  4. package/dist/cjs/dockview/components/tab/tab.js +4 -1
  5. package/dist/cjs/dockview/components/titlebar/tabs.d.ts +1 -0
  6. package/dist/cjs/dockview/components/titlebar/tabs.js +16 -0
  7. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +2 -0
  8. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +4 -0
  9. package/dist/cjs/dockview/components/titlebar/voidContainer.d.ts +1 -0
  10. package/dist/cjs/dockview/components/titlebar/voidContainer.js +4 -1
  11. package/dist/cjs/dockview/dockviewComponent.d.ts +4 -0
  12. package/dist/cjs/dockview/dockviewComponent.js +81 -42
  13. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +10 -8
  14. package/dist/cjs/dockview/dockviewGroupPanelModel.js +3 -0
  15. package/dist/dockview-core.amd.js +61 -14
  16. package/dist/dockview-core.amd.js.map +1 -1
  17. package/dist/dockview-core.amd.min.js +2 -2
  18. package/dist/dockview-core.amd.min.js.map +1 -1
  19. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  20. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  21. package/dist/dockview-core.amd.noStyle.js +61 -14
  22. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  23. package/dist/dockview-core.cjs.js +61 -14
  24. package/dist/dockview-core.cjs.js.map +1 -1
  25. package/dist/dockview-core.esm.js +61 -14
  26. package/dist/dockview-core.esm.js.map +1 -1
  27. package/dist/dockview-core.esm.min.js +2 -2
  28. package/dist/dockview-core.esm.min.js.map +1 -1
  29. package/dist/dockview-core.js +61 -14
  30. package/dist/dockview-core.js.map +1 -1
  31. package/dist/dockview-core.min.js +2 -2
  32. package/dist/dockview-core.min.js.map +1 -1
  33. package/dist/dockview-core.min.noStyle.js +2 -2
  34. package/dist/dockview-core.min.noStyle.js.map +1 -1
  35. package/dist/dockview-core.noStyle.js +61 -14
  36. package/dist/dockview-core.noStyle.js.map +1 -1
  37. package/dist/esm/api/component.api.d.ts +1 -0
  38. package/dist/esm/api/component.api.js +3 -0
  39. package/dist/esm/dockview/components/tab/tab.d.ts +1 -0
  40. package/dist/esm/dockview/components/tab/tab.js +4 -1
  41. package/dist/esm/dockview/components/titlebar/tabs.d.ts +1 -0
  42. package/dist/esm/dockview/components/titlebar/tabs.js +5 -0
  43. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +2 -0
  44. package/dist/esm/dockview/components/titlebar/tabsContainer.js +4 -0
  45. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +1 -0
  46. package/dist/esm/dockview/components/titlebar/voidContainer.js +4 -1
  47. package/dist/esm/dockview/dockviewComponent.d.ts +4 -0
  48. package/dist/esm/dockview/dockviewComponent.js +37 -11
  49. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +10 -8
  50. package/dist/esm/dockview/dockviewGroupPanelModel.js +3 -0
  51. package/package.json +1 -1
@@ -419,6 +419,7 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
419
419
  get onUnhandledDragOverEvent(): Event<DockviewDndOverlayEvent>;
420
420
  get onDidPopoutGroupSizeChange(): Event<PopoutGroupChangeSizeEvent>;
421
421
  get onDidPopoutGroupPositionChange(): Event<PopoutGroupChangePositionEvent>;
422
+ get onDidOpenPopoutWindowFail(): Event<void>;
422
423
  /**
423
424
  * All panel objects.
424
425
  */
@@ -831,6 +831,13 @@ var DockviewApi = /** @class */ (function () {
831
831
  enumerable: false,
832
832
  configurable: true
833
833
  });
834
+ Object.defineProperty(DockviewApi.prototype, "onDidOpenPopoutWindowFail", {
835
+ get: function () {
836
+ return this.component.onDidOpenPopoutWindowFail;
837
+ },
838
+ enumerable: false,
839
+ configurable: true
840
+ });
834
841
  Object.defineProperty(DockviewApi.prototype, "panels", {
835
842
  /**
836
843
  * All panel objects.
@@ -23,5 +23,6 @@ export declare class Tab extends CompositeDisposable {
23
23
  constructor(panel: IDockviewPanel, accessor: DockviewComponent, group: DockviewGroupPanel);
24
24
  setActive(isActive: boolean): void;
25
25
  setContent(part: ITabRenderer): void;
26
+ updateDragAndDropState(): void;
26
27
  dispose(): void;
27
28
  }
@@ -61,7 +61,7 @@ var Tab = /** @class */ (function (_super) {
61
61
  _this._element = document.createElement('div');
62
62
  _this._element.className = 'dv-tab';
63
63
  _this._element.tabIndex = 0;
64
- _this._element.draggable = true;
64
+ _this._element.draggable = !_this.accessor.options.disableDnd;
65
65
  (0, dom_1.toggleClass)(_this.element, 'dv-inactive-tab', true);
66
66
  var dragHandler = new TabDragHandler(_this._element, _this.accessor, _this.group, _this.panel);
67
67
  _this.dropTarget = new droptarget_1.Droptarget(_this._element, {
@@ -119,6 +119,9 @@ var Tab = /** @class */ (function (_super) {
119
119
  this.content = part;
120
120
  this._element.appendChild(this.content.element);
121
121
  };
122
+ Tab.prototype.updateDragAndDropState = function () {
123
+ this._element.draggable = !this.accessor.options.disableDnd;
124
+ };
122
125
  Tab.prototype.dispose = function () {
123
126
  _super.prototype.dispose.call(this);
124
127
  };
@@ -42,4 +42,5 @@ export declare class Tabs extends CompositeDisposable {
42
42
  delete(id: string): void;
43
43
  private addTab;
44
44
  private toggleDropdown;
45
+ updateDragAndDropState(): void;
45
46
  }
@@ -289,6 +289,22 @@ var Tabs = /** @class */ (function (_super) {
289
289
  .map(function (x) { return x.value.panel.id; });
290
290
  this._onOverflowTabsChange.fire({ tabs: tabs, reset: options.reset });
291
291
  };
292
+ Tabs.prototype.updateDragAndDropState = function () {
293
+ var e_3, _a;
294
+ try {
295
+ for (var _b = __values(this._tabs), _c = _b.next(); !_c.done; _c = _b.next()) {
296
+ var tab = _c.value;
297
+ tab.value.updateDragAndDropState();
298
+ }
299
+ }
300
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
301
+ finally {
302
+ try {
303
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
304
+ }
305
+ finally { if (e_3) throw e_3.error; }
306
+ }
307
+ };
292
308
  return Tabs;
293
309
  }(lifecycle_1.CompositeDisposable));
294
310
  exports.Tabs = Tabs;
@@ -38,6 +38,7 @@ export interface ITabsContainer extends IDisposable {
38
38
  setPrefixActionsElement(element: HTMLElement | undefined): void;
39
39
  show(): void;
40
40
  hide(): void;
41
+ updateDragAndDropState(): void;
41
42
  }
42
43
  export declare class TabsContainer extends CompositeDisposable implements ITabsContainer {
43
44
  private readonly accessor;
@@ -82,4 +83,5 @@ export declare class TabsContainer extends CompositeDisposable implements ITabsC
82
83
  closePanel(panel: IDockviewPanel): void;
83
84
  private updateClassnames;
84
85
  private toggleDropdown;
86
+ updateDragAndDropState(): void;
85
87
  }
@@ -297,6 +297,10 @@ var TabsContainer = /** @class */ (function (_super) {
297
297
  });
298
298
  }));
299
299
  };
300
+ TabsContainer.prototype.updateDragAndDropState = function () {
301
+ this.tabs.updateDragAndDropState();
302
+ this.voidContainer.updateDragAndDropState();
303
+ };
300
304
  return TabsContainer;
301
305
  }(lifecycle_1.CompositeDisposable));
302
306
  exports.TabsContainer = TabsContainer;
@@ -15,4 +15,5 @@ export declare class VoidContainer extends CompositeDisposable {
15
15
  readonly onWillShowOverlay: Event<WillShowOverlayEvent>;
16
16
  get element(): HTMLElement;
17
17
  constructor(accessor: DockviewComponent, group: DockviewGroupPanel);
18
+ updateDragAndDropState(): void;
18
19
  }
@@ -33,7 +33,7 @@ var VoidContainer = /** @class */ (function (_super) {
33
33
  _this.onDragStart = _this._onDragStart.event;
34
34
  _this._element = document.createElement('div');
35
35
  _this._element.className = 'dv-void-container';
36
- _this._element.draggable = true;
36
+ _this._element.draggable = !_this.accessor.options.disableDnd;
37
37
  _this.addDisposables(_this._onDrop, _this._onDragStart, (0, events_1.addDisposableListener)(_this._element, 'pointerdown', function () {
38
38
  _this.accessor.doSetGroupActive(_this.group);
39
39
  }));
@@ -64,6 +64,9 @@ var VoidContainer = /** @class */ (function (_super) {
64
64
  enumerable: false,
65
65
  configurable: true
66
66
  });
67
+ VoidContainer.prototype.updateDragAndDropState = function () {
68
+ this._element.draggable = !this.accessor.options.disableDnd;
69
+ };
67
70
  return VoidContainer;
68
71
  }(lifecycle_1.CompositeDisposable));
69
72
  exports.VoidContainer = VoidContainer;
@@ -140,6 +140,7 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
140
140
  readonly onDidMaximizedGroupChange: Event<DockviewMaximizedGroupChanged>;
141
141
  readonly onDidPopoutGroupSizeChange: Event<PopoutGroupChangeSizeEvent>;
142
142
  readonly onDidPopoutGroupPositionChange: Event<PopoutGroupChangePositionEvent>;
143
+ readonly onDidOpenPopoutWindowFail: Event<void>;
143
144
  readonly options: DockviewComponentOptions;
144
145
  updateOptions(options: DockviewOptions): void;
145
146
  moveGroupOrPanel(options: MoveGroupOrPanelOptions): void;
@@ -202,6 +203,8 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
202
203
  readonly onDidPopoutGroupSizeChange: Event<PopoutGroupChangeSizeEvent>;
203
204
  private readonly _onDidPopoutGroupPositionChange;
204
205
  readonly onDidPopoutGroupPositionChange: Event<PopoutGroupChangePositionEvent>;
206
+ private readonly _onDidOpenPopoutWindowFail;
207
+ readonly onDidOpenPopoutWindowFail: Event<void>;
205
208
  private readonly _onDidLayoutFromJSON;
206
209
  readonly onDidLayoutFromJSON: Event<void>;
207
210
  private readonly _onDidActivePanelChange;
@@ -236,6 +239,7 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
236
239
  private orthogonalize;
237
240
  updateOptions(options: Partial<DockviewComponentOptions>): void;
238
241
  layout(width: number, height: number, forceResize?: boolean | undefined): void;
242
+ private updateDragAndDropState;
239
243
  focus(): void;
240
244
  getGroupPanel(id: string): IDockviewPanel | undefined;
241
245
  setActivePanel(panel: IDockviewPanel): void;
@@ -146,6 +146,8 @@ var DockviewComponent = /** @class */ (function (_super) {
146
146
  _this.onDidPopoutGroupSizeChange = _this._onDidPopoutGroupSizeChange.event;
147
147
  _this._onDidPopoutGroupPositionChange = new events_1.Emitter();
148
148
  _this.onDidPopoutGroupPositionChange = _this._onDidPopoutGroupPositionChange.event;
149
+ _this._onDidOpenPopoutWindowFail = new events_1.Emitter();
150
+ _this.onDidOpenPopoutWindowFail = _this._onDidOpenPopoutWindowFail.event;
149
151
  _this._onDidLayoutFromJSON = new events_1.Emitter();
150
152
  _this.onDidLayoutFromJSON = _this._onDidLayoutFromJSON.event;
151
153
  _this._onDidActivePanelChange = new events_1.Emitter({ replay: true });
@@ -210,7 +212,7 @@ var DockviewComponent = /** @class */ (function (_super) {
210
212
  if (options.debug) {
211
213
  _this.addDisposables(new strictEventsSequencing_1.StrictEventsSequencing(_this));
212
214
  }
213
- _this.addDisposables(_this.rootDropTargetContainer, _this.overlayRenderContainer, _this._onWillDragPanel, _this._onWillDragGroup, _this._onWillShowOverlay, _this._onDidActivePanelChange, _this._onDidAddPanel, _this._onDidRemovePanel, _this._onDidLayoutFromJSON, _this._onDidDrop, _this._onWillDrop, _this._onDidMovePanel, _this._onDidAddGroup, _this._onDidRemoveGroup, _this._onDidActiveGroupChange, _this._onUnhandledDragOverEvent, _this._onDidMaximizedGroupChange, _this._onDidOptionsChange, _this._onDidPopoutGroupSizeChange, _this._onDidPopoutGroupPositionChange, _this.onDidViewVisibilityChangeMicroTaskQueue(function () {
215
+ _this.addDisposables(_this.rootDropTargetContainer, _this.overlayRenderContainer, _this._onWillDragPanel, _this._onWillDragGroup, _this._onWillShowOverlay, _this._onDidActivePanelChange, _this._onDidAddPanel, _this._onDidRemovePanel, _this._onDidLayoutFromJSON, _this._onDidDrop, _this._onWillDrop, _this._onDidMovePanel, _this._onDidAddGroup, _this._onDidRemoveGroup, _this._onDidActiveGroupChange, _this._onUnhandledDragOverEvent, _this._onDidMaximizedGroupChange, _this._onDidOptionsChange, _this._onDidPopoutGroupSizeChange, _this._onDidPopoutGroupPositionChange, _this._onDidOpenPopoutWindowFail, _this.onDidViewVisibilityChangeMicroTaskQueue(function () {
214
216
  _this.updateWatermark();
215
217
  }), _this.onDidAdd(function (event) {
216
218
  if (!_this._moving) {
@@ -440,13 +442,6 @@ var DockviewComponent = /** @class */ (function (_super) {
440
442
  if (_window.isDisposed) {
441
443
  return false;
442
444
  }
443
- if (popoutContainer === null) {
444
- popoutWindowDisposable.dispose();
445
- return false;
446
- }
447
- var gready = document.createElement('div');
448
- gready.className = 'dv-overlay-render-container';
449
- var overlayRenderContainer = new overlayRenderContainer_1.OverlayRenderContainer(gready, _this);
450
445
  var referenceGroup = (options === null || options === void 0 ? void 0 : options.referenceGroup)
451
446
  ? options.referenceGroup
452
447
  : itemToPopout instanceof dockviewPanel_1.DockviewPanel
@@ -454,7 +449,7 @@ var DockviewComponent = /** @class */ (function (_super) {
454
449
  : itemToPopout;
455
450
  var referenceLocation = itemToPopout.api.location.type;
456
451
  /**
457
- * The group that is being added doesn't already exist within the DOM, the most likely occurance
452
+ * The group that is being added doesn't already exist within the DOM, the most likely occurrence
458
453
  * of this case is when being called from the `fromJSON(...)` method
459
454
  */
460
455
  var isGroupAddedToDom = referenceGroup.element.parentElement !== null;
@@ -467,8 +462,30 @@ var DockviewComponent = /** @class */ (function (_super) {
467
462
  }
468
463
  else {
469
464
  group = _this.createGroup({ id: groupId });
470
- _this._onDidAddGroup.fire(group);
465
+ if (popoutContainer) {
466
+ _this._onDidAddGroup.fire(group);
467
+ }
471
468
  }
469
+ if (popoutContainer === null) {
470
+ console.error('dockview: failed to create popout. perhaps you need to allow pop-ups for this website');
471
+ popoutWindowDisposable.dispose();
472
+ _this._onDidOpenPopoutWindowFail.fire();
473
+ // if the popout window was blocked, we need to move the group back to the reference group
474
+ // and set it to visible
475
+ _this.movingLock(function () {
476
+ return moveGroupWithoutDestroying({
477
+ from: group,
478
+ to: referenceGroup,
479
+ });
480
+ });
481
+ if (!referenceGroup.api.isVisible) {
482
+ referenceGroup.api.setVisible(true);
483
+ }
484
+ return false;
485
+ }
486
+ var gready = document.createElement('div');
487
+ gready.className = 'dv-overlay-render-container';
488
+ var overlayRenderContainer = new overlayRenderContainer_1.OverlayRenderContainer(gready, _this);
472
489
  group.model.renderContainer = overlayRenderContainer;
473
490
  group.layout(_window.window.innerWidth, _window.window.innerHeight);
474
491
  var floatingBox;
@@ -631,7 +648,7 @@ var DockviewComponent = /** @class */ (function (_super) {
631
648
  return true;
632
649
  })
633
650
  .catch(function (err) {
634
- console.error('dockview: failed to create popout window', err);
651
+ console.error('dockview: failed to create popout.', err);
635
652
  return false;
636
653
  });
637
654
  };
@@ -858,7 +875,12 @@ var DockviewComponent = /** @class */ (function (_super) {
858
875
  }
859
876
  }
860
877
  this.updateDropTargetModel(options);
878
+ var oldDisableDnd = this.options.disableDnd;
861
879
  this._options = __assign(__assign({}, this.options), options);
880
+ var newDisableDnd = this.options.disableDnd;
881
+ if (oldDisableDnd !== newDisableDnd) {
882
+ this.updateDragAndDropState();
883
+ }
862
884
  if ('theme' in options) {
863
885
  this.updateTheme();
864
886
  }
@@ -884,6 +906,23 @@ var DockviewComponent = /** @class */ (function (_super) {
884
906
  }
885
907
  }
886
908
  };
909
+ DockviewComponent.prototype.updateDragAndDropState = function () {
910
+ var e_5, _a;
911
+ try {
912
+ // Update draggable state for all tabs and void containers
913
+ for (var _b = __values(this.groups), _c = _b.next(); !_c.done; _c = _b.next()) {
914
+ var group = _c.value;
915
+ group.model.updateDragAndDropState();
916
+ }
917
+ }
918
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
919
+ finally {
920
+ try {
921
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
922
+ }
923
+ finally { if (e_5) throw e_5.error; }
924
+ }
925
+ };
887
926
  DockviewComponent.prototype.focus = function () {
888
927
  var _a;
889
928
  (_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.focus();
@@ -978,7 +1017,7 @@ var DockviewComponent = /** @class */ (function (_super) {
978
1017
  return result;
979
1018
  };
980
1019
  DockviewComponent.prototype.fromJSON = function (data) {
981
- var e_5, _a, e_6, _b, e_7, _c, e_8, _d, e_9, _e, e_10, _f, e_11, _g;
1020
+ var e_6, _a, e_7, _b, e_8, _c, e_9, _d, e_10, _e, e_11, _f, e_12, _g;
982
1021
  var _this = this;
983
1022
  var _h, _j;
984
1023
  this.clear();
@@ -994,7 +1033,7 @@ var DockviewComponent = /** @class */ (function (_super) {
994
1033
  var width = this.width;
995
1034
  var height = this.height;
996
1035
  var createGroupFromSerializedState_1 = function (data) {
997
- var e_12, _a;
1036
+ var e_13, _a;
998
1037
  var id = data.id, locked = data.locked, hideHeader = data.hideHeader, views = data.views, activeView = data.activeView;
999
1038
  if (typeof id !== 'string') {
1000
1039
  throw new Error('group id must be of type string');
@@ -1018,12 +1057,12 @@ var DockviewComponent = /** @class */ (function (_super) {
1018
1057
  createdPanels.push(panel);
1019
1058
  }
1020
1059
  }
1021
- catch (e_12_1) { e_12 = { error: e_12_1 }; }
1060
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
1022
1061
  finally {
1023
1062
  try {
1024
1063
  if (views_1_1 && !views_1_1.done && (_a = views_1.return)) _a.call(views_1);
1025
1064
  }
1026
- finally { if (e_12) throw e_12.error; }
1065
+ finally { if (e_13) throw e_13.error; }
1027
1066
  }
1028
1067
  for (var i = 0; i < views.length; i++) {
1029
1068
  var panel = createdPanels[i];
@@ -1062,12 +1101,12 @@ var DockviewComponent = /** @class */ (function (_super) {
1062
1101
  });
1063
1102
  }
1064
1103
  }
1065
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
1104
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
1066
1105
  finally {
1067
1106
  try {
1068
1107
  if (serializedFloatingGroups_1_1 && !serializedFloatingGroups_1_1.done && (_a = serializedFloatingGroups_1.return)) _a.call(serializedFloatingGroups_1);
1069
1108
  }
1070
- finally { if (e_5) throw e_5.error; }
1109
+ finally { if (e_6) throw e_6.error; }
1071
1110
  }
1072
1111
  var serializedPopoutGroups = (_j = data.popoutGroups) !== null && _j !== void 0 ? _j : [];
1073
1112
  try {
@@ -1085,12 +1124,12 @@ var DockviewComponent = /** @class */ (function (_super) {
1085
1124
  });
1086
1125
  }
1087
1126
  }
1088
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
1127
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
1089
1128
  finally {
1090
1129
  try {
1091
1130
  if (serializedPopoutGroups_1_1 && !serializedPopoutGroups_1_1.done && (_b = serializedPopoutGroups_1.return)) _b.call(serializedPopoutGroups_1);
1092
1131
  }
1093
- finally { if (e_6) throw e_6.error; }
1132
+ finally { if (e_7) throw e_7.error; }
1094
1133
  }
1095
1134
  try {
1096
1135
  for (var _k = __values(this._floatingGroups), _l = _k.next(); !_l.done; _l = _k.next()) {
@@ -1098,12 +1137,12 @@ var DockviewComponent = /** @class */ (function (_super) {
1098
1137
  floatingGroup.overlay.setBounds();
1099
1138
  }
1100
1139
  }
1101
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
1140
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
1102
1141
  finally {
1103
1142
  try {
1104
1143
  if (_l && !_l.done && (_c = _k.return)) _c.call(_k);
1105
1144
  }
1106
- finally { if (e_7) throw e_7.error; }
1145
+ finally { if (e_8) throw e_8.error; }
1107
1146
  }
1108
1147
  if (typeof activeGroup === 'string') {
1109
1148
  var panel = this.getPanel(activeGroup);
@@ -1121,7 +1160,7 @@ var DockviewComponent = /** @class */ (function (_super) {
1121
1160
  for (var _m = __values(this.groups), _o = _m.next(); !_o.done; _o = _m.next()) {
1122
1161
  var group = _o.value;
1123
1162
  try {
1124
- for (var _p = (e_9 = void 0, __values(group.panels)), _q = _p.next(); !_q.done; _q = _p.next()) {
1163
+ for (var _p = (e_10 = void 0, __values(group.panels)), _q = _p.next(); !_q.done; _q = _p.next()) {
1125
1164
  var panel = _q.value;
1126
1165
  this.removePanel(panel, {
1127
1166
  removeEmptyGroup: false,
@@ -1129,21 +1168,21 @@ var DockviewComponent = /** @class */ (function (_super) {
1129
1168
  });
1130
1169
  }
1131
1170
  }
1132
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
1171
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
1133
1172
  finally {
1134
1173
  try {
1135
1174
  if (_q && !_q.done && (_e = _p.return)) _e.call(_p);
1136
1175
  }
1137
- finally { if (e_9) throw e_9.error; }
1176
+ finally { if (e_10) throw e_10.error; }
1138
1177
  }
1139
1178
  }
1140
1179
  }
1141
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
1180
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
1142
1181
  finally {
1143
1182
  try {
1144
1183
  if (_o && !_o.done && (_d = _m.return)) _d.call(_m);
1145
1184
  }
1146
- finally { if (e_8) throw e_8.error; }
1185
+ finally { if (e_9) throw e_9.error; }
1147
1186
  }
1148
1187
  try {
1149
1188
  /**
@@ -1157,12 +1196,12 @@ var DockviewComponent = /** @class */ (function (_super) {
1157
1196
  this._onDidRemoveGroup.fire(group);
1158
1197
  }
1159
1198
  }
1160
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
1199
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
1161
1200
  finally {
1162
1201
  try {
1163
1202
  if (_s && !_s.done && (_f = _r.return)) _f.call(_r);
1164
1203
  }
1165
- finally { if (e_10) throw e_10.error; }
1204
+ finally { if (e_11) throw e_11.error; }
1166
1205
  }
1167
1206
  try {
1168
1207
  // iterate over a reassigned array since original array will be modified
@@ -1171,12 +1210,12 @@ var DockviewComponent = /** @class */ (function (_super) {
1171
1210
  floatingGroup.dispose();
1172
1211
  }
1173
1212
  }
1174
- catch (e_11_1) { e_11 = { error: e_11_1 }; }
1213
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
1175
1214
  finally {
1176
1215
  try {
1177
1216
  if (_u && !_u.done && (_g = _t.return)) _g.call(_t);
1178
1217
  }
1179
- finally { if (e_11) throw e_11.error; }
1218
+ finally { if (e_12) throw e_12.error; }
1180
1219
  }
1181
1220
  // fires clean-up events and clears the underlying HTML gridview.
1182
1221
  this.clear();
@@ -1191,7 +1230,7 @@ var DockviewComponent = /** @class */ (function (_super) {
1191
1230
  this._onDidLayoutFromJSON.fire();
1192
1231
  };
1193
1232
  DockviewComponent.prototype.clear = function () {
1194
- var e_13, _a;
1233
+ var e_14, _a;
1195
1234
  var groups = Array.from(this._groups.values()).map(function (_) { return _.value; });
1196
1235
  var hasActiveGroup = !!this.activeGroup;
1197
1236
  try {
@@ -1201,12 +1240,12 @@ var DockviewComponent = /** @class */ (function (_super) {
1201
1240
  this.removeGroup(group, { skipActive: true });
1202
1241
  }
1203
1242
  }
1204
- catch (e_13_1) { e_13 = { error: e_13_1 }; }
1243
+ catch (e_14_1) { e_14 = { error: e_14_1 }; }
1205
1244
  finally {
1206
1245
  try {
1207
1246
  if (groups_1_1 && !groups_1_1.done && (_a = groups_1.return)) _a.call(groups_1);
1208
1247
  }
1209
- finally { if (e_13) throw e_13.error; }
1248
+ finally { if (e_14) throw e_14.error; }
1210
1249
  }
1211
1250
  if (hasActiveGroup) {
1212
1251
  this.doSetGroupAndPanelActive(undefined);
@@ -1214,7 +1253,7 @@ var DockviewComponent = /** @class */ (function (_super) {
1214
1253
  this.gridview.clear();
1215
1254
  };
1216
1255
  DockviewComponent.prototype.closeAllGroups = function () {
1217
- var e_14, _a;
1256
+ var e_15, _a;
1218
1257
  try {
1219
1258
  for (var _b = __values(this._groups.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
1220
1259
  var entry = _c.value;
@@ -1222,12 +1261,12 @@ var DockviewComponent = /** @class */ (function (_super) {
1222
1261
  group.value.model.closeAllPanels();
1223
1262
  }
1224
1263
  }
1225
- catch (e_14_1) { e_14 = { error: e_14_1 }; }
1264
+ catch (e_15_1) { e_15 = { error: e_15_1 }; }
1226
1265
  finally {
1227
1266
  try {
1228
1267
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1229
1268
  }
1230
- finally { if (e_14) throw e_14.error; }
1269
+ finally { if (e_15) throw e_15.error; }
1231
1270
  }
1232
1271
  };
1233
1272
  DockviewComponent.prototype.addPanel = function (options) {
@@ -1478,7 +1517,7 @@ var DockviewComponent = /** @class */ (function (_super) {
1478
1517
  this.doRemoveGroup(group, options);
1479
1518
  };
1480
1519
  DockviewComponent.prototype.doRemoveGroup = function (group, options) {
1481
- var e_15, _a;
1520
+ var e_16, _a;
1482
1521
  var _b;
1483
1522
  var panels = __spreadArray([], __read(group.panels), false); // reassign since group panels will mutate
1484
1523
  if (!(options === null || options === void 0 ? void 0 : options.skipDispose)) {
@@ -1491,12 +1530,12 @@ var DockviewComponent = /** @class */ (function (_super) {
1491
1530
  });
1492
1531
  }
1493
1532
  }
1494
- catch (e_15_1) { e_15 = { error: e_15_1 }; }
1533
+ catch (e_16_1) { e_16 = { error: e_16_1 }; }
1495
1534
  finally {
1496
1535
  try {
1497
1536
  if (panels_1_1 && !panels_1_1.done && (_a = panels_1.return)) _a.call(panels_1);
1498
1537
  }
1499
- finally { if (e_15) throw e_15.error; }
1538
+ finally { if (e_16) throw e_16.error; }
1500
1539
  }
1501
1540
  }
1502
1541
  var activePanel = this.activePanel;
@@ -1742,7 +1781,7 @@ var DockviewComponent = /** @class */ (function (_super) {
1742
1781
  this.doRemoveGroup(from, { skipActive: true });
1743
1782
  }
1744
1783
  this.movingLock(function () {
1745
- var e_16, _a;
1784
+ var e_17, _a;
1746
1785
  try {
1747
1786
  for (var panels_3 = __values(panels_2), panels_3_1 = panels_3.next(); !panels_3_1.done; panels_3_1 = panels_3.next()) {
1748
1787
  var panel = panels_3_1.value;
@@ -1752,12 +1791,12 @@ var DockviewComponent = /** @class */ (function (_super) {
1752
1791
  });
1753
1792
  }
1754
1793
  }
1755
- catch (e_16_1) { e_16 = { error: e_16_1 }; }
1794
+ catch (e_17_1) { e_17 = { error: e_17_1 }; }
1756
1795
  finally {
1757
1796
  try {
1758
1797
  if (panels_3_1 && !panels_3_1.done && (_a = panels_3.return)) _a.call(panels_3);
1759
1798
  }
1760
- finally { if (e_16) throw e_16.error; }
1799
+ finally { if (e_17) throw e_17.error; }
1761
1800
  }
1762
1801
  });
1763
1802
  this.doSetGroupAndPanelActive(to);
@@ -123,9 +123,16 @@ export type DockviewGroupLocation = {
123
123
  getWindow: () => Window;
124
124
  popoutUrl?: string;
125
125
  };
126
+ export interface WillShowOverlayLocationEventOptions {
127
+ readonly kind: DockviewGroupDropLocation;
128
+ readonly panel: IDockviewPanel | undefined;
129
+ readonly api: DockviewApi;
130
+ readonly group: DockviewGroupPanel | undefined;
131
+ getData: () => PanelTransfer | undefined;
132
+ }
126
133
  export declare class WillShowOverlayLocationEvent implements IDockviewEvent {
127
134
  private readonly event;
128
- private readonly options;
135
+ readonly options: WillShowOverlayLocationEventOptions;
129
136
  get kind(): DockviewGroupDropLocation;
130
137
  get nativeEvent(): DragEvent;
131
138
  get position(): Position;
@@ -135,13 +142,7 @@ export declare class WillShowOverlayLocationEvent implements IDockviewEvent {
135
142
  get group(): DockviewGroupPanel | undefined;
136
143
  preventDefault(): void;
137
144
  getData(): PanelTransfer | undefined;
138
- constructor(event: WillShowOverlayEvent, options: {
139
- kind: DockviewGroupDropLocation;
140
- panel: IDockviewPanel | undefined;
141
- api: DockviewApi;
142
- group: DockviewGroupPanel | undefined;
143
- getData: () => PanelTransfer | undefined;
144
- });
145
+ constructor(event: WillShowOverlayEvent, options: WillShowOverlayLocationEventOptions);
145
146
  }
146
147
  export declare class DockviewGroupPanelModel extends CompositeDisposable implements IDockviewGroupPanelModel {
147
148
  private readonly container;
@@ -252,6 +253,7 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
252
253
  private updateContainer;
253
254
  canDisplayOverlay(event: DragEvent, position: Position, target: DockviewGroupDropLocation): boolean;
254
255
  private handleDropEvent;
256
+ updateDragAndDropState(): void;
255
257
  dispose(): void;
256
258
  }
257
259
  export {};
@@ -842,6 +842,9 @@ var DockviewGroupPanelModel = /** @class */ (function (_super) {
842
842
  }));
843
843
  }
844
844
  };
845
+ DockviewGroupPanelModel.prototype.updateDragAndDropState = function () {
846
+ this.tabsContainer.updateDragAndDropState();
847
+ };
845
848
  DockviewGroupPanelModel.prototype.dispose = function () {
846
849
  var e_2, _a;
847
850
  var _b, _c, _d;