dockview-core 1.7.5 → 1.8.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 (220) hide show
  1. package/README.md +2 -1
  2. package/dist/cjs/api/component.api.d.ts +6 -1
  3. package/dist/cjs/api/component.api.d.ts.map +1 -1
  4. package/dist/cjs/api/component.api.js +6 -0
  5. package/dist/cjs/api/component.api.js.map +1 -1
  6. package/dist/cjs/api/dockviewGroupPanelApi.d.ts +30 -0
  7. package/dist/cjs/api/dockviewGroupPanelApi.d.ts.map +1 -0
  8. package/dist/cjs/api/dockviewGroupPanelApi.js +54 -0
  9. package/dist/cjs/api/dockviewGroupPanelApi.js.map +1 -0
  10. package/dist/cjs/api/dockviewPanelApi.d.ts +14 -1
  11. package/dist/cjs/api/dockviewPanelApi.d.ts.map +1 -1
  12. package/dist/cjs/api/dockviewPanelApi.js +6 -1
  13. package/dist/cjs/api/dockviewPanelApi.js.map +1 -1
  14. package/dist/cjs/array.d.ts +1 -0
  15. package/dist/cjs/array.d.ts.map +1 -1
  16. package/dist/cjs/array.js +10 -1
  17. package/dist/cjs/array.js.map +1 -1
  18. package/dist/cjs/dnd/abstractDragHandler.d.ts +1 -0
  19. package/dist/cjs/dnd/abstractDragHandler.d.ts.map +1 -1
  20. package/dist/cjs/dnd/abstractDragHandler.js +7 -0
  21. package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
  22. package/dist/cjs/dnd/droptarget.d.ts +11 -0
  23. package/dist/cjs/dnd/droptarget.d.ts.map +1 -1
  24. package/dist/cjs/dnd/droptarget.js +32 -9
  25. package/dist/cjs/dnd/droptarget.js.map +1 -1
  26. package/dist/cjs/dnd/groupDragHandler.d.ts +1 -0
  27. package/dist/cjs/dnd/groupDragHandler.d.ts.map +1 -1
  28. package/dist/cjs/dnd/groupDragHandler.js +18 -0
  29. package/dist/cjs/dnd/groupDragHandler.js.map +1 -1
  30. package/dist/cjs/dnd/overlay.d.ts +40 -0
  31. package/dist/cjs/dnd/overlay.d.ts.map +1 -0
  32. package/dist/cjs/dnd/overlay.js +382 -0
  33. package/dist/cjs/dnd/overlay.js.map +1 -0
  34. package/dist/cjs/dockview/components/tab/tab.d.ts +2 -2
  35. package/dist/cjs/dockview/components/tab/tab.d.ts.map +1 -1
  36. package/dist/cjs/dockview/components/tab/tab.js +0 -7
  37. package/dist/cjs/dockview/components/tab/tab.js.map +1 -1
  38. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +8 -4
  39. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts.map +1 -1
  40. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +54 -10
  41. package/dist/cjs/dockview/components/titlebar/tabsContainer.js.map +1 -1
  42. package/dist/cjs/dockview/deserializer.d.ts +2 -2
  43. package/dist/cjs/dockview/deserializer.d.ts.map +1 -1
  44. package/dist/cjs/dockview/deserializer.js.map +1 -1
  45. package/dist/cjs/dockview/dockviewComponent.d.ts +41 -9
  46. package/dist/cjs/dockview/dockviewComponent.d.ts.map +1 -1
  47. package/dist/cjs/dockview/dockviewComponent.js +277 -76
  48. package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
  49. package/dist/cjs/dockview/dockviewFloatingGroupPanel.d.ts +24 -0
  50. package/dist/cjs/dockview/dockviewFloatingGroupPanel.d.ts.map +1 -0
  51. package/dist/cjs/dockview/dockviewFloatingGroupPanel.js +35 -0
  52. package/dist/cjs/dockview/dockviewFloatingGroupPanel.js.map +1 -0
  53. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +5 -6
  54. package/dist/cjs/dockview/dockviewGroupPanel.d.ts.map +1 -1
  55. package/dist/cjs/dockview/dockviewGroupPanel.js +3 -2
  56. package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
  57. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +5 -1
  58. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts.map +1 -1
  59. package/dist/cjs/dockview/dockviewGroupPanelModel.js +43 -12
  60. package/dist/cjs/dockview/dockviewGroupPanelModel.js.map +1 -1
  61. package/dist/cjs/dockview/dockviewPanel.d.ts +2 -2
  62. package/dist/cjs/dockview/dockviewPanel.d.ts.map +1 -1
  63. package/dist/cjs/dockview/dockviewPanel.js +1 -1
  64. package/dist/cjs/dockview/dockviewPanel.js.map +1 -1
  65. package/dist/cjs/dockview/options.d.ts +22 -6
  66. package/dist/cjs/dockview/options.d.ts.map +1 -1
  67. package/dist/cjs/dockview/options.js.map +1 -1
  68. package/dist/cjs/dom.d.ts +5 -3
  69. package/dist/cjs/dom.d.ts.map +1 -1
  70. package/dist/cjs/dom.js +13 -1
  71. package/dist/cjs/dom.js.map +1 -1
  72. package/dist/cjs/events.d.ts.map +1 -1
  73. package/dist/cjs/gridview/branchNode.js +2 -2
  74. package/dist/cjs/gridview/branchNode.js.map +1 -1
  75. package/dist/cjs/gridview/gridview.d.ts.map +1 -1
  76. package/dist/cjs/gridview/gridview.js +40 -20
  77. package/dist/cjs/gridview/gridview.js.map +1 -1
  78. package/dist/cjs/gridview/gridviewComponent.d.ts.map +1 -1
  79. package/dist/cjs/gridview/gridviewComponent.js +4 -1
  80. package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
  81. package/dist/cjs/gridview/gridviewPanel.d.ts +3 -3
  82. package/dist/cjs/gridview/gridviewPanel.d.ts.map +1 -1
  83. package/dist/cjs/gridview/gridviewPanel.js +2 -2
  84. package/dist/cjs/gridview/gridviewPanel.js.map +1 -1
  85. package/dist/cjs/index.d.ts +1 -1
  86. package/dist/cjs/index.d.ts.map +1 -1
  87. package/dist/cjs/index.js +1 -3
  88. package/dist/cjs/index.js.map +1 -1
  89. package/dist/cjs/math.d.ts.map +1 -1
  90. package/dist/cjs/paneview/paneviewComponent.d.ts.map +1 -1
  91. package/dist/cjs/paneview/paneviewComponent.js +4 -1
  92. package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
  93. package/dist/cjs/splitview/splitview.d.ts.map +1 -1
  94. package/dist/cjs/splitview/splitview.js +12 -11
  95. package/dist/cjs/splitview/splitview.js.map +1 -1
  96. package/dist/cjs/splitview/splitviewComponent.d.ts.map +1 -1
  97. package/dist/cjs/splitview/splitviewComponent.js +4 -1
  98. package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
  99. package/dist/dockview-core.amd.js +808 -158
  100. package/dist/dockview-core.amd.js.map +1 -0
  101. package/dist/dockview-core.amd.min.js +3 -2
  102. package/dist/dockview-core.amd.min.js.map +1 -0
  103. package/dist/dockview-core.amd.min.noStyle.js +3 -2
  104. package/dist/dockview-core.amd.min.noStyle.js.map +1 -0
  105. package/dist/dockview-core.amd.noStyle.js +807 -157
  106. package/dist/dockview-core.amd.noStyle.js.map +1 -0
  107. package/dist/dockview-core.cjs.js +808 -158
  108. package/dist/dockview-core.cjs.js.map +1 -0
  109. package/dist/dockview-core.esm.js +809 -158
  110. package/dist/dockview-core.esm.js.map +1 -0
  111. package/dist/dockview-core.esm.min.js +3 -2
  112. package/dist/dockview-core.esm.min.js.map +1 -0
  113. package/dist/dockview-core.js +808 -158
  114. package/dist/dockview-core.js.map +1 -0
  115. package/dist/dockview-core.min.js +3 -2
  116. package/dist/dockview-core.min.js.map +1 -0
  117. package/dist/dockview-core.min.noStyle.js +3 -2
  118. package/dist/dockview-core.min.noStyle.js.map +1 -0
  119. package/dist/dockview-core.noStyle.js +807 -157
  120. package/dist/dockview-core.noStyle.js.map +1 -0
  121. package/dist/esm/api/component.api.d.ts +6 -1
  122. package/dist/esm/api/component.api.d.ts.map +1 -1
  123. package/dist/esm/api/component.api.js +6 -0
  124. package/dist/esm/api/component.api.js.map +1 -1
  125. package/dist/esm/api/dockviewGroupPanelApi.d.ts +30 -0
  126. package/dist/esm/api/dockviewGroupPanelApi.d.ts.map +1 -0
  127. package/dist/esm/api/dockviewGroupPanelApi.js +28 -0
  128. package/dist/esm/api/dockviewGroupPanelApi.js.map +1 -0
  129. package/dist/esm/api/dockviewPanelApi.d.ts +14 -1
  130. package/dist/esm/api/dockviewPanelApi.d.ts.map +1 -1
  131. package/dist/esm/api/dockviewPanelApi.js +6 -1
  132. package/dist/esm/api/dockviewPanelApi.js.map +1 -1
  133. package/dist/esm/array.d.ts +1 -0
  134. package/dist/esm/array.d.ts.map +1 -1
  135. package/dist/esm/array.js +8 -0
  136. package/dist/esm/array.js.map +1 -1
  137. package/dist/esm/dnd/abstractDragHandler.d.ts +1 -0
  138. package/dist/esm/dnd/abstractDragHandler.d.ts.map +1 -1
  139. package/dist/esm/dnd/abstractDragHandler.js +7 -0
  140. package/dist/esm/dnd/abstractDragHandler.js.map +1 -1
  141. package/dist/esm/dnd/droptarget.d.ts +11 -0
  142. package/dist/esm/dnd/droptarget.d.ts.map +1 -1
  143. package/dist/esm/dnd/droptarget.js +32 -9
  144. package/dist/esm/dnd/droptarget.js.map +1 -1
  145. package/dist/esm/dnd/groupDragHandler.d.ts +1 -0
  146. package/dist/esm/dnd/groupDragHandler.d.ts.map +1 -1
  147. package/dist/esm/dnd/groupDragHandler.js +18 -0
  148. package/dist/esm/dnd/groupDragHandler.js.map +1 -1
  149. package/dist/esm/dnd/overlay.d.ts +40 -0
  150. package/dist/esm/dnd/overlay.d.ts.map +1 -0
  151. package/dist/esm/dnd/overlay.js +282 -0
  152. package/dist/esm/dnd/overlay.js.map +1 -0
  153. package/dist/esm/dockview/components/tab/tab.d.ts +2 -2
  154. package/dist/esm/dockview/components/tab/tab.d.ts.map +1 -1
  155. package/dist/esm/dockview/components/tab/tab.js +0 -7
  156. package/dist/esm/dockview/components/tab/tab.js.map +1 -1
  157. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +8 -4
  158. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts.map +1 -1
  159. package/dist/esm/dockview/components/titlebar/tabsContainer.js +54 -10
  160. package/dist/esm/dockview/components/titlebar/tabsContainer.js.map +1 -1
  161. package/dist/esm/dockview/deserializer.d.ts +2 -2
  162. package/dist/esm/dockview/deserializer.d.ts.map +1 -1
  163. package/dist/esm/dockview/deserializer.js.map +1 -1
  164. package/dist/esm/dockview/dockviewComponent.d.ts +41 -9
  165. package/dist/esm/dockview/dockviewComponent.d.ts.map +1 -1
  166. package/dist/esm/dockview/dockviewComponent.js +223 -54
  167. package/dist/esm/dockview/dockviewComponent.js.map +1 -1
  168. package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +24 -0
  169. package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts.map +1 -0
  170. package/dist/esm/dockview/dockviewFloatingGroupPanel.js +13 -0
  171. package/dist/esm/dockview/dockviewFloatingGroupPanel.js.map +1 -0
  172. package/dist/esm/dockview/dockviewGroupPanel.d.ts +5 -6
  173. package/dist/esm/dockview/dockviewGroupPanel.d.ts.map +1 -1
  174. package/dist/esm/dockview/dockviewGroupPanel.js +3 -2
  175. package/dist/esm/dockview/dockviewGroupPanel.js.map +1 -1
  176. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +5 -1
  177. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts.map +1 -1
  178. package/dist/esm/dockview/dockviewGroupPanelModel.js +36 -9
  179. package/dist/esm/dockview/dockviewGroupPanelModel.js.map +1 -1
  180. package/dist/esm/dockview/dockviewPanel.d.ts +2 -2
  181. package/dist/esm/dockview/dockviewPanel.d.ts.map +1 -1
  182. package/dist/esm/dockview/dockviewPanel.js +1 -1
  183. package/dist/esm/dockview/dockviewPanel.js.map +1 -1
  184. package/dist/esm/dockview/options.d.ts +22 -6
  185. package/dist/esm/dockview/options.d.ts.map +1 -1
  186. package/dist/esm/dockview/options.js.map +1 -1
  187. package/dist/esm/dom.d.ts +5 -3
  188. package/dist/esm/dom.d.ts.map +1 -1
  189. package/dist/esm/dom.js +10 -0
  190. package/dist/esm/dom.js.map +1 -1
  191. package/dist/esm/events.d.ts.map +1 -1
  192. package/dist/esm/gridview/branchNode.js +2 -2
  193. package/dist/esm/gridview/branchNode.js.map +1 -1
  194. package/dist/esm/gridview/gridview.d.ts.map +1 -1
  195. package/dist/esm/gridview/gridview.js +40 -19
  196. package/dist/esm/gridview/gridview.js.map +1 -1
  197. package/dist/esm/gridview/gridviewComponent.d.ts.map +1 -1
  198. package/dist/esm/gridview/gridviewComponent.js +4 -1
  199. package/dist/esm/gridview/gridviewComponent.js.map +1 -1
  200. package/dist/esm/gridview/gridviewPanel.d.ts +3 -3
  201. package/dist/esm/gridview/gridviewPanel.d.ts.map +1 -1
  202. package/dist/esm/gridview/gridviewPanel.js +2 -2
  203. package/dist/esm/gridview/gridviewPanel.js.map +1 -1
  204. package/dist/esm/index.d.ts +1 -1
  205. package/dist/esm/index.d.ts.map +1 -1
  206. package/dist/esm/index.js +0 -1
  207. package/dist/esm/index.js.map +1 -1
  208. package/dist/esm/math.d.ts.map +1 -1
  209. package/dist/esm/math.js.map +1 -1
  210. package/dist/esm/paneview/paneviewComponent.d.ts.map +1 -1
  211. package/dist/esm/paneview/paneviewComponent.js +4 -1
  212. package/dist/esm/paneview/paneviewComponent.js.map +1 -1
  213. package/dist/esm/splitview/splitview.d.ts.map +1 -1
  214. package/dist/esm/splitview/splitview.js +12 -11
  215. package/dist/esm/splitview/splitview.js.map +1 -1
  216. package/dist/esm/splitview/splitviewComponent.d.ts.map +1 -1
  217. package/dist/esm/splitview/splitviewComponent.js +4 -1
  218. package/dist/esm/splitview/splitviewComponent.js.map +1 -1
  219. package/dist/styles/dockview.css +217 -1
  220. package/package.json +5 -5
