dockview 1.0.2 → 1.0.3
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/api/component.api.js.map +1 -1
- package/dist/cjs/paneview/draggablePaneviewPanel.js +1 -1
- package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts +4 -2
- package/dist/cjs/paneview/paneviewComponent.js +10 -16
- package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
- package/dist/cjs/paneview/paneviewPanel.d.ts +5 -1
- package/dist/cjs/paneview/paneviewPanel.js +13 -1
- package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
- package/dist/cjs/splitview/core/splitview.js +1 -1
- package/dist/cjs/splitview/core/splitview.js.map +1 -1
- package/dist/cjs/splitview/splitviewComponent.d.ts +9 -3
- package/dist/cjs/splitview/splitviewComponent.js +10 -0
- package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
- package/dist/dockview.amd.js +38 -14
- package/dist/dockview.amd.min.js +3 -3
- package/dist/dockview.amd.min.noStyle.js +3 -3
- package/dist/dockview.amd.noStyle.js +37 -13
- package/dist/dockview.cjs.js +38 -14
- package/dist/dockview.esm.js +38 -14
- package/dist/dockview.esm.min.js +3 -3
- package/dist/dockview.js +38 -14
- package/dist/dockview.min.js +3 -3
- package/dist/dockview.min.noStyle.js +3 -3
- package/dist/dockview.noStyle.js +37 -13
- package/dist/esm/api/component.api.d.ts +3 -1
- package/dist/esm/api/component.api.js +6 -0
- package/dist/esm/paneview/draggablePaneviewPanel.js +1 -1
- package/dist/esm/paneview/paneviewComponent.d.ts +4 -2
- package/dist/esm/paneview/paneviewComponent.js +10 -8
- package/dist/esm/paneview/paneviewPanel.d.ts +5 -1
- package/dist/esm/paneview/paneviewPanel.js +9 -1
- package/dist/esm/splitview/core/splitview.js +1 -1
- package/dist/esm/splitview/splitviewComponent.d.ts +9 -3
- package/dist/esm/splitview/splitviewComponent.js +9 -1
- package/dist/styles/dockview.css +45 -45
- package/package.json +2 -2
package/dist/dockview.noStyle.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview
|
|
3
|
-
* @version 1.0.
|
|
3
|
+
* @version 1.0.3
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -301,6 +301,12 @@
|
|
|
301
301
|
get onDidLayoutChange() {
|
|
302
302
|
return this.component.onDidLayoutChange;
|
|
303
303
|
}
|
|
304
|
+
get onDidAddView() {
|
|
305
|
+
return this.component.onDidAddView;
|
|
306
|
+
}
|
|
307
|
+
get onDidRemoveView() {
|
|
308
|
+
return this.component.onDidRemoveView;
|
|
309
|
+
}
|
|
304
310
|
get orientation() {
|
|
305
311
|
return this.component.orientation;
|
|
306
312
|
}
|
|
@@ -902,7 +908,7 @@
|
|
|
902
908
|
this._onDidAddView = new Emitter();
|
|
903
909
|
this.onDidAddView = this._onDidAddView.event;
|
|
904
910
|
this._onDidRemoveView = new Emitter();
|
|
905
|
-
this.onDidRemoveView = this.
|
|
911
|
+
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
906
912
|
this._startSnappingEnabled = true;
|
|
907
913
|
this._endSnappingEnabled = true;
|
|
908
914
|
this.resize = (index, delta, sizes = this.views.map((x) => x.size), lowPriorityIndexes, highPriorityIndexes, overloadMinDelta = Number.NEGATIVE_INFINITY, overloadMaxDelta = Number.POSITIVE_INFINITY, snapBefore, snapAfter) => {
|
|
@@ -5203,6 +5209,10 @@
|
|
|
5203
5209
|
this.element = element;
|
|
5204
5210
|
this._disposable = new MutableDisposable();
|
|
5205
5211
|
this.panels = new Map();
|
|
5212
|
+
this._onDidAddView = new Emitter();
|
|
5213
|
+
this.onDidAddView = this._onDidAddView.event;
|
|
5214
|
+
this._onDidRemoveView = new Emitter();
|
|
5215
|
+
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
5206
5216
|
this._onDidLayoutChange = new Emitter();
|
|
5207
5217
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
5208
5218
|
this._options = options;
|
|
@@ -5228,7 +5238,7 @@
|
|
|
5228
5238
|
this._splitview = value;
|
|
5229
5239
|
this._disposable.value = new CompositeDisposable(this._splitview.onDidSashEnd(() => {
|
|
5230
5240
|
this._onDidLayoutChange.fire(undefined);
|
|
5231
|
-
}));
|
|
5241
|
+
}), this._splitview.onDidAddView((e) => this._onDidAddView.fire(e)), this._splitview.onDidRemoveView((e) => this._onDidRemoveView.fire(e)));
|
|
5232
5242
|
}
|
|
5233
5243
|
get minimumSize() {
|
|
5234
5244
|
return this.splitview.minimumSize;
|
|
@@ -5402,6 +5412,10 @@
|
|
|
5402
5412
|
});
|
|
5403
5413
|
panel.orientation = orientation;
|
|
5404
5414
|
this.doAddView(panel);
|
|
5415
|
+
setTimeout(() => {
|
|
5416
|
+
// the original onDidAddView events are missed since they are fired before we can subcribe to them
|
|
5417
|
+
this._onDidAddView.fire(panel);
|
|
5418
|
+
}, 0);
|
|
5405
5419
|
return { size: view.size, view: panel };
|
|
5406
5420
|
}),
|
|
5407
5421
|
},
|
|
@@ -5520,7 +5534,7 @@
|
|
|
5520
5534
|
}
|
|
5521
5535
|
|
|
5522
5536
|
class PaneviewPanel extends BasePanelView {
|
|
5523
|
-
constructor(id, component, headerComponent, orientation, isExpanded) {
|
|
5537
|
+
constructor(id, component, headerComponent, orientation, isExpanded, isHeaderVisible) {
|
|
5524
5538
|
super(id, component, new PaneviewPanelApiImpl(id));
|
|
5525
5539
|
this.headerComponent = headerComponent;
|
|
5526
5540
|
this._onDidChangeExpansionState = new Emitter({ replay: true });
|
|
@@ -5536,6 +5550,7 @@
|
|
|
5536
5550
|
this.expandedSize = 0;
|
|
5537
5551
|
this.api.pane = this; // TODO cannot use 'this' before 'super'
|
|
5538
5552
|
this._isExpanded = isExpanded;
|
|
5553
|
+
this._headerVisible = isHeaderVisible;
|
|
5539
5554
|
this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
|
|
5540
5555
|
this._orientation = orientation;
|
|
5541
5556
|
this.element.classList.add('pane');
|
|
@@ -5603,6 +5618,13 @@
|
|
|
5603
5618
|
this._maximumBodySize =
|
|
5604
5619
|
typeof value === 'number' ? value : Number.POSITIVE_INFINITY;
|
|
5605
5620
|
}
|
|
5621
|
+
get headerVisible() {
|
|
5622
|
+
return this._headerVisible;
|
|
5623
|
+
}
|
|
5624
|
+
set headerVisible(value) {
|
|
5625
|
+
this._headerVisible = value;
|
|
5626
|
+
this.header.style.display = value ? '' : 'none';
|
|
5627
|
+
}
|
|
5606
5628
|
setVisible(isVisible) {
|
|
5607
5629
|
this.api._onDidVisibilityChange.fire({ isVisible });
|
|
5608
5630
|
}
|
|
@@ -5700,7 +5722,7 @@
|
|
|
5700
5722
|
|
|
5701
5723
|
class DraggablePaneviewPanel extends PaneviewPanel {
|
|
5702
5724
|
constructor(id, component, headerComponent, orientation, isExpanded, disableDnd) {
|
|
5703
|
-
super(id, component, headerComponent, orientation, isExpanded);
|
|
5725
|
+
super(id, component, headerComponent, orientation, isExpanded, true);
|
|
5704
5726
|
this._onDidDrop = new Emitter();
|
|
5705
5727
|
this.onDidDrop = this._onDidDrop.event;
|
|
5706
5728
|
if (!disableDnd) {
|
|
@@ -5823,6 +5845,10 @@
|
|
|
5823
5845
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
5824
5846
|
this._onDidDrop = new Emitter();
|
|
5825
5847
|
this.onDidDrop = this._onDidDrop.event;
|
|
5848
|
+
this._onDidAddView = new Emitter();
|
|
5849
|
+
this.onDidAddView = this._onDidAddView.event;
|
|
5850
|
+
this._onDidRemoveView = new Emitter();
|
|
5851
|
+
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
5826
5852
|
this._options = options;
|
|
5827
5853
|
if (!options.components) {
|
|
5828
5854
|
options.components = {};
|
|
@@ -5836,17 +5862,11 @@
|
|
|
5836
5862
|
});
|
|
5837
5863
|
this.addDisposables(this._disposable);
|
|
5838
5864
|
}
|
|
5839
|
-
get onDidAddView() {
|
|
5840
|
-
return this._paneview.onDidAddView;
|
|
5841
|
-
}
|
|
5842
|
-
get onDidRemoveView() {
|
|
5843
|
-
return this._paneview.onDidRemoveView;
|
|
5844
|
-
}
|
|
5845
5865
|
set paneview(value) {
|
|
5846
5866
|
this._paneview = value;
|
|
5847
|
-
this._disposable.value = new CompositeDisposable(this.
|
|
5867
|
+
this._disposable.value = new CompositeDisposable(this._paneview.onDidChange(() => {
|
|
5848
5868
|
this._onDidLayoutChange.fire(undefined);
|
|
5849
|
-
}));
|
|
5869
|
+
}), this._paneview.onDidAddView((e) => this._onDidAddView.fire(e)), this._paneview.onDidRemoveView((e) => this._onDidRemoveView.fire(e)));
|
|
5850
5870
|
}
|
|
5851
5871
|
get paneview() {
|
|
5852
5872
|
return this._paneview;
|
|
@@ -6026,6 +6046,10 @@
|
|
|
6026
6046
|
});
|
|
6027
6047
|
panel.orientation = this.paneview.orientation;
|
|
6028
6048
|
});
|
|
6049
|
+
setTimeout(() => {
|
|
6050
|
+
// the original onDidAddView events are missed since they are fired before we can subcribe to them
|
|
6051
|
+
this._onDidAddView.fire(panel);
|
|
6052
|
+
}, 0);
|
|
6029
6053
|
return { size: view.size, view: panel };
|
|
6030
6054
|
}),
|
|
6031
6055
|
},
|
|
@@ -7,7 +7,7 @@ import { IGroupPanel } from '../groupview/groupPanel';
|
|
|
7
7
|
import { AddPaneviewCompponentOptions, SerializedPaneview, IPaneviewComponent } from '../paneview/paneviewComponent';
|
|
8
8
|
import { IPaneviewPanel, PaneviewPanel } from '../paneview/paneviewPanel';
|
|
9
9
|
import { AddSplitviewComponentOptions, ISplitviewComponent, SerializedSplitview, SplitviewComponentUpdateOptions } from '../splitview/splitviewComponent';
|
|
10
|
-
import { Orientation, Sizing } from '../splitview/core/splitview';
|
|
10
|
+
import { IView, Orientation, Sizing } from '../splitview/core/splitview';
|
|
11
11
|
import { ISplitviewPanel } from '../splitview/splitviewPanel';
|
|
12
12
|
import { GroupviewPanel } from '../groupview/groupviewPanel';
|
|
13
13
|
import { Event } from '../events';
|
|
@@ -29,6 +29,8 @@ export declare class SplitviewApi implements CommonApi {
|
|
|
29
29
|
get width(): number;
|
|
30
30
|
get length(): number;
|
|
31
31
|
get onDidLayoutChange(): Event<void>;
|
|
32
|
+
get onDidAddView(): Event<IView>;
|
|
33
|
+
get onDidRemoveView(): Event<IView>;
|
|
32
34
|
get orientation(): Orientation;
|
|
33
35
|
constructor(component: ISplitviewComponent);
|
|
34
36
|
updateOptions(options: SplitviewComponentUpdateOptions): void;
|
|
@@ -21,6 +21,12 @@ export class SplitviewApi {
|
|
|
21
21
|
get onDidLayoutChange() {
|
|
22
22
|
return this.component.onDidLayoutChange;
|
|
23
23
|
}
|
|
24
|
+
get onDidAddView() {
|
|
25
|
+
return this.component.onDidAddView;
|
|
26
|
+
}
|
|
27
|
+
get onDidRemoveView() {
|
|
28
|
+
return this.component.onDidRemoveView;
|
|
29
|
+
}
|
|
24
30
|
get orientation() {
|
|
25
31
|
return this.component.orientation;
|
|
26
32
|
}
|
|
@@ -5,7 +5,7 @@ import { Emitter } from '../events';
|
|
|
5
5
|
import { PaneviewPanel, } from './paneviewPanel';
|
|
6
6
|
export class DraggablePaneviewPanel extends PaneviewPanel {
|
|
7
7
|
constructor(id, component, headerComponent, orientation, isExpanded, disableDnd) {
|
|
8
|
-
super(id, component, headerComponent, orientation, isExpanded);
|
|
8
|
+
super(id, component, headerComponent, orientation, isExpanded, true);
|
|
9
9
|
this._onDidDrop = new Emitter();
|
|
10
10
|
this.onDidDrop = this._onDidDrop.event;
|
|
11
11
|
if (!disableDnd) {
|
|
@@ -87,8 +87,10 @@ export declare class PaneviewComponent extends CompositeDisposable implements IP
|
|
|
87
87
|
readonly onDidLayoutChange: Event<void>;
|
|
88
88
|
private readonly _onDidDrop;
|
|
89
89
|
readonly onDidDrop: Event<PaneviewDropEvent2>;
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
private readonly _onDidAddView;
|
|
91
|
+
readonly onDidAddView: Event<PaneviewPanel>;
|
|
92
|
+
private readonly _onDidRemoveView;
|
|
93
|
+
readonly onDidRemoveView: Event<PaneviewPanel>;
|
|
92
94
|
set paneview(value: Paneview);
|
|
93
95
|
get paneview(): Paneview;
|
|
94
96
|
get minimumSize(): number;
|
|
@@ -27,6 +27,10 @@ export class PaneviewComponent extends CompositeDisposable {
|
|
|
27
27
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
28
28
|
this._onDidDrop = new Emitter();
|
|
29
29
|
this.onDidDrop = this._onDidDrop.event;
|
|
30
|
+
this._onDidAddView = new Emitter();
|
|
31
|
+
this.onDidAddView = this._onDidAddView.event;
|
|
32
|
+
this._onDidRemoveView = new Emitter();
|
|
33
|
+
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
30
34
|
this._options = options;
|
|
31
35
|
if (!options.components) {
|
|
32
36
|
options.components = {};
|
|
@@ -40,17 +44,11 @@ export class PaneviewComponent extends CompositeDisposable {
|
|
|
40
44
|
});
|
|
41
45
|
this.addDisposables(this._disposable);
|
|
42
46
|
}
|
|
43
|
-
get onDidAddView() {
|
|
44
|
-
return this._paneview.onDidAddView;
|
|
45
|
-
}
|
|
46
|
-
get onDidRemoveView() {
|
|
47
|
-
return this._paneview.onDidRemoveView;
|
|
48
|
-
}
|
|
49
47
|
set paneview(value) {
|
|
50
48
|
this._paneview = value;
|
|
51
|
-
this._disposable.value = new CompositeDisposable(this.
|
|
49
|
+
this._disposable.value = new CompositeDisposable(this._paneview.onDidChange(() => {
|
|
52
50
|
this._onDidLayoutChange.fire(undefined);
|
|
53
|
-
}));
|
|
51
|
+
}), this._paneview.onDidAddView((e) => this._onDidAddView.fire(e)), this._paneview.onDidRemoveView((e) => this._onDidRemoveView.fire(e)));
|
|
54
52
|
}
|
|
55
53
|
get paneview() {
|
|
56
54
|
return this._paneview;
|
|
@@ -230,6 +228,10 @@ export class PaneviewComponent extends CompositeDisposable {
|
|
|
230
228
|
});
|
|
231
229
|
panel.orientation = this.paneview.orientation;
|
|
232
230
|
});
|
|
231
|
+
setTimeout(() => {
|
|
232
|
+
// the original onDidAddView events are missed since they are fired before we can subcribe to them
|
|
233
|
+
this._onDidAddView.fire(panel);
|
|
234
|
+
}, 0);
|
|
233
235
|
return { size: view.size, view: panel };
|
|
234
236
|
}),
|
|
235
237
|
},
|
|
@@ -39,6 +39,7 @@ export interface IPaneviewPanel extends BasePanelViewExported<PaneviewPanelApiIm
|
|
|
39
39
|
readonly maximumBodySize: number;
|
|
40
40
|
isExpanded(): boolean;
|
|
41
41
|
setExpanded(isExpanded: boolean): void;
|
|
42
|
+
headerVisible: boolean;
|
|
42
43
|
}
|
|
43
44
|
export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelApiImpl> implements IPaneview, IPaneviewPanel {
|
|
44
45
|
private readonly headerComponent;
|
|
@@ -59,6 +60,7 @@ export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelA
|
|
|
59
60
|
private expandedSize;
|
|
60
61
|
private animationTimer;
|
|
61
62
|
private _orientation;
|
|
63
|
+
private _headerVisible;
|
|
62
64
|
set orientation(value: Orientation);
|
|
63
65
|
get orientation(): Orientation;
|
|
64
66
|
get minimumSize(): number;
|
|
@@ -70,7 +72,9 @@ export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelA
|
|
|
70
72
|
set minimumBodySize(value: number);
|
|
71
73
|
get maximumBodySize(): number;
|
|
72
74
|
set maximumBodySize(value: number);
|
|
73
|
-
|
|
75
|
+
get headerVisible(): boolean;
|
|
76
|
+
set headerVisible(value: boolean);
|
|
77
|
+
constructor(id: string, component: string, headerComponent: string | undefined, orientation: Orientation, isExpanded: boolean, isHeaderVisible: boolean);
|
|
74
78
|
setVisible(isVisible: boolean): void;
|
|
75
79
|
setActive(isActive: boolean): void;
|
|
76
80
|
isExpanded(): boolean;
|
|
@@ -4,7 +4,7 @@ import { addDisposableListener, Emitter } from '../events';
|
|
|
4
4
|
import { BasePanelView, } from '../gridview/basePanelView';
|
|
5
5
|
import { Orientation } from '../splitview/core/splitview';
|
|
6
6
|
export class PaneviewPanel extends BasePanelView {
|
|
7
|
-
constructor(id, component, headerComponent, orientation, isExpanded) {
|
|
7
|
+
constructor(id, component, headerComponent, orientation, isExpanded, isHeaderVisible) {
|
|
8
8
|
super(id, component, new PaneviewPanelApiImpl(id));
|
|
9
9
|
this.headerComponent = headerComponent;
|
|
10
10
|
this._onDidChangeExpansionState = new Emitter({ replay: true });
|
|
@@ -20,6 +20,7 @@ export class PaneviewPanel extends BasePanelView {
|
|
|
20
20
|
this.expandedSize = 0;
|
|
21
21
|
this.api.pane = this; // TODO cannot use 'this' before 'super'
|
|
22
22
|
this._isExpanded = isExpanded;
|
|
23
|
+
this._headerVisible = isHeaderVisible;
|
|
23
24
|
this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
|
|
24
25
|
this._orientation = orientation;
|
|
25
26
|
this.element.classList.add('pane');
|
|
@@ -87,6 +88,13 @@ export class PaneviewPanel extends BasePanelView {
|
|
|
87
88
|
this._maximumBodySize =
|
|
88
89
|
typeof value === 'number' ? value : Number.POSITIVE_INFINITY;
|
|
89
90
|
}
|
|
91
|
+
get headerVisible() {
|
|
92
|
+
return this._headerVisible;
|
|
93
|
+
}
|
|
94
|
+
set headerVisible(value) {
|
|
95
|
+
this._headerVisible = value;
|
|
96
|
+
this.header.style.display = value ? '' : 'none';
|
|
97
|
+
}
|
|
90
98
|
setVisible(isVisible) {
|
|
91
99
|
this.api._onDidVisibilityChange.fire({ isVisible });
|
|
92
100
|
}
|
|
@@ -51,7 +51,7 @@ export class Splitview {
|
|
|
51
51
|
this._onDidAddView = new Emitter();
|
|
52
52
|
this.onDidAddView = this._onDidAddView.event;
|
|
53
53
|
this._onDidRemoveView = new Emitter();
|
|
54
|
-
this.onDidRemoveView = this.
|
|
54
|
+
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
55
55
|
this._startSnappingEnabled = true;
|
|
56
56
|
this._endSnappingEnabled = true;
|
|
57
57
|
this.resize = (index, delta, sizes = this.views.map((x) => x.size), lowPriorityIndexes, highPriorityIndexes, overloadMinDelta = Number.NEGATIVE_INFINITY, overloadMaxDelta = Number.POSITIVE_INFINITY, snapBefore, snapAfter) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CompositeDisposable, IDisposable } from '../lifecycle';
|
|
2
|
-
import { LayoutPriority, Orientation, Sizing, Splitview } from './core/splitview';
|
|
2
|
+
import { IView, LayoutPriority, Orientation, Sizing, Splitview } from './core/splitview';
|
|
3
3
|
import { SplitviewComponentOptions } from './core/options';
|
|
4
4
|
import { BaseComponentOptions } from '../panel/types';
|
|
5
5
|
import { Event } from '../events';
|
|
@@ -42,6 +42,8 @@ export interface ISplitviewComponent extends IDisposable {
|
|
|
42
42
|
readonly width: number;
|
|
43
43
|
readonly length: number;
|
|
44
44
|
readonly orientation: Orientation;
|
|
45
|
+
readonly onDidAddView: Event<IView>;
|
|
46
|
+
readonly onDidRemoveView: Event<IView>;
|
|
45
47
|
updateOptions(options: Partial<SplitviewComponentUpdateOptions>): void;
|
|
46
48
|
addPanel(options: AddSplitviewComponentOptions): void;
|
|
47
49
|
layout(width: number, height: number): void;
|
|
@@ -67,12 +69,16 @@ export declare class SplitviewComponent extends CompositeDisposable implements I
|
|
|
67
69
|
private _activePanel;
|
|
68
70
|
private panels;
|
|
69
71
|
private _options;
|
|
72
|
+
private readonly _onDidAddView;
|
|
73
|
+
readonly onDidAddView: Event<IView>;
|
|
74
|
+
private readonly _onDidRemoveView;
|
|
75
|
+
readonly onDidRemoveView: Event<IView>;
|
|
76
|
+
private readonly _onDidLayoutChange;
|
|
77
|
+
readonly onDidLayoutChange: Event<void>;
|
|
70
78
|
get options(): SplitviewComponentOptions;
|
|
71
79
|
get orientation(): Orientation;
|
|
72
80
|
get splitview(): Splitview;
|
|
73
81
|
set splitview(value: Splitview);
|
|
74
|
-
private readonly _onDidLayoutChange;
|
|
75
|
-
readonly onDidLayoutChange: Event<void>;
|
|
76
82
|
get minimumSize(): number;
|
|
77
83
|
get maximumSize(): number;
|
|
78
84
|
get height(): number;
|
|
@@ -12,6 +12,10 @@ export class SplitviewComponent extends CompositeDisposable {
|
|
|
12
12
|
this.element = element;
|
|
13
13
|
this._disposable = new MutableDisposable();
|
|
14
14
|
this.panels = new Map();
|
|
15
|
+
this._onDidAddView = new Emitter();
|
|
16
|
+
this.onDidAddView = this._onDidAddView.event;
|
|
17
|
+
this._onDidRemoveView = new Emitter();
|
|
18
|
+
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
15
19
|
this._onDidLayoutChange = new Emitter();
|
|
16
20
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
17
21
|
this._options = options;
|
|
@@ -37,7 +41,7 @@ export class SplitviewComponent extends CompositeDisposable {
|
|
|
37
41
|
this._splitview = value;
|
|
38
42
|
this._disposable.value = new CompositeDisposable(this._splitview.onDidSashEnd(() => {
|
|
39
43
|
this._onDidLayoutChange.fire(undefined);
|
|
40
|
-
}));
|
|
44
|
+
}), this._splitview.onDidAddView((e) => this._onDidAddView.fire(e)), this._splitview.onDidRemoveView((e) => this._onDidRemoveView.fire(e)));
|
|
41
45
|
}
|
|
42
46
|
get minimumSize() {
|
|
43
47
|
return this.splitview.minimumSize;
|
|
@@ -211,6 +215,10 @@ export class SplitviewComponent extends CompositeDisposable {
|
|
|
211
215
|
});
|
|
212
216
|
panel.orientation = orientation;
|
|
213
217
|
this.doAddView(panel);
|
|
218
|
+
setTimeout(() => {
|
|
219
|
+
// the original onDidAddView events are missed since they are fired before we can subcribe to them
|
|
220
|
+
this._onDidAddView.fire(panel);
|
|
221
|
+
}, 0);
|
|
214
222
|
return { size: view.size, view: panel };
|
|
215
223
|
}),
|
|
216
224
|
},
|
package/dist/styles/dockview.css
CHANGED
|
@@ -105,6 +105,51 @@
|
|
|
105
105
|
margin-right: "0.5em";
|
|
106
106
|
cursor: pointer;
|
|
107
107
|
}
|
|
108
|
+
.drop-target {
|
|
109
|
+
position: relative;
|
|
110
|
+
}
|
|
111
|
+
.drop-target > .drop-target-dropzone {
|
|
112
|
+
position: absolute;
|
|
113
|
+
left: 0px;
|
|
114
|
+
top: 0px;
|
|
115
|
+
height: 100%;
|
|
116
|
+
width: 100%;
|
|
117
|
+
z-index: 10000;
|
|
118
|
+
}
|
|
119
|
+
.drop-target > .drop-target-dropzone > .drop-target-selection {
|
|
120
|
+
position: relative;
|
|
121
|
+
pointer-events: none;
|
|
122
|
+
box-sizing: border-box;
|
|
123
|
+
height: 100%;
|
|
124
|
+
width: 100%;
|
|
125
|
+
background-color: var(--dv-drag-over-background-color);
|
|
126
|
+
transition-duration: 0.15s;
|
|
127
|
+
transition-timing-function: ease-out;
|
|
128
|
+
}
|
|
129
|
+
.drop-target > .drop-target-dropzone > .drop-target-selection.left, .drop-target > .drop-target-dropzone > .drop-target-selection.right {
|
|
130
|
+
width: 50%;
|
|
131
|
+
}
|
|
132
|
+
.drop-target > .drop-target-dropzone > .drop-target-selection.right {
|
|
133
|
+
transform: translate(100%, 0%);
|
|
134
|
+
}
|
|
135
|
+
.drop-target > .drop-target-dropzone > .drop-target-selection.bottom {
|
|
136
|
+
transform: translate(0%, 100%);
|
|
137
|
+
}
|
|
138
|
+
.drop-target > .drop-target-dropzone > .drop-target-selection.top, .drop-target > .drop-target-dropzone > .drop-target-selection.bottom {
|
|
139
|
+
height: 50%;
|
|
140
|
+
}
|
|
141
|
+
.drop-target > .drop-target-dropzone > .drop-target-selection.small-top {
|
|
142
|
+
border-top: 1px solid var(--dv-drag-over-border-color);
|
|
143
|
+
}
|
|
144
|
+
.drop-target > .drop-target-dropzone > .drop-target-selection.small-bottom {
|
|
145
|
+
border-bottom: 1px solid var(--dv-drag-over-border-color);
|
|
146
|
+
}
|
|
147
|
+
.drop-target > .drop-target-dropzone > .drop-target-selection.small-left {
|
|
148
|
+
border-left: 1px solid var(--dv-drag-over-border-color);
|
|
149
|
+
}
|
|
150
|
+
.drop-target > .drop-target-dropzone > .drop-target-selection.small-right {
|
|
151
|
+
border-right: 1px solid var(--dv-drag-over-border-color);
|
|
152
|
+
}
|
|
108
153
|
.custom-dragging {
|
|
109
154
|
height: 24px;
|
|
110
155
|
line-height: 24px;
|
|
@@ -154,51 +199,6 @@
|
|
|
154
199
|
background-color: var(--dv-activegroup-visiblepanel-tab-background-color);
|
|
155
200
|
color: var(--dv-activegroup-visiblepanel-tab-color);
|
|
156
201
|
}
|
|
157
|
-
.drop-target {
|
|
158
|
-
position: relative;
|
|
159
|
-
}
|
|
160
|
-
.drop-target > .drop-target-dropzone {
|
|
161
|
-
position: absolute;
|
|
162
|
-
left: 0px;
|
|
163
|
-
top: 0px;
|
|
164
|
-
height: 100%;
|
|
165
|
-
width: 100%;
|
|
166
|
-
z-index: 10000;
|
|
167
|
-
}
|
|
168
|
-
.drop-target > .drop-target-dropzone > .drop-target-selection {
|
|
169
|
-
position: relative;
|
|
170
|
-
pointer-events: none;
|
|
171
|
-
box-sizing: border-box;
|
|
172
|
-
height: 100%;
|
|
173
|
-
width: 100%;
|
|
174
|
-
background-color: var(--dv-drag-over-background-color);
|
|
175
|
-
transition-duration: 0.15s;
|
|
176
|
-
transition-timing-function: ease-out;
|
|
177
|
-
}
|
|
178
|
-
.drop-target > .drop-target-dropzone > .drop-target-selection.left, .drop-target > .drop-target-dropzone > .drop-target-selection.right {
|
|
179
|
-
width: 50%;
|
|
180
|
-
}
|
|
181
|
-
.drop-target > .drop-target-dropzone > .drop-target-selection.right {
|
|
182
|
-
transform: translate(100%, 0%);
|
|
183
|
-
}
|
|
184
|
-
.drop-target > .drop-target-dropzone > .drop-target-selection.bottom {
|
|
185
|
-
transform: translate(0%, 100%);
|
|
186
|
-
}
|
|
187
|
-
.drop-target > .drop-target-dropzone > .drop-target-selection.top, .drop-target > .drop-target-dropzone > .drop-target-selection.bottom {
|
|
188
|
-
height: 50%;
|
|
189
|
-
}
|
|
190
|
-
.drop-target > .drop-target-dropzone > .drop-target-selection.small-top {
|
|
191
|
-
border-top: 1px solid var(--dv-drag-over-border-color);
|
|
192
|
-
}
|
|
193
|
-
.drop-target > .drop-target-dropzone > .drop-target-selection.small-bottom {
|
|
194
|
-
border-bottom: 1px solid var(--dv-drag-over-border-color);
|
|
195
|
-
}
|
|
196
|
-
.drop-target > .drop-target-dropzone > .drop-target-selection.small-left {
|
|
197
|
-
border-left: 1px solid var(--dv-drag-over-border-color);
|
|
198
|
-
}
|
|
199
|
-
.drop-target > .drop-target-dropzone > .drop-target-selection.small-right {
|
|
200
|
-
border-right: 1px solid var(--dv-drag-over-border-color);
|
|
201
|
-
}
|
|
202
202
|
.grid-view,
|
|
203
203
|
.branch-node {
|
|
204
204
|
height: 100%;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dockview",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"types": "./dist/cjs/index.d.ts",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"react": ">=16.8.0",
|
|
74
74
|
"react-dom": ">=16.8.0"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "0b051157332ff2611a95f53a39e4643cac70f020"
|
|
77
77
|
}
|