dockview-core 2.1.4 → 3.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 +4 -3
- package/dist/cjs/api/component.api.js +8 -22
- package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +2 -1
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +30 -33
- package/dist/cjs/dockview/options.d.ts +4 -8
- package/dist/cjs/dockview/options.js +28 -20
- package/dist/cjs/events.d.ts +9 -0
- package/dist/cjs/events.js +18 -1
- package/dist/cjs/gridview/gridviewComponent.js +15 -24
- package/dist/cjs/gridview/options.d.ts +10 -12
- package/dist/cjs/gridview/options.js +15 -0
- package/dist/cjs/index.d.ts +4 -4
- package/dist/cjs/index.js +8 -1
- package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +2 -2
- package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +6 -2
- package/dist/cjs/paneview/draggablePaneviewPanel.js +8 -9
- package/dist/cjs/paneview/options.d.ts +25 -21
- package/dist/cjs/paneview/options.js +42 -0
- package/dist/cjs/paneview/paneviewComponent.d.ts +12 -15
- package/dist/cjs/paneview/paneviewComponent.js +30 -40
- package/dist/cjs/paneview/paneviewPanel.d.ts +3 -8
- package/dist/cjs/splitview/options.d.ts +7 -9
- package/dist/cjs/splitview/options.js +17 -0
- package/dist/cjs/splitview/splitview.d.ts +5 -5
- package/dist/cjs/splitview/splitviewComponent.js +10 -21
- package/dist/dockview-core.amd.js +160 -159
- 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 +160 -159
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +160 -159
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +156 -159
- 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 +160 -159
- 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 +160 -159
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/component.api.d.ts +4 -3
- package/dist/esm/api/component.api.js +4 -10
- package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +2 -1
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +20 -23
- package/dist/esm/dockview/options.d.ts +4 -8
- package/dist/esm/dockview/options.js +4 -9
- package/dist/esm/events.d.ts +9 -0
- package/dist/esm/events.js +11 -0
- package/dist/esm/gridview/gridviewComponent.js +15 -24
- package/dist/esm/gridview/options.d.ts +10 -12
- package/dist/esm/gridview/options.js +14 -1
- package/dist/esm/index.d.ts +4 -4
- package/dist/esm/index.js +3 -0
- package/dist/esm/paneview/defaultPaneviewHeader.d.ts +2 -2
- package/dist/esm/paneview/draggablePaneviewPanel.d.ts +6 -2
- package/dist/esm/paneview/draggablePaneviewPanel.js +8 -9
- package/dist/esm/paneview/options.d.ts +25 -21
- package/dist/esm/paneview/options.js +22 -1
- package/dist/esm/paneview/paneviewComponent.d.ts +12 -15
- package/dist/esm/paneview/paneviewComponent.js +30 -40
- package/dist/esm/paneview/paneviewPanel.d.ts +3 -8
- package/dist/esm/splitview/options.d.ts +7 -9
- package/dist/esm/splitview/options.js +16 -1
- package/dist/esm/splitview/splitview.d.ts +5 -5
- package/dist/esm/splitview/splitviewComponent.js +10 -21
- package/package.json +1 -1
- package/dist/cjs/panel/componentFactory.d.ts +0 -11
- package/dist/cjs/panel/componentFactory.js +0 -30
- package/dist/esm/panel/componentFactory.d.ts +0 -11
- package/dist/esm/panel/componentFactory.js +0 -24
|
@@ -1,25 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import { PaneTransfer } from '../dnd/dataTransfer';
|
|
2
|
+
import { Position } from '../dnd/droptarget';
|
|
3
|
+
import { CreateComponentOptions } from '../dockview/options';
|
|
4
|
+
import { AcceptableEvent, IAcceptableEvent } from '../events';
|
|
5
|
+
import { IPanePart, IPaneviewPanel } from './paneviewPanel';
|
|
6
|
+
export interface PaneviewOptions {
|
|
5
7
|
disableAutoResizing?: boolean;
|
|
6
|
-
components?: {
|
|
7
|
-
[componentName: string]: ComponentConstructor<PaneviewPanel>;
|
|
8
|
-
};
|
|
9
|
-
frameworkComponents?: {
|
|
10
|
-
[componentName: string]: any;
|
|
11
|
-
};
|
|
12
|
-
headerComponents?: {
|
|
13
|
-
[componentName: string]: ComponentConstructor<PaneviewPanel>;
|
|
14
|
-
};
|
|
15
|
-
headerframeworkComponents?: {
|
|
16
|
-
[componentName: string]: any;
|
|
17
|
-
};
|
|
18
|
-
frameworkWrapper?: {
|
|
19
|
-
header: FrameworkFactory<IPaneHeaderPart>;
|
|
20
|
-
body: FrameworkFactory<IPaneBodyPart>;
|
|
21
|
-
};
|
|
22
8
|
disableDnd?: boolean;
|
|
23
|
-
showDndOverlay?: (event: PaneviewDndOverlayEvent) => boolean;
|
|
24
9
|
className?: string;
|
|
25
10
|
}
|
|
11
|
+
export interface PaneviewFrameworkOptions {
|
|
12
|
+
createComponent: (options: CreateComponentOptions) => IPanePart;
|
|
13
|
+
createHeaderComponent?: (options: CreateComponentOptions) => IPanePart | undefined;
|
|
14
|
+
}
|
|
15
|
+
export type PaneviewComponentOptions = PaneviewOptions & PaneviewFrameworkOptions;
|
|
16
|
+
export declare const PROPERTY_KEYS_PANEVIEW: (keyof PaneviewOptions)[];
|
|
17
|
+
export interface PaneviewDndOverlayEvent extends IAcceptableEvent {
|
|
18
|
+
nativeEvent: DragEvent;
|
|
19
|
+
position: Position;
|
|
20
|
+
panel: IPaneviewPanel;
|
|
21
|
+
getData: () => PaneTransfer | undefined;
|
|
22
|
+
}
|
|
23
|
+
export declare class PaneviewUnhandledDragOverEvent extends AcceptableEvent implements PaneviewDndOverlayEvent {
|
|
24
|
+
readonly nativeEvent: DragEvent;
|
|
25
|
+
readonly position: Position;
|
|
26
|
+
readonly getData: () => PaneTransfer | undefined;
|
|
27
|
+
readonly panel: IPaneviewPanel;
|
|
28
|
+
constructor(nativeEvent: DragEvent, position: Position, getData: () => PaneTransfer | undefined, panel: IPaneviewPanel);
|
|
29
|
+
}
|
|
@@ -1,2 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
2
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.PaneviewUnhandledDragOverEvent = exports.PROPERTY_KEYS_PANEVIEW = void 0;
|
|
19
|
+
var events_1 = require("../events");
|
|
20
|
+
exports.PROPERTY_KEYS_PANEVIEW = (function () {
|
|
21
|
+
/**
|
|
22
|
+
* by readong the keys from an empty value object TypeScript will error
|
|
23
|
+
* when we add or remove new properties to `DockviewOptions`
|
|
24
|
+
*/
|
|
25
|
+
var properties = {
|
|
26
|
+
disableAutoResizing: undefined,
|
|
27
|
+
disableDnd: undefined,
|
|
28
|
+
className: undefined,
|
|
29
|
+
};
|
|
30
|
+
return Object.keys(properties);
|
|
31
|
+
})();
|
|
32
|
+
var PaneviewUnhandledDragOverEvent = /** @class */ (function (_super) {
|
|
33
|
+
__extends(PaneviewUnhandledDragOverEvent, _super);
|
|
34
|
+
function PaneviewUnhandledDragOverEvent(nativeEvent, position, getData, panel) {
|
|
35
|
+
var _this = _super.call(this) || this;
|
|
36
|
+
_this.nativeEvent = nativeEvent;
|
|
37
|
+
_this.position = position;
|
|
38
|
+
_this.getData = getData;
|
|
39
|
+
_this.panel = panel;
|
|
40
|
+
return _this;
|
|
41
|
+
}
|
|
42
|
+
return PaneviewUnhandledDragOverEvent;
|
|
43
|
+
}(events_1.AcceptableEvent));
|
|
44
|
+
exports.PaneviewUnhandledDragOverEvent = PaneviewUnhandledDragOverEvent;
|
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
import { Event } from '../events';
|
|
2
2
|
import { IDisposable } from '../lifecycle';
|
|
3
3
|
import { LayoutPriority, Orientation } from '../splitview/splitview';
|
|
4
|
-
import { PaneviewComponentOptions } from './options';
|
|
4
|
+
import { PaneviewComponentOptions, PaneviewDndOverlayEvent } from './options';
|
|
5
5
|
import { Paneview } from './paneview';
|
|
6
|
-
import {
|
|
7
|
-
import { DraggablePaneviewPanel,
|
|
8
|
-
import { PaneTransfer } from '../dnd/dataTransfer';
|
|
6
|
+
import { IPanePart, PaneviewPanel, IPaneviewPanel } from './paneviewPanel';
|
|
7
|
+
import { DraggablePaneviewPanel, PaneviewDidDropEvent } from './draggablePaneviewPanel';
|
|
9
8
|
import { Resizable } from '../resizable';
|
|
10
9
|
import { Parameters } from '../panel/types';
|
|
11
|
-
export interface PaneviewDndOverlayEvent {
|
|
12
|
-
nativeEvent: DragEvent;
|
|
13
|
-
panel: IPaneviewPanel;
|
|
14
|
-
getData: () => PaneTransfer | undefined;
|
|
15
|
-
}
|
|
16
10
|
export interface SerializedPaneviewPanel {
|
|
17
11
|
snap?: boolean;
|
|
18
12
|
priority?: LayoutPriority;
|
|
@@ -40,15 +34,15 @@ export declare class PaneFramework extends DraggablePaneviewPanel {
|
|
|
40
34
|
id: string;
|
|
41
35
|
component: string;
|
|
42
36
|
headerComponent: string | undefined;
|
|
43
|
-
body:
|
|
44
|
-
header:
|
|
37
|
+
body: IPanePart;
|
|
38
|
+
header: IPanePart;
|
|
45
39
|
orientation: Orientation;
|
|
46
40
|
isExpanded: boolean;
|
|
47
41
|
disableDnd: boolean;
|
|
48
42
|
accessor: IPaneviewComponent;
|
|
49
43
|
});
|
|
50
|
-
getBodyComponent():
|
|
51
|
-
getHeaderComponent():
|
|
44
|
+
getBodyComponent(): IPanePart;
|
|
45
|
+
getHeaderComponent(): IPanePart;
|
|
52
46
|
}
|
|
53
47
|
export interface AddPaneviewComponentOptions<T extends object = Parameters> {
|
|
54
48
|
id: string;
|
|
@@ -72,9 +66,10 @@ export interface IPaneviewComponent extends IDisposable {
|
|
|
72
66
|
readonly options: PaneviewComponentOptions;
|
|
73
67
|
readonly onDidAddView: Event<PaneviewPanel>;
|
|
74
68
|
readonly onDidRemoveView: Event<PaneviewPanel>;
|
|
75
|
-
readonly onDidDrop: Event<
|
|
69
|
+
readonly onDidDrop: Event<PaneviewDidDropEvent>;
|
|
76
70
|
readonly onDidLayoutChange: Event<void>;
|
|
77
71
|
readonly onDidLayoutFromJSON: Event<void>;
|
|
72
|
+
readonly onUnhandledDragOverEvent: Event<PaneviewDndOverlayEvent>;
|
|
78
73
|
addPanel<T extends object = Parameters>(options: AddPaneviewComponentOptions<T>): IPaneviewPanel;
|
|
79
74
|
layout(width: number, height: number): void;
|
|
80
75
|
toJSON(): SerializedPaneview;
|
|
@@ -98,11 +93,13 @@ export declare class PaneviewComponent extends Resizable implements IPaneviewCom
|
|
|
98
93
|
private readonly _onDidLayoutChange;
|
|
99
94
|
readonly onDidLayoutChange: Event<void>;
|
|
100
95
|
private readonly _onDidDrop;
|
|
101
|
-
readonly onDidDrop: Event<
|
|
96
|
+
readonly onDidDrop: Event<PaneviewDidDropEvent>;
|
|
102
97
|
private readonly _onDidAddView;
|
|
103
98
|
readonly onDidAddView: Event<PaneviewPanel>;
|
|
104
99
|
private readonly _onDidRemoveView;
|
|
105
100
|
readonly onDidRemoveView: Event<PaneviewPanel>;
|
|
101
|
+
private readonly _onUnhandledDragOverEvent;
|
|
102
|
+
readonly onUnhandledDragOverEvent: Event<PaneviewDndOverlayEvent>;
|
|
106
103
|
private readonly _classNames;
|
|
107
104
|
get id(): string;
|
|
108
105
|
get panels(): PaneviewPanel[];
|
|
@@ -55,7 +55,6 @@ var __values = (this && this.__values) || function(o) {
|
|
|
55
55
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
56
56
|
exports.PaneviewComponent = exports.PaneFramework = void 0;
|
|
57
57
|
var component_api_1 = require("../api/component.api");
|
|
58
|
-
var componentFactory_1 = require("../panel/componentFactory");
|
|
59
58
|
var events_1 = require("../events");
|
|
60
59
|
var lifecycle_1 = require("../lifecycle");
|
|
61
60
|
var splitview_1 = require("../splitview/splitview");
|
|
@@ -100,16 +99,12 @@ var PaneviewComponent = /** @class */ (function (_super) {
|
|
|
100
99
|
_this.onDidAddView = _this._onDidAddView.event;
|
|
101
100
|
_this._onDidRemoveView = new events_1.Emitter();
|
|
102
101
|
_this.onDidRemoveView = _this._onDidRemoveView.event;
|
|
103
|
-
_this.
|
|
102
|
+
_this._onUnhandledDragOverEvent = new events_1.Emitter();
|
|
103
|
+
_this.onUnhandledDragOverEvent = _this._onUnhandledDragOverEvent.event;
|
|
104
|
+
_this.addDisposables(_this._onDidLayoutChange, _this._onDidLayoutfromJSON, _this._onDidDrop, _this._onDidAddView, _this._onDidRemoveView, _this._onUnhandledDragOverEvent);
|
|
104
105
|
_this._classNames = new dom_1.Classnames(_this.element);
|
|
105
106
|
_this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
|
|
106
107
|
_this._options = options;
|
|
107
|
-
if (!options.components) {
|
|
108
|
-
options.components = {};
|
|
109
|
-
}
|
|
110
|
-
if (!options.frameworkComponents) {
|
|
111
|
-
options.frameworkComponents = {};
|
|
112
|
-
}
|
|
113
108
|
_this.paneview = new paneview_1.Paneview(_this.element, {
|
|
114
109
|
// only allow paneview in the vertical orientation for now
|
|
115
110
|
orientation: splitview_1.Orientation.VERTICAL,
|
|
@@ -202,22 +197,19 @@ var PaneviewComponent = /** @class */ (function (_super) {
|
|
|
202
197
|
this._options = __assign(__assign({}, this.options), options);
|
|
203
198
|
};
|
|
204
199
|
PaneviewComponent.prototype.addPanel = function (options) {
|
|
205
|
-
var _a
|
|
206
|
-
var body =
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
: undefined);
|
|
200
|
+
var _a;
|
|
201
|
+
var body = this.options.createComponent({
|
|
202
|
+
id: options.id,
|
|
203
|
+
name: options.component,
|
|
204
|
+
});
|
|
211
205
|
var header;
|
|
212
|
-
if (options.headerComponent) {
|
|
213
|
-
header =
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
}
|
|
218
|
-
: undefined);
|
|
206
|
+
if (options.headerComponent && this.options.createHeaderComponent) {
|
|
207
|
+
header = this.options.createHeaderComponent({
|
|
208
|
+
id: options.id,
|
|
209
|
+
name: options.headerComponent,
|
|
210
|
+
});
|
|
219
211
|
}
|
|
220
|
-
|
|
212
|
+
if (!header) {
|
|
221
213
|
header = new defaultPaneviewHeader_1.DefaultHeader();
|
|
222
214
|
}
|
|
223
215
|
var view = new PaneFramework({
|
|
@@ -235,7 +227,7 @@ var PaneviewComponent = /** @class */ (function (_super) {
|
|
|
235
227
|
var size = typeof options.size === 'number' ? options.size : splitview_1.Sizing.Distribute;
|
|
236
228
|
var index = typeof options.index === 'number' ? options.index : undefined;
|
|
237
229
|
view.init({
|
|
238
|
-
params: (
|
|
230
|
+
params: (_a = options.params) !== null && _a !== void 0 ? _a : {},
|
|
239
231
|
minimumBodySize: options.minimumBodySize,
|
|
240
232
|
maximumBodySize: options.maximumBodySize,
|
|
241
233
|
isExpanded: options.isExpanded,
|
|
@@ -304,24 +296,20 @@ var PaneviewComponent = /** @class */ (function (_super) {
|
|
|
304
296
|
descriptor: {
|
|
305
297
|
size: size,
|
|
306
298
|
views: views.map(function (view) {
|
|
307
|
-
var _a, _b, _c, _d;
|
|
308
299
|
var data = view.data;
|
|
309
|
-
var body =
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
}
|
|
314
|
-
: undefined);
|
|
300
|
+
var body = _this.options.createComponent({
|
|
301
|
+
id: data.id,
|
|
302
|
+
name: data.component,
|
|
303
|
+
});
|
|
315
304
|
var header;
|
|
316
|
-
if (data.headerComponent
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
: undefined);
|
|
305
|
+
if (data.headerComponent &&
|
|
306
|
+
_this.options.createHeaderComponent) {
|
|
307
|
+
header = _this.options.createHeaderComponent({
|
|
308
|
+
id: data.id,
|
|
309
|
+
name: data.headerComponent,
|
|
310
|
+
});
|
|
323
311
|
}
|
|
324
|
-
|
|
312
|
+
if (!header) {
|
|
325
313
|
header = new defaultPaneviewHeader_1.DefaultHeader();
|
|
326
314
|
}
|
|
327
315
|
var panel = new PaneFramework({
|
|
@@ -381,9 +369,11 @@ var PaneviewComponent = /** @class */ (function (_super) {
|
|
|
381
369
|
};
|
|
382
370
|
PaneviewComponent.prototype.doAddPanel = function (panel) {
|
|
383
371
|
var _this = this;
|
|
384
|
-
var disposable = panel.onDidDrop(function (event) {
|
|
372
|
+
var disposable = new lifecycle_1.CompositeDisposable(panel.onDidDrop(function (event) {
|
|
385
373
|
_this._onDidDrop.fire(event);
|
|
386
|
-
})
|
|
374
|
+
}), panel.onUnhandledDragOverEvent(function (event) {
|
|
375
|
+
_this._onUnhandledDragOverEvent.fire(event);
|
|
376
|
+
}));
|
|
387
377
|
this._viewDisposables.set(panel.id, disposable);
|
|
388
378
|
};
|
|
389
379
|
PaneviewComponent.prototype.doRemovePanel = function (panel) {
|
|
@@ -21,12 +21,7 @@ export interface PanePanelInitParameter extends PanelInitParameters {
|
|
|
21
21
|
export interface PanePanelComponentInitParameter extends PanePanelInitParameter {
|
|
22
22
|
api: PaneviewPanelApiImpl;
|
|
23
23
|
}
|
|
24
|
-
export interface
|
|
25
|
-
readonly element: HTMLElement;
|
|
26
|
-
update(params: PanelUpdateEvent): void;
|
|
27
|
-
init(parameters: PanePanelComponentInitParameter): void;
|
|
28
|
-
}
|
|
29
|
-
export interface IPaneHeaderPart extends IDisposable {
|
|
24
|
+
export interface IPanePart extends IDisposable {
|
|
30
25
|
readonly element: HTMLElement;
|
|
31
26
|
update(params: PanelUpdateEvent): void;
|
|
32
27
|
init(parameters: PanePanelComponentInitParameter): void;
|
|
@@ -89,6 +84,6 @@ export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelA
|
|
|
89
84
|
toJSON(): PanePanelViewState;
|
|
90
85
|
private renderOnce;
|
|
91
86
|
getComponent(): IFrameworkPart;
|
|
92
|
-
protected abstract getBodyComponent():
|
|
93
|
-
protected abstract getHeaderComponent():
|
|
87
|
+
protected abstract getBodyComponent(): IPanePart;
|
|
88
|
+
protected abstract getHeaderComponent(): IPanePart;
|
|
94
89
|
}
|
|
@@ -2,7 +2,7 @@ import { PanelInitParameters } from '../panel/types';
|
|
|
2
2
|
import { SplitViewOptions, LayoutPriority } from './splitview';
|
|
3
3
|
import { SplitviewPanel } from './splitviewPanel';
|
|
4
4
|
import { SplitviewComponent } from './splitviewComponent';
|
|
5
|
-
import {
|
|
5
|
+
import { CreateComponentOptions } from '../dockview/options';
|
|
6
6
|
export interface PanelViewInitParameters extends PanelInitParameters {
|
|
7
7
|
minimumSize?: number;
|
|
8
8
|
maximumSize?: number;
|
|
@@ -10,14 +10,12 @@ export interface PanelViewInitParameters extends PanelInitParameters {
|
|
|
10
10
|
priority?: LayoutPriority;
|
|
11
11
|
accessor: SplitviewComponent;
|
|
12
12
|
}
|
|
13
|
-
export interface
|
|
13
|
+
export interface SplitviewOptions extends SplitViewOptions {
|
|
14
14
|
disableAutoResizing?: boolean;
|
|
15
|
-
components?: {
|
|
16
|
-
[componentName: string]: ComponentConstructor<SplitviewPanel>;
|
|
17
|
-
};
|
|
18
|
-
frameworkComponents?: {
|
|
19
|
-
[componentName: string]: any;
|
|
20
|
-
};
|
|
21
|
-
frameworkWrapper?: FrameworkFactory<SplitviewPanel>;
|
|
22
15
|
className?: string;
|
|
23
16
|
}
|
|
17
|
+
export interface SplitviewFrameworkOptions {
|
|
18
|
+
createComponent: (options: CreateComponentOptions) => SplitviewPanel;
|
|
19
|
+
}
|
|
20
|
+
export type SplitviewComponentOptions = SplitviewOptions & SplitviewFrameworkOptions;
|
|
21
|
+
export declare const PROPERTY_KEYS_SPLITVIEW: (keyof SplitviewOptions)[];
|
|
@@ -1,2 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PROPERTY_KEYS_SPLITVIEW = void 0;
|
|
4
|
+
exports.PROPERTY_KEYS_SPLITVIEW = (function () {
|
|
5
|
+
/**
|
|
6
|
+
* by readong the keys from an empty value object TypeScript will error
|
|
7
|
+
* when we add or remove new properties to `DockviewOptions`
|
|
8
|
+
*/
|
|
9
|
+
var properties = {
|
|
10
|
+
orientation: undefined,
|
|
11
|
+
descriptor: undefined,
|
|
12
|
+
proportionalLayout: undefined,
|
|
13
|
+
styles: undefined,
|
|
14
|
+
margin: undefined,
|
|
15
|
+
disableAutoResizing: undefined,
|
|
16
|
+
className: undefined,
|
|
17
|
+
};
|
|
18
|
+
return Object.keys(properties);
|
|
19
|
+
})();
|
|
@@ -14,11 +14,11 @@ export interface ISplitviewStyles {
|
|
|
14
14
|
separatorBorder: string;
|
|
15
15
|
}
|
|
16
16
|
export interface SplitViewOptions {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
orientation: Orientation;
|
|
18
|
+
descriptor?: ISplitViewDescriptor;
|
|
19
|
+
proportionalLayout?: boolean;
|
|
20
|
+
styles?: ISplitviewStyles;
|
|
21
|
+
margin?: number;
|
|
22
22
|
}
|
|
23
23
|
export declare enum LayoutPriority {
|
|
24
24
|
Low = "low",// view is offered space last
|
|
@@ -57,7 +57,6 @@ exports.SplitviewComponent = void 0;
|
|
|
57
57
|
var lifecycle_1 = require("../lifecycle");
|
|
58
58
|
var splitview_1 = require("./splitview");
|
|
59
59
|
var events_1 = require("../events");
|
|
60
|
-
var componentFactory_1 = require("../panel/componentFactory");
|
|
61
60
|
var resizable_1 = require("../resizable");
|
|
62
61
|
var dom_1 = require("../dom");
|
|
63
62
|
/**
|
|
@@ -81,12 +80,6 @@ var SplitviewComponent = /** @class */ (function (_super) {
|
|
|
81
80
|
_this._classNames = new dom_1.Classnames(_this.element);
|
|
82
81
|
_this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
|
|
83
82
|
_this._options = options;
|
|
84
|
-
if (!options.components) {
|
|
85
|
-
options.components = {};
|
|
86
|
-
}
|
|
87
|
-
if (!options.frameworkComponents) {
|
|
88
|
-
options.frameworkComponents = {};
|
|
89
|
-
}
|
|
90
83
|
_this.splitview = new splitview_1.Splitview(_this.element, options);
|
|
91
84
|
_this.addDisposables(_this._onDidAddView, _this._onDidLayoutfromJSON, _this._onDidRemoveView, _this._onDidLayoutChange);
|
|
92
85
|
return _this;
|
|
@@ -226,18 +219,17 @@ var SplitviewComponent = /** @class */ (function (_super) {
|
|
|
226
219
|
return this.panels.find(function (view) { return view.id === id; });
|
|
227
220
|
};
|
|
228
221
|
SplitviewComponent.prototype.addPanel = function (options) {
|
|
229
|
-
var _a
|
|
222
|
+
var _a;
|
|
230
223
|
if (this._panels.has(options.id)) {
|
|
231
224
|
throw new Error("panel ".concat(options.id, " already exists"));
|
|
232
225
|
}
|
|
233
|
-
var view =
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
: undefined);
|
|
226
|
+
var view = this.options.createComponent({
|
|
227
|
+
id: options.id,
|
|
228
|
+
name: options.component,
|
|
229
|
+
});
|
|
238
230
|
view.orientation = this.splitview.orientation;
|
|
239
231
|
view.init({
|
|
240
|
-
params: (
|
|
232
|
+
params: (_a = options.params) !== null && _a !== void 0 ? _a : {},
|
|
241
233
|
minimumSize: options.minimumSize,
|
|
242
234
|
maximumSize: options.maximumSize,
|
|
243
235
|
snap: options.snap,
|
|
@@ -302,17 +294,14 @@ var SplitviewComponent = /** @class */ (function (_super) {
|
|
|
302
294
|
descriptor: {
|
|
303
295
|
size: size,
|
|
304
296
|
views: views.map(function (view) {
|
|
305
|
-
var _a, _b;
|
|
306
297
|
var data = view.data;
|
|
307
298
|
if (_this._panels.has(data.id)) {
|
|
308
299
|
throw new Error("panel ".concat(data.id, " already exists"));
|
|
309
300
|
}
|
|
310
|
-
var panel =
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
}
|
|
315
|
-
: undefined);
|
|
301
|
+
var panel = _this.options.createComponent({
|
|
302
|
+
id: data.id,
|
|
303
|
+
name: data.component,
|
|
304
|
+
});
|
|
316
305
|
queue.push(function () {
|
|
317
306
|
var _a;
|
|
318
307
|
panel.init({
|