dockview-core 1.17.2 → 2.0.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 +1 -1
- package/dist/cjs/api/dockviewGroupPanelApi.d.ts +10 -8
- package/dist/cjs/api/dockviewGroupPanelApi.js +1 -0
- package/dist/cjs/api/dockviewPanelApi.d.ts +6 -14
- package/dist/cjs/api/dockviewPanelApi.js +5 -3
- package/dist/cjs/dnd/abstractDragHandler.js +1 -1
- package/dist/cjs/dnd/dnd.d.ts +2 -2
- package/dist/cjs/dnd/droptarget.js +4 -4
- package/dist/cjs/dockview/components/panel/content.d.ts +2 -2
- package/dist/cjs/dockview/components/panel/content.js +3 -1
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts +3 -3
- package/dist/cjs/dockview/components/tab/tab.js +4 -4
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +5 -9
- package/dist/cjs/dockview/components/titlebar/voidContainer.js +1 -1
- package/dist/cjs/dockview/components/watermark/watermark.d.ts +1 -1
- package/dist/cjs/dockview/components/watermark/watermark.js +6 -6
- package/dist/cjs/dockview/dockviewComponent.d.ts +2 -3
- package/dist/cjs/dockview/dockviewComponent.js +66 -35
- package/dist/cjs/dockview/dockviewGroupPanel.js +16 -12
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +3 -3
- package/dist/cjs/dockview/dockviewGroupPanelModel.js +7 -7
- package/dist/cjs/dockview/dockviewPanel.d.ts +4 -4
- package/dist/cjs/dockview/dockviewPanelModel.d.ts +1 -1
- package/dist/cjs/dockview/options.d.ts +8 -0
- package/dist/cjs/dom.d.ts +11 -1
- package/dist/cjs/dom.js +19 -1
- package/dist/cjs/gridview/basePanelView.d.ts +1 -1
- package/dist/cjs/gridview/branchNode.d.ts +1 -1
- package/dist/cjs/gridview/branchNode.js +1 -1
- package/dist/cjs/gridview/gridview.js +2 -2
- package/dist/cjs/gridview/gridviewPanel.d.ts +4 -0
- package/dist/cjs/gridview/gridviewPanel.js +60 -32
- package/dist/cjs/gridview/leafNode.d.ts +1 -1
- package/dist/cjs/index.d.ts +8 -9
- package/dist/cjs/index.js +14 -7
- package/dist/cjs/overlay/overlay.d.ts +3 -3
- package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +1 -1
- package/dist/cjs/paneview/defaultPaneviewHeader.js +5 -3
- package/dist/cjs/paneview/paneview.d.ts +3 -3
- package/dist/cjs/paneview/paneview.js +3 -3
- package/dist/cjs/paneview/paneviewComponent.d.ts +2 -2
- package/dist/cjs/paneview/paneviewPanel.d.ts +2 -2
- package/dist/cjs/paneview/paneviewPanel.js +3 -3
- package/dist/cjs/popoutWindow.js +23 -16
- package/dist/cjs/splitview/splitview.d.ts +6 -6
- package/dist/cjs/splitview/splitview.js +18 -17
- package/dist/cjs/splitview/splitviewComponent.d.ts +2 -2
- package/dist/cjs/splitview/viewItem.d.ts +1 -1
- package/dist/cjs/svg.js +1 -1
- package/dist/dockview-core.amd.js +241 -169
- 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 +240 -168
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +241 -169
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +242 -168
- 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 +241 -169
- 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 +240 -168
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/component.api.d.ts +1 -1
- package/dist/esm/api/dockviewGroupPanelApi.d.ts +10 -8
- package/dist/esm/api/dockviewGroupPanelApi.js +1 -0
- package/dist/esm/api/dockviewPanelApi.d.ts +6 -14
- package/dist/esm/api/dockviewPanelApi.js +5 -3
- package/dist/esm/dnd/abstractDragHandler.js +1 -1
- package/dist/esm/dnd/dnd.d.ts +2 -2
- package/dist/esm/dnd/droptarget.js +4 -4
- package/dist/esm/dockview/components/panel/content.d.ts +2 -2
- package/dist/esm/dockview/components/panel/content.js +4 -2
- package/dist/esm/dockview/components/tab/defaultTab.d.ts +3 -3
- package/dist/esm/dockview/components/tab/tab.js +4 -4
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +5 -9
- package/dist/esm/dockview/components/titlebar/voidContainer.js +1 -1
- package/dist/esm/dockview/components/watermark/watermark.d.ts +1 -1
- package/dist/esm/dockview/components/watermark/watermark.js +6 -6
- package/dist/esm/dockview/dockviewComponent.d.ts +2 -3
- package/dist/esm/dockview/dockviewComponent.js +65 -34
- package/dist/esm/dockview/dockviewGroupPanel.js +16 -12
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +3 -3
- package/dist/esm/dockview/dockviewGroupPanelModel.js +7 -7
- package/dist/esm/dockview/dockviewPanel.d.ts +4 -4
- package/dist/esm/dockview/dockviewPanelModel.d.ts +1 -1
- package/dist/esm/dockview/options.d.ts +8 -0
- package/dist/esm/dom.d.ts +11 -1
- package/dist/esm/dom.js +14 -0
- package/dist/esm/gridview/basePanelView.d.ts +1 -1
- package/dist/esm/gridview/branchNode.d.ts +1 -1
- package/dist/esm/gridview/branchNode.js +1 -1
- package/dist/esm/gridview/gridview.js +2 -2
- package/dist/esm/gridview/gridviewPanel.d.ts +4 -0
- package/dist/esm/gridview/gridviewPanel.js +40 -12
- package/dist/esm/gridview/leafNode.d.ts +1 -1
- package/dist/esm/index.d.ts +8 -9
- package/dist/esm/index.js +5 -6
- package/dist/esm/overlay/overlay.d.ts +3 -3
- package/dist/esm/paneview/defaultPaneviewHeader.d.ts +1 -1
- package/dist/esm/paneview/defaultPaneviewHeader.js +5 -3
- package/dist/esm/paneview/paneview.d.ts +3 -3
- package/dist/esm/paneview/paneview.js +3 -3
- package/dist/esm/paneview/paneviewComponent.d.ts +2 -2
- package/dist/esm/paneview/paneviewPanel.d.ts +2 -2
- package/dist/esm/paneview/paneviewPanel.js +3 -3
- package/dist/esm/popoutWindow.js +24 -17
- package/dist/esm/splitview/splitview.d.ts +6 -6
- package/dist/esm/splitview/splitview.js +18 -17
- package/dist/esm/splitview/splitviewComponent.d.ts +2 -2
- package/dist/esm/splitview/viewItem.d.ts +1 -1
- package/dist/esm/svg.js +1 -1
- package/dist/styles/dockview.css +114 -125
- package/package.json +1 -1
|
@@ -512,7 +512,7 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
|
|
|
512
512
|
id: string;
|
|
513
513
|
window: Window;
|
|
514
514
|
}) => void;
|
|
515
|
-
}): Promise<
|
|
515
|
+
}): Promise<boolean>;
|
|
516
516
|
setGap(gap: number | undefined): void;
|
|
517
517
|
updateOptions(options: Partial<DockviewComponentOptions>): void;
|
|
518
518
|
/**
|
|
@@ -4,6 +4,14 @@ import { DockviewGroupPanel } from '../dockview/dockviewGroupPanel';
|
|
|
4
4
|
import { DockviewGroupChangeEvent, DockviewGroupLocation } from '../dockview/dockviewGroupPanelModel';
|
|
5
5
|
import { Emitter, Event } from '../events';
|
|
6
6
|
import { GridviewPanelApi, GridviewPanelApiImpl } from './gridviewPanelApi';
|
|
7
|
+
export interface DockviewGroupMoveParams {
|
|
8
|
+
group?: DockviewGroupPanel;
|
|
9
|
+
position?: Position;
|
|
10
|
+
/**
|
|
11
|
+
* The index to place the panel within a group, only applicable if the placement is within an existing group
|
|
12
|
+
*/
|
|
13
|
+
index?: number;
|
|
14
|
+
}
|
|
7
15
|
export interface DockviewGroupPanelApi extends GridviewPanelApi {
|
|
8
16
|
readonly onDidLocationChange: Event<DockviewGroupPanelFloatingChangeEvent>;
|
|
9
17
|
readonly onDidActivePanelChange: Event<DockviewGroupChangeEvent>;
|
|
@@ -12,10 +20,7 @@ export interface DockviewGroupPanelApi extends GridviewPanelApi {
|
|
|
12
20
|
* If you require the Window object
|
|
13
21
|
*/
|
|
14
22
|
getWindow(): Window;
|
|
15
|
-
moveTo(options:
|
|
16
|
-
group?: DockviewGroupPanel;
|
|
17
|
-
position?: Position;
|
|
18
|
-
}): void;
|
|
23
|
+
moveTo(options: DockviewGroupMoveParams): void;
|
|
19
24
|
maximize(): void;
|
|
20
25
|
isMaximized(): boolean;
|
|
21
26
|
exitMaximized(): void;
|
|
@@ -36,10 +41,7 @@ export declare class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
|
|
|
36
41
|
constructor(id: string, accessor: DockviewComponent);
|
|
37
42
|
close(): void;
|
|
38
43
|
getWindow(): Window;
|
|
39
|
-
moveTo(options:
|
|
40
|
-
group?: DockviewGroupPanel;
|
|
41
|
-
position?: Position;
|
|
42
|
-
}): void;
|
|
44
|
+
moveTo(options: DockviewGroupMoveParams): void;
|
|
43
45
|
maximize(): void;
|
|
44
46
|
isMaximized(): boolean;
|
|
45
47
|
exitMaximized(): void;
|
|
@@ -3,9 +3,8 @@ import { GridviewPanelApiImpl, GridviewPanelApi } from './gridviewPanelApi';
|
|
|
3
3
|
import { DockviewGroupPanel } from '../dockview/dockviewGroupPanel';
|
|
4
4
|
import { DockviewPanel } from '../dockview/dockviewPanel';
|
|
5
5
|
import { DockviewComponent } from '../dockview/dockviewComponent';
|
|
6
|
-
import { Position } from '../dnd/droptarget';
|
|
7
6
|
import { DockviewPanelRenderer } from '../overlay/overlayRenderContainer';
|
|
8
|
-
import { DockviewGroupPanelFloatingChangeEvent } from './dockviewGroupPanelApi';
|
|
7
|
+
import { DockviewGroupMoveParams, DockviewGroupPanelFloatingChangeEvent } from './dockviewGroupPanelApi';
|
|
9
8
|
import { DockviewGroupLocation } from '../dockview/dockviewGroupPanelModel';
|
|
10
9
|
export interface TitleEvent {
|
|
11
10
|
readonly title: string;
|
|
@@ -18,6 +17,7 @@ export interface ActiveGroupEvent {
|
|
|
18
17
|
}
|
|
19
18
|
export interface GroupChangedEvent {
|
|
20
19
|
}
|
|
20
|
+
export type DockviewPanelMoveParams = DockviewGroupMoveParams;
|
|
21
21
|
export interface DockviewPanelApi extends Omit<GridviewPanelApi, 'setVisible' | 'onDidConstraintsChange' | 'setConstraints'> {
|
|
22
22
|
/**
|
|
23
23
|
* The id of the tab component renderer
|
|
@@ -38,11 +38,7 @@ export interface DockviewPanelApi extends Omit<GridviewPanelApi, 'setVisible' |
|
|
|
38
38
|
close(): void;
|
|
39
39
|
setTitle(title: string): void;
|
|
40
40
|
setRenderer(renderer: DockviewPanelRenderer): void;
|
|
41
|
-
moveTo(options:
|
|
42
|
-
group: DockviewGroupPanel;
|
|
43
|
-
position?: Position;
|
|
44
|
-
index?: number;
|
|
45
|
-
}): void;
|
|
41
|
+
moveTo(options: DockviewPanelMoveParams): void;
|
|
46
42
|
maximize(): void;
|
|
47
43
|
isMaximized(): boolean;
|
|
48
44
|
exitMaximized(): void;
|
|
@@ -52,10 +48,10 @@ export interface DockviewPanelApi extends Omit<GridviewPanelApi, 'setVisible' |
|
|
|
52
48
|
getWindow(): Window;
|
|
53
49
|
}
|
|
54
50
|
export declare class DockviewPanelApiImpl extends GridviewPanelApiImpl implements DockviewPanelApi {
|
|
55
|
-
private panel;
|
|
51
|
+
private readonly panel;
|
|
56
52
|
private readonly accessor;
|
|
57
53
|
private _group;
|
|
58
|
-
private _tabComponent;
|
|
54
|
+
private readonly _tabComponent;
|
|
59
55
|
readonly _onDidTitleChange: Emitter<TitleEvent>;
|
|
60
56
|
readonly onDidTitleChange: Event<TitleEvent>;
|
|
61
57
|
private readonly _onDidActiveGroupChange;
|
|
@@ -76,11 +72,7 @@ export declare class DockviewPanelApiImpl extends GridviewPanelApiImpl implement
|
|
|
76
72
|
get tabComponent(): string | undefined;
|
|
77
73
|
constructor(panel: DockviewPanel, group: DockviewGroupPanel, accessor: DockviewComponent, component: string, tabComponent?: string);
|
|
78
74
|
getWindow(): Window;
|
|
79
|
-
moveTo(options:
|
|
80
|
-
group: DockviewGroupPanel;
|
|
81
|
-
position?: Position;
|
|
82
|
-
index?: number;
|
|
83
|
-
}): void;
|
|
75
|
+
moveTo(options: DockviewPanelMoveParams): void;
|
|
84
76
|
setTitle(title: string): void;
|
|
85
77
|
setRenderer(renderer: DockviewPanelRenderer): void;
|
|
86
78
|
close(): void;
|
|
@@ -100,12 +100,14 @@ var DockviewPanelApiImpl = /** @class */ (function (_super) {
|
|
|
100
100
|
return this.group.api.getWindow();
|
|
101
101
|
};
|
|
102
102
|
DockviewPanelApiImpl.prototype.moveTo = function (options) {
|
|
103
|
-
var _a;
|
|
103
|
+
var _a, _b;
|
|
104
104
|
this.accessor.moveGroupOrPanel({
|
|
105
105
|
from: { groupId: this._group.id, panelId: this.panel.id },
|
|
106
106
|
to: {
|
|
107
|
-
group: options.group,
|
|
108
|
-
position:
|
|
107
|
+
group: (_a = options.group) !== null && _a !== void 0 ? _a : this._group,
|
|
108
|
+
position: options.group
|
|
109
|
+
? (_b = options.position) !== null && _b !== void 0 ? _b : 'center'
|
|
110
|
+
: 'center',
|
|
109
111
|
index: options.index,
|
|
110
112
|
},
|
|
111
113
|
});
|
|
@@ -65,7 +65,7 @@ var DragHandler = /** @class */ (function (_super) {
|
|
|
65
65
|
* dnd logic. You can see the code at
|
|
66
66
|
* https://github.com/react-dnd/react-dnd/blob/main/packages/backend-html5/src/HTML5BackendImpl.ts#L542
|
|
67
67
|
*/
|
|
68
|
-
event.dataTransfer.setData('text/plain', '
|
|
68
|
+
event.dataTransfer.setData('text/plain', '');
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
}), (0, events_1.addDisposableListener)(this.el, 'dragend', function () {
|
package/dist/cjs/dnd/dnd.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ export interface IDragAndDropObserverCallbacks {
|
|
|
7
7
|
onDragOver?: (e: DragEvent) => void;
|
|
8
8
|
}
|
|
9
9
|
export declare class DragAndDropObserver extends CompositeDisposable {
|
|
10
|
-
private element;
|
|
11
|
-
private callbacks;
|
|
10
|
+
private readonly element;
|
|
11
|
+
private readonly callbacks;
|
|
12
12
|
private target;
|
|
13
13
|
constructor(element: HTMLElement, callbacks: IDragAndDropObserverCallbacks);
|
|
14
14
|
onDragEnter(e: DragEvent): void;
|
|
@@ -147,12 +147,12 @@ var Droptarget = /** @class */ (function (_super) {
|
|
|
147
147
|
_this.markAsUsed(e);
|
|
148
148
|
if (!_this.targetElement) {
|
|
149
149
|
_this.targetElement = document.createElement('div');
|
|
150
|
-
_this.targetElement.className = 'drop-target-dropzone';
|
|
150
|
+
_this.targetElement.className = 'dv-drop-target-dropzone';
|
|
151
151
|
_this.overlayElement = document.createElement('div');
|
|
152
|
-
_this.overlayElement.className = 'drop-target-selection';
|
|
152
|
+
_this.overlayElement.className = 'dv-drop-target-selection';
|
|
153
153
|
_this._state = 'center';
|
|
154
154
|
_this.targetElement.appendChild(_this.overlayElement);
|
|
155
|
-
_this.element.classList.add('drop-target');
|
|
155
|
+
_this.element.classList.add('dv-drop-target');
|
|
156
156
|
_this.element.append(_this.targetElement);
|
|
157
157
|
}
|
|
158
158
|
_this.toggleClasses(quadrant, width, height);
|
|
@@ -298,7 +298,7 @@ var Droptarget = /** @class */ (function (_super) {
|
|
|
298
298
|
this.element.removeChild(this.targetElement);
|
|
299
299
|
this.targetElement = undefined;
|
|
300
300
|
this.overlayElement = undefined;
|
|
301
|
-
this.element.classList.remove('drop-target');
|
|
301
|
+
this.element.classList.remove('dv-drop-target');
|
|
302
302
|
}
|
|
303
303
|
};
|
|
304
304
|
Droptarget.USED_EVENT_ID = '__dockview_droptarget_event_is_used__';
|
|
@@ -21,9 +21,9 @@ export interface IContentContainer extends IDisposable {
|
|
|
21
21
|
export declare class ContentContainer extends CompositeDisposable implements IContentContainer {
|
|
22
22
|
private readonly accessor;
|
|
23
23
|
private readonly group;
|
|
24
|
-
private _element;
|
|
24
|
+
private readonly _element;
|
|
25
25
|
private panel;
|
|
26
|
-
private disposable;
|
|
26
|
+
private readonly disposable;
|
|
27
27
|
private readonly _onDidFocus;
|
|
28
28
|
readonly onDidFocus: Event<void>;
|
|
29
29
|
private readonly _onDidBlur;
|
|
@@ -33,7 +33,7 @@ var ContentContainer = /** @class */ (function (_super) {
|
|
|
33
33
|
_this._onDidBlur = new events_1.Emitter();
|
|
34
34
|
_this.onDidBlur = _this._onDidBlur.event;
|
|
35
35
|
_this._element = document.createElement('div');
|
|
36
|
-
_this._element.className = 'content-container';
|
|
36
|
+
_this._element.className = 'dv-content-container';
|
|
37
37
|
_this._element.tabIndex = -1;
|
|
38
38
|
_this.addDisposables(_this._onDidFocus, _this._onDidBlur);
|
|
39
39
|
_this.dropTarget = new droptarget_1.Droptarget(_this.element, {
|
|
@@ -116,6 +116,8 @@ var ContentContainer = /** @class */ (function (_super) {
|
|
|
116
116
|
referenceContainer: this,
|
|
117
117
|
});
|
|
118
118
|
break;
|
|
119
|
+
default:
|
|
120
|
+
throw new Error("dockview: invalid renderer type '".concat(panel.api.renderer, "'"));
|
|
119
121
|
}
|
|
120
122
|
if (doRender) {
|
|
121
123
|
var focusTracker = (0, dom_1.trackFocus)(container);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { CompositeDisposable } from '../../../lifecycle';
|
|
2
2
|
import { ITabRenderer, GroupPanelPartInitParameters } from '../../types';
|
|
3
3
|
export declare class DefaultTab extends CompositeDisposable implements ITabRenderer {
|
|
4
|
-
private _element;
|
|
5
|
-
private _content;
|
|
6
|
-
private action;
|
|
4
|
+
private readonly _element;
|
|
5
|
+
private readonly _content;
|
|
6
|
+
private readonly action;
|
|
7
7
|
private _title;
|
|
8
8
|
get element(): HTMLElement;
|
|
9
9
|
constructor();
|
|
@@ -58,10 +58,10 @@ var Tab = /** @class */ (function (_super) {
|
|
|
58
58
|
_this._onDragStart = new events_1.Emitter();
|
|
59
59
|
_this.onDragStart = _this._onDragStart.event;
|
|
60
60
|
_this._element = document.createElement('div');
|
|
61
|
-
_this._element.className = 'tab';
|
|
61
|
+
_this._element.className = 'dv-tab';
|
|
62
62
|
_this._element.tabIndex = 0;
|
|
63
63
|
_this._element.draggable = true;
|
|
64
|
-
(0, dom_1.toggleClass)(_this.element, 'inactive-tab', true);
|
|
64
|
+
(0, dom_1.toggleClass)(_this.element, 'dv-inactive-tab', true);
|
|
65
65
|
var dragHandler = new TabDragHandler(_this._element, _this.accessor, _this.group, _this.panel);
|
|
66
66
|
_this.dropTarget = new droptarget_1.Droptarget(_this._element, {
|
|
67
67
|
acceptedTargetZones: ['center'],
|
|
@@ -102,8 +102,8 @@ var Tab = /** @class */ (function (_super) {
|
|
|
102
102
|
configurable: true
|
|
103
103
|
});
|
|
104
104
|
Tab.prototype.setActive = function (isActive) {
|
|
105
|
-
(0, dom_1.toggleClass)(this.element, 'active-tab', isActive);
|
|
106
|
-
(0, dom_1.toggleClass)(this.element, 'inactive-tab', !isActive);
|
|
105
|
+
(0, dom_1.toggleClass)(this.element, 'dv-active-tab', isActive);
|
|
106
|
+
(0, dom_1.toggleClass)(this.element, 'dv-inactive-tab', !isActive);
|
|
107
107
|
};
|
|
108
108
|
Tab.prototype.setContent = function (part) {
|
|
109
109
|
if (this.content) {
|
|
@@ -77,16 +77,16 @@ var TabsContainer = /** @class */ (function (_super) {
|
|
|
77
77
|
_this._onWillShowOverlay = new events_1.Emitter();
|
|
78
78
|
_this.onWillShowOverlay = _this._onWillShowOverlay.event;
|
|
79
79
|
_this._element = document.createElement('div');
|
|
80
|
-
_this._element.className = 'tabs-and-actions-container';
|
|
80
|
+
_this._element.className = 'dv-tabs-and-actions-container';
|
|
81
81
|
(0, dom_1.toggleClass)(_this._element, 'dv-full-width-single-tab', _this.accessor.options.singleTabMode === 'fullwidth');
|
|
82
82
|
_this.rightActionsContainer = document.createElement('div');
|
|
83
|
-
_this.rightActionsContainer.className = 'right-actions-container';
|
|
83
|
+
_this.rightActionsContainer.className = 'dv-right-actions-container';
|
|
84
84
|
_this.leftActionsContainer = document.createElement('div');
|
|
85
|
-
_this.leftActionsContainer.className = 'left-actions-container';
|
|
85
|
+
_this.leftActionsContainer.className = 'dv-left-actions-container';
|
|
86
86
|
_this.preActionsContainer = document.createElement('div');
|
|
87
|
-
_this.preActionsContainer.className = 'pre-actions-container';
|
|
87
|
+
_this.preActionsContainer.className = 'dv-pre-actions-container';
|
|
88
88
|
_this.tabContainer = document.createElement('div');
|
|
89
|
-
_this.tabContainer.className = 'tabs-container';
|
|
89
|
+
_this.tabContainer.className = 'dv-tabs-container';
|
|
90
90
|
_this.voidContainer = new voidContainer_1.VoidContainer(_this.accessor, _this.group);
|
|
91
91
|
_this._element.appendChild(_this.preActionsContainer);
|
|
92
92
|
_this._element.appendChild(_this.tabContainer);
|
|
@@ -262,15 +262,11 @@ var TabsContainer = /** @class */ (function (_super) {
|
|
|
262
262
|
};
|
|
263
263
|
TabsContainer.prototype.openPanel = function (panel, index) {
|
|
264
264
|
var _this = this;
|
|
265
|
-
var _a;
|
|
266
265
|
if (index === void 0) { index = this.tabs.length; }
|
|
267
266
|
if (this.tabs.find(function (tab) { return tab.value.panel.id === panel.id; })) {
|
|
268
267
|
return;
|
|
269
268
|
}
|
|
270
269
|
var tab = new tab_1.Tab(panel, this.accessor, this.group);
|
|
271
|
-
if (!((_a = panel.view) === null || _a === void 0 ? void 0 : _a.tab)) {
|
|
272
|
-
throw new Error('invalid header component');
|
|
273
|
-
}
|
|
274
270
|
tab.setContent(panel.view.tab);
|
|
275
271
|
var disposable = new lifecycle_1.CompositeDisposable(tab.onDragStart(function (event) {
|
|
276
272
|
_this._onTabDragStart.fire({ nativeEvent: event, panel: panel });
|
|
@@ -33,7 +33,7 @@ var VoidContainer = /** @class */ (function (_super) {
|
|
|
33
33
|
_this._onDragStart = new events_1.Emitter();
|
|
34
34
|
_this.onDragStart = _this._onDragStart.event;
|
|
35
35
|
_this._element = document.createElement('div');
|
|
36
|
-
_this._element.className = 'void-container';
|
|
36
|
+
_this._element.className = 'dv-void-container';
|
|
37
37
|
_this._element.tabIndex = 0;
|
|
38
38
|
_this._element.draggable = true;
|
|
39
39
|
_this.addDisposables(_this._onDrop, _this._onDragStart, (0, events_1.addDisposableListener)(_this._element, 'pointerdown', function () {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IWatermarkRenderer, WatermarkRendererInitParameters } from '../../types';
|
|
2
2
|
import { CompositeDisposable } from '../../../lifecycle';
|
|
3
3
|
export declare class Watermark extends CompositeDisposable implements IWatermarkRenderer {
|
|
4
|
-
private _element;
|
|
4
|
+
private readonly _element;
|
|
5
5
|
private _group;
|
|
6
6
|
private _api;
|
|
7
7
|
get element(): HTMLElement;
|
|
@@ -25,19 +25,19 @@ var Watermark = /** @class */ (function (_super) {
|
|
|
25
25
|
function Watermark() {
|
|
26
26
|
var _this = _super.call(this) || this;
|
|
27
27
|
_this._element = document.createElement('div');
|
|
28
|
-
_this._element.className = 'watermark';
|
|
28
|
+
_this._element.className = 'dv-watermark';
|
|
29
29
|
var title = document.createElement('div');
|
|
30
|
-
title.className = 'watermark-title';
|
|
30
|
+
title.className = 'dv-watermark-title';
|
|
31
31
|
var emptySpace = document.createElement('span');
|
|
32
32
|
emptySpace.style.flexGrow = '1';
|
|
33
33
|
var content = document.createElement('div');
|
|
34
|
-
content.className = 'watermark-content';
|
|
34
|
+
content.className = 'dv-watermark-content';
|
|
35
35
|
_this._element.appendChild(title);
|
|
36
36
|
_this._element.appendChild(content);
|
|
37
37
|
var actionsContainer = document.createElement('div');
|
|
38
|
-
actionsContainer.className = 'actions-container';
|
|
38
|
+
actionsContainer.className = 'dv-actions-container';
|
|
39
39
|
var closeAnchor = document.createElement('div');
|
|
40
|
-
closeAnchor.className = 'close-action';
|
|
40
|
+
closeAnchor.className = 'dv-close-action';
|
|
41
41
|
closeAnchor.appendChild((0, svg_1.createCloseButton)());
|
|
42
42
|
actionsContainer.appendChild(closeAnchor);
|
|
43
43
|
title.appendChild(emptySpace);
|
|
@@ -65,7 +65,7 @@ var Watermark = /** @class */ (function (_super) {
|
|
|
65
65
|
};
|
|
66
66
|
Watermark.prototype.render = function () {
|
|
67
67
|
var isOneGroup = !!(this._api && this._api.size <= 1);
|
|
68
|
-
(0, dom_1.toggleClass)(this.element, 'has-actions', isOneGroup);
|
|
68
|
+
(0, dom_1.toggleClass)(this.element, 'dv-has-actions', isOneGroup);
|
|
69
69
|
};
|
|
70
70
|
return Watermark;
|
|
71
71
|
}(lifecycle_1.CompositeDisposable));
|
|
@@ -129,7 +129,7 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
|
|
|
129
129
|
id: string;
|
|
130
130
|
window: Window;
|
|
131
131
|
}) => void;
|
|
132
|
-
}): Promise<
|
|
132
|
+
}): Promise<boolean>;
|
|
133
133
|
}
|
|
134
134
|
export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> implements IDockviewComponent {
|
|
135
135
|
private readonly nextGroupId;
|
|
@@ -180,7 +180,6 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
|
|
|
180
180
|
get floatingGroups(): DockviewFloatingGroupPanel[];
|
|
181
181
|
constructor(parentElement: HTMLElement, options: DockviewComponentOptions);
|
|
182
182
|
addPopoutGroup(itemToPopout: DockviewPanel | DockviewGroupPanel, options?: {
|
|
183
|
-
skipRemoveGroup?: boolean;
|
|
184
183
|
position?: Box;
|
|
185
184
|
popoutUrl?: string;
|
|
186
185
|
onDidOpen?: (event: {
|
|
@@ -192,7 +191,7 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
|
|
|
192
191
|
window: Window;
|
|
193
192
|
}) => void;
|
|
194
193
|
overridePopoutGroup?: DockviewGroupPanel;
|
|
195
|
-
}): Promise<
|
|
194
|
+
}): Promise<boolean>;
|
|
196
195
|
addFloatingGroup(item: DockviewPanel | DockviewGroupPanel, options?: FloatingGroupOptionsInternal): void;
|
|
197
196
|
private orthogonalize;
|
|
198
197
|
updateOptions(options: Partial<DockviewComponentOptions>): void;
|
|
@@ -381,9 +381,6 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
381
381
|
}
|
|
382
382
|
var box = getBox();
|
|
383
383
|
var groupId = (_b = (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : this.getNextGroupId();
|
|
384
|
-
if (itemToPopout.api.location.type === 'grid') {
|
|
385
|
-
itemToPopout.api.setVisible(false);
|
|
386
|
-
}
|
|
387
384
|
var _window = new popoutWindow_1.PopoutWindow("".concat(this.id, "-").concat(groupId), // unique id
|
|
388
385
|
theme !== null && theme !== void 0 ? theme : '', {
|
|
389
386
|
url: (_c = options === null || options === void 0 ? void 0 : options.popoutUrl) !== null && _c !== void 0 ? _c : '/popout.html',
|
|
@@ -402,11 +399,11 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
402
399
|
.then(function (popoutContainer) {
|
|
403
400
|
var _a;
|
|
404
401
|
if (_window.isDisposed) {
|
|
405
|
-
return;
|
|
402
|
+
return false;
|
|
406
403
|
}
|
|
407
404
|
if (popoutContainer === null) {
|
|
408
405
|
popoutWindowDisposable.dispose();
|
|
409
|
-
return;
|
|
406
|
+
return false;
|
|
410
407
|
}
|
|
411
408
|
var gready = document.createElement('div');
|
|
412
409
|
gready.className = 'dv-overlay-render-container';
|
|
@@ -415,32 +412,42 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
415
412
|
? itemToPopout.group
|
|
416
413
|
: itemToPopout;
|
|
417
414
|
var referenceLocation = itemToPopout.api.location.type;
|
|
418
|
-
|
|
415
|
+
/**
|
|
416
|
+
* The group that is being added doesn't already exist within the DOM, the most likely occurance
|
|
417
|
+
* of this case is when being called from the `fromJSON(...)` method
|
|
418
|
+
*/
|
|
419
|
+
var isGroupAddedToDom = referenceGroup.element.parentElement !== null;
|
|
420
|
+
var group = !isGroupAddedToDom
|
|
421
|
+
? referenceGroup
|
|
422
|
+
: (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) !== null && _a !== void 0 ? _a : _this.createGroup({ id: groupId });
|
|
419
423
|
group.model.renderContainer = overlayRenderContainer;
|
|
420
|
-
|
|
424
|
+
group.layout(_window.window.innerWidth, _window.window.innerHeight);
|
|
425
|
+
if (!_this._groups.has(group.api.id)) {
|
|
421
426
|
_this._onDidAddGroup.fire(group);
|
|
422
427
|
}
|
|
423
|
-
if (
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
}
|
|
429
|
-
else {
|
|
430
|
-
_this.movingLock(function () {
|
|
431
|
-
return moveGroupWithoutDestroying({
|
|
432
|
-
from: referenceGroup,
|
|
433
|
-
to: group,
|
|
428
|
+
if (!(options === null || options === void 0 ? void 0 : options.overridePopoutGroup) && isGroupAddedToDom) {
|
|
429
|
+
if (itemToPopout instanceof dockviewPanel_1.DockviewPanel) {
|
|
430
|
+
_this.movingLock(function () {
|
|
431
|
+
var panel = referenceGroup.model.removePanel(itemToPopout);
|
|
432
|
+
group.model.openPanel(panel);
|
|
434
433
|
});
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
434
|
+
}
|
|
435
|
+
else {
|
|
436
|
+
_this.movingLock(function () {
|
|
437
|
+
return moveGroupWithoutDestroying({
|
|
438
|
+
from: referenceGroup,
|
|
439
|
+
to: group,
|
|
440
|
+
});
|
|
441
|
+
});
|
|
442
|
+
switch (referenceLocation) {
|
|
443
|
+
case 'grid':
|
|
444
|
+
referenceGroup.api.setVisible(false);
|
|
445
|
+
break;
|
|
446
|
+
case 'floating':
|
|
447
|
+
case 'popout':
|
|
448
|
+
_this.removeGroup(referenceGroup);
|
|
449
|
+
break;
|
|
450
|
+
}
|
|
444
451
|
}
|
|
445
452
|
}
|
|
446
453
|
popoutContainer.classList.add('dv-dockview');
|
|
@@ -451,6 +458,10 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
451
458
|
type: 'popout',
|
|
452
459
|
getWindow: function () { return _window.window; },
|
|
453
460
|
};
|
|
461
|
+
if (isGroupAddedToDom &&
|
|
462
|
+
itemToPopout.api.location.type === 'grid') {
|
|
463
|
+
itemToPopout.api.setVisible(false);
|
|
464
|
+
}
|
|
454
465
|
_this.doSetGroupAndPanelActive(group);
|
|
455
466
|
popoutWindowDisposable.addDisposables(group.api.onDidActiveChange(function (event) {
|
|
456
467
|
var _a;
|
|
@@ -465,9 +476,13 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
465
476
|
var value = {
|
|
466
477
|
window: _window,
|
|
467
478
|
popoutGroup: group,
|
|
468
|
-
referenceGroup:
|
|
469
|
-
?
|
|
470
|
-
:
|
|
479
|
+
referenceGroup: !isGroupAddedToDom
|
|
480
|
+
? undefined
|
|
481
|
+
: referenceGroup
|
|
482
|
+
? _this.getPanel(referenceGroup.id)
|
|
483
|
+
? referenceGroup.id
|
|
484
|
+
: undefined
|
|
485
|
+
: undefined,
|
|
471
486
|
disposable: {
|
|
472
487
|
dispose: function () {
|
|
473
488
|
popoutWindowDisposable.dispose();
|
|
@@ -482,9 +497,10 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
482
497
|
* window dimensions
|
|
483
498
|
*/
|
|
484
499
|
(0, events_1.addDisposableWindowListener)(_window.window, 'resize', function () {
|
|
485
|
-
group.layout(window.innerWidth, window.innerHeight);
|
|
500
|
+
group.layout(_window.window.innerWidth, _window.window.innerHeight);
|
|
486
501
|
}), overlayRenderContainer, lifecycle_1.Disposable.from(function () {
|
|
487
|
-
if (
|
|
502
|
+
if (isGroupAddedToDom &&
|
|
503
|
+
_this.getPanel(referenceGroup.id)) {
|
|
488
504
|
_this.movingLock(function () {
|
|
489
505
|
return moveGroupWithoutDestroying({
|
|
490
506
|
from: group,
|
|
@@ -501,21 +517,27 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
501
517
|
}
|
|
502
518
|
}
|
|
503
519
|
else if (_this.getPanel(group.id)) {
|
|
504
|
-
|
|
520
|
+
_this.doRemoveGroup(group, {
|
|
505
521
|
skipDispose: true,
|
|
506
522
|
skipActive: true,
|
|
523
|
+
skipPopoutReturn: true,
|
|
507
524
|
});
|
|
525
|
+
var removedGroup = group;
|
|
508
526
|
removedGroup.model.renderContainer =
|
|
509
527
|
_this.overlayRenderContainer;
|
|
510
528
|
removedGroup.model.location = { type: 'grid' };
|
|
511
529
|
returnedGroup = removedGroup;
|
|
530
|
+
_this.doAddGroup(removedGroup, [0]);
|
|
531
|
+
_this.doSetGroupAndPanelActive(removedGroup);
|
|
512
532
|
}
|
|
513
533
|
}));
|
|
514
534
|
_this._popoutGroups.push(value);
|
|
515
535
|
_this.updateWatermark();
|
|
536
|
+
return true;
|
|
516
537
|
})
|
|
517
538
|
.catch(function (err) {
|
|
518
539
|
console.error('dockview: failed to create popout window', err);
|
|
540
|
+
return false;
|
|
519
541
|
});
|
|
520
542
|
};
|
|
521
543
|
DockviewComponent.prototype.addFloatingGroup = function (item, options) {
|
|
@@ -626,7 +648,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
626
648
|
: (_c = (_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport) !== null && _c !== void 0 ? _c : constants_1.DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE, minimumInViewportHeight: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
627
649
|
? undefined
|
|
628
650
|
: (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumHeightWithinViewport) !== null && _e !== void 0 ? _e : constants_1.DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE }));
|
|
629
|
-
var el = group.element.querySelector('.void-container');
|
|
651
|
+
var el = group.element.querySelector('.dv-void-container');
|
|
630
652
|
if (!el) {
|
|
631
653
|
throw new Error('failed to find drag handle');
|
|
632
654
|
}
|
|
@@ -960,7 +982,6 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
960
982
|
this.addPopoutGroup((_k = (gridReferenceGroup
|
|
961
983
|
? this.getPanel(gridReferenceGroup)
|
|
962
984
|
: undefined)) !== null && _k !== void 0 ? _k : group, {
|
|
963
|
-
skipRemoveGroup: true,
|
|
964
985
|
position: position !== null && position !== void 0 ? position : undefined,
|
|
965
986
|
overridePopoutGroup: gridReferenceGroup
|
|
966
987
|
? group
|
|
@@ -996,6 +1017,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
996
1017
|
}
|
|
997
1018
|
}
|
|
998
1019
|
catch (err) {
|
|
1020
|
+
console.error('dockview: failed to deserialize layout. Reverting changes', err);
|
|
999
1021
|
try {
|
|
1000
1022
|
/**
|
|
1001
1023
|
* Takes all the successfully created groups and remove all of their panels.
|
|
@@ -1125,11 +1147,13 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1125
1147
|
width: options.initialWidth,
|
|
1126
1148
|
height: options.initialHeight,
|
|
1127
1149
|
};
|
|
1150
|
+
var index;
|
|
1128
1151
|
if (options.position) {
|
|
1129
1152
|
if ((0, options_1.isPanelOptionsWithPanel)(options.position)) {
|
|
1130
1153
|
var referencePanel = typeof options.position.referencePanel === 'string'
|
|
1131
1154
|
? this.getGroupPanel(options.position.referencePanel)
|
|
1132
1155
|
: options.position.referencePanel;
|
|
1156
|
+
index = options.position.index;
|
|
1133
1157
|
if (!referencePanel) {
|
|
1134
1158
|
throw new Error("referencePanel '".concat(options.position.referencePanel, "' does not exist"));
|
|
1135
1159
|
}
|
|
@@ -1140,6 +1164,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1140
1164
|
typeof options.position.referenceGroup === 'string'
|
|
1141
1165
|
? (_a = this._groups.get(options.position.referenceGroup)) === null || _a === void 0 ? void 0 : _a.value
|
|
1142
1166
|
: options.position.referenceGroup;
|
|
1167
|
+
index = options.position.index;
|
|
1143
1168
|
if (!referenceGroup) {
|
|
1144
1169
|
throw new Error("referenceGroup '".concat(options.position.referenceGroup, "' does not exist"));
|
|
1145
1170
|
}
|
|
@@ -1150,6 +1175,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1150
1175
|
group.model.openPanel(panel_1, {
|
|
1151
1176
|
skipSetActive: options.inactive,
|
|
1152
1177
|
skipSetGroupActive: options.inactive,
|
|
1178
|
+
index: index,
|
|
1153
1179
|
});
|
|
1154
1180
|
if (!options.inactive) {
|
|
1155
1181
|
this.doSetGroupAndPanelActive(group);
|
|
@@ -1179,6 +1205,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1179
1205
|
group.model.openPanel(panel, {
|
|
1180
1206
|
skipSetActive: options.inactive,
|
|
1181
1207
|
skipSetGroupActive: options.inactive,
|
|
1208
|
+
index: index,
|
|
1182
1209
|
});
|
|
1183
1210
|
}
|
|
1184
1211
|
else if (referenceGroup.api.location.type === 'floating' ||
|
|
@@ -1187,6 +1214,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1187
1214
|
referenceGroup.model.openPanel(panel, {
|
|
1188
1215
|
skipSetActive: options.inactive,
|
|
1189
1216
|
skipSetGroupActive: options.inactive,
|
|
1217
|
+
index: index,
|
|
1190
1218
|
});
|
|
1191
1219
|
referenceGroup.api.setSize({
|
|
1192
1220
|
width: initial === null || initial === void 0 ? void 0 : initial.width,
|
|
@@ -1207,6 +1235,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1207
1235
|
group.model.openPanel(panel, {
|
|
1208
1236
|
skipSetActive: options.inactive,
|
|
1209
1237
|
skipSetGroupActive: options.inactive,
|
|
1238
|
+
index: index,
|
|
1210
1239
|
});
|
|
1211
1240
|
if (!options.inactive) {
|
|
1212
1241
|
this.doSetGroupAndPanelActive(group);
|
|
@@ -1225,6 +1254,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1225
1254
|
group.model.openPanel(panel, {
|
|
1226
1255
|
skipSetActive: options.inactive,
|
|
1227
1256
|
skipSetGroupActive: options.inactive,
|
|
1257
|
+
index: index,
|
|
1228
1258
|
});
|
|
1229
1259
|
}
|
|
1230
1260
|
else {
|
|
@@ -1235,6 +1265,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1235
1265
|
group.model.openPanel(panel, {
|
|
1236
1266
|
skipSetActive: options.inactive,
|
|
1237
1267
|
skipSetGroupActive: options.inactive,
|
|
1268
|
+
index: index,
|
|
1238
1269
|
});
|
|
1239
1270
|
if (!options.inactive) {
|
|
1240
1271
|
this.doSetGroupAndPanelActive(group);
|