dockview-core 1.11.0 → 1.12.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.
- package/dist/cjs/api/dockviewPanelApi.d.ts +6 -0
- package/dist/cjs/api/panelApi.d.ts +4 -0
- package/dist/cjs/dockview/components/panel/content.js +2 -2
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +12 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +2 -0
- package/dist/cjs/dockview/dockviewComponent.js +12 -1
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +9 -1
- package/dist/cjs/dockview/dockviewGroupPanelModel.js +30 -2
- package/dist/cjs/overlayRenderContainer.d.ts +1 -1
- package/dist/dockview-core.amd.js +40 -7
- package/dist/dockview-core.amd.js.map +1 -1
- package/dist/dockview-core.amd.min.js +2 -2
- package/dist/dockview-core.amd.min.js.map +1 -1
- package/dist/dockview-core.amd.min.noStyle.js +2 -2
- package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
- package/dist/dockview-core.amd.noStyle.js +40 -7
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +40 -7
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +40 -7
- package/dist/dockview-core.esm.js.map +1 -1
- package/dist/dockview-core.esm.min.js +2 -2
- package/dist/dockview-core.esm.min.js.map +1 -1
- package/dist/dockview-core.js +40 -7
- package/dist/dockview-core.js.map +1 -1
- package/dist/dockview-core.min.js +2 -2
- package/dist/dockview-core.min.js.map +1 -1
- package/dist/dockview-core.min.noStyle.js +2 -2
- package/dist/dockview-core.min.noStyle.js.map +1 -1
- package/dist/dockview-core.noStyle.js +40 -7
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/dockviewPanelApi.d.ts +6 -0
- package/dist/esm/api/panelApi.d.ts +4 -0
- package/dist/esm/dockview/components/panel/content.js +2 -2
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +12 -1
- package/dist/esm/dockview/dockviewComponent.d.ts +2 -0
- package/dist/esm/dockview/dockviewComponent.js +8 -1
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +9 -1
- package/dist/esm/dockview/dockviewGroupPanelModel.js +18 -2
- package/dist/esm/overlayRenderContainer.d.ts +1 -1
- package/package.json +1 -1
|
@@ -19,6 +19,12 @@ export interface ActiveGroupEvent {
|
|
|
19
19
|
export interface GroupChangedEvent {
|
|
20
20
|
}
|
|
21
21
|
export interface DockviewPanelApi extends Omit<GridviewPanelApi, 'setVisible' | 'onDidConstraintsChange' | 'setConstraints'> {
|
|
22
|
+
/**
|
|
23
|
+
* The id of the tab component renderer
|
|
24
|
+
*
|
|
25
|
+
* Undefined if no custom tab renderer is provided
|
|
26
|
+
*/
|
|
27
|
+
readonly tabComponent: string | undefined;
|
|
22
28
|
readonly group: DockviewGroupPanel;
|
|
23
29
|
readonly isGroupActive: boolean;
|
|
24
30
|
readonly renderer: DockviewPanelRenderer;
|
|
@@ -23,6 +23,10 @@ export interface PanelApi {
|
|
|
23
23
|
setActive(): void;
|
|
24
24
|
setVisible(isVisible: boolean): void;
|
|
25
25
|
updateParameters(parameters: Parameters): void;
|
|
26
|
+
/**
|
|
27
|
+
* The id of the component renderer
|
|
28
|
+
*/
|
|
29
|
+
readonly component: string;
|
|
26
30
|
/**
|
|
27
31
|
* The id of the panel that would have been assigned when the panel was created
|
|
28
32
|
*/
|
|
@@ -72,7 +72,7 @@ export class ContentContainer extends CompositeDisposable {
|
|
|
72
72
|
this.panel = panel;
|
|
73
73
|
let container;
|
|
74
74
|
switch (panel.api.renderer) {
|
|
75
|
-
case '
|
|
75
|
+
case 'onlyWhenVisible':
|
|
76
76
|
this.group.renderContainer.detatch(panel);
|
|
77
77
|
if (this.panel) {
|
|
78
78
|
if (doRender) {
|
|
@@ -118,7 +118,7 @@ export class ContentContainer extends CompositeDisposable {
|
|
|
118
118
|
closePanel() {
|
|
119
119
|
var _a;
|
|
120
120
|
if (this.panel) {
|
|
121
|
-
if (this.panel.api.renderer === '
|
|
121
|
+
if (this.panel.api.renderer === 'onlyWhenVisible') {
|
|
122
122
|
(_a = this.panel.view.content.element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.panel.view.content.element);
|
|
123
123
|
}
|
|
124
124
|
}
|
|
@@ -4,6 +4,7 @@ import { Tab } from '../tab/tab';
|
|
|
4
4
|
import { VoidContainer } from './voidContainer';
|
|
5
5
|
import { toggleClass } from '../../../dom';
|
|
6
6
|
import { WillShowOverlayLocationEvent, } from '../../dockviewGroupPanelModel';
|
|
7
|
+
import { getPanelData } from '../../../dnd/dataTransfer';
|
|
7
8
|
export class TabsContainer extends CompositeDisposable {
|
|
8
9
|
get panels() {
|
|
9
10
|
return this.tabs.map((_) => _.value.panel.id);
|
|
@@ -128,6 +129,10 @@ export class TabsContainer extends CompositeDisposable {
|
|
|
128
129
|
}), this.voidContainer.onWillShowOverlay((event) => {
|
|
129
130
|
this._onWillShowOverlay.fire(new WillShowOverlayLocationEvent(event, {
|
|
130
131
|
kind: 'header_space',
|
|
132
|
+
panel: this.group.activePanel,
|
|
133
|
+
api: this.accessor.api,
|
|
134
|
+
group: this.group,
|
|
135
|
+
getData: getPanelData,
|
|
131
136
|
}));
|
|
132
137
|
}), addDisposableListener(this.voidContainer.element, 'mousedown', (event) => {
|
|
133
138
|
const isFloatingGroupsEnabled = !this.accessor.options.disableFloatingGroups;
|
|
@@ -225,7 +230,13 @@ export class TabsContainer extends CompositeDisposable {
|
|
|
225
230
|
index: this.tabs.findIndex((x) => x.value === tab),
|
|
226
231
|
});
|
|
227
232
|
}), tab.onWillShowOverlay((event) => {
|
|
228
|
-
this._onWillShowOverlay.fire(new WillShowOverlayLocationEvent(event, {
|
|
233
|
+
this._onWillShowOverlay.fire(new WillShowOverlayLocationEvent(event, {
|
|
234
|
+
kind: 'tab',
|
|
235
|
+
panel: this.group.activePanel,
|
|
236
|
+
api: this.accessor.api,
|
|
237
|
+
group: this.group,
|
|
238
|
+
getData: getPanelData,
|
|
239
|
+
}));
|
|
229
240
|
}));
|
|
230
241
|
const value = { value: tab, disposable };
|
|
231
242
|
this.addTab(value, index);
|
|
@@ -5,6 +5,7 @@ import { Event, Emitter } from '../events';
|
|
|
5
5
|
import { IWatermarkRenderer, GroupviewPanelState } from './types';
|
|
6
6
|
import { AddGroupOptions, AddPanelOptions, DockviewComponentOptions, MovementOptions } from './options';
|
|
7
7
|
import { BaseGrid, IBaseGrid } from '../gridview/baseComponentGridview';
|
|
8
|
+
import { DockviewApi } from '../api/component.api';
|
|
8
9
|
import { Orientation } from '../splitview/splitview';
|
|
9
10
|
import { GroupOptions, GroupPanelViewState, DockviewDidDropEvent, DockviewWillDropEvent, WillShowOverlayLocationEvent } from './dockviewGroupPanelModel';
|
|
10
11
|
import { DockviewGroupPanel } from './dockviewGroupPanel';
|
|
@@ -156,6 +157,7 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
|
|
|
156
157
|
get options(): DockviewComponentOptions;
|
|
157
158
|
get activePanel(): IDockviewPanel | undefined;
|
|
158
159
|
get renderer(): DockviewPanelRenderer;
|
|
160
|
+
get api(): DockviewApi;
|
|
159
161
|
constructor(options: DockviewComponentOptions);
|
|
160
162
|
addPopoutGroup(itemToPopout: DockviewPanel | DockviewGroupPanel, options?: {
|
|
161
163
|
skipRemoveGroup?: boolean;
|
|
@@ -141,7 +141,10 @@ export class DockviewComponent extends BaseGrid {
|
|
|
141
141
|
}
|
|
142
142
|
get renderer() {
|
|
143
143
|
var _a;
|
|
144
|
-
return (_a = this.options.defaultRenderer) !== null && _a !== void 0 ? _a : '
|
|
144
|
+
return (_a = this.options.defaultRenderer) !== null && _a !== void 0 ? _a : 'onlyWhenVisible';
|
|
145
|
+
}
|
|
146
|
+
get api() {
|
|
147
|
+
return this._api;
|
|
145
148
|
}
|
|
146
149
|
constructor(options) {
|
|
147
150
|
var _a, _b;
|
|
@@ -276,6 +279,10 @@ export class DockviewComponent extends BaseGrid {
|
|
|
276
279
|
}
|
|
277
280
|
this._onWillShowOverlay.fire(new WillShowOverlayLocationEvent(event, {
|
|
278
281
|
kind: 'edge',
|
|
282
|
+
panel: undefined,
|
|
283
|
+
api: this._api,
|
|
284
|
+
group: undefined,
|
|
285
|
+
getData: getPanelData,
|
|
279
286
|
}));
|
|
280
287
|
}), this._rootDropTarget.onDrop((event) => {
|
|
281
288
|
var _a;
|
|
@@ -118,14 +118,22 @@ export type DockviewGroupLocation = {
|
|
|
118
118
|
};
|
|
119
119
|
export declare class WillShowOverlayLocationEvent implements IDockviewEvent {
|
|
120
120
|
private readonly event;
|
|
121
|
-
private
|
|
121
|
+
private readonly options;
|
|
122
122
|
get kind(): DockviewGroupDropLocation;
|
|
123
123
|
get nativeEvent(): DragEvent;
|
|
124
124
|
get position(): Position;
|
|
125
125
|
get defaultPrevented(): boolean;
|
|
126
|
+
get panel(): IDockviewPanel | undefined;
|
|
127
|
+
get api(): DockviewApi;
|
|
128
|
+
get group(): DockviewGroupPanel | undefined;
|
|
126
129
|
preventDefault(): void;
|
|
130
|
+
getData(): PanelTransfer | undefined;
|
|
127
131
|
constructor(event: WillShowOverlayEvent, options: {
|
|
128
132
|
kind: DockviewGroupDropLocation;
|
|
133
|
+
panel: IDockviewPanel | undefined;
|
|
134
|
+
api: DockviewApi;
|
|
135
|
+
group: DockviewGroupPanel | undefined;
|
|
136
|
+
getData: () => PanelTransfer | undefined;
|
|
129
137
|
});
|
|
130
138
|
}
|
|
131
139
|
export declare class DockviewGroupPanelModel extends CompositeDisposable implements IDockviewGroupPanelModel {
|
|
@@ -40,7 +40,7 @@ export class DockviewWillDropEvent extends DockviewDidDropEvent {
|
|
|
40
40
|
}
|
|
41
41
|
export class WillShowOverlayLocationEvent {
|
|
42
42
|
get kind() {
|
|
43
|
-
return this.
|
|
43
|
+
return this.options.kind;
|
|
44
44
|
}
|
|
45
45
|
get nativeEvent() {
|
|
46
46
|
return this.event.nativeEvent;
|
|
@@ -51,12 +51,24 @@ export class WillShowOverlayLocationEvent {
|
|
|
51
51
|
get defaultPrevented() {
|
|
52
52
|
return this.event.defaultPrevented;
|
|
53
53
|
}
|
|
54
|
+
get panel() {
|
|
55
|
+
return this.options.panel;
|
|
56
|
+
}
|
|
57
|
+
get api() {
|
|
58
|
+
return this.options.api;
|
|
59
|
+
}
|
|
60
|
+
get group() {
|
|
61
|
+
return this.options.group;
|
|
62
|
+
}
|
|
54
63
|
preventDefault() {
|
|
55
64
|
this.event.preventDefault();
|
|
56
65
|
}
|
|
66
|
+
getData() {
|
|
67
|
+
return this.options.getData();
|
|
68
|
+
}
|
|
57
69
|
constructor(event, options) {
|
|
58
70
|
this.event = event;
|
|
59
|
-
this.
|
|
71
|
+
this.options = options;
|
|
60
72
|
}
|
|
61
73
|
}
|
|
62
74
|
export class DockviewGroupPanelModel extends CompositeDisposable {
|
|
@@ -195,6 +207,10 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
195
207
|
}), this.contentContainer.dropTarget.onWillShowOverlay((event) => {
|
|
196
208
|
this._onWillShowOverlay.fire(new WillShowOverlayLocationEvent(event, {
|
|
197
209
|
kind: 'content',
|
|
210
|
+
panel: this.activePanel,
|
|
211
|
+
api: this._api,
|
|
212
|
+
group: this.groupPanel,
|
|
213
|
+
getData: getPanelData,
|
|
198
214
|
}));
|
|
199
215
|
}), this._onMove, this._onDidChange, this._onDidDrop, this._onWillDrop, this._onDidAddPanel, this._onDidRemovePanel, this._onDidActivePanelChange);
|
|
200
216
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Droptarget } from './dnd/droptarget';
|
|
2
2
|
import { CompositeDisposable } from './lifecycle';
|
|
3
3
|
import { IDockviewPanel } from './dockview/dockviewPanel';
|
|
4
|
-
export type DockviewPanelRenderer = '
|
|
4
|
+
export type DockviewPanelRenderer = 'onlyWhenVisible' | 'always';
|
|
5
5
|
export interface IRenderable {
|
|
6
6
|
readonly element: HTMLElement;
|
|
7
7
|
readonly dropTarget: Droptarget;
|