dockview-core 1.17.1 → 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 -4
- package/dist/cjs/overlay/overlay.js +2 -3
- package/dist/cjs/overlay/overlayRenderContainer.js +1 -2
- 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 +243 -172
- 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 +242 -171
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +243 -172
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +244 -171
- 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 +243 -172
- 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 +242 -171
- 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 -4
- package/dist/esm/overlay/overlay.js +1 -2
- package/dist/esm/overlay/overlayRenderContainer.js +1 -2
- 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 +133 -135
- package/package.json +1 -1
|
@@ -7,30 +7,34 @@ export class DockviewGroupPanel extends GridviewPanel {
|
|
|
7
7
|
get minimumWidth() {
|
|
8
8
|
var _a;
|
|
9
9
|
const activePanelMinimumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumWidth;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
if (typeof activePanelMinimumWidth === 'number') {
|
|
11
|
+
return activePanelMinimumWidth;
|
|
12
|
+
}
|
|
13
|
+
return super.__minimumWidth();
|
|
13
14
|
}
|
|
14
15
|
get minimumHeight() {
|
|
15
16
|
var _a;
|
|
16
17
|
const activePanelMinimumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumHeight;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
if (typeof activePanelMinimumHeight === 'number') {
|
|
19
|
+
return activePanelMinimumHeight;
|
|
20
|
+
}
|
|
21
|
+
return super.__minimumHeight();
|
|
20
22
|
}
|
|
21
23
|
get maximumWidth() {
|
|
22
24
|
var _a;
|
|
23
25
|
const activePanelMaximumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumWidth;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
if (typeof activePanelMaximumWidth === 'number') {
|
|
27
|
+
return activePanelMaximumWidth;
|
|
28
|
+
}
|
|
29
|
+
return super.__maximumWidth();
|
|
27
30
|
}
|
|
28
31
|
get maximumHeight() {
|
|
29
32
|
var _a;
|
|
30
33
|
const activePanelMaximumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumHeight;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
if (typeof activePanelMaximumHeight === 'number') {
|
|
35
|
+
return activePanelMaximumHeight;
|
|
36
|
+
}
|
|
37
|
+
return super.__maximumHeight();
|
|
34
38
|
}
|
|
35
39
|
get panels() {
|
|
36
40
|
return this._model.panels;
|
|
@@ -143,7 +143,7 @@ export declare class WillShowOverlayLocationEvent implements IDockviewEvent {
|
|
|
143
143
|
}
|
|
144
144
|
export declare class DockviewGroupPanelModel extends CompositeDisposable implements IDockviewGroupPanelModel {
|
|
145
145
|
private readonly container;
|
|
146
|
-
private accessor;
|
|
146
|
+
private readonly accessor;
|
|
147
147
|
id: string;
|
|
148
148
|
private readonly options;
|
|
149
149
|
private readonly groupPanel;
|
|
@@ -158,11 +158,12 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
|
|
|
158
158
|
private _prefixHeaderActions;
|
|
159
159
|
private _location;
|
|
160
160
|
private mostRecentlyUsed;
|
|
161
|
+
private _overwriteRenderContainer;
|
|
161
162
|
private readonly _onDidChange;
|
|
162
163
|
readonly onDidChange: Event<IViewSize | undefined>;
|
|
163
164
|
private _width;
|
|
164
165
|
private _height;
|
|
165
|
-
private _panels;
|
|
166
|
+
private readonly _panels;
|
|
166
167
|
private readonly _panelDisposables;
|
|
167
168
|
private readonly _onMove;
|
|
168
169
|
readonly onMove: Event<GroupMoveEvent>;
|
|
@@ -204,7 +205,6 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
|
|
|
204
205
|
set location(value: DockviewGroupLocation);
|
|
205
206
|
constructor(container: HTMLElement, accessor: DockviewComponent, id: string, options: GroupOptions, groupPanel: DockviewGroupPanel);
|
|
206
207
|
focusContent(): void;
|
|
207
|
-
private _overwriteRenderContainer;
|
|
208
208
|
set renderContainer(value: OverlayRenderContainer | null);
|
|
209
209
|
get renderContainer(): OverlayRenderContainer;
|
|
210
210
|
initialize(): void;
|
|
@@ -74,7 +74,7 @@ export class WillShowOverlayLocationEvent {
|
|
|
74
74
|
}
|
|
75
75
|
export class DockviewGroupPanelModel extends CompositeDisposable {
|
|
76
76
|
get element() {
|
|
77
|
-
throw new Error('not supported');
|
|
77
|
+
throw new Error('dockview: not supported');
|
|
78
78
|
}
|
|
79
79
|
get activePanel() {
|
|
80
80
|
return this._activePanel;
|
|
@@ -84,7 +84,7 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
84
84
|
}
|
|
85
85
|
set locked(value) {
|
|
86
86
|
this._locked = value;
|
|
87
|
-
toggleClass(this.container, 'locked-groupview', value === 'no-drop-target' || value);
|
|
87
|
+
toggleClass(this.container, 'dv-locked-groupview', value === 'no-drop-target' || value);
|
|
88
88
|
}
|
|
89
89
|
get isActive() {
|
|
90
90
|
return this._isGroupActive;
|
|
@@ -155,6 +155,7 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
155
155
|
this._locked = false;
|
|
156
156
|
this._location = { type: 'grid' };
|
|
157
157
|
this.mostRecentlyUsed = [];
|
|
158
|
+
this._overwriteRenderContainer = null;
|
|
158
159
|
this._onDidChange = new Emitter();
|
|
159
160
|
this.onDidChange = this._onDidChange.event;
|
|
160
161
|
this._width = 0;
|
|
@@ -185,8 +186,7 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
185
186
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
186
187
|
this._onUnhandledDragOverEvent = new Emitter();
|
|
187
188
|
this.onUnhandledDragOverEvent = this._onUnhandledDragOverEvent.event;
|
|
188
|
-
this.
|
|
189
|
-
toggleClass(this.container, 'groupview', true);
|
|
189
|
+
toggleClass(this.container, 'dv-groupview', true);
|
|
190
190
|
this._api = new DockviewApi(this.accessor);
|
|
191
191
|
this.tabsContainer = new TabsContainer(this.accessor, this.groupPanel);
|
|
192
192
|
this.contentContainer = new ContentContainer(this.accessor, this);
|
|
@@ -431,8 +431,8 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
431
431
|
return;
|
|
432
432
|
}
|
|
433
433
|
this._isGroupActive = isGroupActive;
|
|
434
|
-
toggleClass(this.container, 'active-group', isGroupActive);
|
|
435
|
-
toggleClass(this.container, 'inactive-group', !isGroupActive);
|
|
434
|
+
toggleClass(this.container, 'dv-active-group', isGroupActive);
|
|
435
|
+
toggleClass(this.container, 'dv-inactive-group', !isGroupActive);
|
|
436
436
|
this.tabsContainer.setActive(this.isActive);
|
|
437
437
|
if (!this._activePanel && this.panels.length > 0) {
|
|
438
438
|
this.doSetActivePanel(this.panels[0]);
|
|
@@ -524,7 +524,7 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
524
524
|
}
|
|
525
525
|
updateContainer() {
|
|
526
526
|
var _a, _b;
|
|
527
|
-
toggleClass(this.container, 'empty', this.isEmpty);
|
|
527
|
+
toggleClass(this.container, 'dv-empty', this.isEmpty);
|
|
528
528
|
this.panels.forEach((panel) => panel.runEvents());
|
|
529
529
|
if (this.isEmpty && !this.watermark) {
|
|
530
530
|
const watermark = this.accessor.createWatermarkComponent();
|
|
@@ -37,10 +37,10 @@ export declare class DockviewPanel extends CompositeDisposable implements IDockv
|
|
|
37
37
|
private _params?;
|
|
38
38
|
private _title;
|
|
39
39
|
private _renderer;
|
|
40
|
-
private _minimumWidth;
|
|
41
|
-
private _minimumHeight;
|
|
42
|
-
private _maximumWidth;
|
|
43
|
-
private _maximumHeight;
|
|
40
|
+
private readonly _minimumWidth;
|
|
41
|
+
private readonly _minimumHeight;
|
|
42
|
+
private readonly _maximumWidth;
|
|
43
|
+
private readonly _maximumHeight;
|
|
44
44
|
get params(): Parameters | undefined;
|
|
45
45
|
get title(): string | undefined;
|
|
46
46
|
get group(): DockviewGroupPanel;
|
|
@@ -7,7 +7,7 @@ export interface IDockviewPanelModel extends IDisposable {
|
|
|
7
7
|
readonly contentComponent: string;
|
|
8
8
|
readonly tabComponent?: string;
|
|
9
9
|
readonly content: IContentRenderer;
|
|
10
|
-
readonly tab
|
|
10
|
+
readonly tab: ITabRenderer;
|
|
11
11
|
update(event: PanelUpdateEvent): void;
|
|
12
12
|
layout(width: number, height: number): void;
|
|
13
13
|
init(params: GroupPanelPartInitParameters): void;
|
|
@@ -102,10 +102,18 @@ export interface PanelOptions<P extends object = Parameters> {
|
|
|
102
102
|
type RelativePanel = {
|
|
103
103
|
direction?: Direction;
|
|
104
104
|
referencePanel: string | IDockviewPanel;
|
|
105
|
+
/**
|
|
106
|
+
* The index to place the panel within a group, only applicable if the placement is within an existing group
|
|
107
|
+
*/
|
|
108
|
+
index?: number;
|
|
105
109
|
};
|
|
106
110
|
type RelativeGroup = {
|
|
107
111
|
direction?: Direction;
|
|
108
112
|
referenceGroup: string | DockviewGroupPanel;
|
|
113
|
+
/**
|
|
114
|
+
* The index to place the panel within a group, only applicable if the placement is within an existing group
|
|
115
|
+
*/
|
|
116
|
+
index?: number;
|
|
109
117
|
};
|
|
110
118
|
type AbsolutePosition = {
|
|
111
119
|
direction: Omit<Direction, 'within'>;
|
package/dist/esm/dom.d.ts
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { Event as DockviewEvent } from './events';
|
|
2
|
-
import { IDisposable } from './lifecycle';
|
|
2
|
+
import { IDisposable, CompositeDisposable } from './lifecycle';
|
|
3
|
+
export interface OverflowEvent {
|
|
4
|
+
hasScrollX: boolean;
|
|
5
|
+
hasScrollY: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare class OverflowObserver extends CompositeDisposable {
|
|
8
|
+
private readonly _onDidChange;
|
|
9
|
+
readonly onDidChange: DockviewEvent<OverflowEvent>;
|
|
10
|
+
private _value;
|
|
11
|
+
constructor(el: HTMLElement);
|
|
12
|
+
}
|
|
3
13
|
export declare function watchElementResize(element: HTMLElement, cb: (entry: ResizeObserverEntry) => void): IDisposable;
|
|
4
14
|
export declare const removeClasses: (element: HTMLElement, ...classes: string[]) => void;
|
|
5
15
|
export declare const addClasses: (element: HTMLElement, ...classes: string[]) => void;
|
package/dist/esm/dom.js
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
import { Emitter, addDisposableListener, addDisposableWindowListener, } from './events';
|
|
2
2
|
import { CompositeDisposable } from './lifecycle';
|
|
3
|
+
export class OverflowObserver extends CompositeDisposable {
|
|
4
|
+
constructor(el) {
|
|
5
|
+
super();
|
|
6
|
+
this._onDidChange = new Emitter();
|
|
7
|
+
this.onDidChange = this._onDidChange.event;
|
|
8
|
+
this._value = null;
|
|
9
|
+
this.addDisposables(this._onDidChange, watchElementResize(el, (entry) => {
|
|
10
|
+
const hasScrollX = entry.target.scrollWidth > entry.target.clientWidth;
|
|
11
|
+
const hasScrollY = entry.target.scrollHeight > entry.target.clientHeight;
|
|
12
|
+
this._value = { hasScrollX, hasScrollY };
|
|
13
|
+
this._onDidChange.fire(this._value);
|
|
14
|
+
}));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
3
17
|
export function watchElementResize(element, cb) {
|
|
4
18
|
const observer = new ResizeObserver((entires) => {
|
|
5
19
|
/**
|
|
@@ -22,7 +22,7 @@ export declare abstract class BasePanelView<T extends PanelApiImpl> extends Comp
|
|
|
22
22
|
readonly api: T;
|
|
23
23
|
private _height;
|
|
24
24
|
private _width;
|
|
25
|
-
private _element;
|
|
25
|
+
private readonly _element;
|
|
26
26
|
protected part?: IFrameworkPart;
|
|
27
27
|
protected _params?: PanelInitParameters;
|
|
28
28
|
protected abstract getComponent(): IFrameworkPart;
|
|
@@ -8,7 +8,7 @@ export declare class BranchNode extends CompositeDisposable implements IView {
|
|
|
8
8
|
readonly proportionalLayout: boolean;
|
|
9
9
|
readonly styles: ISplitviewStyles | undefined;
|
|
10
10
|
readonly element: HTMLElement;
|
|
11
|
-
private splitview;
|
|
11
|
+
private readonly splitview;
|
|
12
12
|
private _orthogonalSize;
|
|
13
13
|
private _size;
|
|
14
14
|
private _childrenDisposable;
|
|
@@ -107,7 +107,7 @@ export class BranchNode extends CompositeDisposable {
|
|
|
107
107
|
this._orthogonalSize = orthogonalSize;
|
|
108
108
|
this._size = size;
|
|
109
109
|
this.element = document.createElement('div');
|
|
110
|
-
this.element.className = 'branch-node';
|
|
110
|
+
this.element.className = 'dv-branch-node';
|
|
111
111
|
if (!childDescriptors) {
|
|
112
112
|
this.splitview = new Splitview(this.element, {
|
|
113
113
|
orientation: this.orientation,
|
|
@@ -64,7 +64,7 @@ export function getGridLocation(element) {
|
|
|
64
64
|
if (!parentElement) {
|
|
65
65
|
throw new Error('Invalid grid element');
|
|
66
66
|
}
|
|
67
|
-
if (/\
|
|
67
|
+
if (/\bdv-grid-view\b/.test(parentElement.className)) {
|
|
68
68
|
return [];
|
|
69
69
|
}
|
|
70
70
|
const index = indexInParent(parentElement);
|
|
@@ -414,7 +414,7 @@ export class Gridview {
|
|
|
414
414
|
this._onDidMaximizedNodeChange = new Emitter();
|
|
415
415
|
this.onDidMaximizedNodeChange = this._onDidMaximizedNodeChange.event;
|
|
416
416
|
this.element = document.createElement('div');
|
|
417
|
-
this.element.className = 'grid-view';
|
|
417
|
+
this.element.className = 'dv-grid-view';
|
|
418
418
|
this._locked = locked !== null && locked !== void 0 ? locked : false;
|
|
419
419
|
this._margin = margin !== null && margin !== void 0 ? margin : 0;
|
|
420
420
|
this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0, this.locked, this.margin);
|
|
@@ -49,6 +49,10 @@ export declare abstract class GridviewPanel<T extends GridviewPanelApiImpl = Gri
|
|
|
49
49
|
get minimumHeight(): number;
|
|
50
50
|
get maximumHeight(): number;
|
|
51
51
|
get maximumWidth(): number;
|
|
52
|
+
protected __minimumWidth(): number;
|
|
53
|
+
protected __maximumWidth(): number;
|
|
54
|
+
protected __minimumHeight(): number;
|
|
55
|
+
protected __maximumHeight(): number;
|
|
52
56
|
get isActive(): boolean;
|
|
53
57
|
get isVisible(): boolean;
|
|
54
58
|
constructor(id: string, component: string, options?: {
|
|
@@ -9,6 +9,34 @@ export class GridviewPanel extends BasePanelView {
|
|
|
9
9
|
return this._snap;
|
|
10
10
|
}
|
|
11
11
|
get minimumWidth() {
|
|
12
|
+
/**
|
|
13
|
+
* defer to protected function to allow subclasses to override easily.
|
|
14
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
15
|
+
*/
|
|
16
|
+
return this.__minimumWidth();
|
|
17
|
+
}
|
|
18
|
+
get minimumHeight() {
|
|
19
|
+
/**
|
|
20
|
+
* defer to protected function to allow subclasses to override easily.
|
|
21
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
22
|
+
*/
|
|
23
|
+
return this.__minimumHeight();
|
|
24
|
+
}
|
|
25
|
+
get maximumHeight() {
|
|
26
|
+
/**
|
|
27
|
+
* defer to protected function to allow subclasses to override easily.
|
|
28
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
29
|
+
*/
|
|
30
|
+
return this.__maximumHeight();
|
|
31
|
+
}
|
|
32
|
+
get maximumWidth() {
|
|
33
|
+
/**
|
|
34
|
+
* defer to protected function to allow subclasses to override easily.
|
|
35
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
36
|
+
*/
|
|
37
|
+
return this.__maximumWidth();
|
|
38
|
+
}
|
|
39
|
+
__minimumWidth() {
|
|
12
40
|
const width = typeof this._minimumWidth === 'function'
|
|
13
41
|
? this._minimumWidth()
|
|
14
42
|
: this._minimumWidth;
|
|
@@ -18,7 +46,17 @@ export class GridviewPanel extends BasePanelView {
|
|
|
18
46
|
}
|
|
19
47
|
return width;
|
|
20
48
|
}
|
|
21
|
-
|
|
49
|
+
__maximumWidth() {
|
|
50
|
+
const width = typeof this._maximumWidth === 'function'
|
|
51
|
+
? this._maximumWidth()
|
|
52
|
+
: this._maximumWidth;
|
|
53
|
+
if (width !== this._evaluatedMaximumWidth) {
|
|
54
|
+
this._evaluatedMaximumWidth = width;
|
|
55
|
+
this.updateConstraints();
|
|
56
|
+
}
|
|
57
|
+
return width;
|
|
58
|
+
}
|
|
59
|
+
__minimumHeight() {
|
|
22
60
|
const height = typeof this._minimumHeight === 'function'
|
|
23
61
|
? this._minimumHeight()
|
|
24
62
|
: this._minimumHeight;
|
|
@@ -28,7 +66,7 @@ export class GridviewPanel extends BasePanelView {
|
|
|
28
66
|
}
|
|
29
67
|
return height;
|
|
30
68
|
}
|
|
31
|
-
|
|
69
|
+
__maximumHeight() {
|
|
32
70
|
const height = typeof this._maximumHeight === 'function'
|
|
33
71
|
? this._maximumHeight()
|
|
34
72
|
: this._maximumHeight;
|
|
@@ -38,16 +76,6 @@ export class GridviewPanel extends BasePanelView {
|
|
|
38
76
|
}
|
|
39
77
|
return height;
|
|
40
78
|
}
|
|
41
|
-
get maximumWidth() {
|
|
42
|
-
const width = typeof this._maximumWidth === 'function'
|
|
43
|
-
? this._maximumWidth()
|
|
44
|
-
: this._maximumWidth;
|
|
45
|
-
if (width !== this._evaluatedMaximumWidth) {
|
|
46
|
-
this._evaluatedMaximumWidth = width;
|
|
47
|
-
this.updateConstraints();
|
|
48
|
-
}
|
|
49
|
-
return width;
|
|
50
|
-
}
|
|
51
79
|
get isActive() {
|
|
52
80
|
return this.api.isActive;
|
|
53
81
|
}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { getPaneData, getPanelData, PaneTransfer, PanelTransfer, } from './dnd/dataTransfer';
|
|
2
2
|
/**
|
|
3
3
|
* Events, Emitters and Disposables are very common concepts that many codebases will contain, however we need
|
|
4
4
|
* to export them for dockview framework packages to use.
|
|
5
5
|
* To be a good citizen these are exported with a `Dockview` prefix to prevent accidental use by others.
|
|
6
6
|
*/
|
|
7
7
|
export { Emitter as DockviewEmitter, Event as DockviewEvent } from './events';
|
|
8
|
-
export { IDisposable as
|
|
8
|
+
export { IDisposable as DockviewIDisposable, MutableDisposable as DockviewMutableDisposable, CompositeDisposable as DockviewCompositeDisposable, Disposable as DockviewDisposable, } from './lifecycle';
|
|
9
9
|
export * from './panel/types';
|
|
10
|
-
export * from './panel/componentFactory';
|
|
11
10
|
export * from './splitview/splitview';
|
|
12
11
|
export { SplitviewComponentOptions, PanelViewInitParameters, } from './splitview/options';
|
|
13
12
|
export * from './paneview/paneview';
|
|
14
13
|
export * from './gridview/gridview';
|
|
15
14
|
export { GridviewComponentOptions } from './gridview/options';
|
|
16
15
|
export * from './gridview/baseComponentGridview';
|
|
17
|
-
export
|
|
16
|
+
export { DraggablePaneviewPanel, PaneviewDropEvent, } from './paneview/draggablePaneviewPanel';
|
|
18
17
|
export * from './dockview/components/panel/content';
|
|
19
18
|
export * from './dockview/components/tab/tab';
|
|
20
19
|
export * from './dockview/dockviewGroupPanelModel';
|
|
@@ -24,24 +23,24 @@ export * from './dockview/dockviewGroupPanel';
|
|
|
24
23
|
export { IGroupPanelBaseProps, IDockviewPanelHeaderProps, IDockviewPanelProps, IDockviewHeaderActionsProps, IGroupHeaderProps, IWatermarkPanelProps, DockviewReadyEvent, } from './dockview/framework';
|
|
25
24
|
export * from './dockview/options';
|
|
26
25
|
export * from './dockview/dockviewPanel';
|
|
27
|
-
export
|
|
28
|
-
export
|
|
26
|
+
export { DefaultTab } from './dockview/components/tab/defaultTab';
|
|
27
|
+
export { DefaultDockviewDeserialzier, IPanelDeserializer, } from './dockview/deserializer';
|
|
29
28
|
export * from './dockview/dockviewComponent';
|
|
30
29
|
export * from './gridview/gridviewComponent';
|
|
31
30
|
export * from './splitview/splitviewComponent';
|
|
32
31
|
export * from './paneview/paneviewComponent';
|
|
33
32
|
export { PaneviewComponentOptions } from './paneview/options';
|
|
34
33
|
export * from './gridview/gridviewPanel';
|
|
35
|
-
export
|
|
34
|
+
export { SplitviewPanel, ISplitviewPanel } from './splitview/splitviewPanel';
|
|
36
35
|
export * from './paneview/paneviewPanel';
|
|
37
36
|
export * from './dockview/types';
|
|
38
37
|
export { DockviewPanelRenderer } from './overlay/overlayRenderContainer';
|
|
39
38
|
export { Position, positionToDirection, directionToPosition, MeasuredValue, DroptargetOverlayModel, } from './dnd/droptarget';
|
|
40
39
|
export { FocusEvent, PanelDimensionChangeEvent, VisibilityEvent, ActiveEvent, PanelApi, } from './api/panelApi';
|
|
41
40
|
export { SizeEvent, GridviewPanelApi, GridConstraintChangeEvent, } from './api/gridviewPanelApi';
|
|
42
|
-
export { TitleEvent, RendererChangedEvent, DockviewPanelApi, } from './api/dockviewPanelApi';
|
|
41
|
+
export { TitleEvent, RendererChangedEvent, DockviewPanelApi, DockviewPanelMoveParams, } from './api/dockviewPanelApi';
|
|
43
42
|
export { PanelSizeEvent, PanelConstraintChangeEvent, SplitviewPanelApi, } from './api/splitviewPanelApi';
|
|
44
43
|
export { ExpansionEvent, PaneviewPanelApi } from './api/paneviewPanelApi';
|
|
45
|
-
export { DockviewGroupPanelApi, DockviewGroupPanelFloatingChangeEvent, } from './api/dockviewGroupPanelApi';
|
|
44
|
+
export { DockviewGroupPanelApi, DockviewGroupPanelFloatingChangeEvent, DockviewGroupMoveParams, } from './api/dockviewGroupPanelApi';
|
|
46
45
|
export { CommonApi, SplitviewApi, PaneviewApi, GridviewApi, DockviewApi, } from './api/component.api';
|
|
47
46
|
export { createDockview, createGridview, createPaneview, createSplitview, } from './api/entryPoints';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { getPaneData, getPanelData, PaneTransfer, PanelTransfer, } from './dnd/dataTransfer';
|
|
2
2
|
/**
|
|
3
3
|
* Events, Emitters and Disposables are very common concepts that many codebases will contain, however we need
|
|
4
4
|
* to export them for dockview framework packages to use.
|
|
@@ -7,12 +7,11 @@ export * from './dnd/dataTransfer';
|
|
|
7
7
|
export { Emitter as DockviewEmitter, Event as DockviewEvent } from './events';
|
|
8
8
|
export { MutableDisposable as DockviewMutableDisposable, CompositeDisposable as DockviewCompositeDisposable, Disposable as DockviewDisposable, } from './lifecycle';
|
|
9
9
|
export * from './panel/types';
|
|
10
|
-
export * from './panel/componentFactory';
|
|
11
10
|
export * from './splitview/splitview';
|
|
12
11
|
export * from './paneview/paneview';
|
|
13
12
|
export * from './gridview/gridview';
|
|
14
13
|
export * from './gridview/baseComponentGridview';
|
|
15
|
-
export
|
|
14
|
+
export { DraggablePaneviewPanel, } from './paneview/draggablePaneviewPanel';
|
|
16
15
|
export * from './dockview/components/panel/content';
|
|
17
16
|
export * from './dockview/components/tab/tab';
|
|
18
17
|
export * from './dockview/dockviewGroupPanelModel';
|
|
@@ -20,14 +19,14 @@ export * from './dockview/types';
|
|
|
20
19
|
export * from './dockview/dockviewGroupPanel';
|
|
21
20
|
export * from './dockview/options';
|
|
22
21
|
export * from './dockview/dockviewPanel';
|
|
23
|
-
export
|
|
24
|
-
export
|
|
22
|
+
export { DefaultTab } from './dockview/components/tab/defaultTab';
|
|
23
|
+
export { DefaultDockviewDeserialzier, } from './dockview/deserializer';
|
|
25
24
|
export * from './dockview/dockviewComponent';
|
|
26
25
|
export * from './gridview/gridviewComponent';
|
|
27
26
|
export * from './splitview/splitviewComponent';
|
|
28
27
|
export * from './paneview/paneviewComponent';
|
|
29
28
|
export * from './gridview/gridviewPanel';
|
|
30
|
-
export
|
|
29
|
+
export { SplitviewPanel } from './splitview/splitviewPanel';
|
|
31
30
|
export * from './paneview/paneviewPanel';
|
|
32
31
|
export * from './dockview/types';
|
|
33
32
|
export { positionToDirection, directionToPosition, } from './dnd/droptarget';
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { Event } from '../events';
|
|
2
2
|
import { CompositeDisposable } from '../lifecycle';
|
|
3
3
|
import { AnchoredBox } from '../types';
|
|
4
|
-
export declare const DEFAULT_OVERLAY_Z_INDEX = 999;
|
|
5
4
|
export declare class Overlay extends CompositeDisposable {
|
|
6
5
|
private readonly options;
|
|
7
|
-
private _element;
|
|
6
|
+
private readonly _element;
|
|
8
7
|
private readonly _onDidChange;
|
|
9
8
|
readonly onDidChange: Event<void>;
|
|
10
9
|
private readonly _onDidChangeEnd;
|
|
11
10
|
readonly onDidChangeEnd: Event<void>;
|
|
12
|
-
private static MINIMUM_HEIGHT;
|
|
13
|
-
private static MINIMUM_WIDTH;
|
|
11
|
+
private static readonly MINIMUM_HEIGHT;
|
|
12
|
+
private static readonly MINIMUM_WIDTH;
|
|
14
13
|
private verticalAlignment;
|
|
15
14
|
private horiziontalAlignment;
|
|
16
15
|
set minimumInViewportWidth(value: number | undefined);
|
|
@@ -2,7 +2,6 @@ import { disableIframePointEvents, quasiDefaultPrevented, toggleClass, } from '.
|
|
|
2
2
|
import { Emitter, addDisposableListener, addDisposableWindowListener, } from '../events';
|
|
3
3
|
import { CompositeDisposable, MutableDisposable } from '../lifecycle';
|
|
4
4
|
import { clamp } from '../math';
|
|
5
|
-
export const DEFAULT_OVERLAY_Z_INDEX = 999;
|
|
6
5
|
class AriaLevelTracker {
|
|
7
6
|
constructor() {
|
|
8
7
|
this._orderedList = [];
|
|
@@ -21,7 +20,7 @@ class AriaLevelTracker {
|
|
|
21
20
|
update() {
|
|
22
21
|
for (let i = 0; i < this._orderedList.length; i++) {
|
|
23
22
|
this._orderedList[i].setAttribute('aria-level', `${i}`);
|
|
24
|
-
this._orderedList[i].style.zIndex =
|
|
23
|
+
this._orderedList[i].style.zIndex = `calc(var(--dv-overlay-z-index, 999) + ${i * 2})`;
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { DragAndDropObserver } from '../dnd/dnd';
|
|
2
2
|
import { getDomNodePagePosition, toggleClass } from '../dom';
|
|
3
3
|
import { CompositeDisposable, Disposable, MutableDisposable, } from '../lifecycle';
|
|
4
|
-
import { DEFAULT_OVERLAY_Z_INDEX } from './overlay';
|
|
5
4
|
function createFocusableElement() {
|
|
6
5
|
const element = document.createElement('div');
|
|
7
6
|
element.tabIndex = -1;
|
|
@@ -78,7 +77,7 @@ export class OverlayRenderContainer extends CompositeDisposable {
|
|
|
78
77
|
const element = floatingGroup.overlay.element;
|
|
79
78
|
const update = () => {
|
|
80
79
|
const level = Number(element.getAttribute('aria-level'));
|
|
81
|
-
focusContainer.style.zIndex =
|
|
80
|
+
focusContainer.style.zIndex = `calc(var(--dv-overlay-z-index, 999) + ${level * 2 + 1})`;
|
|
82
81
|
};
|
|
83
82
|
const observer = new MutationObserver(() => {
|
|
84
83
|
update();
|
|
@@ -9,7 +9,7 @@ export declare class DefaultHeader extends CompositeDisposable implements IPaneH
|
|
|
9
9
|
private readonly _element;
|
|
10
10
|
private readonly _content;
|
|
11
11
|
private readonly _expander;
|
|
12
|
-
private apiRef;
|
|
12
|
+
private readonly apiRef;
|
|
13
13
|
get element(): HTMLElement;
|
|
14
14
|
constructor();
|
|
15
15
|
init(params: PanePanelInitParameter & {
|
|
@@ -11,12 +11,14 @@ export class DefaultHeader extends CompositeDisposable {
|
|
|
11
11
|
this._expandedIcon = createExpandMoreButton();
|
|
12
12
|
this._collapsedIcon = createChevronRightButton();
|
|
13
13
|
this.disposable = new MutableDisposable();
|
|
14
|
-
this.apiRef = {
|
|
14
|
+
this.apiRef = {
|
|
15
|
+
api: null,
|
|
16
|
+
};
|
|
15
17
|
this._element = document.createElement('div');
|
|
16
|
-
this.element.className = 'default-header';
|
|
18
|
+
this.element.className = 'dv-default-header';
|
|
17
19
|
this._content = document.createElement('span');
|
|
18
20
|
this._expander = document.createElement('div');
|
|
19
|
-
this._expander.className = '
|
|
21
|
+
this._expander.className = 'dv-pane-header-icon';
|
|
20
22
|
this.element.appendChild(this._expander);
|
|
21
23
|
this.element.appendChild(this._content);
|
|
22
24
|
this.addDisposables(addDisposableListener(this._element, 'click', () => {
|
|
@@ -7,10 +7,10 @@ interface PaneItem {
|
|
|
7
7
|
disposable: IDisposable;
|
|
8
8
|
}
|
|
9
9
|
export declare class Paneview extends CompositeDisposable implements IDisposable {
|
|
10
|
-
private element;
|
|
11
|
-
private splitview;
|
|
10
|
+
private readonly element;
|
|
11
|
+
private readonly splitview;
|
|
12
12
|
private paneItems;
|
|
13
|
-
private _orientation;
|
|
13
|
+
private readonly _orientation;
|
|
14
14
|
private animationTimer;
|
|
15
15
|
private skipAnimation;
|
|
16
16
|
private readonly _onDidChange;
|
|
@@ -33,7 +33,7 @@ export class Paneview extends CompositeDisposable {
|
|
|
33
33
|
this.onDidChange = this._onDidChange.event;
|
|
34
34
|
this._orientation = (_a = options.orientation) !== null && _a !== void 0 ? _a : Orientation.VERTICAL;
|
|
35
35
|
this.element = document.createElement('div');
|
|
36
|
-
this.element.className = 'pane-container';
|
|
36
|
+
this.element.className = 'dv-pane-container';
|
|
37
37
|
container.appendChild(this.element);
|
|
38
38
|
this.splitview = new Splitview(this.element, {
|
|
39
39
|
orientation: this._orientation,
|
|
@@ -125,10 +125,10 @@ export class Paneview extends CompositeDisposable {
|
|
|
125
125
|
clearTimeout(this.animationTimer);
|
|
126
126
|
this.animationTimer = undefined;
|
|
127
127
|
}
|
|
128
|
-
addClasses(this.element, 'animated');
|
|
128
|
+
addClasses(this.element, 'dv-animated');
|
|
129
129
|
this.animationTimer = setTimeout(() => {
|
|
130
130
|
this.animationTimer = undefined;
|
|
131
|
-
removeClasses(this.element, 'animated');
|
|
131
|
+
removeClasses(this.element, 'dv-animated');
|
|
132
132
|
}, 200);
|
|
133
133
|
}
|
|
134
134
|
dispose() {
|
|
@@ -90,8 +90,8 @@ export interface IPaneviewComponent extends IDisposable {
|
|
|
90
90
|
export declare class PaneviewComponent extends Resizable implements IPaneviewComponent {
|
|
91
91
|
private readonly _id;
|
|
92
92
|
private _options;
|
|
93
|
-
private _disposable;
|
|
94
|
-
private _viewDisposables;
|
|
93
|
+
private readonly _disposable;
|
|
94
|
+
private readonly _viewDisposables;
|
|
95
95
|
private _paneview;
|
|
96
96
|
private readonly _onDidLayoutfromJSON;
|
|
97
97
|
readonly onDidLayoutFromJSON: Event<void>;
|
|
@@ -45,14 +45,14 @@ export interface IPaneviewPanel extends BasePanelViewExported<PaneviewPanelApiIm
|
|
|
45
45
|
}
|
|
46
46
|
export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelApiImpl> implements IPaneview, IPaneviewPanel {
|
|
47
47
|
private readonly headerComponent;
|
|
48
|
-
private _onDidChangeExpansionState;
|
|
48
|
+
private readonly _onDidChangeExpansionState;
|
|
49
49
|
onDidChangeExpansionState: Event<boolean>;
|
|
50
50
|
private readonly _onDidChange;
|
|
51
51
|
readonly onDidChange: Event<{
|
|
52
52
|
size?: number;
|
|
53
53
|
orthogonalSize?: number;
|
|
54
54
|
}>;
|
|
55
|
-
private headerSize;
|
|
55
|
+
private readonly headerSize;
|
|
56
56
|
private _orthogonalSize;
|
|
57
57
|
private _size;
|
|
58
58
|
private _minimumBodySize;
|
|
@@ -71,7 +71,7 @@ export class PaneviewPanel extends BasePanelView {
|
|
|
71
71
|
this._headerVisible = isHeaderVisible;
|
|
72
72
|
this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
|
|
73
73
|
this._orientation = orientation;
|
|
74
|
-
this.element.classList.add('pane');
|
|
74
|
+
this.element.classList.add('dv-pane');
|
|
75
75
|
this.addDisposables(this.api.onWillVisibilityChange((event) => {
|
|
76
76
|
const { isVisible } = event;
|
|
77
77
|
const { accessor } = this._params;
|
|
@@ -168,14 +168,14 @@ export class PaneviewPanel extends BasePanelView {
|
|
|
168
168
|
renderOnce() {
|
|
169
169
|
this.header = document.createElement('div');
|
|
170
170
|
this.header.tabIndex = 0;
|
|
171
|
-
this.header.className = 'pane-header';
|
|
171
|
+
this.header.className = 'dv-pane-header';
|
|
172
172
|
this.header.style.height = `${this.headerSize}px`;
|
|
173
173
|
this.header.style.lineHeight = `${this.headerSize}px`;
|
|
174
174
|
this.header.style.minHeight = `${this.headerSize}px`;
|
|
175
175
|
this.header.style.maxHeight = `${this.headerSize}px`;
|
|
176
176
|
this.element.appendChild(this.header);
|
|
177
177
|
this.body = document.createElement('div');
|
|
178
|
-
this.body.className = 'pane-body';
|
|
178
|
+
this.body.className = 'dv-pane-body';
|
|
179
179
|
this.element.appendChild(this.body);
|
|
180
180
|
}
|
|
181
181
|
// TODO slightly hacky by-pass of the component to create a body and header component
|