@@ -1,6 +1,6 @@
1
1
  import { SerializedGridObject } from '../gridview/gridview';
2
2
  import { Position } from '../dnd/droptarget';
3
- import { IDockviewPanel } from './dockviewPanel';
3
+ import { DockviewPanel, IDockviewPanel } from './dockviewPanel';
4
4
  import { Event } from '../events';
5
5
  import { IWatermarkRenderer, GroupviewPanelState } from './types';
6
6
  import { AddGroupOptions, AddPanelOptions, DockviewComponentOptions, MovementOptions } from './options';
@@ -8,7 +8,8 @@ import { BaseGrid, IBaseGrid } from '../gridview/baseComponentGridview';
8
8
  import { DockviewApi } from '../api/component.api';
9
9
  import { Orientation } from '../splitview/splitview';
10
10
  import { GroupOptions, GroupPanelViewState, GroupviewDropEvent } from './dockviewGroupPanelModel';
11
- import { DockviewGroupPanel, IDockviewGroupPanel } from './dockviewGroupPanel';
11
+ import { DockviewGroupPanel } from './dockviewGroupPanel';
12
+ import { DockviewFloatingGroupPanel, IDockviewFloatingGroupPanel } from './dockviewFloatingGroupPanel';
12
13
  export interface PanelReference {
13
14
  update: (event: {
14
15
  params: {
@@ -17,6 +18,15 @@ export interface PanelReference {
17
18
  }) => void;
18
19
  remove: () => void;
19
20
  }
21
+ export interface SerializedFloatingGroup {
22
+ data: GroupPanelViewState;
23
+ position: {
24
+ height: number;
25
+ width: number;
26
+ left: number;
27
+ top: number;
28
+ };
29
+ }
20
30
  export interface SerializedDockview {
21
31
  grid: {
22
32
  root: SerializedGridObject<GroupPanelViewState>;
@@ -24,12 +34,11 @@ export interface SerializedDockview {
24
34
  width: number;
25
35
  orientation: Orientation;
26
36
  };
27
- panels: {
28
- [key: string]: GroupviewPanelState;
29
- };
37
+ panels: Record<string, GroupviewPanelState>;
30
38
  activeGroup?: string;
39
+ floatingGroups?: SerializedFloatingGroup[];
31
40
  }
32
- export type DockviewComponentUpdateOptions = Pick<DockviewComponentOptions, 'orientation' | 'components' | 'frameworkComponents' | 'tabComponents' | 'frameworkTabComponents' | 'showDndOverlay' | 'watermarkFrameworkComponent' | 'defaultTabComponent' | 'createGroupControlElement'>;
41
+ export type DockviewComponentUpdateOptions = Pick<DockviewComponentOptions, 'orientation' | 'components' | 'frameworkComponents' | 'tabComponents' | 'frameworkTabComponents' | 'showDndOverlay' | 'watermarkFrameworkComponent' | 'defaultTabComponent' | 'createLeftHeaderActionsElement' | 'createRightHeaderActionsElement' | 'disableFloatingGroups'>;
33
42
  export interface DockviewDropEvent extends GroupviewDropEvent {
34
43
  api: DockviewApi;
35
44
  group: DockviewGroupPanel | null;
@@ -38,6 +47,7 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
38
47
  readonly activePanel: IDockviewPanel | undefined;
39
48
  readonly totalPanels: number;
40
49
  readonly panels: IDockviewPanel[];
50
+ readonly floatingGroups: IDockviewFloatingGroupPanel[];
41
51
  readonly onDidDrop: Event<DockviewDropEvent>;
42
52
  readonly orientation: Orientation;
43
53
  updateOptions(options: DockviewComponentUpdateOptions): void;
@@ -49,7 +59,7 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
49
59
  removePanel(panel: IDockviewPanel): void;
50
60
  getGroupPanel: (id: string) => IDockviewPanel | undefined;
51
61
  createWatermarkComponent(): IWatermarkRenderer;
52
- addGroup(options?: AddGroupOptions): IDockviewGroupPanel;
62
+ addGroup(options?: AddGroupOptions): DockviewGroupPanel;
53
63
  closeAllGroups(): void;
54
64
  moveToNext(options?: MovementOptions): void;
55
65
  moveToPrevious(options?: MovementOptions): void;
@@ -61,6 +71,10 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
61
71
  readonly onDidAddPanel: Event<IDockviewPanel>;
62
72
  readonly onDidLayoutFromJSON: Event<void>;
63
73
  readonly onDidActivePanelChange: Event<IDockviewPanel | undefined>;
74
+ addFloatingGroup(item: IDockviewPanel | DockviewGroupPanel, coord?: {
75
+ x: number;
76
+ y: number;
77
+ }): void;
64
78
  }
65
79
  export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> implements IDockviewComponent {
66
80
  private readonly nextGroupId;
@@ -78,14 +92,25 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
78
92
  readonly onDidLayoutFromJSON: Event<void>;
79
93
  private readonly _onDidActivePanelChange;
80
94
  readonly onDidActivePanelChange: Event<IDockviewPanel | undefined>;
95
+ readonly floatingGroups: DockviewFloatingGroupPanel[];
81
96
  get orientation(): Orientation;
82
97
  get totalPanels(): number;
83
98
  get panels(): IDockviewPanel[];
84
99
  get options(): DockviewComponentOptions;
85
100
  get activePanel(): IDockviewPanel | undefined;
86
101
  constructor(options: DockviewComponentOptions);
102
+ addFloatingGroup(item: DockviewPanel | DockviewGroupPanel, coord?: {
103
+ x?: number;
104
+ y?: number;
105
+ height?: number;
106
+ width?: number;
107
+ }, options?: {
108
+ skipRemoveGroup?: boolean;
109
+ inDragMode: boolean;
110
+ }): void;
87
111
  private orthogonalize;
88
112
  updateOptions(options: DockviewComponentUpdateOptions): void;
113
+ layout(width: number, height: number, forceResize?: boolean | undefined): void;
89
114
  focus(): void;
90
115
  getGroupPanel(id: string): IDockviewPanel | undefined;
91
116
  setActivePanel(panel: IDockviewPanel): void;
@@ -100,7 +125,7 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
100
125
  fromJSON(data: SerializedDockview): void;
101
126
  clear(): void;
102
127
  closeAllGroups(): void;
103
- addPanel(options: AddPanelOptions): IDockviewPanel;
128
+ addPanel(options: AddPanelOptions): DockviewPanel;
104
129
  removePanel(panel: IDockviewPanel, options?: {
105
130
  removeEmptyGroup: boolean;
106
131
  skipDispose: boolean;
@@ -108,7 +133,14 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
108
133
  createWatermarkComponent(): IWatermarkRenderer;
109
134
  private updateWatermark;
110
135
  addGroup(options?: AddGroupOptions): DockviewGroupPanel;
111
- removeGroup(group: DockviewGroupPanel, skipActive?: boolean): void;
136
+ removeGroup(group: DockviewGroupPanel, options?: {
137
+ skipActive?: boolean;
138
+ skipDispose?: boolean;
139
+ } | undefined): void;
140
+ protected doRemoveGroup(group: DockviewGroupPanel, options?: {
141
+ skipActive?: boolean;
142
+ skipDispose?: boolean;
143
+ } | undefined): DockviewGroupPanel;
112
144
  moveGroupOrPanel(destinationGroup: DockviewGroupPanel, sourceGroupId: string, sourceItemId: string | undefined, destinationTarget: Position, destinationIndex?: number): void;
113
145
  private moveGroup;
114
146
  doSetGroupActive(group: DockviewGroupPanel | undefined, skipFocus?: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"dockviewComponent.d.ts","sourceRoot":"","sources":["../../../src/dockview/dockviewComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dockviewComponent.d.ts","sourceRoot":"","sources":["../../../src/dockview/dockviewComponent.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { getRelativeLocation, getGridLocation, } from '../gridview/gridview';
2
2
  import { directionToPosition, Droptarget } from '../dnd/droptarget';
3
- import { tail, sequenceEquals } from '../array';
3
+ import { tail, sequenceEquals, remove } from '../array';
4
4
  import { DockviewPanel } from './dockviewPanel';
5
5
  import { CompositeDisposable } from '../lifecycle';
6
6
  import { Event, Emitter } from '../events';
@@ -16,6 +16,9 @@ import { Orientation, Sizing } from '../splitview/splitview';
16
16
  import { DockviewGroupPanel } from './dockviewGroupPanel';
17
17
  import { DockviewPanelModel } from './dockviewPanelModel';
18
18
  import { getPanelData } from '../dnd/dataTransfer';
19
+ import { Overlay } from '../dnd/overlay';
20
+ import { toggleClass, watchElementResize } from '../dom';
21
+ import { DockviewFloatingGroupPanel, } from './dockviewFloatingGroupPanel';
19
22
  export class DockviewComponent extends BaseGrid {
20
23
  get orientation() {
21
24
  return this.gridview.orientation;
@@ -56,7 +59,8 @@ export class DockviewComponent extends BaseGrid {
56
59
  this.onDidLayoutFromJSON = this._onDidLayoutFromJSON.event;
57
60
  this._onDidActivePanelChange = new Emitter();
58
61
  this.onDidActivePanelChange = this._onDidActivePanelChange.event;
59
- this.element.classList.add('dv-dockview');
62
+ this.floatingGroups = [];
63
+ toggleClass(this.gridview.element, 'dv-dockview', true);
60
64
  this.addDisposables(this._onDidDrop, Event.any(this.onDidAddGroup, this.onDidRemoveGroup)(() => {
61
65
  this.updateWatermark();
62
66
  }), Event.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
@@ -86,6 +90,11 @@ export class DockviewComponent extends BaseGrid {
86
90
  if (data.viewId !== this.id) {
87
91
  return false;
88
92
  }
93
+ if (position === 'center') {
94
+ // center drop target is only allowed if there are no panels in the grid
95
+ // floating panels are allowed
96
+ return this.gridview.length === 0;
97
+ }
89
98
  return true;
90
99
  }
91
100
  if (this.options.showDndOverlay) {
@@ -98,7 +107,7 @@ export class DockviewComponent extends BaseGrid {
98
107
  }
99
108
  return false;
100
109
  },
101
- acceptedTargetZones: ['top', 'bottom', 'left', 'right'],
110
+ acceptedTargetZones: ['top', 'bottom', 'left', 'right', 'center'],
102
111
  overlayModel: {
103
112
  activationSize: { type: 'pixels', value: 10 },
104
113
  size: { type: 'pixels', value: 20 },
@@ -116,6 +125,75 @@ export class DockviewComponent extends BaseGrid {
116
125
  this._api = new DockviewApi(this);
117
126
  this.updateWatermark();
118
127
  }
128
+ addFloatingGroup(item, coord, options) {
129
+ var _a, _b;
130
+ let group;
131
+ if (item instanceof DockviewPanel) {
132
+ group = this.createGroup();
133
+ this.removePanel(item, {
134
+ removeEmptyGroup: true,
135
+ skipDispose: true,
136
+ });
137
+ group.model.openPanel(item);
138
+ }
139
+ else {
140
+ group = item;
141
+ const skip = typeof (options === null || options === void 0 ? void 0 : options.skipRemoveGroup) === 'boolean' &&
142
+ options.skipRemoveGroup;
143
+ if (!skip) {
144
+ this.doRemoveGroup(item, { skipDispose: true });
145
+ }
146
+ }
147
+ group.model.isFloating = true;
148
+ const overlayLeft = typeof (coord === null || coord === void 0 ? void 0 : coord.x) === 'number' ? Math.max(coord.x, 0) : 100;
149
+ const overlayTop = typeof (coord === null || coord === void 0 ? void 0 : coord.y) === 'number' ? Math.max(coord.y, 0) : 100;
150
+ const overlay = new Overlay({
151
+ container: this.gridview.element,
152
+ content: group.element,
153
+ height: (_a = coord === null || coord === void 0 ? void 0 : coord.height) !== null && _a !== void 0 ? _a : 300,
154
+ width: (_b = coord === null || coord === void 0 ? void 0 : coord.width) !== null && _b !== void 0 ? _b : 300,
155
+ left: overlayLeft,
156
+ top: overlayTop,
157
+ minimumInViewportWidth: 100,
158
+ minimumInViewportHeight: 100,
159
+ });
160
+ const el = group.element.querySelector('.void-container');
161
+ if (!el) {
162
+ throw new Error('failed to find drag handle');
163
+ }
164
+ overlay.setupDrag(el, {
165
+ inDragMode: typeof (options === null || options === void 0 ? void 0 : options.inDragMode) === 'boolean'
166
+ ? options.inDragMode
167
+ : false,
168
+ });
169
+ const floatingGroupPanel = new DockviewFloatingGroupPanel(group, overlay);
170
+ const disposable = watchElementResize(group.element, (entry) => {
171
+ const { width, height } = entry.contentRect;
172
+ group.layout(width, height); // let the group know it's size is changing so it can fire events to the panel
173
+ });
174
+ floatingGroupPanel.addDisposables(overlay.onDidChange(() => {
175
+ // this is either a resize or a move
176
+ // to inform the panels .layout(...) the group with it's current size
177
+ // don't care about resize since the above watcher handles that
178
+ group.layout(group.height, group.width);
179
+ }), overlay.onDidChangeEnd(() => {
180
+ this._bufferOnDidLayoutChange.fire();
181
+ }), group.onDidChange((event) => {
182
+ overlay.setBounds({
183
+ height: event === null || event === void 0 ? void 0 : event.height,
184
+ width: event === null || event === void 0 ? void 0 : event.width,
185
+ });
186
+ }), {
187
+ dispose: () => {
188
+ disposable.dispose();
189
+ group.model.isFloating = false;
190
+ remove(this.floatingGroups, floatingGroupPanel);
191
+ this.updateWatermark();
192
+ },
193
+ });
194
+ this.floatingGroups.push(floatingGroupPanel);
195
+ this.updateWatermark();
196
+ }
119
197
  orthogonalize(position) {
120
198
  switch (position) {
121
199
  case 'top':
@@ -140,6 +218,7 @@ export class DockviewComponent extends BaseGrid {
140
218
  switch (position) {
141
219
  case 'top':
142
220
  case 'left':
221
+ case 'center':
143
222
  return this.createGroupAtLocation([0]); // insert into first position
144
223
  case 'bottom':
145
224
  case 'right':
@@ -157,6 +236,15 @@ export class DockviewComponent extends BaseGrid {
157
236
  }
158
237
  this.layout(this.gridview.width, this.gridview.height, true);
159
238
  }
239
+ layout(width, height, forceResize) {
240
+ super.layout(width, height, forceResize);
241
+ if (this.floatingGroups) {
242
+ for (const floating of this.floatingGroups) {
243
+ // ensure floting groups stay within visible boundaries
244
+ floating.overlay.setBounds();
245
+ }
246
+ }
247
+ }
160
248
  focus() {
161
249
  var _a;
162
250
  (_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.focus();
@@ -219,51 +307,81 @@ export class DockviewComponent extends BaseGrid {
219
307
  collection[panel.id] = panel.toJSON();
220
308
  return collection;
221
309
  }, {});
222
- return {
310
+ const floats = this.floatingGroups.map((floatingGroup) => {
311
+ return {
312
+ data: floatingGroup.group.toJSON(),
313
+ position: floatingGroup.overlay.toJSON(),
314
+ };
315
+ });
316
+ const result = {
223
317
  grid: data,
224
318
  panels,
225
319
  activeGroup: (_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.id,
226
320
  };
321
+ if (floats.length > 0) {
322
+ result.floatingGroups = floats;
323
+ }
324
+ return result;
227
325
  }
228
326
  fromJSON(data) {
327
+ var _a;
229
328
  this.clear();
230
329
  const { grid, panels, activeGroup } = data;
231
330
  if (grid.root.type !== 'branch' || !Array.isArray(grid.root.data)) {
232
331
  throw new Error('root must be of type branch');
233
332
  }
333
+ // take note of the existing dimensions
334
+ const width = this.width;
335
+ const height = this.height;
336
+ const createGroupFromSerializedState = (data) => {
337
+ const { id, locked, hideHeader, views, activeView } = data;
338
+ const group = this.createGroup({
339
+ id,
340
+ locked: !!locked,
341
+ hideHeader: !!hideHeader,
342
+ });
343
+ this._onDidAddGroup.fire(group);
344
+ for (const child of views) {
345
+ const panel = this._deserializer.fromJSON(panels[child], group);
346
+ const isActive = typeof activeView === 'string' && activeView === panel.id;
347
+ group.model.openPanel(panel, {
348
+ skipSetPanelActive: !isActive,
349
+ skipSetGroupActive: true,
350
+ });
351
+ }
352
+ if (!group.activePanel && group.panels.length > 0) {
353
+ group.model.openPanel(group.panels[group.panels.length - 1], {
354
+ skipSetGroupActive: true,
355
+ });
356
+ }
357
+ return group;
358
+ };
234
359
  this.gridview.deserialize(grid, {
235
360
  fromJSON: (node) => {
236
- const { id, locked, hideHeader, views, activeView } = node.data;
237
- const group = this.createGroup({
238
- id,
239
- locked: !!locked,
240
- hideHeader: !!hideHeader,
241
- });
242
- this._onDidAddGroup.fire(group);
243
- for (const child of views) {
244
- const panel = this._deserializer.fromJSON(panels[child], group);
245
- const isActive = typeof activeView === 'string' &&
246
- activeView === panel.id;
247
- group.model.openPanel(panel, {
248
- skipSetPanelActive: !isActive,
249
- skipSetGroupActive: true,
250
- });
251
- }
252
- if (!group.activePanel && group.panels.length > 0) {
253
- group.model.openPanel(group.panels[group.panels.length - 1], {
254
- skipSetGroupActive: true,
255
- });
256
- }
257
- return group;
361
+ return createGroupFromSerializedState(node.data);
258
362
  },
259
363
  });
364
+ this.layout(width, height, true);
365
+ const serializedFloatingGroups = (_a = data.floatingGroups) !== null && _a !== void 0 ? _a : [];
366
+ for (const serializedFloatingGroup of serializedFloatingGroups) {
367
+ const { data, position } = serializedFloatingGroup;
368
+ const group = createGroupFromSerializedState(data);
369
+ this.addFloatingGroup(group, {
370
+ x: position.left,
371
+ y: position.top,
372
+ height: position.height,
373
+ width: position.width,
374
+ }, { skipRemoveGroup: true, inDragMode: false });
375
+ }
376
+ for (const floatingGroup of this.floatingGroups) {
377
+ floatingGroup.overlay.setBounds();
378
+ }
260
379
  if (typeof activeGroup === 'string') {
261
380
  const panel = this.getPanel(activeGroup);
262
381
  if (panel) {
263
382
  this.doSetGroupActive(panel);
264
383
  }
265
384
  }
266
- this.gridview.layout(this.width, this.height);
267
385
  this._onDidLayoutFromJSON.fire();
268
386
  }
269
387
  clear() {
@@ -272,7 +390,7 @@ export class DockviewComponent extends BaseGrid {
272
390
  const hasActivePanel = !!this.activePanel;
273
391
  for (const group of groups) {
274
392
  // remove the group will automatically remove the panels
275
- this.removeGroup(group, true);
393
+ this.removeGroup(group, { skipActive: true });
276
394
  }
277
395
  if (hasActiveGroup) {
278
396
  this.doSetGroupActive(undefined);
@@ -294,6 +412,9 @@ export class DockviewComponent extends BaseGrid {
294
412
  throw new Error(`panel with id ${options.id} already exists`);
295
413
  }
296
414
  let referenceGroup;
415
+ if (options.position && options.floating) {
416
+ throw new Error('you can only provide one of: position, floating as arguments to .addPanel(...)');
417
+ }
297
418
  if (options.position) {
298
419
  if (isPanelOptionsWithPanel(options.position)) {
299
420
  const referencePanel = typeof options.position.referencePanel === 'string'
@@ -326,7 +447,20 @@ export class DockviewComponent extends BaseGrid {
326
447
  let panel;
327
448
  if (referenceGroup) {
328
449
  const target = toTarget(((_b = options.position) === null || _b === void 0 ? void 0 : _b.direction) || 'within');
329
- if (target === 'center') {
450
+ if (options.floating) {
451
+ const group = this.createGroup();
452
+ panel = this.createPanel(options, group);
453
+ group.model.openPanel(panel);
454
+ const o = typeof options.floating === 'object' &&
455
+ options.floating !== null
456
+ ? options.floating
457
+ : {};
458
+ this.addFloatingGroup(group, o, {
459
+ inDragMode: false,
460
+ skipRemoveGroup: true,
461
+ });
462
+ }
463
+ else if (referenceGroup.api.isFloating || target === 'center') {
330
464
  panel = this.createPanel(options, referenceGroup);
331
465
  referenceGroup.model.openPanel(panel);
332
466
  }
@@ -338,6 +472,19 @@ export class DockviewComponent extends BaseGrid {
338
472
  group.model.openPanel(panel);
339
473
  }
340
474
  }
475
+ else if (options.floating) {
476
+ const group = this.createGroup();
477
+ panel = this.createPanel(options, group);
478
+ group.model.openPanel(panel);
479
+ const o = typeof options.floating === 'object' &&
480
+ options.floating !== null
481
+ ? options.floating
482
+ : {};
483
+ this.addFloatingGroup(group, o, {
484
+ inDragMode: false,
485
+ skipRemoveGroup: true,
486
+ });
487
+ }
341
488
  else {
342
489
  const group = this.createGroupAtLocation();
343
490
  panel = this.createPanel(options, group);
@@ -354,7 +501,9 @@ export class DockviewComponent extends BaseGrid {
354
501
  throw new Error(`cannot remove panel ${panel.id}. it's missing a group.`);
355
502
  }
356
503
  group.model.removePanel(panel);
357
- panel.dispose();
504
+ if (!options.skipDispose) {
505
+ panel.dispose();
506
+ }
358
507
  if (group.size === 0 && options.removeEmptyGroup) {
359
508
  this.removeGroup(group);
360
509
  }
@@ -369,7 +518,7 @@ export class DockviewComponent extends BaseGrid {
369
518
  }
370
519
  updateWatermark() {
371
520
  var _a, _b;
372
- if (this.groups.length === 0) {
521
+ if (this.groups.filter((x) => !x.api.isFloating).length === 0) {
373
522
  if (!this.watermark) {
374
523
  this.watermark = this.createWatermarkComponent();
375
524
  this.watermark.init({
@@ -378,7 +527,7 @@ export class DockviewComponent extends BaseGrid {
378
527
  const watermarkContainer = document.createElement('div');
379
528
  watermarkContainer.className = 'dv-watermark-container';
380
529
  watermarkContainer.appendChild(this.watermark.element);
381
- this.element.appendChild(watermarkContainer);
530
+ this.gridview.element.appendChild(watermarkContainer);
382
531
  }
383
532
  }
384
533
  else if (this.watermark) {
@@ -428,15 +577,28 @@ export class DockviewComponent extends BaseGrid {
428
577
  return group;
429
578
  }
430
579
  }
431
- removeGroup(group, skipActive = false) {
580
+ removeGroup(group, options) {
581
+ var _a;
432
582
  const panels = [...group.panels]; // reassign since group panels will mutate
433
583
  for (const panel of panels) {
434
584
  this.removePanel(panel, {
435
585
  removeEmptyGroup: false,
436
- skipDispose: false,
586
+ skipDispose: (_a = options === null || options === void 0 ? void 0 : options.skipDispose) !== null && _a !== void 0 ? _a : false,
437
587
  });
438
588
  }
439
- super.doRemoveGroup(group, { skipActive });
589
+ this.doRemoveGroup(group, options);
590
+ }
591
+ doRemoveGroup(group, options) {
592
+ const floatingGroup = this.floatingGroups.find((_) => _.group === group);
593
+ if (floatingGroup) {
594
+ if (!(options === null || options === void 0 ? void 0 : options.skipDispose)) {
595
+ floatingGroup.group.dispose();
596
+ this._groups.delete(group.id);
597
+ }
598
+ floatingGroup.dispose();
599
+ return floatingGroup.group;
600
+ }
601
+ return super.doRemoveGroup(group, options);
440
602
  }
441
603
  moveGroupOrPanel(destinationGroup, sourceGroupId, sourceItemId, destinationTarget, destinationIndex) {
442
604
  var _a;
@@ -467,25 +629,26 @@ export class DockviewComponent extends BaseGrid {
467
629
  const targetLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, destinationTarget);
468
630
  if (sourceGroup && sourceGroup.size < 2) {
469
631
  const [targetParentLocation, to] = tail(targetLocation);
470
- const sourceLocation = getGridLocation(sourceGroup.element);
471
- const [sourceParentLocation, from] = tail(sourceLocation);
472
- if (sequenceEquals(sourceParentLocation, targetParentLocation)) {
473
- // special case when 'swapping' two views within same grid location
474
- // if a group has one tab - we are essentially moving the 'group'
475
- // which is equivalent to swapping two views in this case
476
- this.gridview.moveView(sourceParentLocation, from, to);
477
- }
478
- else {
479
- // source group will become empty so delete the group
480
- const targetGroup = this.doRemoveGroup(sourceGroup, {
481
- skipActive: true,
482
- skipDispose: true,
483
- });
484
- // after deleting the group we need to re-evaulate the ref location
485
- const updatedReferenceLocation = getGridLocation(destinationGroup.element);
486
- const location = getRelativeLocation(this.gridview.orientation, updatedReferenceLocation, destinationTarget);
487
- this.doAddGroup(targetGroup, location);
632
+ const isFloating = this.floatingGroups.find((x) => x.group === sourceGroup);
633
+ if (!isFloating) {
634
+ const sourceLocation = getGridLocation(sourceGroup.element);
635
+ const [sourceParentLocation, from] = tail(sourceLocation);
636
+ if (sequenceEquals(sourceParentLocation, targetParentLocation)) {
637
+ // special case when 'swapping' two views within same grid location
638
+ // if a group has one tab - we are essentially moving the 'group'
639
+ // which is equivalent to swapping two views in this case
640
+ this.gridview.moveView(sourceParentLocation, from, to);
641
+ }
488
642
  }
643
+ // source group will become empty so delete the group
644
+ const targetGroup = this.doRemoveGroup(sourceGroup, {
645
+ skipActive: true,
646
+ skipDispose: true,
647
+ });
648
+ // after deleting the group we need to re-evaulate the ref location
649
+ const updatedReferenceLocation = getGridLocation(destinationGroup.element);
650
+ const location = getRelativeLocation(this.gridview.orientation, updatedReferenceLocation, destinationTarget);
651
+ this.doAddGroup(targetGroup, location);
489
652
  }
490
653
  else {
491
654
  const groupItem = (sourceGroup === null || sourceGroup === void 0 ? void 0 : sourceGroup.model.removePanel(sourceItemId)) ||
@@ -514,7 +677,13 @@ export class DockviewComponent extends BaseGrid {
514
677
  }
515
678
  }
516
679
  else {
517
- this.gridview.removeView(getGridLocation(sourceGroup.element));
680
+ const floatingGroup = this.floatingGroups.find((x) => x.group === sourceGroup);
681
+ if (floatingGroup) {
682
+ floatingGroup.dispose();
683
+ }
684
+ else {
685
+ this.gridview.removeView(getGridLocation(sourceGroup.element));
686
+ }
518
687
  const referenceLocation = getGridLocation(referenceGroup.element);
519
688
  const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
520
689
  this.gridview.addView(sourceGroup, Sizing.Distribute, dropLocation);