dockview-core 4.0.1 → 4.2.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 +3 -1
- package/dist/cjs/api/component.api.js +14 -0
- package/dist/cjs/dockview/components/popupService.js +1 -1
- package/dist/cjs/dockview/components/titlebar/tabs.js +9 -3
- package/dist/cjs/dockview/dockviewComponent.d.ts +16 -0
- package/dist/cjs/dockview/dockviewComponent.js +27 -10
- package/dist/cjs/dockview/options.d.ts +7 -0
- package/dist/cjs/dockview/options.js +1 -0
- package/dist/cjs/dom.d.ts +6 -4
- package/dist/cjs/dom.js +90 -49
- package/dist/cjs/events.d.ts +1 -1
- package/dist/cjs/events.js +1 -10
- package/dist/cjs/overlay/overlay.js +4 -4
- package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +13 -2
- package/dist/cjs/paneview/draggablePaneviewPanel.js +14 -4
- package/dist/cjs/paneview/paneviewComponent.d.ts +5 -0
- package/dist/cjs/paneview/paneviewComponent.js +25 -3
- package/dist/cjs/paneview/paneviewPanel.d.ts +13 -4
- package/dist/cjs/paneview/paneviewPanel.js +9 -13
- package/dist/cjs/popoutWindow.js +2 -2
- package/dist/cjs/splitview/splitviewComponent.js +3 -0
- package/dist/dockview-core.amd.js +165 -66
- 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 +164 -65
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +165 -66
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +165 -66
- 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 +165 -66
- 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 +164 -65
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/component.api.d.ts +3 -1
- package/dist/esm/api/component.api.js +6 -0
- package/dist/esm/dockview/components/popupService.js +2 -2
- package/dist/esm/dockview/components/titlebar/tabs.js +9 -3
- package/dist/esm/dockview/dockviewComponent.d.ts +16 -0
- package/dist/esm/dockview/dockviewComponent.js +29 -12
- package/dist/esm/dockview/options.d.ts +7 -0
- package/dist/esm/dockview/options.js +1 -0
- package/dist/esm/dom.d.ts +6 -4
- package/dist/esm/dom.js +65 -16
- package/dist/esm/events.d.ts +1 -1
- package/dist/esm/events.js +0 -8
- package/dist/esm/overlay/overlay.js +5 -5
- package/dist/esm/paneview/draggablePaneviewPanel.d.ts +13 -2
- package/dist/esm/paneview/draggablePaneviewPanel.js +14 -4
- package/dist/esm/paneview/paneviewComponent.d.ts +5 -0
- package/dist/esm/paneview/paneviewComponent.js +25 -3
- package/dist/esm/paneview/paneviewPanel.d.ts +13 -4
- package/dist/esm/paneview/paneviewPanel.js +9 -13
- package/dist/esm/popoutWindow.js +3 -3
- package/dist/esm/splitview/splitviewComponent.js +3 -0
- package/dist/styles/dockview.css +8 -2
- package/package.json +1 -1
|
@@ -39,7 +39,6 @@ export interface IPaneviewPanel extends BasePanelViewExported<PaneviewPanelApiIm
|
|
|
39
39
|
headerVisible: boolean;
|
|
40
40
|
}
|
|
41
41
|
export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelApiImpl> implements IPaneview, IPaneviewPanel {
|
|
42
|
-
private readonly headerComponent;
|
|
43
42
|
private readonly _onDidChangeExpansionState;
|
|
44
43
|
onDidChangeExpansionState: Event<boolean>;
|
|
45
44
|
private readonly _onDidChange;
|
|
@@ -47,7 +46,6 @@ export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelA
|
|
|
47
46
|
size?: number;
|
|
48
47
|
orthogonalSize?: number;
|
|
49
48
|
}>;
|
|
50
|
-
private readonly headerSize;
|
|
51
49
|
private _orthogonalSize;
|
|
52
50
|
private _size;
|
|
53
51
|
private _minimumBodySize;
|
|
@@ -57,10 +55,11 @@ export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelA
|
|
|
57
55
|
protected body?: HTMLElement;
|
|
58
56
|
private bodyPart?;
|
|
59
57
|
private headerPart?;
|
|
60
|
-
private expandedSize;
|
|
61
58
|
private animationTimer;
|
|
62
59
|
private _orientation;
|
|
63
60
|
private _headerVisible;
|
|
61
|
+
readonly headerSize: number;
|
|
62
|
+
readonly headerComponent: string | undefined;
|
|
64
63
|
set orientation(value: Orientation);
|
|
65
64
|
get orientation(): Orientation;
|
|
66
65
|
get minimumSize(): number;
|
|
@@ -74,7 +73,17 @@ export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelA
|
|
|
74
73
|
set maximumBodySize(value: number);
|
|
75
74
|
get headerVisible(): boolean;
|
|
76
75
|
set headerVisible(value: boolean);
|
|
77
|
-
constructor(
|
|
76
|
+
constructor(options: {
|
|
77
|
+
id: string;
|
|
78
|
+
component: string;
|
|
79
|
+
headerComponent: string | undefined;
|
|
80
|
+
orientation: Orientation;
|
|
81
|
+
isExpanded: boolean;
|
|
82
|
+
isHeaderVisible: boolean;
|
|
83
|
+
headerSize: number;
|
|
84
|
+
minimumBodySize: number;
|
|
85
|
+
maximumBodySize: number;
|
|
86
|
+
});
|
|
78
87
|
setVisible(isVisible: boolean): void;
|
|
79
88
|
setActive(isActive: boolean): void;
|
|
80
89
|
isExpanded(): boolean;
|
|
@@ -51,26 +51,25 @@ export class PaneviewPanel extends BasePanelView {
|
|
|
51
51
|
this._headerVisible = value;
|
|
52
52
|
this.header.style.display = value ? '' : 'none';
|
|
53
53
|
}
|
|
54
|
-
constructor(
|
|
55
|
-
super(id, component, new PaneviewPanelApiImpl(id, component));
|
|
56
|
-
this.headerComponent = headerComponent;
|
|
54
|
+
constructor(options) {
|
|
55
|
+
super(options.id, options.component, new PaneviewPanelApiImpl(options.id, options.component));
|
|
57
56
|
this._onDidChangeExpansionState = new Emitter({ replay: true });
|
|
58
57
|
this.onDidChangeExpansionState = this._onDidChangeExpansionState.event;
|
|
59
58
|
this._onDidChange = new Emitter();
|
|
60
59
|
this.onDidChange = this._onDidChange.event;
|
|
61
|
-
this.headerSize = 22;
|
|
62
60
|
this._orthogonalSize = 0;
|
|
63
61
|
this._size = 0;
|
|
64
|
-
this._minimumBodySize = 100;
|
|
65
|
-
this._maximumBodySize = Number.POSITIVE_INFINITY;
|
|
66
62
|
this._isExpanded = false;
|
|
67
|
-
this.expandedSize = 0;
|
|
68
63
|
this.api.pane = this; // TODO cannot use 'this' before 'super'
|
|
69
64
|
this.api.initialize(this);
|
|
70
|
-
this.
|
|
71
|
-
this.
|
|
65
|
+
this.headerSize = options.headerSize;
|
|
66
|
+
this.headerComponent = options.headerComponent;
|
|
67
|
+
this._minimumBodySize = options.minimumBodySize;
|
|
68
|
+
this._maximumBodySize = options.maximumBodySize;
|
|
69
|
+
this._isExpanded = options.isExpanded;
|
|
70
|
+
this._headerVisible = options.isHeaderVisible;
|
|
72
71
|
this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
|
|
73
|
-
this._orientation = orientation;
|
|
72
|
+
this._orientation = options.orientation;
|
|
74
73
|
this.element.classList.add('dv-pane');
|
|
75
74
|
this.addDisposables(this.api.onWillVisibilityChange((event) => {
|
|
76
75
|
const { isVisible } = event;
|
|
@@ -137,9 +136,6 @@ export class PaneviewPanel extends BasePanelView {
|
|
|
137
136
|
const [width, height] = this.orientation === Orientation.HORIZONTAL
|
|
138
137
|
? [size, orthogonalSize]
|
|
139
138
|
: [orthogonalSize, size];
|
|
140
|
-
if (this.isExpanded()) {
|
|
141
|
-
this.expandedSize = width;
|
|
142
|
-
}
|
|
143
139
|
super.layout(width, height);
|
|
144
140
|
}
|
|
145
141
|
init(parameters) {
|
package/dist/esm/popoutWindow.js
CHANGED
|
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import { addStyles } from './dom';
|
|
11
|
-
import { Emitter,
|
|
11
|
+
import { Emitter, addDisposableListener } from './events';
|
|
12
12
|
import { CompositeDisposable, Disposable } from './lifecycle';
|
|
13
13
|
export class PopoutWindow extends CompositeDisposable {
|
|
14
14
|
get window() {
|
|
@@ -83,7 +83,7 @@ export class PopoutWindow extends CompositeDisposable {
|
|
|
83
83
|
this._window = { value: externalWindow, disposable };
|
|
84
84
|
disposable.addDisposables(Disposable.from(() => {
|
|
85
85
|
externalWindow.close();
|
|
86
|
-
}),
|
|
86
|
+
}), addDisposableListener(window, 'beforeunload', () => {
|
|
87
87
|
/**
|
|
88
88
|
* before the main window closes we should close this popup too
|
|
89
89
|
* to be good citizens
|
|
@@ -118,7 +118,7 @@ export class PopoutWindow extends CompositeDisposable {
|
|
|
118
118
|
* beforeunload must be registered after load for reasons I could not determine
|
|
119
119
|
* otherwise the beforeunload event will not fire when the window is closed
|
|
120
120
|
*/
|
|
121
|
-
|
|
121
|
+
addDisposableListener(externalWindow, 'beforeunload', () => {
|
|
122
122
|
/**
|
|
123
123
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
|
|
124
124
|
*/
|
|
@@ -23,6 +23,9 @@ export class SplitviewComponent extends Resizable {
|
|
|
23
23
|
return this._splitview;
|
|
24
24
|
}
|
|
25
25
|
set splitview(value) {
|
|
26
|
+
if (this._splitview) {
|
|
27
|
+
this._splitview.dispose();
|
|
28
|
+
}
|
|
26
29
|
this._splitview = value;
|
|
27
30
|
this._splitviewChangeDisposable.value = new CompositeDisposable(this._splitview.onDidSashEnd(() => {
|
|
28
31
|
this._onDidLayoutChange.fire(undefined);
|
package/dist/styles/dockview.css
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
.dv-scrollable {
|
|
2
2
|
position: relative;
|
|
3
3
|
overflow: hidden;
|
|
4
|
-
width: 100%;
|
|
5
4
|
}
|
|
6
5
|
.dv-scrollable .dv-scrollbar-horizontal {
|
|
7
6
|
position: absolute;
|
|
@@ -1100,7 +1099,7 @@
|
|
|
1100
1099
|
.dv-tabs-container {
|
|
1101
1100
|
display: flex;
|
|
1102
1101
|
height: 100%;
|
|
1103
|
-
overflow:
|
|
1102
|
+
overflow: auto;
|
|
1104
1103
|
scrollbar-width: thin;
|
|
1105
1104
|
/* Track */
|
|
1106
1105
|
/* Handle */
|
|
@@ -1126,6 +1125,10 @@
|
|
|
1126
1125
|
background: var(--dv-tabs-container-scrollbar-color);
|
|
1127
1126
|
}
|
|
1128
1127
|
|
|
1128
|
+
.dv-scrollable > .dv-tabs-container {
|
|
1129
|
+
overflow: hidden;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1129
1132
|
.dv-tab {
|
|
1130
1133
|
-webkit-user-drag: element;
|
|
1131
1134
|
outline: none;
|
|
@@ -1162,6 +1165,9 @@
|
|
|
1162
1165
|
height: var(--dv-tabs-and-actions-container-height);
|
|
1163
1166
|
font-size: var(--dv-tabs-and-actions-container-font-size);
|
|
1164
1167
|
}
|
|
1168
|
+
.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-scrollable {
|
|
1169
|
+
flex-grow: 1;
|
|
1170
|
+
}
|
|
1165
1171
|
.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container {
|
|
1166
1172
|
flex-grow: 1;
|
|
1167
1173
|
}
|