dockview 1.1.0 → 1.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 +1 -3
- package/dist/cjs/api/component.api.js +0 -14
- package/dist/cjs/api/component.api.js.map +1 -1
- package/dist/cjs/dnd/abstractDragHandler.d.ts +1 -1
- package/dist/cjs/dnd/abstractDragHandler.js +1 -2
- package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
- package/dist/cjs/dockview/deserializer.js.map +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +5 -3
- package/dist/cjs/dockview/dockviewComponent.js +45 -38
- package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts +1 -0
- package/dist/cjs/dockview/dockviewGroupPanel.js +8 -0
- package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts +3 -20
- package/dist/cjs/gridview/baseComponentGridview.js +9 -43
- package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
- package/dist/cjs/gridview/branchNode.js +1 -1
- package/dist/cjs/gridview/branchNode.js.map +1 -1
- package/dist/cjs/gridview/gridview.js +1 -0
- package/dist/cjs/gridview/gridview.js.map +1 -1
- package/dist/cjs/gridview/gridviewComponent.js +0 -1
- package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
- package/dist/cjs/gridview/leafNode.js +1 -1
- package/dist/cjs/gridview/leafNode.js.map +1 -1
- package/dist/cjs/groupview/groupPanel.d.ts +1 -0
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +8 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/paneview/paneview.js +3 -2
- package/dist/cjs/paneview/paneview.js.map +1 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts +1 -0
- package/dist/cjs/paneview/paneviewComponent.js +4 -0
- package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
- package/dist/cjs/react/dockview/components.js +5 -1
- package/dist/cjs/react/dockview/components.js.map +1 -1
- package/dist/cjs/react/dockview/dockview.js +14 -1
- package/dist/cjs/react/dockview/dockview.js.map +1 -1
- package/dist/cjs/react/gridview/gridview.js +9 -2
- package/dist/cjs/react/gridview/gridview.js.map +1 -1
- package/dist/cjs/react/index.js +5 -1
- package/dist/cjs/react/index.js.map +1 -1
- package/dist/cjs/react/paneview/paneview.js +5 -1
- package/dist/cjs/react/paneview/paneview.js.map +1 -1
- package/dist/cjs/react/react.js +5 -1
- package/dist/cjs/react/react.js.map +1 -1
- package/dist/cjs/react/splitview/splitview.js +8 -2
- package/dist/cjs/react/splitview/splitview.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.js +1 -0
- package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
- package/dist/dockview.amd.js +168 -207
- package/dist/dockview.amd.min.js +2 -2
- package/dist/dockview.amd.min.noStyle.js +2 -2
- package/dist/dockview.amd.noStyle.js +167 -206
- package/dist/dockview.cjs.js +168 -207
- package/dist/dockview.esm.js +168 -201
- package/dist/dockview.esm.min.js +2 -2
- package/dist/dockview.js +168 -207
- package/dist/dockview.min.js +2 -2
- package/dist/dockview.min.noStyle.js +2 -2
- package/dist/dockview.noStyle.js +167 -206
- package/dist/esm/api/component.api.d.ts +1 -3
- package/dist/esm/api/component.api.js +0 -6
- package/dist/esm/dnd/abstractDragHandler.d.ts +1 -1
- package/dist/esm/dnd/abstractDragHandler.js +1 -2
- package/dist/esm/dockview/dockviewComponent.d.ts +5 -3
- package/dist/esm/dockview/dockviewComponent.js +20 -36
- package/dist/esm/dockview/dockviewGroupPanel.d.ts +1 -0
- package/dist/esm/dockview/dockviewGroupPanel.js +4 -0
- package/dist/esm/gridview/baseComponentGridview.d.ts +3 -20
- package/dist/esm/gridview/baseComponentGridview.js +9 -43
- package/dist/esm/gridview/branchNode.js +1 -1
- package/dist/esm/gridview/gridview.js +1 -0
- package/dist/esm/gridview/gridviewComponent.js +1 -2
- package/dist/esm/groupview/groupPanel.d.ts +1 -0
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +1 -2
- package/dist/esm/paneview/paneview.js +1 -1
- package/dist/esm/paneview/paneviewComponent.d.ts +1 -0
- package/dist/esm/paneview/paneviewComponent.js +4 -0
- package/dist/esm/react/dockview/dockview.js +9 -0
- package/dist/esm/react/gridview/gridview.js +4 -1
- package/dist/esm/react/splitview/splitview.js +3 -1
- package/dist/esm/splitview/core/splitview.js +1 -1
- package/dist/esm/splitview/splitviewComponent.js +1 -0
- package/dist/styles/dockview.css +9 -8
- package/package.json +11 -11
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 1.2.0
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -27,6 +27,76 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
27
27
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
28
28
|
var ReactDOM__namespace = /*#__PURE__*/_interopNamespace(ReactDOM);
|
|
29
29
|
|
|
30
|
+
class TransferObject {
|
|
31
|
+
constructor() {
|
|
32
|
+
//
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
class PanelTransfer extends TransferObject {
|
|
36
|
+
constructor(viewId, groupId, panelId) {
|
|
37
|
+
super();
|
|
38
|
+
this.viewId = viewId;
|
|
39
|
+
this.groupId = groupId;
|
|
40
|
+
this.panelId = panelId;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
class PaneTransfer extends TransferObject {
|
|
44
|
+
constructor(viewId, paneId) {
|
|
45
|
+
super();
|
|
46
|
+
this.viewId = viewId;
|
|
47
|
+
this.paneId = paneId;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* A singleton to store transfer data during drag & drop operations that are only valid within the application.
|
|
52
|
+
*/
|
|
53
|
+
class LocalSelectionTransfer {
|
|
54
|
+
constructor() {
|
|
55
|
+
// protect against external instantiation
|
|
56
|
+
}
|
|
57
|
+
static getInstance() {
|
|
58
|
+
return LocalSelectionTransfer.INSTANCE;
|
|
59
|
+
}
|
|
60
|
+
hasData(proto) {
|
|
61
|
+
return proto && proto === this.proto;
|
|
62
|
+
}
|
|
63
|
+
clearData(proto) {
|
|
64
|
+
if (this.hasData(proto)) {
|
|
65
|
+
this.proto = undefined;
|
|
66
|
+
this.data = undefined;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
getData(proto) {
|
|
70
|
+
if (this.hasData(proto)) {
|
|
71
|
+
return this.data;
|
|
72
|
+
}
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
setData(data, proto) {
|
|
76
|
+
if (proto) {
|
|
77
|
+
this.data = data;
|
|
78
|
+
this.proto = proto;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
LocalSelectionTransfer.INSTANCE = new LocalSelectionTransfer();
|
|
83
|
+
function getPanelData() {
|
|
84
|
+
const panelTransfer = LocalSelectionTransfer.getInstance();
|
|
85
|
+
const isPanelEvent = panelTransfer.hasData(PanelTransfer.prototype);
|
|
86
|
+
if (!isPanelEvent) {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
return panelTransfer.getData(PanelTransfer.prototype)[0];
|
|
90
|
+
}
|
|
91
|
+
function getPaneData() {
|
|
92
|
+
const paneTransfer = LocalSelectionTransfer.getInstance();
|
|
93
|
+
const isPanelEvent = paneTransfer.hasData(PaneTransfer.prototype);
|
|
94
|
+
if (!isPanelEvent) {
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
return paneTransfer.getData(PaneTransfer.prototype)[0];
|
|
98
|
+
}
|
|
99
|
+
|
|
30
100
|
exports.Event = void 0;
|
|
31
101
|
(function (Event) {
|
|
32
102
|
Event.any = (...children) => {
|
|
@@ -116,116 +186,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
116
186
|
}
|
|
117
187
|
}
|
|
118
188
|
|
|
119
|
-
exports.Disposable = void 0;
|
|
120
|
-
(function (Disposable) {
|
|
121
|
-
Disposable.NONE = {
|
|
122
|
-
dispose: () => {
|
|
123
|
-
// noop
|
|
124
|
-
},
|
|
125
|
-
};
|
|
126
|
-
})(exports.Disposable || (exports.Disposable = {}));
|
|
127
|
-
class CompositeDisposable {
|
|
128
|
-
constructor(...args) {
|
|
129
|
-
this.disposables = args;
|
|
130
|
-
}
|
|
131
|
-
static from(...args) {
|
|
132
|
-
return new CompositeDisposable(...args);
|
|
133
|
-
}
|
|
134
|
-
addDisposables(...args) {
|
|
135
|
-
args.forEach((arg) => this.disposables.push(arg));
|
|
136
|
-
}
|
|
137
|
-
dispose() {
|
|
138
|
-
this.disposables.forEach((arg) => arg.dispose());
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
class MutableDisposable {
|
|
142
|
-
constructor() {
|
|
143
|
-
this._disposable = exports.Disposable.NONE;
|
|
144
|
-
}
|
|
145
|
-
set value(disposable) {
|
|
146
|
-
if (this._disposable) {
|
|
147
|
-
this._disposable.dispose();
|
|
148
|
-
}
|
|
149
|
-
this._disposable = disposable;
|
|
150
|
-
}
|
|
151
|
-
dispose() {
|
|
152
|
-
if (this._disposable) {
|
|
153
|
-
this._disposable.dispose();
|
|
154
|
-
this._disposable = exports.Disposable.NONE;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
class TransferObject {
|
|
160
|
-
constructor() {
|
|
161
|
-
//
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
class PanelTransfer extends TransferObject {
|
|
165
|
-
constructor(viewId, groupId, panelId) {
|
|
166
|
-
super();
|
|
167
|
-
this.viewId = viewId;
|
|
168
|
-
this.groupId = groupId;
|
|
169
|
-
this.panelId = panelId;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
class PaneTransfer extends TransferObject {
|
|
173
|
-
constructor(viewId, paneId) {
|
|
174
|
-
super();
|
|
175
|
-
this.viewId = viewId;
|
|
176
|
-
this.paneId = paneId;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* A singleton to store transfer data during drag & drop operations that are only valid within the application.
|
|
181
|
-
*/
|
|
182
|
-
class LocalSelectionTransfer {
|
|
183
|
-
constructor() {
|
|
184
|
-
// protect against external instantiation
|
|
185
|
-
}
|
|
186
|
-
static getInstance() {
|
|
187
|
-
return LocalSelectionTransfer.INSTANCE;
|
|
188
|
-
}
|
|
189
|
-
hasData(proto) {
|
|
190
|
-
return proto && proto === this.proto;
|
|
191
|
-
}
|
|
192
|
-
clearData(proto) {
|
|
193
|
-
if (this.hasData(proto)) {
|
|
194
|
-
this.proto = undefined;
|
|
195
|
-
this.data = undefined;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
getData(proto) {
|
|
199
|
-
if (this.hasData(proto)) {
|
|
200
|
-
return this.data;
|
|
201
|
-
}
|
|
202
|
-
return undefined;
|
|
203
|
-
}
|
|
204
|
-
setData(data, proto) {
|
|
205
|
-
if (proto) {
|
|
206
|
-
this.data = data;
|
|
207
|
-
this.proto = proto;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
LocalSelectionTransfer.INSTANCE = new LocalSelectionTransfer();
|
|
212
|
-
function getPanelData() {
|
|
213
|
-
const panelTransfer = LocalSelectionTransfer.getInstance();
|
|
214
|
-
const isPanelEvent = panelTransfer.hasData(PanelTransfer.prototype);
|
|
215
|
-
if (!isPanelEvent) {
|
|
216
|
-
return undefined;
|
|
217
|
-
}
|
|
218
|
-
return panelTransfer.getData(PanelTransfer.prototype)[0];
|
|
219
|
-
}
|
|
220
|
-
function getPaneData() {
|
|
221
|
-
const paneTransfer = LocalSelectionTransfer.getInstance();
|
|
222
|
-
const isPanelEvent = paneTransfer.hasData(PaneTransfer.prototype);
|
|
223
|
-
if (!isPanelEvent) {
|
|
224
|
-
return undefined;
|
|
225
|
-
}
|
|
226
|
-
return paneTransfer.getData(PaneTransfer.prototype)[0];
|
|
227
|
-
}
|
|
228
|
-
|
|
229
189
|
class SplitviewApi {
|
|
230
190
|
constructor(component) {
|
|
231
191
|
this.component = component;
|
|
@@ -386,9 +346,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
386
346
|
get height() {
|
|
387
347
|
return this.component.height;
|
|
388
348
|
}
|
|
389
|
-
get onGridEvent() {
|
|
390
|
-
return this.component.onGridEvent;
|
|
391
|
-
}
|
|
392
349
|
get onDidLayoutChange() {
|
|
393
350
|
return this.component.onDidLayoutChange;
|
|
394
351
|
}
|
|
@@ -478,9 +435,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
478
435
|
get totalPanels() {
|
|
479
436
|
return this.component.totalPanels;
|
|
480
437
|
}
|
|
481
|
-
get onGridEvent() {
|
|
482
|
-
return this.component.onGridEvent;
|
|
483
|
-
}
|
|
484
438
|
get onDidActiveGroupChange() {
|
|
485
439
|
return this.component.onDidActiveGroupChange;
|
|
486
440
|
}
|
|
@@ -564,6 +518,46 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
564
518
|
}
|
|
565
519
|
}
|
|
566
520
|
|
|
521
|
+
var Disposable;
|
|
522
|
+
(function (Disposable) {
|
|
523
|
+
Disposable.NONE = {
|
|
524
|
+
dispose: () => {
|
|
525
|
+
// noop
|
|
526
|
+
},
|
|
527
|
+
};
|
|
528
|
+
})(Disposable || (Disposable = {}));
|
|
529
|
+
class CompositeDisposable {
|
|
530
|
+
constructor(...args) {
|
|
531
|
+
this.disposables = args;
|
|
532
|
+
}
|
|
533
|
+
static from(...args) {
|
|
534
|
+
return new CompositeDisposable(...args);
|
|
535
|
+
}
|
|
536
|
+
addDisposables(...args) {
|
|
537
|
+
args.forEach((arg) => this.disposables.push(arg));
|
|
538
|
+
}
|
|
539
|
+
dispose() {
|
|
540
|
+
this.disposables.forEach((arg) => arg.dispose());
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
class MutableDisposable {
|
|
544
|
+
constructor() {
|
|
545
|
+
this._disposable = Disposable.NONE;
|
|
546
|
+
}
|
|
547
|
+
set value(disposable) {
|
|
548
|
+
if (this._disposable) {
|
|
549
|
+
this._disposable.dispose();
|
|
550
|
+
}
|
|
551
|
+
this._disposable = disposable;
|
|
552
|
+
}
|
|
553
|
+
dispose() {
|
|
554
|
+
if (this._disposable) {
|
|
555
|
+
this._disposable.dispose();
|
|
556
|
+
this._disposable = Disposable.NONE;
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
|
|
567
561
|
function watchElementResize(element, cb) {
|
|
568
562
|
const observer = new ResizeObserver((entires) => {
|
|
569
563
|
const firstEntry = entires[0];
|
|
@@ -1509,13 +1503,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1509
1503
|
this._onDidSashEnd.dispose();
|
|
1510
1504
|
this._onDidAddView.dispose();
|
|
1511
1505
|
this._onDidRemoveView.dispose();
|
|
1512
|
-
this.element.remove();
|
|
1513
1506
|
for (let i = 0; i < this.element.children.length; i++) {
|
|
1514
1507
|
if (this.element.children.item(i) === this.element) {
|
|
1515
1508
|
this.element.removeChild(this.element);
|
|
1516
1509
|
break;
|
|
1517
1510
|
}
|
|
1518
1511
|
}
|
|
1512
|
+
this.element.remove();
|
|
1519
1513
|
}
|
|
1520
1514
|
}
|
|
1521
1515
|
|
|
@@ -1644,7 +1638,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1644
1638
|
}
|
|
1645
1639
|
dispose() {
|
|
1646
1640
|
super.dispose();
|
|
1647
|
-
this.splitview.dispose();
|
|
1648
1641
|
if (this.animationTimer) {
|
|
1649
1642
|
clearTimeout(this.animationTimer);
|
|
1650
1643
|
this.animationTimer = undefined;
|
|
@@ -1653,6 +1646,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1653
1646
|
paneItem.disposable.dispose();
|
|
1654
1647
|
});
|
|
1655
1648
|
this.paneItems = [];
|
|
1649
|
+
this.splitview.dispose();
|
|
1656
1650
|
this.element.remove();
|
|
1657
1651
|
}
|
|
1658
1652
|
}
|
|
@@ -1971,7 +1965,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1971
1965
|
this.children = [];
|
|
1972
1966
|
this._onDidChange = new Emitter();
|
|
1973
1967
|
this.onDidChange = this._onDidChange.event;
|
|
1974
|
-
this._childrenDisposable =
|
|
1968
|
+
this._childrenDisposable = Disposable.NONE;
|
|
1975
1969
|
this._orthogonalSize = orthogonalSize;
|
|
1976
1970
|
this._size = size;
|
|
1977
1971
|
this.element = document.createElement('div');
|
|
@@ -1996,7 +1990,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1996
1990
|
: true,
|
|
1997
1991
|
};
|
|
1998
1992
|
}),
|
|
1999
|
-
size: this.
|
|
1993
|
+
size: this.size,
|
|
2000
1994
|
};
|
|
2001
1995
|
this.children = childDescriptors.map((c) => c.node);
|
|
2002
1996
|
this.splitview = new Splitview(this.element, {
|
|
@@ -2317,6 +2311,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2317
2311
|
this.disposable.dispose();
|
|
2318
2312
|
this._onDidChange.dispose();
|
|
2319
2313
|
this.root.dispose();
|
|
2314
|
+
this.element.remove();
|
|
2320
2315
|
}
|
|
2321
2316
|
clear() {
|
|
2322
2317
|
const orientation = this.root.orientation;
|
|
@@ -3347,19 +3342,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3347
3342
|
}
|
|
3348
3343
|
}
|
|
3349
3344
|
|
|
3350
|
-
exports.GroupChangeKind = void 0;
|
|
3351
|
-
(function (GroupChangeKind) {
|
|
3352
|
-
GroupChangeKind["ADD_PANEL"] = "ADD_PANEL";
|
|
3353
|
-
GroupChangeKind["REMOVE_PANEL"] = "REMOVE_PANEL";
|
|
3354
|
-
GroupChangeKind["PANEL_ACTIVE"] = "PANEL_ACTIVE";
|
|
3355
|
-
//
|
|
3356
|
-
GroupChangeKind["GROUP_ACTIVE"] = "GROUP_ACTIVE";
|
|
3357
|
-
GroupChangeKind["ADD_GROUP"] = "ADD_GROUP";
|
|
3358
|
-
GroupChangeKind["REMOVE_GROUP"] = "REMOVE_GROUP";
|
|
3359
|
-
//
|
|
3360
|
-
GroupChangeKind["LAYOUT_FROM_JSON"] = "LAYOUT_FROM_JSON";
|
|
3361
|
-
GroupChangeKind["LAYOUT"] = "LAYOUT";
|
|
3362
|
-
})(exports.GroupChangeKind || (exports.GroupChangeKind = {}));
|
|
3363
3345
|
const nextLayoutId = sequentialNumberGenerator();
|
|
3364
3346
|
function toTarget(direction) {
|
|
3365
3347
|
switch (direction) {
|
|
@@ -3382,9 +3364,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3382
3364
|
this._element = _element;
|
|
3383
3365
|
this._id = nextLayoutId.next();
|
|
3384
3366
|
this._groups = new Map();
|
|
3385
|
-
//
|
|
3386
|
-
this._onGridEvent = new Emitter();
|
|
3387
|
-
this.onGridEvent = this._onGridEvent.event;
|
|
3388
3367
|
this._onDidLayoutChange = new Emitter();
|
|
3389
3368
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
3390
3369
|
this._onDidRemoveGroup = new Emitter();
|
|
@@ -3393,30 +3372,18 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3393
3372
|
this.onDidAddGroup = this._onDidAddGroup.event;
|
|
3394
3373
|
this._onDidActiveGroupChange = new Emitter();
|
|
3395
3374
|
this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
|
|
3375
|
+
this._bufferOnDidLayoutChange = new TickDelayedEvent();
|
|
3396
3376
|
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation);
|
|
3397
3377
|
this.element.appendChild(this.gridview.element);
|
|
3398
3378
|
this.layout(0, 0, true); // set some elements height/widths
|
|
3399
3379
|
this.addDisposables(this.gridview.onDidChange(() => {
|
|
3400
|
-
this.
|
|
3380
|
+
this._onDidLayoutChange.fire();
|
|
3401
3381
|
}));
|
|
3402
|
-
this.addDisposables((() => {
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
exports.GroupChangeKind.REMOVE_GROUP,
|
|
3408
|
-
exports.GroupChangeKind.ADD_PANEL,
|
|
3409
|
-
exports.GroupChangeKind.REMOVE_PANEL,
|
|
3410
|
-
exports.GroupChangeKind.GROUP_ACTIVE,
|
|
3411
|
-
exports.GroupChangeKind.PANEL_ACTIVE,
|
|
3412
|
-
exports.GroupChangeKind.LAYOUT,
|
|
3413
|
-
].includes(event.kind)) {
|
|
3414
|
-
tickDelayedEvent.fire();
|
|
3415
|
-
}
|
|
3416
|
-
}), tickDelayedEvent.onEvent(() => {
|
|
3417
|
-
this._onDidLayoutChange.fire();
|
|
3418
|
-
}), tickDelayedEvent);
|
|
3419
|
-
})());
|
|
3382
|
+
this.addDisposables(exports.Event.any(this.onDidAddGroup, this.onDidRemoveGroup, this.onDidActiveGroupChange)(() => {
|
|
3383
|
+
this._bufferOnDidLayoutChange.fire();
|
|
3384
|
+
}), this._bufferOnDidLayoutChange.onEvent(() => {
|
|
3385
|
+
this._onDidLayoutChange.fire();
|
|
3386
|
+
}), this._bufferOnDidLayoutChange);
|
|
3420
3387
|
}
|
|
3421
3388
|
get id() {
|
|
3422
3389
|
return this._id;
|
|
@@ -3453,14 +3420,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3453
3420
|
}
|
|
3454
3421
|
setVisible(panel, visible) {
|
|
3455
3422
|
this.gridview.setViewVisible(getGridLocation(panel.element), visible);
|
|
3456
|
-
this.
|
|
3423
|
+
this._onDidLayoutChange.fire();
|
|
3457
3424
|
}
|
|
3458
3425
|
isVisible(panel) {
|
|
3459
3426
|
return this.gridview.isViewVisible(getGridLocation(panel.element));
|
|
3460
3427
|
}
|
|
3461
3428
|
doAddGroup(group, location = [0], size) {
|
|
3462
3429
|
this.gridview.addView(group, size !== null && size !== void 0 ? size : exports.Sizing.Distribute, location);
|
|
3463
|
-
this._onGridEvent.fire({ kind: exports.GroupChangeKind.ADD_GROUP });
|
|
3464
3430
|
this._onDidAddGroup.fire(group);
|
|
3465
3431
|
this.doSetGroupActive(group);
|
|
3466
3432
|
}
|
|
@@ -3474,7 +3440,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3474
3440
|
item.disposable.dispose();
|
|
3475
3441
|
this._groups.delete(group.id);
|
|
3476
3442
|
}
|
|
3477
|
-
this._onGridEvent.fire({ kind: exports.GroupChangeKind.REMOVE_GROUP });
|
|
3478
3443
|
this._onDidRemoveGroup.fire(group);
|
|
3479
3444
|
if (!(options === null || options === void 0 ? void 0 : options.skipActive) && this._activeGroup === group) {
|
|
3480
3445
|
const groups = Array.from(this._groups.values());
|
|
@@ -3503,9 +3468,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3503
3468
|
}
|
|
3504
3469
|
}
|
|
3505
3470
|
this._activeGroup = group;
|
|
3506
|
-
this._onGridEvent.fire({
|
|
3507
|
-
kind: exports.GroupChangeKind.GROUP_ACTIVE,
|
|
3508
|
-
});
|
|
3509
3471
|
this._onDidActiveGroupChange.fire(group);
|
|
3510
3472
|
}
|
|
3511
3473
|
removeGroup(group) {
|
|
@@ -3562,7 +3524,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3562
3524
|
}
|
|
3563
3525
|
dispose() {
|
|
3564
3526
|
super.dispose();
|
|
3565
|
-
this._onGridEvent.dispose();
|
|
3566
3527
|
this._onDidActiveGroupChange.dispose();
|
|
3567
3528
|
this._onDidAddGroup.dispose();
|
|
3568
3529
|
this._onDidRemoveGroup.dispose();
|
|
@@ -3744,6 +3705,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3744
3705
|
this.update({ params: { title } });
|
|
3745
3706
|
}));
|
|
3746
3707
|
}
|
|
3708
|
+
get params() {
|
|
3709
|
+
var _a;
|
|
3710
|
+
return (_a = this._params) === null || _a === void 0 ? void 0 : _a.params;
|
|
3711
|
+
}
|
|
3747
3712
|
get title() {
|
|
3748
3713
|
return this._title;
|
|
3749
3714
|
}
|
|
@@ -4420,7 +4385,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4420
4385
|
this.onDidLayoutfromJSON = this._onDidLayoutfromJSON.event;
|
|
4421
4386
|
this._onDidActivePanelChange = new Emitter();
|
|
4422
4387
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
4423
|
-
this.addDisposables(this._onTabInteractionEvent, this._onTabContextMenu, this._onDidDrop)
|
|
4388
|
+
this.addDisposables(this._onTabInteractionEvent, this._onTabContextMenu, this._onDidDrop, exports.Event.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
|
|
4389
|
+
this._bufferOnDidLayoutChange.fire();
|
|
4390
|
+
}));
|
|
4424
4391
|
this._options = options;
|
|
4425
4392
|
if (!this.options.components) {
|
|
4426
4393
|
this.options.components = {};
|
|
@@ -4554,11 +4521,12 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4554
4521
|
};
|
|
4555
4522
|
}
|
|
4556
4523
|
fromJSON(data) {
|
|
4524
|
+
const groups = Array.from(this._groups.values()).map((_) => _.value);
|
|
4525
|
+
for (const group of groups) {
|
|
4526
|
+
// remove the group will automatically remove the panels
|
|
4527
|
+
this.removeGroup(group, true);
|
|
4528
|
+
}
|
|
4557
4529
|
this.gridview.clear();
|
|
4558
|
-
this.panels.forEach((panel) => {
|
|
4559
|
-
panel.dispose();
|
|
4560
|
-
});
|
|
4561
|
-
this._groups.clear();
|
|
4562
4530
|
if (!this.deserializer) {
|
|
4563
4531
|
throw new Error('invalid deserializer');
|
|
4564
4532
|
}
|
|
@@ -4582,7 +4550,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4582
4550
|
}
|
|
4583
4551
|
}
|
|
4584
4552
|
this.gridview.layout(this.width, this.height);
|
|
4585
|
-
this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT_FROM_JSON });
|
|
4586
4553
|
this._onDidLayoutfromJSON.fire();
|
|
4587
4554
|
}
|
|
4588
4555
|
closeAllGroups() {
|
|
@@ -4632,13 +4599,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4632
4599
|
}
|
|
4633
4600
|
return panel;
|
|
4634
4601
|
}
|
|
4635
|
-
removePanel(panel) {
|
|
4602
|
+
removePanel(panel, options = { removeEmptyGroup: true }) {
|
|
4636
4603
|
const group = panel.group;
|
|
4637
4604
|
if (!group) {
|
|
4638
4605
|
throw new Error(`cannot remove panel ${panel.id}. it's missing a group.`);
|
|
4639
4606
|
}
|
|
4640
4607
|
group.model.removePanel(panel);
|
|
4641
|
-
if (group.model.size === 0) {
|
|
4608
|
+
if (group.model.size === 0 && options.removeEmptyGroup) {
|
|
4642
4609
|
this.removeGroup(group);
|
|
4643
4610
|
}
|
|
4644
4611
|
}
|
|
@@ -4670,16 +4637,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4670
4637
|
this.doAddGroup(group);
|
|
4671
4638
|
}
|
|
4672
4639
|
}
|
|
4673
|
-
removeGroup(group) {
|
|
4640
|
+
removeGroup(group, skipActive = false) {
|
|
4674
4641
|
const panels = [...group.model.panels]; // reassign since group panels will mutate
|
|
4675
|
-
|
|
4676
|
-
this.removePanel(panel
|
|
4677
|
-
|
|
4678
|
-
|
|
4679
|
-
this._activeGroup = group;
|
|
4680
|
-
return;
|
|
4642
|
+
for (const panel of panels) {
|
|
4643
|
+
this.removePanel(panel, {
|
|
4644
|
+
removeEmptyGroup: false,
|
|
4645
|
+
});
|
|
4681
4646
|
}
|
|
4682
|
-
super.
|
|
4647
|
+
super.doRemoveGroup(group, { skipActive });
|
|
4683
4648
|
}
|
|
4684
4649
|
moveGroupOrPanel(referenceGroup, groupId, itemId, target, index) {
|
|
4685
4650
|
var _a;
|
|
@@ -4734,15 +4699,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4734
4699
|
}
|
|
4735
4700
|
}
|
|
4736
4701
|
doSetGroupActive(group, skipFocus) {
|
|
4737
|
-
var _a, _b
|
|
4702
|
+
var _a, _b;
|
|
4738
4703
|
const isGroupAlreadyFocused = this._activeGroup === group;
|
|
4739
4704
|
super.doSetGroupActive(group, skipFocus);
|
|
4740
4705
|
if (!isGroupAlreadyFocused && ((_a = this._activeGroup) === null || _a === void 0 ? void 0 : _a.model.activePanel)) {
|
|
4741
|
-
this.
|
|
4742
|
-
kind: exports.GroupChangeKind.PANEL_ACTIVE,
|
|
4743
|
-
panel: (_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.model.activePanel,
|
|
4744
|
-
});
|
|
4745
|
-
this._onDidActivePanelChange.fire((_c = this._activeGroup) === null || _c === void 0 ? void 0 : _c.model.activePanel);
|
|
4706
|
+
this._onDidActivePanelChange.fire((_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.model.activePanel);
|
|
4746
4707
|
}
|
|
4747
4708
|
}
|
|
4748
4709
|
createGroup(options) {
|
|
@@ -4773,28 +4734,16 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4773
4734
|
}), view.model.onDidGroupChange((event) => {
|
|
4774
4735
|
switch (event.kind) {
|
|
4775
4736
|
case exports.GroupChangeKind2.ADD_PANEL:
|
|
4776
|
-
this._onGridEvent.fire({
|
|
4777
|
-
kind: exports.GroupChangeKind.ADD_PANEL,
|
|
4778
|
-
panel: event.panel,
|
|
4779
|
-
});
|
|
4780
4737
|
if (event.panel) {
|
|
4781
4738
|
this._onDidAddPanel.fire(event.panel);
|
|
4782
4739
|
}
|
|
4783
4740
|
break;
|
|
4784
4741
|
case exports.GroupChangeKind2.REMOVE_PANEL:
|
|
4785
|
-
this._onGridEvent.fire({
|
|
4786
|
-
kind: exports.GroupChangeKind.REMOVE_PANEL,
|
|
4787
|
-
panel: event.panel,
|
|
4788
|
-
});
|
|
4789
4742
|
if (event.panel) {
|
|
4790
4743
|
this._onDidRemovePanel.fire(event.panel);
|
|
4791
4744
|
}
|
|
4792
4745
|
break;
|
|
4793
4746
|
case exports.GroupChangeKind2.PANEL_ACTIVE:
|
|
4794
|
-
this._onGridEvent.fire({
|
|
4795
|
-
kind: exports.GroupChangeKind.PANEL_ACTIVE,
|
|
4796
|
-
panel: event.panel,
|
|
4797
|
-
});
|
|
4798
4747
|
this._onDidActivePanelChange.fire(event.panel);
|
|
4799
4748
|
break;
|
|
4800
4749
|
}
|
|
@@ -4965,7 +4914,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4965
4914
|
this.doSetGroupActive(panel);
|
|
4966
4915
|
}
|
|
4967
4916
|
}
|
|
4968
|
-
this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT_FROM_JSON });
|
|
4969
4917
|
this._onDidLayoutfromJSON.fire();
|
|
4970
4918
|
}
|
|
4971
4919
|
movePanel(panel, options) {
|
|
@@ -5326,6 +5274,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5326
5274
|
value.dispose();
|
|
5327
5275
|
});
|
|
5328
5276
|
this.panels.clear();
|
|
5277
|
+
this.splitview.dispose();
|
|
5329
5278
|
super.dispose();
|
|
5330
5279
|
}
|
|
5331
5280
|
}
|
|
@@ -5915,6 +5864,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5915
5864
|
queue.forEach((f) => f());
|
|
5916
5865
|
}
|
|
5917
5866
|
}
|
|
5867
|
+
dispose() {
|
|
5868
|
+
super.dispose();
|
|
5869
|
+
this.paneview.dispose();
|
|
5870
|
+
}
|
|
5918
5871
|
}
|
|
5919
5872
|
|
|
5920
5873
|
class SplitviewPanel extends BasePanelView {
|
|
@@ -6408,6 +6361,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6408
6361
|
return () => {
|
|
6409
6362
|
disposable.dispose();
|
|
6410
6363
|
dockview.dispose();
|
|
6364
|
+
element.remove();
|
|
6411
6365
|
};
|
|
6412
6366
|
}, []);
|
|
6413
6367
|
React__namespace.useEffect(() => {
|
|
@@ -6418,6 +6372,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6418
6372
|
frameworkComponents: props.components,
|
|
6419
6373
|
});
|
|
6420
6374
|
}, [props.components]);
|
|
6375
|
+
React__namespace.useEffect(() => {
|
|
6376
|
+
if (!dockviewRef.current) {
|
|
6377
|
+
return;
|
|
6378
|
+
}
|
|
6379
|
+
dockviewRef.current.updateOptions({
|
|
6380
|
+
watermarkFrameworkComponent: props.watermarkComponent,
|
|
6381
|
+
});
|
|
6382
|
+
}, [props.watermarkComponent]);
|
|
6421
6383
|
React__namespace.useEffect(() => {
|
|
6422
6384
|
if (!dockviewRef.current) {
|
|
6423
6385
|
return;
|
|
@@ -6553,7 +6515,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6553
6515
|
});
|
|
6554
6516
|
},
|
|
6555
6517
|
},
|
|
6556
|
-
proportionalLayout: props.proportionalLayout
|
|
6518
|
+
proportionalLayout: typeof props.proportionalLayout === 'boolean'
|
|
6519
|
+
? props.proportionalLayout
|
|
6520
|
+
: true,
|
|
6557
6521
|
styles: props.hideBorders
|
|
6558
6522
|
? { separatorBorder: 'transparent' }
|
|
6559
6523
|
: undefined,
|
|
@@ -6621,7 +6585,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6621
6585
|
var _a;
|
|
6622
6586
|
const element = document.createElement('div');
|
|
6623
6587
|
const gridview = new GridviewComponent(element, {
|
|
6624
|
-
proportionalLayout:
|
|
6588
|
+
proportionalLayout: typeof props.proportionalLayout === 'boolean'
|
|
6589
|
+
? props.proportionalLayout
|
|
6590
|
+
: true,
|
|
6625
6591
|
orientation: props.orientation,
|
|
6626
6592
|
frameworkComponents: props.components,
|
|
6627
6593
|
frameworkComponentFactory: {
|
|
@@ -6644,6 +6610,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6644
6610
|
gridviewRef.current = gridview;
|
|
6645
6611
|
return () => {
|
|
6646
6612
|
gridview.dispose();
|
|
6613
|
+
element.remove();
|
|
6647
6614
|
};
|
|
6648
6615
|
}, []);
|
|
6649
6616
|
React__namespace.useEffect(() => {
|
|
@@ -6780,13 +6747,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6780
6747
|
PaneviewReact.displayName = 'PaneviewComponent';
|
|
6781
6748
|
|
|
6782
6749
|
exports.BaseGrid = BaseGrid;
|
|
6783
|
-
exports.CompositeDisposable = CompositeDisposable;
|
|
6784
6750
|
exports.ContentContainer = ContentContainer;
|
|
6785
6751
|
exports.DockviewApi = DockviewApi;
|
|
6786
6752
|
exports.DockviewComponent = DockviewComponent;
|
|
6787
6753
|
exports.DockviewComponents = DockviewComponents;
|
|
6788
6754
|
exports.DockviewReact = DockviewReact;
|
|
6789
|
-
exports.Emitter = Emitter;
|
|
6790
6755
|
exports.Gridview = Gridview;
|
|
6791
6756
|
exports.GridviewApi = GridviewApi;
|
|
6792
6757
|
exports.GridviewComponent = GridviewComponent;
|
|
@@ -6794,7 +6759,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6794
6759
|
exports.GridviewReact = GridviewReact;
|
|
6795
6760
|
exports.Groupview = Groupview;
|
|
6796
6761
|
exports.LocalSelectionTransfer = LocalSelectionTransfer;
|
|
6797
|
-
exports.MutableDisposable = MutableDisposable;
|
|
6798
6762
|
exports.PaneFramework = PaneFramework;
|
|
6799
6763
|
exports.PaneTransfer = PaneTransfer;
|
|
6800
6764
|
exports.PanelTransfer = PanelTransfer;
|
|
@@ -6813,9 +6777,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6813
6777
|
exports.SplitviewPanel = SplitviewPanel;
|
|
6814
6778
|
exports.SplitviewReact = SplitviewReact;
|
|
6815
6779
|
exports.Tab = Tab$1;
|
|
6816
|
-
exports.TickDelayedEvent = TickDelayedEvent;
|
|
6817
|
-
exports.addDisposableListener = addDisposableListener;
|
|
6818
|
-
exports.addDisposableWindowListener = addDisposableWindowListener;
|
|
6819
6780
|
exports.getDirectionOrientation = getDirectionOrientation;
|
|
6820
6781
|
exports.getGridLocation = getGridLocation;
|
|
6821
6782
|
exports.getLocationOrientation = getLocationOrientation;
|