dockview-core 4.4.0 → 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 (47) hide show
  1. package/dist/cjs/dockview/components/tab/tab.d.ts +1 -0
  2. package/dist/cjs/dockview/components/tab/tab.js +4 -1
  3. package/dist/cjs/dockview/components/titlebar/tabs.d.ts +1 -0
  4. package/dist/cjs/dockview/components/titlebar/tabs.js +16 -0
  5. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +2 -0
  6. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +4 -0
  7. package/dist/cjs/dockview/components/titlebar/voidContainer.d.ts +1 -0
  8. package/dist/cjs/dockview/components/titlebar/voidContainer.js +4 -1
  9. package/dist/cjs/dockview/dockviewComponent.d.ts +1 -0
  10. package/dist/cjs/dockview/dockviewComponent.js +53 -31
  11. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +10 -8
  12. package/dist/cjs/dockview/dockviewGroupPanelModel.js +3 -0
  13. package/dist/dockview-core.amd.js +32 -3
  14. package/dist/dockview-core.amd.js.map +1 -1
  15. package/dist/dockview-core.amd.min.js +2 -2
  16. package/dist/dockview-core.amd.min.js.map +1 -1
  17. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  18. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  19. package/dist/dockview-core.amd.noStyle.js +32 -3
  20. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  21. package/dist/dockview-core.cjs.js +32 -3
  22. package/dist/dockview-core.cjs.js.map +1 -1
  23. package/dist/dockview-core.esm.js +32 -3
  24. package/dist/dockview-core.esm.js.map +1 -1
  25. package/dist/dockview-core.esm.min.js +2 -2
  26. package/dist/dockview-core.esm.min.js.map +1 -1
  27. package/dist/dockview-core.js +32 -3
  28. package/dist/dockview-core.js.map +1 -1
  29. package/dist/dockview-core.min.js +2 -2
  30. package/dist/dockview-core.min.js.map +1 -1
  31. package/dist/dockview-core.min.noStyle.js +2 -2
  32. package/dist/dockview-core.min.noStyle.js.map +1 -1
  33. package/dist/dockview-core.noStyle.js +32 -3
  34. package/dist/dockview-core.noStyle.js.map +1 -1
  35. package/dist/esm/dockview/components/tab/tab.d.ts +1 -0
  36. package/dist/esm/dockview/components/tab/tab.js +4 -1
  37. package/dist/esm/dockview/components/titlebar/tabs.d.ts +1 -0
  38. package/dist/esm/dockview/components/titlebar/tabs.js +5 -0
  39. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +2 -0
  40. package/dist/esm/dockview/components/titlebar/tabsContainer.js +4 -0
  41. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +1 -0
  42. package/dist/esm/dockview/components/titlebar/voidContainer.js +4 -1
  43. package/dist/esm/dockview/dockviewComponent.d.ts +1 -0
  44. package/dist/esm/dockview/dockviewComponent.js +11 -0
  45. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +10 -8
  46. package/dist/esm/dockview/dockviewGroupPanelModel.js +3 -0
  47. package/package.json +1 -1
@@ -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
  }
@@ -41,7 +41,7 @@ export class Tab extends CompositeDisposable {
41
41
  this._element = document.createElement('div');
42
42
  this._element.className = 'dv-tab';
43
43
  this._element.tabIndex = 0;
44
- this._element.draggable = true;
44
+ this._element.draggable = !this.accessor.options.disableDnd;
45
45
  toggleClass(this.element, 'dv-inactive-tab', true);
46
46
  const dragHandler = new TabDragHandler(this._element, this.accessor, this.group, this.panel);
47
47
  this.dropTarget = new Droptarget(this._element, {
@@ -89,6 +89,9 @@ export class Tab extends CompositeDisposable {
89
89
  this.content = part;
90
90
  this._element.appendChild(this.content.element);
91
91
  }
92
+ updateDragAndDropState() {
93
+ this._element.draggable = !this.accessor.options.disableDnd;
94
+ }
92
95
  dispose() {
93
96
  super.dispose();
94
97
  }
@@ -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
  }
@@ -186,4 +186,9 @@ export class Tabs extends CompositeDisposable {
186
186
  .map((x) => x.value.panel.id);
187
187
  this._onOverflowTabsChange.fire({ tabs, reset: options.reset });
188
188
  }
189
+ updateDragAndDropState() {
190
+ for (const tab of this._tabs) {
191
+ tab.value.updateDragAndDropState();
192
+ }
193
+ }
189
194
  }
@@ -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
  }
@@ -228,4 +228,8 @@ export class TabsContainer extends CompositeDisposable {
228
228
  });
229
229
  }));
230
230
  }
231
+ updateDragAndDropState() {
232
+ this.tabs.updateDragAndDropState();
233
+ this.voidContainer.updateDragAndDropState();
234
+ }
231
235
  }
@@ -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
  }
@@ -17,7 +17,7 @@ export class VoidContainer extends CompositeDisposable {
17
17
  this.onDragStart = this._onDragStart.event;
18
18
  this._element = document.createElement('div');
19
19
  this._element.className = 'dv-void-container';
20
- this._element.draggable = true;
20
+ this._element.draggable = !this.accessor.options.disableDnd;
21
21
  this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
22
22
  this.accessor.doSetGroupActive(this.group);
23
23
  }));
@@ -40,4 +40,7 @@ export class VoidContainer extends CompositeDisposable {
40
40
  this._onDrop.fire(event);
41
41
  }), this.dropTarget);
42
42
  }
43
+ updateDragAndDropState() {
44
+ this._element.draggable = !this.accessor.options.disableDnd;
45
+ }
43
46
  }
@@ -239,6 +239,7 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
239
239
  private orthogonalize;
240
240
  updateOptions(options: Partial<DockviewComponentOptions>): void;
241
241
  layout(width: number, height: number, forceResize?: boolean | undefined): void;
242
+ private updateDragAndDropState;
242
243
  focus(): void;
243
244
  getGroupPanel(id: string): IDockviewPanel | undefined;
244
245
  setActivePanel(panel: IDockviewPanel): void;
@@ -728,7 +728,12 @@ export class DockviewComponent extends BaseGrid {
728
728
  }
729
729
  }
730
730
  this.updateDropTargetModel(options);
731
+ const oldDisableDnd = this.options.disableDnd;
731
732
  this._options = Object.assign(Object.assign({}, this.options), options);
733
+ const newDisableDnd = this.options.disableDnd;
734
+ if (oldDisableDnd !== newDisableDnd) {
735
+ this.updateDragAndDropState();
736
+ }
732
737
  if ('theme' in options) {
733
738
  this.updateTheme();
734
739
  }
@@ -743,6 +748,12 @@ export class DockviewComponent extends BaseGrid {
743
748
  }
744
749
  }
745
750
  }
751
+ updateDragAndDropState() {
752
+ // Update draggable state for all tabs and void containers
753
+ for (const group of this.groups) {
754
+ group.model.updateDragAndDropState();
755
+ }
756
+ }
746
757
  focus() {
747
758
  var _a;
748
759
  (_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.focus();
@@ -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 {};
@@ -648,6 +648,9 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
648
648
  }));
649
649
  }
650
650
  }
651
+ updateDragAndDropState() {
652
+ this.tabsContainer.updateDragAndDropState();
653
+ }
651
654
  dispose() {
652
655
  var _a, _b, _c;
653
656
  super.dispose();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dockview-core",
3
- "version": "4.4.0",
3
+ "version": "4.4.1",
4
4
  "description": "Zero dependency layout manager supporting tabs, grids and splitviews",
5
5
  "keywords": [
6
6
  "splitview",