dockview 1.12.0 → 1.13.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/dockview/defaultTab.d.ts +1 -1
- package/dist/cjs/dockview/dockview.d.ts +12 -40
- package/dist/cjs/dockview/dockview.js +102 -112
- package/dist/cjs/dockview/headerActionsRenderer.d.ts +3 -13
- package/dist/cjs/dockview/headerActionsRenderer.js +4 -14
- package/dist/cjs/dockview/reactContentPart.d.ts +2 -3
- package/dist/cjs/dockview/reactHeaderPart.d.ts +1 -2
- package/dist/cjs/dockview/reactWatermarkPart.d.ts +1 -6
- package/dist/cjs/dockview/reactWatermarkPart.js +0 -5
- package/dist/cjs/gridview/gridview.d.ts +2 -2
- package/dist/cjs/index.d.ts +0 -2
- package/dist/cjs/paneview/paneview.d.ts +3 -3
- package/dist/cjs/splitview/splitview.d.ts +2 -2
- package/dist/cjs/types.d.ts +0 -4
- package/dist/dockview.amd.js +2072 -2054
- package/dist/dockview.amd.js.map +1 -1
- package/dist/dockview.amd.min.js +2 -2
- package/dist/dockview.amd.min.js.map +1 -1
- package/dist/dockview.amd.min.noStyle.js +2 -2
- package/dist/dockview.amd.min.noStyle.js.map +1 -1
- package/dist/dockview.amd.noStyle.js +2072 -2054
- package/dist/dockview.amd.noStyle.js.map +1 -1
- package/dist/dockview.cjs.js +2072 -2054
- package/dist/dockview.cjs.js.map +1 -1
- package/dist/dockview.esm.js +2071 -2055
- package/dist/dockview.esm.js.map +1 -1
- package/dist/dockview.esm.min.js +2 -2
- package/dist/dockview.esm.min.js.map +1 -1
- package/dist/dockview.js +2072 -2054
- package/dist/dockview.js.map +1 -1
- package/dist/dockview.min.js +2 -2
- package/dist/dockview.min.js.map +1 -1
- package/dist/dockview.min.noStyle.js +2 -2
- package/dist/dockview.min.noStyle.js.map +1 -1
- package/dist/dockview.noStyle.js +2072 -2054
- package/dist/dockview.noStyle.js.map +1 -1
- package/dist/esm/dockview/defaultTab.d.ts +1 -1
- package/dist/esm/dockview/dockview.d.ts +12 -40
- package/dist/esm/dockview/dockview.js +93 -114
- package/dist/esm/dockview/headerActionsRenderer.d.ts +3 -13
- package/dist/esm/dockview/headerActionsRenderer.js +4 -10
- package/dist/esm/dockview/reactContentPart.d.ts +2 -3
- package/dist/esm/dockview/reactHeaderPart.d.ts +1 -2
- package/dist/esm/dockview/reactWatermarkPart.d.ts +1 -6
- package/dist/esm/dockview/reactWatermarkPart.js +0 -5
- package/dist/esm/gridview/gridview.d.ts +2 -2
- package/dist/esm/index.d.ts +0 -2
- package/dist/esm/paneview/paneview.d.ts +3 -3
- package/dist/esm/splitview/splitview.d.ts +2 -2
- package/dist/esm/types.d.ts +0 -4
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { IDockviewPanelHeaderProps } from '
|
|
2
|
+
import { IDockviewPanelHeaderProps } from 'dockview-core';
|
|
3
3
|
export type IDockviewDefaultTabProps = IDockviewPanelHeaderProps & React.DOMAttributes<HTMLDivElement> & {
|
|
4
4
|
hideClose?: boolean;
|
|
5
5
|
closeActionOverride?: () => void;
|
|
@@ -1,48 +1,20 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { DockviewWillDropEvent,
|
|
3
|
-
|
|
4
|
-
import { PanelCollection, PanelParameters } from '../types';
|
|
5
|
-
import { IDockviewHeaderActionsProps } from './headerActionsRenderer';
|
|
6
|
-
export interface IGroupPanelBaseProps<T extends {
|
|
7
|
-
[index: string]: any;
|
|
8
|
-
} = any> extends PanelParameters<T> {
|
|
9
|
-
api: DockviewPanelApi;
|
|
10
|
-
containerApi: DockviewApi;
|
|
11
|
-
}
|
|
12
|
-
export type IDockviewPanelHeaderProps<T extends {
|
|
13
|
-
[index: string]: any;
|
|
14
|
-
} = any> = IGroupPanelBaseProps<T>;
|
|
15
|
-
export type IDockviewPanelProps<T extends {
|
|
16
|
-
[index: string]: any;
|
|
17
|
-
} = any> = IGroupPanelBaseProps<T>;
|
|
18
|
-
export interface DockviewReadyEvent {
|
|
19
|
-
api: DockviewApi;
|
|
20
|
-
}
|
|
21
|
-
export interface IDockviewReactProps {
|
|
22
|
-
onReady: (event: DockviewReadyEvent) => void;
|
|
23
|
-
components: PanelCollection<IDockviewPanelProps>;
|
|
24
|
-
tabComponents?: PanelCollection<IDockviewPanelHeaderProps>;
|
|
25
|
-
watermarkComponent?: React.FunctionComponent<IWatermarkPanelProps>;
|
|
26
|
-
onDidDrop?: (event: DockviewDidDropEvent) => void;
|
|
27
|
-
onWillDrop?: (event: DockviewWillDropEvent) => void;
|
|
28
|
-
showDndOverlay?: (event: DockviewDndOverlayEvent) => boolean;
|
|
29
|
-
hideBorders?: boolean;
|
|
2
|
+
import { DockviewWillDropEvent, DockviewDidDropEvent, IWatermarkPanelProps, IDockviewHeaderActionsProps, IDockviewPanelHeaderProps, IDockviewPanelProps, DockviewOptions, DockviewDndOverlayEvent, DockviewReadyEvent } from 'dockview-core';
|
|
3
|
+
export interface IDockviewReactProps extends DockviewOptions {
|
|
30
4
|
className?: string;
|
|
31
|
-
|
|
5
|
+
tabComponents?: Record<string, React.FunctionComponent<IDockviewPanelHeaderProps>>;
|
|
6
|
+
components: Record<string, React.FunctionComponent<IDockviewPanelProps>>;
|
|
7
|
+
watermarkComponent?: React.FunctionComponent<IWatermarkPanelProps>;
|
|
32
8
|
defaultTabComponent?: React.FunctionComponent<IDockviewPanelHeaderProps>;
|
|
33
9
|
rightHeaderActionsComponent?: React.FunctionComponent<IDockviewHeaderActionsProps>;
|
|
34
10
|
leftHeaderActionsComponent?: React.FunctionComponent<IDockviewHeaderActionsProps>;
|
|
35
11
|
prefixHeaderActionsComponent?: React.FunctionComponent<IDockviewHeaderActionsProps>;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
defaultRenderer?: DockviewPanelRenderer;
|
|
44
|
-
rootOverlayModel?: DroptargetOverlayModel;
|
|
45
|
-
locked?: boolean;
|
|
46
|
-
disableDnd?: boolean;
|
|
12
|
+
onReady: (event: DockviewReadyEvent) => void;
|
|
13
|
+
onDidDrop?: (event: DockviewDidDropEvent) => void;
|
|
14
|
+
onWillDrop?: (event: DockviewWillDropEvent) => void;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated use `api.onUnhandledDragOverEvent` instead. This will be removed in the next release.
|
|
17
|
+
*/
|
|
18
|
+
showDndOverlay?: (event: DockviewDndOverlayEvent) => boolean;
|
|
47
19
|
}
|
|
48
20
|
export declare const DockviewReact: React.ForwardRefExoticComponent<IDockviewReactProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __read = (this && this.__read) || function (o, n) {
|
|
3
14
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
15
|
if (!m) return o;
|
|
@@ -35,72 +46,75 @@ function createGroupControlElement(component, store) {
|
|
|
35
46
|
: undefined;
|
|
36
47
|
}
|
|
37
48
|
var DEFAULT_REACT_TAB = 'props.defaultTabComponent';
|
|
49
|
+
function extractCoreOptions(props) {
|
|
50
|
+
var coreOptions = dockview_core_1.PROPERTY_KEYS.reduce(function (obj, key) {
|
|
51
|
+
if (key in props) {
|
|
52
|
+
obj[key] = props[key];
|
|
53
|
+
}
|
|
54
|
+
return obj;
|
|
55
|
+
}, {});
|
|
56
|
+
return coreOptions;
|
|
57
|
+
}
|
|
38
58
|
exports.DockviewReact = react_1.default.forwardRef(function (props, ref) {
|
|
39
59
|
var domRef = react_1.default.useRef(null);
|
|
40
60
|
var dockviewRef = react_1.default.useRef();
|
|
41
61
|
var _a = __read((0, react_2.usePortalsLifecycle)(), 2), portals = _a[0], addPortal = _a[1];
|
|
42
62
|
react_1.default.useImperativeHandle(ref, function () { return domRef.current; }, []);
|
|
63
|
+
var prevProps = react_1.default.useRef({});
|
|
64
|
+
react_1.default.useEffect(function () {
|
|
65
|
+
var changes = {};
|
|
66
|
+
dockview_core_1.PROPERTY_KEYS.forEach(function (propKey) {
|
|
67
|
+
var key = propKey;
|
|
68
|
+
var propValue = props[key];
|
|
69
|
+
if (key in props && propValue !== prevProps.current[key]) {
|
|
70
|
+
changes[key] = propValue;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
if (dockviewRef.current) {
|
|
74
|
+
dockviewRef.current.updateOptions(changes);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
// not yet fully initialized
|
|
78
|
+
}
|
|
79
|
+
prevProps.current = props;
|
|
80
|
+
}, dockview_core_1.PROPERTY_KEYS.map(function (key) { return props[key]; }));
|
|
43
81
|
react_1.default.useEffect(function () {
|
|
44
82
|
var _a;
|
|
45
83
|
if (!domRef.current) {
|
|
46
|
-
return
|
|
47
|
-
// noop
|
|
48
|
-
};
|
|
84
|
+
return;
|
|
49
85
|
}
|
|
50
|
-
var factory = {
|
|
51
|
-
content: {
|
|
52
|
-
createComponent: function (_id, componentId, component) {
|
|
53
|
-
return new reactContentPart_1.ReactPanelContentPart(componentId, component, {
|
|
54
|
-
addPortal: addPortal,
|
|
55
|
-
});
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
tab: {
|
|
59
|
-
createComponent: function (_id, componentId, component) {
|
|
60
|
-
return new reactHeaderPart_1.ReactPanelHeaderPart(componentId, component, {
|
|
61
|
-
addPortal: addPortal,
|
|
62
|
-
});
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
watermark: {
|
|
66
|
-
createComponent: function (_id, componentId, component) {
|
|
67
|
-
return new reactWatermarkPart_1.ReactWatermarkPart(componentId, component, {
|
|
68
|
-
addPortal: addPortal,
|
|
69
|
-
});
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
};
|
|
73
86
|
var frameworkTabComponents = (_a = props.tabComponents) !== null && _a !== void 0 ? _a : {};
|
|
74
87
|
if (props.defaultTabComponent) {
|
|
75
88
|
frameworkTabComponents[DEFAULT_REACT_TAB] =
|
|
76
89
|
props.defaultTabComponent;
|
|
77
90
|
}
|
|
78
|
-
var
|
|
91
|
+
var frameworkOptions = {
|
|
92
|
+
createLeftHeaderActionComponent: createGroupControlElement(props.leftHeaderActionsComponent, { addPortal: addPortal }),
|
|
93
|
+
createRightHeaderActionComponent: createGroupControlElement(props.rightHeaderActionsComponent, { addPortal: addPortal }),
|
|
94
|
+
createPrefixHeaderActionComponent: createGroupControlElement(props.prefixHeaderActionsComponent, { addPortal: addPortal }),
|
|
95
|
+
createComponent: function (options) {
|
|
96
|
+
return new reactContentPart_1.ReactPanelContentPart(options.id, props.components[options.name], {
|
|
97
|
+
addPortal: addPortal,
|
|
98
|
+
});
|
|
99
|
+
},
|
|
100
|
+
createTabComponent: function (options) {
|
|
101
|
+
return new reactHeaderPart_1.ReactPanelHeaderPart(options.id, frameworkTabComponents[options.name], {
|
|
102
|
+
addPortal: addPortal,
|
|
103
|
+
});
|
|
104
|
+
},
|
|
105
|
+
createWatermarkComponent: props.watermarkComponent
|
|
106
|
+
? function () {
|
|
107
|
+
return new reactWatermarkPart_1.ReactWatermarkPart('watermark', props.watermarkComponent, {
|
|
108
|
+
addPortal: addPortal,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
: undefined,
|
|
79
112
|
parentElement: domRef.current,
|
|
80
|
-
frameworkComponentFactory: factory,
|
|
81
|
-
frameworkComponents: props.components,
|
|
82
|
-
disableAutoResizing: props.disableAutoResizing,
|
|
83
|
-
frameworkTabComponents: frameworkTabComponents,
|
|
84
|
-
watermarkFrameworkComponent: props.watermarkComponent,
|
|
85
113
|
defaultTabComponent: props.defaultTabComponent
|
|
86
114
|
? DEFAULT_REACT_TAB
|
|
87
115
|
: undefined,
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
: undefined,
|
|
91
|
-
showDndOverlay: props.showDndOverlay,
|
|
92
|
-
createLeftHeaderActionsElement: createGroupControlElement(props.leftHeaderActionsComponent, { addPortal: addPortal }),
|
|
93
|
-
createRightHeaderActionsElement: createGroupControlElement(props.rightHeaderActionsComponent, { addPortal: addPortal }),
|
|
94
|
-
createPrefixHeaderActionsElement: createGroupControlElement(props.prefixHeaderActionsComponent, { addPortal: addPortal }),
|
|
95
|
-
singleTabMode: props.singleTabMode,
|
|
96
|
-
disableFloatingGroups: props.disableFloatingGroups,
|
|
97
|
-
floatingGroupBounds: props.floatingGroupBounds,
|
|
98
|
-
defaultRenderer: props.defaultRenderer,
|
|
99
|
-
debug: props.debug,
|
|
100
|
-
rootOverlayModel: props.rootOverlayModel,
|
|
101
|
-
locked: props.locked,
|
|
102
|
-
disableDnd: props.disableDnd,
|
|
103
|
-
});
|
|
116
|
+
};
|
|
117
|
+
var dockview = new dockview_core_1.DockviewComponent(__assign(__assign({}, extractCoreOptions(props)), frameworkOptions));
|
|
104
118
|
var _b = domRef.current, clientWidth = _b.clientWidth, clientHeight = _b.clientHeight;
|
|
105
119
|
dockview.layout(clientWidth, clientHeight);
|
|
106
120
|
if (props.onReady) {
|
|
@@ -111,20 +125,6 @@ exports.DockviewReact = react_1.default.forwardRef(function (props, ref) {
|
|
|
111
125
|
dockview.dispose();
|
|
112
126
|
};
|
|
113
127
|
}, []);
|
|
114
|
-
react_1.default.useEffect(function () {
|
|
115
|
-
if (!dockviewRef.current) {
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
dockviewRef.current.locked = !!props.locked;
|
|
119
|
-
}, [props.locked]);
|
|
120
|
-
react_1.default.useEffect(function () {
|
|
121
|
-
if (!dockviewRef.current) {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
dockviewRef.current.updateOptions({
|
|
125
|
-
disableDnd: props.disableDnd,
|
|
126
|
-
});
|
|
127
|
-
}, [props.disableDnd]);
|
|
128
128
|
react_1.default.useEffect(function () {
|
|
129
129
|
if (!dockviewRef.current) {
|
|
130
130
|
return function () {
|
|
@@ -146,63 +146,43 @@ exports.DockviewReact = react_1.default.forwardRef(function (props, ref) {
|
|
|
146
146
|
// noop
|
|
147
147
|
};
|
|
148
148
|
}
|
|
149
|
-
var disposable = dockviewRef.current.
|
|
150
|
-
|
|
151
|
-
|
|
149
|
+
var disposable = dockviewRef.current.onUnhandledDragOverEvent(function (event) {
|
|
150
|
+
var _a;
|
|
151
|
+
if ((_a = props.showDndOverlay) === null || _a === void 0 ? void 0 : _a.call(props, event)) {
|
|
152
|
+
event.accept();
|
|
152
153
|
}
|
|
153
154
|
});
|
|
154
155
|
return function () {
|
|
155
156
|
disposable.dispose();
|
|
156
157
|
};
|
|
157
|
-
}, [props.onWillDrop]);
|
|
158
|
-
react_1.default.useEffect(function () {
|
|
159
|
-
if (!dockviewRef.current) {
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
dockviewRef.current.updateOptions({
|
|
163
|
-
frameworkComponents: props.components,
|
|
164
|
-
});
|
|
165
|
-
}, [props.components]);
|
|
166
|
-
react_1.default.useEffect(function () {
|
|
167
|
-
if (!dockviewRef.current) {
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
dockviewRef.current.updateOptions({
|
|
171
|
-
floatingGroupBounds: props.floatingGroupBounds,
|
|
172
|
-
});
|
|
173
|
-
}, [props.floatingGroupBounds]);
|
|
174
|
-
react_1.default.useEffect(function () {
|
|
175
|
-
if (!dockviewRef.current) {
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
dockviewRef.current.updateOptions({
|
|
179
|
-
watermarkFrameworkComponent: props.watermarkComponent,
|
|
180
|
-
});
|
|
181
|
-
}, [props.watermarkComponent]);
|
|
182
|
-
react_1.default.useEffect(function () {
|
|
183
|
-
if (!dockviewRef.current) {
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
dockviewRef.current.updateOptions({
|
|
187
|
-
showDndOverlay: props.showDndOverlay,
|
|
188
|
-
});
|
|
189
158
|
}, [props.showDndOverlay]);
|
|
190
159
|
react_1.default.useEffect(function () {
|
|
191
160
|
if (!dockviewRef.current) {
|
|
192
|
-
return
|
|
161
|
+
return function () {
|
|
162
|
+
// noop
|
|
163
|
+
};
|
|
193
164
|
}
|
|
194
|
-
dockviewRef.current.
|
|
195
|
-
|
|
165
|
+
var disposable = dockviewRef.current.onWillDrop(function (event) {
|
|
166
|
+
if (props.onWillDrop) {
|
|
167
|
+
props.onWillDrop(event);
|
|
168
|
+
}
|
|
196
169
|
});
|
|
197
|
-
|
|
170
|
+
return function () {
|
|
171
|
+
disposable.dispose();
|
|
172
|
+
};
|
|
173
|
+
}, [props.onWillDrop]);
|
|
198
174
|
react_1.default.useEffect(function () {
|
|
199
175
|
if (!dockviewRef.current) {
|
|
200
176
|
return;
|
|
201
177
|
}
|
|
202
178
|
dockviewRef.current.updateOptions({
|
|
203
|
-
|
|
179
|
+
createComponent: function (options) {
|
|
180
|
+
return new reactContentPart_1.ReactPanelContentPart(options.id, props.components[options.name], {
|
|
181
|
+
addPortal: addPortal,
|
|
182
|
+
});
|
|
183
|
+
},
|
|
204
184
|
});
|
|
205
|
-
}, [props.
|
|
185
|
+
}, [props.components]);
|
|
206
186
|
react_1.default.useEffect(function () {
|
|
207
187
|
var _a;
|
|
208
188
|
if (!dockviewRef.current) {
|
|
@@ -217,39 +197,49 @@ exports.DockviewReact = react_1.default.forwardRef(function (props, ref) {
|
|
|
217
197
|
defaultTabComponent: props.defaultTabComponent
|
|
218
198
|
? DEFAULT_REACT_TAB
|
|
219
199
|
: undefined,
|
|
220
|
-
|
|
200
|
+
createTabComponent: function (options) {
|
|
201
|
+
return new reactHeaderPart_1.ReactPanelHeaderPart(options.id, frameworkTabComponents[options.name], {
|
|
202
|
+
addPortal: addPortal,
|
|
203
|
+
});
|
|
204
|
+
},
|
|
221
205
|
});
|
|
222
|
-
}, [props.defaultTabComponent]);
|
|
206
|
+
}, [props.tabComponents, props.defaultTabComponent]);
|
|
223
207
|
react_1.default.useEffect(function () {
|
|
224
208
|
if (!dockviewRef.current) {
|
|
225
209
|
return;
|
|
226
210
|
}
|
|
227
211
|
dockviewRef.current.updateOptions({
|
|
228
|
-
|
|
212
|
+
createWatermarkComponent: props.watermarkComponent
|
|
213
|
+
? function () {
|
|
214
|
+
return new reactWatermarkPart_1.ReactWatermarkPart('watermark', props.watermarkComponent, {
|
|
215
|
+
addPortal: addPortal,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
: undefined,
|
|
229
219
|
});
|
|
230
|
-
}, [props.
|
|
220
|
+
}, [props.watermarkComponent]);
|
|
231
221
|
react_1.default.useEffect(function () {
|
|
232
222
|
if (!dockviewRef.current) {
|
|
233
223
|
return;
|
|
234
224
|
}
|
|
235
225
|
dockviewRef.current.updateOptions({
|
|
236
|
-
|
|
226
|
+
createRightHeaderActionComponent: createGroupControlElement(props.rightHeaderActionsComponent, { addPortal: addPortal }),
|
|
237
227
|
});
|
|
238
|
-
}, [props.
|
|
228
|
+
}, [props.rightHeaderActionsComponent]);
|
|
239
229
|
react_1.default.useEffect(function () {
|
|
240
230
|
if (!dockviewRef.current) {
|
|
241
231
|
return;
|
|
242
232
|
}
|
|
243
233
|
dockviewRef.current.updateOptions({
|
|
244
|
-
|
|
234
|
+
createLeftHeaderActionComponent: createGroupControlElement(props.leftHeaderActionsComponent, { addPortal: addPortal }),
|
|
245
235
|
});
|
|
246
|
-
}, [props.
|
|
236
|
+
}, [props.leftHeaderActionsComponent]);
|
|
247
237
|
react_1.default.useEffect(function () {
|
|
248
238
|
if (!dockviewRef.current) {
|
|
249
239
|
return;
|
|
250
240
|
}
|
|
251
241
|
dockviewRef.current.updateOptions({
|
|
252
|
-
|
|
242
|
+
createPrefixHeaderActionComponent: createGroupControlElement(props.prefixHeaderActionsComponent, { addPortal: addPortal }),
|
|
253
243
|
});
|
|
254
244
|
}, [props.prefixHeaderActionsComponent]);
|
|
255
245
|
return (react_1.default.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ReactPart, ReactPortalStore } from '../react';
|
|
3
|
-
import {
|
|
4
|
-
export
|
|
5
|
-
api: DockviewGroupPanelApi;
|
|
6
|
-
containerApi: DockviewApi;
|
|
7
|
-
panels: IDockviewPanel[];
|
|
8
|
-
activePanel: IDockviewPanel | undefined;
|
|
9
|
-
isGroupActive: boolean;
|
|
10
|
-
group: DockviewGroupPanel;
|
|
11
|
-
}
|
|
12
|
-
export declare class ReactHeaderActionsRendererPart {
|
|
3
|
+
import { DockviewApi, DockviewGroupPanel, DockviewGroupPanelApi, PanelUpdateEvent, IHeaderActionsRenderer, IDockviewHeaderActionsProps } from 'dockview-core';
|
|
4
|
+
export declare class ReactHeaderActionsRendererPart implements IHeaderActionsRenderer {
|
|
13
5
|
private readonly component;
|
|
14
6
|
private readonly reactPortalStore;
|
|
15
7
|
private readonly _group;
|
|
@@ -18,15 +10,13 @@ export declare class ReactHeaderActionsRendererPart {
|
|
|
18
10
|
private _part?;
|
|
19
11
|
get element(): HTMLElement;
|
|
20
12
|
get part(): ReactPart<IDockviewHeaderActionsProps> | undefined;
|
|
21
|
-
get group(): DockviewGroupPanel;
|
|
22
13
|
constructor(component: React.FunctionComponent<IDockviewHeaderActionsProps>, reactPortalStore: ReactPortalStore, _group: DockviewGroupPanel);
|
|
23
|
-
focus(): void;
|
|
24
14
|
init(parameters: {
|
|
25
15
|
containerApi: DockviewApi;
|
|
26
16
|
api: DockviewGroupPanelApi;
|
|
27
17
|
}): void;
|
|
28
|
-
update(event: PanelUpdateEvent): void;
|
|
29
18
|
dispose(): void;
|
|
19
|
+
update(event: PanelUpdateEvent): void;
|
|
30
20
|
private updatePanels;
|
|
31
21
|
private updateActivePanel;
|
|
32
22
|
private updateGroupActive;
|
|
@@ -28,16 +28,6 @@ var ReactHeaderActionsRendererPart = /** @class */ (function () {
|
|
|
28
28
|
enumerable: false,
|
|
29
29
|
configurable: true
|
|
30
30
|
});
|
|
31
|
-
Object.defineProperty(ReactHeaderActionsRendererPart.prototype, "group", {
|
|
32
|
-
get: function () {
|
|
33
|
-
return this._group;
|
|
34
|
-
},
|
|
35
|
-
enumerable: false,
|
|
36
|
-
configurable: true
|
|
37
|
-
});
|
|
38
|
-
ReactHeaderActionsRendererPart.prototype.focus = function () {
|
|
39
|
-
// TODO
|
|
40
|
-
};
|
|
41
31
|
ReactHeaderActionsRendererPart.prototype.init = function (parameters) {
|
|
42
32
|
var _this = this;
|
|
43
33
|
this.mutableDisposable.value = new dockview_core_1.DockviewCompositeDisposable(this._group.model.onDidAddPanel(function () {
|
|
@@ -58,15 +48,15 @@ var ReactHeaderActionsRendererPart = /** @class */ (function () {
|
|
|
58
48
|
group: this._group,
|
|
59
49
|
});
|
|
60
50
|
};
|
|
61
|
-
ReactHeaderActionsRendererPart.prototype.update = function (event) {
|
|
62
|
-
var _a;
|
|
63
|
-
(_a = this._part) === null || _a === void 0 ? void 0 : _a.update(event.params);
|
|
64
|
-
};
|
|
65
51
|
ReactHeaderActionsRendererPart.prototype.dispose = function () {
|
|
66
52
|
var _a;
|
|
67
53
|
this.mutableDisposable.dispose();
|
|
68
54
|
(_a = this._part) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
69
55
|
};
|
|
56
|
+
ReactHeaderActionsRendererPart.prototype.update = function (event) {
|
|
57
|
+
var _a;
|
|
58
|
+
(_a = this._part) === null || _a === void 0 ? void 0 : _a.update(event.params);
|
|
59
|
+
};
|
|
70
60
|
ReactHeaderActionsRendererPart.prototype.updatePanels = function () {
|
|
71
61
|
this.update({ params: { panels: this._group.model.panels } });
|
|
72
62
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ReactPortalStore } from '../react';
|
|
3
|
-
import { IDockviewPanelProps } from '
|
|
4
|
-
import { DockviewEvent, PanelUpdateEvent, IContentRenderer, GroupPanelContentPartInitParameters } from 'dockview-core';
|
|
3
|
+
import { DockviewEvent, PanelUpdateEvent, IContentRenderer, GroupPanelPartInitParameters, IDockviewPanelProps } from 'dockview-core';
|
|
5
4
|
export declare class ReactPanelContentPart implements IContentRenderer {
|
|
6
5
|
readonly id: string;
|
|
7
6
|
private readonly component;
|
|
@@ -15,7 +14,7 @@ export declare class ReactPanelContentPart implements IContentRenderer {
|
|
|
15
14
|
get element(): HTMLElement;
|
|
16
15
|
constructor(id: string, component: React.FunctionComponent<IDockviewPanelProps>, reactPortalStore: ReactPortalStore);
|
|
17
16
|
focus(): void;
|
|
18
|
-
init(parameters:
|
|
17
|
+
init(parameters: GroupPanelPartInitParameters): void;
|
|
19
18
|
update(event: PanelUpdateEvent): void;
|
|
20
19
|
layout(_width: number, _height: number): void;
|
|
21
20
|
dispose(): void;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ReactPortalStore } from '../react';
|
|
3
|
-
import { IGroupPanelBaseProps } from '
|
|
4
|
-
import { PanelUpdateEvent, ITabRenderer, GroupPanelPartInitParameters } from 'dockview-core';
|
|
3
|
+
import { PanelUpdateEvent, ITabRenderer, GroupPanelPartInitParameters, IGroupPanelBaseProps } from 'dockview-core';
|
|
5
4
|
export declare class ReactPanelHeaderPart implements ITabRenderer {
|
|
6
5
|
readonly id: string;
|
|
7
6
|
private readonly component;
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ReactPortalStore } from '../react';
|
|
3
|
-
import { PanelUpdateEvent, DockviewGroupPanel, IWatermarkRenderer, WatermarkRendererInitParameters,
|
|
4
|
-
export interface IWatermarkPanelProps {
|
|
5
|
-
containerApi: DockviewApi;
|
|
6
|
-
group?: IDockviewGroupPanel;
|
|
7
|
-
close: () => void;
|
|
8
|
-
}
|
|
3
|
+
import { PanelUpdateEvent, DockviewGroupPanel, IWatermarkRenderer, WatermarkRendererInitParameters, IWatermarkPanelProps } from 'dockview-core';
|
|
9
4
|
export declare class ReactWatermarkPart implements IWatermarkRenderer {
|
|
10
5
|
readonly id: string;
|
|
11
6
|
private readonly component;
|
|
@@ -23,11 +23,6 @@ var ReactWatermarkPart = /** @class */ (function () {
|
|
|
23
23
|
this.part = new react_1.ReactPart(this.element, this.reactPortalStore, this.component, {
|
|
24
24
|
group: parameters.group,
|
|
25
25
|
containerApi: parameters.containerApi,
|
|
26
|
-
close: function () {
|
|
27
|
-
if (parameters.group) {
|
|
28
|
-
parameters.containerApi.removeGroup(parameters.group);
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
26
|
});
|
|
32
27
|
};
|
|
33
28
|
ReactWatermarkPart.prototype.focus = function () {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { GridviewPanelApi, Orientation, GridviewApi } from 'dockview-core';
|
|
3
|
-
import {
|
|
3
|
+
import { PanelParameters } from '../types';
|
|
4
4
|
export interface GridviewReadyEvent {
|
|
5
5
|
api: GridviewApi;
|
|
6
6
|
}
|
|
@@ -13,7 +13,7 @@ export interface IGridviewPanelProps<T extends {
|
|
|
13
13
|
export interface IGridviewReactProps {
|
|
14
14
|
orientation?: Orientation;
|
|
15
15
|
onReady: (event: GridviewReadyEvent) => void;
|
|
16
|
-
components:
|
|
16
|
+
components: Record<string, React.FunctionComponent<IGridviewPanelProps>>;
|
|
17
17
|
hideBorders?: boolean;
|
|
18
18
|
className?: string;
|
|
19
19
|
proportionalLayout?: boolean;
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -3,8 +3,6 @@ export * from './dockview/dockview';
|
|
|
3
3
|
export * from './dockview/defaultTab';
|
|
4
4
|
export * from './splitview/splitview';
|
|
5
5
|
export * from './gridview/gridview';
|
|
6
|
-
export { IDockviewHeaderActionsProps } from './dockview/headerActionsRenderer';
|
|
7
|
-
export { IWatermarkPanelProps } from './dockview/reactWatermarkPart';
|
|
8
6
|
export * from './paneview/paneview';
|
|
9
7
|
export * from './types';
|
|
10
8
|
export * from './react';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PaneviewPanelApi, PaneviewDndOverlayEvent, PaneviewApi, PaneviewDropEvent } from 'dockview-core';
|
|
3
|
-
import {
|
|
3
|
+
import { PanelParameters } from '../types';
|
|
4
4
|
export interface PaneviewReadyEvent {
|
|
5
5
|
api: PaneviewApi;
|
|
6
6
|
}
|
|
@@ -13,8 +13,8 @@ export interface IPaneviewPanelProps<T extends {
|
|
|
13
13
|
}
|
|
14
14
|
export interface IPaneviewReactProps {
|
|
15
15
|
onReady: (event: PaneviewReadyEvent) => void;
|
|
16
|
-
components:
|
|
17
|
-
headerComponents?:
|
|
16
|
+
components: Record<string, React.FunctionComponent<IPaneviewPanelProps>>;
|
|
17
|
+
headerComponents?: Record<string, React.FunctionComponent<IPaneviewPanelProps>>;
|
|
18
18
|
className?: string;
|
|
19
19
|
disableAutoResizing?: boolean;
|
|
20
20
|
disableDnd?: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { SplitviewApi, SplitviewPanelApi, Orientation } from 'dockview-core';
|
|
3
|
-
import {
|
|
3
|
+
import { PanelParameters } from '../types';
|
|
4
4
|
export interface SplitviewReadyEvent {
|
|
5
5
|
api: SplitviewApi;
|
|
6
6
|
}
|
|
@@ -13,7 +13,7 @@ export interface ISplitviewPanelProps<T extends {
|
|
|
13
13
|
export interface ISplitviewReactProps {
|
|
14
14
|
orientation?: Orientation;
|
|
15
15
|
onReady: (event: SplitviewReadyEvent) => void;
|
|
16
|
-
components:
|
|
16
|
+
components: Record<string, React.FunctionComponent<ISplitviewPanelProps>>;
|
|
17
17
|
proportionalLayout?: boolean;
|
|
18
18
|
hideBorders?: boolean;
|
|
19
19
|
className?: string;
|
package/dist/cjs/types.d.ts
CHANGED