dockview-core 4.11.0 → 4.13.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/component.api.d.ts +5 -3
- package/dist/cjs/api/component.api.js +2 -2
- package/dist/cjs/api/dockviewGroupPanelApi.d.ts +3 -1
- package/dist/cjs/api/dockviewGroupPanelApi.js +24 -1
- package/dist/cjs/dockview/components/panel/content.d.ts +7 -0
- package/dist/cjs/dockview/components/panel/content.js +11 -0
- package/dist/cjs/dockview/components/titlebar/tabs.d.ts +2 -2
- package/dist/cjs/dockview/components/titlebar/tabs.js +1 -1
- package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +3 -3
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +10 -4
- package/dist/cjs/dockview/dockviewComponent.js +167 -85
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +2 -2
- package/dist/cjs/dockview/dockviewGroupPanelModel.js +4 -1
- package/dist/cjs/dockview/dockviewPanel.d.ts +6 -4
- package/dist/cjs/dockview/dockviewPanel.js +12 -0
- package/dist/cjs/dockview/events.d.ts +4 -4
- package/dist/cjs/dockview/events.js +14 -14
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +7 -2
- package/dist/cjs/overlay/overlay.js +25 -14
- package/dist/cjs/splitview/splitview.js +2 -0
- package/dist/dockview-core.amd.js +172 -54
- 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 +172 -54
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +172 -54
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +172 -55
- 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 +172 -54
- 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 +172 -54
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/component.api.d.ts +5 -3
- package/dist/esm/api/component.api.js +2 -2
- package/dist/esm/api/dockviewGroupPanelApi.d.ts +3 -1
- package/dist/esm/api/dockviewGroupPanelApi.js +13 -1
- package/dist/esm/dockview/components/panel/content.d.ts +7 -0
- package/dist/esm/dockview/components/panel/content.js +11 -0
- package/dist/esm/dockview/components/titlebar/tabs.d.ts +2 -2
- package/dist/esm/dockview/components/titlebar/tabs.js +2 -2
- package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +3 -3
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +2 -2
- package/dist/esm/dockview/dockviewComponent.d.ts +10 -4
- package/dist/esm/dockview/dockviewComponent.js +99 -33
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +2 -2
- package/dist/esm/dockview/dockviewGroupPanelModel.js +5 -2
- package/dist/esm/dockview/dockviewPanel.d.ts +6 -4
- package/dist/esm/dockview/dockviewPanel.js +12 -0
- package/dist/esm/dockview/events.d.ts +4 -4
- package/dist/esm/dockview/events.js +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/overlay/overlay.js +26 -15
- package/dist/esm/splitview/splitview.js +2 -0
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ import { PaneviewDidDropEvent } from '../paneview/draggablePaneviewPanel';
|
|
|
16
16
|
import { GroupDragEvent, TabDragEvent } from '../dockview/components/titlebar/tabsContainer';
|
|
17
17
|
import { Box } from '../types';
|
|
18
18
|
import { DockviewDidDropEvent, DockviewWillDropEvent } from '../dockview/dockviewGroupPanelModel';
|
|
19
|
-
import {
|
|
19
|
+
import { DockviewWillShowOverlayLocationEvent } from '../dockview/events';
|
|
20
20
|
import { PaneviewComponentOptions, PaneviewDndOverlayEvent } from '../paneview/options';
|
|
21
21
|
import { SplitviewComponentOptions } from '../splitview/options';
|
|
22
22
|
import { GridviewComponentOptions } from '../gridview/options';
|
|
@@ -403,7 +403,7 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
|
|
|
403
403
|
* Calling `event.preventDefault()` will prevent the overlay being shown and prevent
|
|
404
404
|
* the any subsequent drop event.
|
|
405
405
|
*/
|
|
406
|
-
get onWillShowOverlay(): Event<
|
|
406
|
+
get onWillShowOverlay(): Event<DockviewWillShowOverlayLocationEvent>;
|
|
407
407
|
/**
|
|
408
408
|
* Invoked before a group is dragged.
|
|
409
409
|
*
|
|
@@ -481,7 +481,9 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
|
|
|
481
481
|
/**
|
|
482
482
|
* Create a component from a serialized object.
|
|
483
483
|
*/
|
|
484
|
-
fromJSON(data: SerializedDockview
|
|
484
|
+
fromJSON(data: SerializedDockview, options?: {
|
|
485
|
+
reuseExistingPanels: boolean;
|
|
486
|
+
}): void;
|
|
485
487
|
/**
|
|
486
488
|
* Create a serialized object of the current component.
|
|
487
489
|
*/
|
|
@@ -942,8 +942,8 @@ var DockviewApi = /** @class */ (function () {
|
|
|
942
942
|
/**
|
|
943
943
|
* Create a component from a serialized object.
|
|
944
944
|
*/
|
|
945
|
-
DockviewApi.prototype.fromJSON = function (data) {
|
|
946
|
-
this.component.fromJSON(data);
|
|
945
|
+
DockviewApi.prototype.fromJSON = function (data, options) {
|
|
946
|
+
this.component.fromJSON(data, options);
|
|
947
947
|
};
|
|
948
948
|
/**
|
|
949
949
|
* Create a serialized object of the current component.
|
|
@@ -3,7 +3,7 @@ import { DockviewComponent } from '../dockview/dockviewComponent';
|
|
|
3
3
|
import { DockviewGroupPanel } from '../dockview/dockviewGroupPanel';
|
|
4
4
|
import { DockviewGroupChangeEvent, DockviewGroupLocation } from '../dockview/dockviewGroupPanelModel';
|
|
5
5
|
import { Emitter, Event } from '../events';
|
|
6
|
-
import { GridviewPanelApi, GridviewPanelApiImpl } from './gridviewPanelApi';
|
|
6
|
+
import { GridviewPanelApi, GridviewPanelApiImpl, SizeEvent } from './gridviewPanelApi';
|
|
7
7
|
export interface DockviewGroupMoveParams {
|
|
8
8
|
group?: DockviewGroupPanel;
|
|
9
9
|
position?: Position;
|
|
@@ -36,12 +36,14 @@ export interface DockviewGroupPanelFloatingChangeEvent {
|
|
|
36
36
|
export declare class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
|
|
37
37
|
private readonly accessor;
|
|
38
38
|
private _group;
|
|
39
|
+
private _pendingSize;
|
|
39
40
|
readonly _onDidLocationChange: Emitter<DockviewGroupPanelFloatingChangeEvent>;
|
|
40
41
|
readonly onDidLocationChange: Event<DockviewGroupPanelFloatingChangeEvent>;
|
|
41
42
|
readonly _onDidActivePanelChange: Emitter<DockviewGroupChangeEvent>;
|
|
42
43
|
readonly onDidActivePanelChange: Event<DockviewGroupChangeEvent>;
|
|
43
44
|
get location(): DockviewGroupLocation;
|
|
44
45
|
constructor(id: string, accessor: DockviewComponent);
|
|
46
|
+
setSize(event: SizeEvent): void;
|
|
45
47
|
close(): void;
|
|
46
48
|
getWindow(): Window;
|
|
47
49
|
moveTo(options: DockviewGroupMoveParams): void;
|
|
@@ -14,6 +14,17 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
14
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
|
+
var __assign = (this && this.__assign) || function () {
|
|
18
|
+
__assign = Object.assign || function(t) {
|
|
19
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
+
s = arguments[i];
|
|
21
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
+
t[p] = s[p];
|
|
23
|
+
}
|
|
24
|
+
return t;
|
|
25
|
+
};
|
|
26
|
+
return __assign.apply(this, arguments);
|
|
27
|
+
};
|
|
17
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
29
|
exports.DockviewGroupPanelApiImpl = void 0;
|
|
19
30
|
var droptarget_1 = require("../dnd/droptarget");
|
|
@@ -29,7 +40,13 @@ var DockviewGroupPanelApiImpl = /** @class */ (function (_super) {
|
|
|
29
40
|
_this.onDidLocationChange = _this._onDidLocationChange.event;
|
|
30
41
|
_this._onDidActivePanelChange = new events_1.Emitter();
|
|
31
42
|
_this.onDidActivePanelChange = _this._onDidActivePanelChange.event;
|
|
32
|
-
_this.addDisposables(_this._onDidLocationChange, _this._onDidActivePanelChange)
|
|
43
|
+
_this.addDisposables(_this._onDidLocationChange, _this._onDidActivePanelChange, _this._onDidVisibilityChange.event(function (event) {
|
|
44
|
+
// When becoming visible, apply any pending size change
|
|
45
|
+
if (event.isVisible && _this._pendingSize) {
|
|
46
|
+
_super.prototype.setSize.call(_this, _this._pendingSize);
|
|
47
|
+
_this._pendingSize = undefined;
|
|
48
|
+
}
|
|
49
|
+
}));
|
|
33
50
|
return _this;
|
|
34
51
|
}
|
|
35
52
|
Object.defineProperty(DockviewGroupPanelApiImpl.prototype, "location", {
|
|
@@ -42,6 +59,12 @@ var DockviewGroupPanelApiImpl = /** @class */ (function (_super) {
|
|
|
42
59
|
enumerable: false,
|
|
43
60
|
configurable: true
|
|
44
61
|
});
|
|
62
|
+
DockviewGroupPanelApiImpl.prototype.setSize = function (event) {
|
|
63
|
+
// Always store the requested size
|
|
64
|
+
this._pendingSize = __assign({}, event);
|
|
65
|
+
// Apply the size change immediately
|
|
66
|
+
_super.prototype.setSize.call(this, event);
|
|
67
|
+
};
|
|
45
68
|
DockviewGroupPanelApiImpl.prototype.close = function () {
|
|
46
69
|
if (!this._group) {
|
|
47
70
|
return;
|
|
@@ -17,6 +17,7 @@ export interface IContentContainer extends IDisposable {
|
|
|
17
17
|
renderPanel(panel: IDockviewPanel, options: {
|
|
18
18
|
asActive: boolean;
|
|
19
19
|
}): void;
|
|
20
|
+
refreshFocusState(): void;
|
|
20
21
|
}
|
|
21
22
|
export declare class ContentContainer extends CompositeDisposable implements IContentContainer {
|
|
22
23
|
private readonly accessor;
|
|
@@ -24,6 +25,7 @@ export declare class ContentContainer extends CompositeDisposable implements ICo
|
|
|
24
25
|
private readonly _element;
|
|
25
26
|
private panel;
|
|
26
27
|
private readonly disposable;
|
|
28
|
+
private focusTracker;
|
|
27
29
|
private readonly _onDidFocus;
|
|
28
30
|
readonly onDidFocus: Event<void>;
|
|
29
31
|
private readonly _onDidBlur;
|
|
@@ -40,4 +42,9 @@ export declare class ContentContainer extends CompositeDisposable implements ICo
|
|
|
40
42
|
layout(_width: number, _height: number): void;
|
|
41
43
|
closePanel(): void;
|
|
42
44
|
dispose(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Refresh the focus tracker state to handle cases where focus state
|
|
47
|
+
* gets out of sync due to programmatic panel activation
|
|
48
|
+
*/
|
|
49
|
+
refreshFocusState(): void;
|
|
43
50
|
}
|
|
@@ -118,6 +118,7 @@ var ContentContainer = /** @class */ (function (_super) {
|
|
|
118
118
|
}
|
|
119
119
|
if (doRender) {
|
|
120
120
|
var focusTracker = (0, dom_1.trackFocus)(container);
|
|
121
|
+
this.focusTracker = focusTracker;
|
|
121
122
|
var disposable = new lifecycle_1.CompositeDisposable();
|
|
122
123
|
disposable.addDisposables(focusTracker, focusTracker.onDidFocus(function () { return _this._onDidFocus.fire(); }), focusTracker.onDidBlur(function () { return _this._onDidBlur.fire(); }));
|
|
123
124
|
this.disposable.value = disposable;
|
|
@@ -145,6 +146,16 @@ var ContentContainer = /** @class */ (function (_super) {
|
|
|
145
146
|
this.disposable.dispose();
|
|
146
147
|
_super.prototype.dispose.call(this);
|
|
147
148
|
};
|
|
149
|
+
/**
|
|
150
|
+
* Refresh the focus tracker state to handle cases where focus state
|
|
151
|
+
* gets out of sync due to programmatic panel activation
|
|
152
|
+
*/
|
|
153
|
+
ContentContainer.prototype.refreshFocusState = function () {
|
|
154
|
+
var _a;
|
|
155
|
+
if ((_a = this.focusTracker) === null || _a === void 0 ? void 0 : _a.refreshState) {
|
|
156
|
+
this.focusTracker.refreshState();
|
|
157
|
+
}
|
|
158
|
+
};
|
|
148
159
|
return ContentContainer;
|
|
149
160
|
}(lifecycle_1.CompositeDisposable));
|
|
150
161
|
exports.ContentContainer = ContentContainer;
|
|
@@ -2,7 +2,7 @@ import { Event } from '../../../events';
|
|
|
2
2
|
import { CompositeDisposable } from '../../../lifecycle';
|
|
3
3
|
import { DockviewComponent } from '../../dockviewComponent';
|
|
4
4
|
import { DockviewGroupPanel } from '../../dockviewGroupPanel';
|
|
5
|
-
import {
|
|
5
|
+
import { DockviewWillShowOverlayLocationEvent } from '../../events';
|
|
6
6
|
import { IDockviewPanel } from '../../dockviewPanel';
|
|
7
7
|
import { Tab } from '../tab/tab';
|
|
8
8
|
import { TabDragEvent, TabDropIndexEvent } from './tabsContainer';
|
|
@@ -20,7 +20,7 @@ export declare class Tabs extends CompositeDisposable {
|
|
|
20
20
|
private readonly _onDrop;
|
|
21
21
|
readonly onDrop: Event<TabDropIndexEvent>;
|
|
22
22
|
private readonly _onWillShowOverlay;
|
|
23
|
-
readonly onWillShowOverlay: Event<
|
|
23
|
+
readonly onWillShowOverlay: Event<DockviewWillShowOverlayLocationEvent>;
|
|
24
24
|
private readonly _onOverflowTabsChange;
|
|
25
25
|
readonly onOverflowTabsChange: Event<{
|
|
26
26
|
tabs: string[];
|
|
@@ -246,7 +246,7 @@ var Tabs = /** @class */ (function (_super) {
|
|
|
246
246
|
index: _this._tabs.findIndex(function (x) { return x.value === tab; }),
|
|
247
247
|
});
|
|
248
248
|
}), tab.onWillShowOverlay(function (event) {
|
|
249
|
-
_this._onWillShowOverlay.fire(new events_2.
|
|
249
|
+
_this._onWillShowOverlay.fire(new events_2.DockviewWillShowOverlayLocationEvent(event, {
|
|
250
250
|
kind: 'tab',
|
|
251
251
|
panel: _this.group.activePanel,
|
|
252
252
|
api: _this.accessor.api,
|
|
@@ -4,7 +4,7 @@ import { Tab } from '../tab/tab';
|
|
|
4
4
|
import { DockviewGroupPanel } from '../../dockviewGroupPanel';
|
|
5
5
|
import { IDockviewPanel } from '../../dockviewPanel';
|
|
6
6
|
import { DockviewComponent } from '../../dockviewComponent';
|
|
7
|
-
import {
|
|
7
|
+
import { DockviewWillShowOverlayLocationEvent } from '../../events';
|
|
8
8
|
export interface TabDropIndexEvent {
|
|
9
9
|
readonly event: DragEvent;
|
|
10
10
|
readonly index: number;
|
|
@@ -24,7 +24,7 @@ export interface ITabsContainer extends IDisposable {
|
|
|
24
24
|
readonly onDrop: Event<TabDropIndexEvent>;
|
|
25
25
|
readonly onTabDragStart: Event<TabDragEvent>;
|
|
26
26
|
readonly onGroupDragStart: Event<GroupDragEvent>;
|
|
27
|
-
readonly onWillShowOverlay: Event<
|
|
27
|
+
readonly onWillShowOverlay: Event<DockviewWillShowOverlayLocationEvent>;
|
|
28
28
|
hidden: boolean;
|
|
29
29
|
delete(id: string): void;
|
|
30
30
|
indexOf(id: string): number;
|
|
@@ -62,7 +62,7 @@ export declare class TabsContainer extends CompositeDisposable implements ITabsC
|
|
|
62
62
|
private readonly _onGroupDragStart;
|
|
63
63
|
readonly onGroupDragStart: Event<GroupDragEvent>;
|
|
64
64
|
private readonly _onWillShowOverlay;
|
|
65
|
-
readonly onWillShowOverlay: Event<
|
|
65
|
+
readonly onWillShowOverlay: Event<DockviewWillShowOverlayLocationEvent>;
|
|
66
66
|
get panels(): string[];
|
|
67
67
|
get size(): number;
|
|
68
68
|
get hidden(): boolean;
|
|
@@ -85,7 +85,7 @@ var TabsContainer = /** @class */ (function (_super) {
|
|
|
85
85
|
index: _this.tabs.size,
|
|
86
86
|
});
|
|
87
87
|
}), _this.voidContainer.onWillShowOverlay(function (event) {
|
|
88
|
-
_this._onWillShowOverlay.fire(new events_2.
|
|
88
|
+
_this._onWillShowOverlay.fire(new events_2.DockviewWillShowOverlayLocationEvent(event, {
|
|
89
89
|
kind: 'header_space',
|
|
90
90
|
panel: _this.group.activePanel,
|
|
91
91
|
api: _this.accessor.api,
|
|
@@ -8,7 +8,7 @@ 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, DockviewDidDropEvent, DockviewWillDropEvent } from './dockviewGroupPanelModel';
|
|
11
|
-
import {
|
|
11
|
+
import { DockviewWillShowOverlayLocationEvent } from './events';
|
|
12
12
|
import { DockviewGroupPanel } from './dockviewGroupPanel';
|
|
13
13
|
import { Parameters } from '../panel/types';
|
|
14
14
|
import { DockviewFloatingGroupPanel } from './dockviewFloatingGroupPanel';
|
|
@@ -94,6 +94,7 @@ type MoveGroupOrPanelOptions = {
|
|
|
94
94
|
index?: number;
|
|
95
95
|
};
|
|
96
96
|
skipSetActive?: boolean;
|
|
97
|
+
keepEmptyGroups?: boolean;
|
|
97
98
|
};
|
|
98
99
|
export interface FloatingGroupOptions {
|
|
99
100
|
x?: number;
|
|
@@ -128,7 +129,7 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
|
|
|
128
129
|
readonly orientation: Orientation;
|
|
129
130
|
readonly onDidDrop: Event<DockviewDidDropEvent>;
|
|
130
131
|
readonly onWillDrop: Event<DockviewWillDropEvent>;
|
|
131
|
-
readonly onWillShowOverlay: Event<
|
|
132
|
+
readonly onWillShowOverlay: Event<DockviewWillShowOverlayLocationEvent>;
|
|
132
133
|
readonly onDidRemovePanel: Event<IDockviewPanel>;
|
|
133
134
|
readonly onDidAddPanel: Event<IDockviewPanel>;
|
|
134
135
|
readonly onDidLayoutFromJSON: Event<void>;
|
|
@@ -175,6 +176,9 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
|
|
|
175
176
|
window: Window;
|
|
176
177
|
}) => void;
|
|
177
178
|
}): Promise<boolean>;
|
|
179
|
+
fromJSON(data: any, options?: {
|
|
180
|
+
reuseExistingPanels: boolean;
|
|
181
|
+
}): void;
|
|
178
182
|
}
|
|
179
183
|
export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> implements IDockviewComponent {
|
|
180
184
|
private readonly nextGroupId;
|
|
@@ -195,7 +199,7 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
|
|
|
195
199
|
private readonly _onWillDrop;
|
|
196
200
|
readonly onWillDrop: Event<DockviewWillDropEvent>;
|
|
197
201
|
private readonly _onWillShowOverlay;
|
|
198
|
-
readonly onWillShowOverlay: Event<
|
|
202
|
+
readonly onWillShowOverlay: Event<DockviewWillShowOverlayLocationEvent>;
|
|
199
203
|
private readonly _onUnhandledDragOverEvent;
|
|
200
204
|
readonly onUnhandledDragOverEvent: Event<DockviewDndOverlayEvent>;
|
|
201
205
|
private readonly _onDidRemovePanel;
|
|
@@ -260,7 +264,9 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
|
|
|
260
264
|
* @returns A JSON respresentation of the layout
|
|
261
265
|
*/
|
|
262
266
|
toJSON(): SerializedDockview;
|
|
263
|
-
fromJSON(data: SerializedDockview
|
|
267
|
+
fromJSON(data: SerializedDockview, options?: {
|
|
268
|
+
reuseExistingPanels: boolean;
|
|
269
|
+
}): void;
|
|
264
270
|
clear(): void;
|
|
265
271
|
closeAllGroups(): void;
|
|
266
272
|
addPanel<T extends object = Parameters>(options: AddPanelOptions<T>): DockviewPanel;
|