dockview 1.5.2 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/component.api.d.ts +3 -2
- package/dist/cjs/api/component.api.js +9 -2
- package/dist/cjs/api/component.api.js.map +1 -1
- package/dist/cjs/api/{groupPanelApi.d.ts → dockviewPanelApi.d.ts} +2 -2
- package/dist/cjs/api/{groupPanelApi.js → dockviewPanelApi.js} +4 -6
- package/dist/cjs/api/dockviewPanelApi.js.map +1 -0
- package/dist/cjs/api/gridviewPanelApi.d.ts +4 -3
- package/dist/cjs/api/gridviewPanelApi.js +4 -4
- package/dist/cjs/api/gridviewPanelApi.js.map +1 -1
- package/dist/cjs/api/panelApi.d.ts +7 -0
- package/dist/cjs/api/panelApi.js +17 -1
- package/dist/cjs/api/panelApi.js.map +1 -1
- package/dist/cjs/array.d.ts +1 -1
- package/dist/cjs/dnd/abstractDragHandler.d.ts +2 -2
- package/dist/cjs/dnd/abstractDragHandler.js +3 -3
- package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
- package/dist/cjs/dnd/dataTransfer.d.ts +2 -2
- package/dist/cjs/dnd/dataTransfer.js.map +1 -1
- package/dist/cjs/dnd/dnd.d.ts +1 -1
- package/dist/cjs/dnd/dnd.js +7 -12
- package/dist/cjs/dnd/dnd.js.map +1 -1
- package/dist/cjs/dnd/droptarget.d.ts +20 -15
- package/dist/cjs/dnd/droptarget.js +152 -74
- package/dist/cjs/dnd/droptarget.js.map +1 -1
- package/dist/cjs/dnd/ghost.d.ts +1 -0
- package/dist/cjs/dnd/ghost.js +15 -0
- package/dist/cjs/dnd/ghost.js.map +1 -0
- package/dist/cjs/dnd/groupDragHandler.d.ts +11 -0
- package/dist/cjs/dnd/groupDragHandler.js +62 -0
- package/dist/cjs/dnd/groupDragHandler.js.map +1 -0
- package/dist/cjs/dockview/defaultGroupPanelView.d.ts +1 -1
- package/dist/cjs/dockview/deserializer.d.ts +2 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +15 -7
- package/dist/cjs/dockview/dockviewComponent.js +215 -34
- package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
- package/dist/{esm/dockview/dockviewGroupPanel.d.ts → cjs/dockview/dockviewPanel.d.ts} +16 -5
- package/dist/cjs/dockview/{dockviewGroupPanel.js → dockviewPanel.js} +25 -21
- package/dist/cjs/dockview/dockviewPanel.js.map +1 -0
- package/dist/cjs/dockview/options.d.ts +32 -10
- package/dist/cjs/dockview/options.js +29 -0
- package/dist/cjs/dockview/options.js.map +1 -1
- package/dist/cjs/dockview/validation.d.ts +2 -0
- package/dist/cjs/dockview/validation.js +135 -0
- package/dist/cjs/dockview/validation.js.map +1 -0
- package/dist/cjs/gridview/baseComponentGridview.d.ts +1 -1
- package/dist/cjs/gridview/baseComponentGridview.js +5 -6
- package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
- package/dist/cjs/gridview/basePanelView.d.ts +2 -2
- package/dist/cjs/gridview/gridview.d.ts +9 -3
- package/dist/cjs/gridview/gridview.js +38 -7
- package/dist/cjs/gridview/gridview.js.map +1 -1
- package/dist/cjs/gridview/gridviewComponent.d.ts +2 -2
- package/dist/cjs/gridview/gridviewComponent.js +2 -3
- package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
- package/dist/cjs/gridview/gridviewPanel.d.ts +3 -3
- package/dist/cjs/gridview/gridviewPanel.js +1 -2
- package/dist/cjs/gridview/gridviewPanel.js.map +1 -1
- package/dist/cjs/gridview/types.d.ts +1 -1
- package/dist/cjs/groupview/dnd.d.ts +2 -1
- package/dist/cjs/groupview/dnd.js +1 -0
- package/dist/cjs/groupview/dnd.js.map +1 -1
- package/dist/cjs/groupview/groupview.d.ts +6 -6
- package/dist/cjs/groupview/groupview.js +43 -25
- package/dist/cjs/groupview/groupview.js.map +1 -1
- package/dist/cjs/groupview/groupviewPanel.d.ts +3 -3
- package/dist/cjs/groupview/panel/content.d.ts +1 -1
- package/dist/cjs/groupview/tab.d.ts +2 -12
- package/dist/cjs/groupview/tab.js +13 -9
- package/dist/cjs/groupview/tab.js.map +1 -1
- package/dist/cjs/groupview/titlebar/tabsContainer.d.ts +5 -8
- package/dist/cjs/groupview/titlebar/tabsContainer.js +23 -30
- package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
- package/dist/cjs/groupview/titlebar/voidContainer.d.ts +15 -0
- package/dist/cjs/groupview/titlebar/voidContainer.js +74 -0
- package/dist/cjs/groupview/titlebar/voidContainer.js.map +1 -0
- package/dist/cjs/groupview/types.d.ts +18 -2
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +4 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/paneview/draggablePaneviewPanel.js +6 -5
- package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
- package/dist/cjs/paneview/paneviewComponent.js +2 -2
- package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
- package/dist/cjs/paneview/paneviewPanel.js +1 -0
- package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
- package/dist/cjs/react/deserializer.d.ts +2 -1
- package/dist/cjs/react/deserializer.js +2 -2
- package/dist/cjs/react/deserializer.js.map +1 -1
- package/dist/cjs/react/dockview/defaultTab.d.ts +1 -1
- package/dist/cjs/react/dockview/dockview.d.ts +5 -4
- package/dist/cjs/react/dockview/dockview.js +1 -0
- package/dist/cjs/react/dockview/dockview.js.map +1 -1
- package/dist/cjs/react/dockview/groupControlsRenderer.d.ts +1 -1
- package/dist/cjs/react/gridview/view.js +2 -1
- package/dist/cjs/react/gridview/view.js.map +1 -1
- package/dist/cjs/react/react.d.ts +1 -1
- package/dist/cjs/splitview/core/splitview.d.ts +4 -4
- package/dist/cjs/splitview/splitviewComponent.d.ts +1 -1
- package/dist/cjs/splitview/splitviewComponent.js +2 -2
- package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
- package/dist/cjs/splitview/splitviewPanel.js +1 -0
- package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
- package/dist/cjs/types.d.ts +2 -1
- package/dist/cjs/types.js +5 -0
- package/dist/cjs/types.js.map +1 -1
- package/dist/dockview.amd.js +1411 -987
- package/dist/dockview.amd.min.js +2 -2
- package/dist/dockview.amd.min.noStyle.js +2 -2
- package/dist/dockview.amd.noStyle.js +1410 -986
- package/dist/dockview.cjs.js +1394 -970
- package/dist/dockview.esm.js +1385 -964
- package/dist/dockview.esm.min.js +2 -2
- package/dist/dockview.js +1411 -987
- package/dist/dockview.min.js +2 -2
- package/dist/dockview.min.noStyle.js +2 -2
- package/dist/dockview.noStyle.js +1410 -986
- package/dist/esm/actionbar/actionsContainer.js +3 -3
- package/dist/esm/api/component.api.d.ts +3 -2
- package/dist/esm/api/component.api.js +16 -13
- package/dist/esm/api/{groupPanelApi.d.ts → dockviewPanelApi.d.ts} +2 -2
- package/dist/esm/api/{groupPanelApi.js → dockviewPanelApi.js} +16 -18
- package/dist/esm/api/gridviewPanelApi.d.ts +4 -3
- package/dist/esm/api/gridviewPanelApi.js +4 -4
- package/dist/esm/api/panelApi.d.ts +7 -0
- package/dist/esm/api/panelApi.js +33 -17
- package/dist/esm/api/paneviewPanelApi.js +3 -3
- package/dist/esm/array.d.ts +1 -1
- package/dist/esm/dnd/abstractDragHandler.d.ts +2 -2
- package/dist/esm/dnd/abstractDragHandler.js +3 -3
- package/dist/esm/dnd/dataTransfer.d.ts +2 -2
- package/dist/esm/dnd/dnd.d.ts +1 -1
- package/dist/esm/dnd/dnd.js +7 -12
- package/dist/esm/dnd/droptarget.d.ts +20 -15
- package/dist/esm/dnd/droptarget.js +149 -67
- package/dist/esm/dnd/ghost.d.ts +1 -0
- package/dist/esm/dnd/ghost.js +10 -0
- package/dist/esm/dnd/groupDragHandler.d.ts +11 -0
- package/dist/esm/dnd/groupDragHandler.js +38 -0
- package/dist/esm/dockview/components/tab/defaultTab.js +6 -6
- package/dist/esm/dockview/components/watermark/watermark.js +3 -3
- package/dist/esm/dockview/defaultGroupPanelView.d.ts +1 -1
- package/dist/esm/dockview/defaultGroupPanelView.js +5 -5
- package/dist/esm/dockview/deserializer.d.ts +2 -1
- package/dist/esm/dockview/dockviewComponent.d.ts +15 -7
- package/dist/esm/dockview/dockviewComponent.js +229 -65
- package/dist/{cjs/dockview/dockviewGroupPanel.d.ts → esm/dockview/dockviewPanel.d.ts} +16 -5
- package/dist/esm/dockview/{dockviewGroupPanel.js → dockviewPanel.js} +19 -15
- package/dist/esm/dockview/options.d.ts +32 -10
- package/dist/esm/dockview/options.js +24 -1
- package/dist/esm/dockview/validation.d.ts +2 -0
- package/dist/esm/dockview/validation.js +86 -0
- package/dist/esm/gridview/baseComponentGridview.d.ts +1 -1
- package/dist/esm/gridview/baseComponentGridview.js +31 -32
- package/dist/esm/gridview/basePanelView.d.ts +2 -2
- package/dist/esm/gridview/basePanelView.js +13 -13
- package/dist/esm/gridview/branchNode.js +47 -47
- package/dist/esm/gridview/gridview.d.ts +9 -3
- package/dist/esm/gridview/gridview.js +41 -15
- package/dist/esm/gridview/gridviewComponent.d.ts +2 -2
- package/dist/esm/gridview/gridviewComponent.js +17 -18
- package/dist/esm/gridview/gridviewPanel.d.ts +3 -3
- package/dist/esm/gridview/gridviewPanel.js +45 -45
- package/dist/esm/gridview/leafNode.js +23 -23
- package/dist/esm/gridview/types.d.ts +1 -1
- package/dist/esm/groupview/dnd.d.ts +2 -1
- package/dist/esm/groupview/dnd.js +1 -0
- package/dist/esm/groupview/groupview.d.ts +6 -6
- package/dist/esm/groupview/groupview.js +90 -72
- package/dist/esm/groupview/groupviewPanel.d.ts +3 -3
- package/dist/esm/groupview/groupviewPanel.js +4 -4
- package/dist/esm/groupview/panel/content.d.ts +1 -1
- package/dist/esm/groupview/panel/content.js +3 -3
- package/dist/esm/groupview/tab.d.ts +2 -12
- package/dist/esm/groupview/tab.js +15 -11
- package/dist/esm/groupview/titlebar/tabsContainer.d.ts +5 -8
- package/dist/esm/groupview/titlebar/tabsContainer.js +54 -61
- package/dist/esm/groupview/titlebar/voidContainer.d.ts +15 -0
- package/dist/esm/groupview/titlebar/voidContainer.js +47 -0
- package/dist/esm/groupview/types.d.ts +18 -2
- package/dist/esm/hostedContainer.js +3 -3
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.js +2 -2
- package/dist/esm/lifecycle.js +3 -3
- package/dist/esm/paneview/defaultPaneviewHeader.js +3 -3
- package/dist/esm/paneview/draggablePaneviewPanel.js +7 -6
- package/dist/esm/paneview/paneview.js +21 -21
- package/dist/esm/paneview/paneviewComponent.js +30 -30
- package/dist/esm/paneview/paneviewPanel.js +45 -44
- package/dist/esm/react/deserializer.d.ts +2 -1
- package/dist/esm/react/deserializer.js +2 -2
- package/dist/esm/react/dockview/defaultTab.d.ts +1 -1
- package/dist/esm/react/dockview/dockview.d.ts +5 -4
- package/dist/esm/react/dockview/dockview.js +1 -0
- package/dist/esm/react/dockview/groupControlsRenderer.d.ts +1 -1
- package/dist/esm/react/dockview/groupControlsRenderer.js +8 -8
- package/dist/esm/react/dockview/reactContentPart.js +3 -3
- package/dist/esm/react/dockview/reactHeaderPart.js +3 -3
- package/dist/esm/react/dockview/reactWatermarkPart.js +3 -3
- package/dist/esm/react/dockview/v2/reactContentRenderer.js +9 -9
- package/dist/esm/react/dockview/v2/webviewContentRenderer.js +3 -3
- package/dist/esm/react/gridview/view.js +2 -1
- package/dist/esm/react/paneview/view.js +3 -3
- package/dist/esm/react/react.d.ts +1 -1
- package/dist/esm/splitview/core/splitview.d.ts +4 -4
- package/dist/esm/splitview/core/splitview.js +59 -59
- package/dist/esm/splitview/core/viewItem.js +15 -15
- package/dist/esm/splitview/splitviewComponent.d.ts +1 -1
- package/dist/esm/splitview/splitviewComponent.js +23 -23
- package/dist/esm/splitview/splitviewPanel.js +31 -30
- package/dist/esm/types.d.ts +2 -1
- package/dist/esm/types.js +3 -1
- package/dist/styles/dockview.css +23 -26
- package/package.json +12 -16
- package/dist/cjs/api/groupPanelApi.js.map +0 -1
- package/dist/cjs/dockview/dockviewGroupPanel.js.map +0 -1
- package/dist/cjs/groupview/groupPanel.d.ts +0 -32
- package/dist/cjs/groupview/groupPanel.js +0 -3
- package/dist/cjs/groupview/groupPanel.js.map +0 -1
- package/dist/esm/groupview/groupPanel.d.ts +0 -32
- package/dist/esm/groupview/groupPanel.js +0 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Orientation } from '../splitview/core/splitview';
|
|
2
|
+
function validateGroupViewPanelState(value) {
|
|
3
|
+
if (typeof value.id !== 'string') {
|
|
4
|
+
throw new Error('invalid layout');
|
|
5
|
+
}
|
|
6
|
+
if (typeof value.title !== 'string') {
|
|
7
|
+
throw new Error('invalid layout');
|
|
8
|
+
}
|
|
9
|
+
if (value.params !== undefined && typeof value.params !== 'object') {
|
|
10
|
+
throw new Error('invalid layout');
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function validateGroupPanelViewState(value) {
|
|
14
|
+
if (typeof value.id !== 'string') {
|
|
15
|
+
throw new Error('invalid layout');
|
|
16
|
+
}
|
|
17
|
+
if (value.locked !== undefined && typeof value.locked !== 'boolean') {
|
|
18
|
+
throw new Error('invalid layout');
|
|
19
|
+
}
|
|
20
|
+
if (value.hideHeader !== undefined && typeof value.locked !== 'boolean') {
|
|
21
|
+
throw new Error('invalid layout');
|
|
22
|
+
}
|
|
23
|
+
if (value.activeView !== undefined &&
|
|
24
|
+
typeof value.activeView !== 'string') {
|
|
25
|
+
throw new Error('invalid layout');
|
|
26
|
+
}
|
|
27
|
+
if (!Array.isArray(value.views)) {
|
|
28
|
+
throw new Error('invalid layout');
|
|
29
|
+
}
|
|
30
|
+
for (const child of value.views) {
|
|
31
|
+
if (typeof child !== 'string') {
|
|
32
|
+
if (!Array.isArray(value.views)) {
|
|
33
|
+
throw new Error('invalid layout');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function validateSerializedGridObject(value) {
|
|
39
|
+
if (value.size !== undefined && typeof value.size !== 'number') {
|
|
40
|
+
throw new Error('invalid layout');
|
|
41
|
+
}
|
|
42
|
+
if (value.visible !== undefined && typeof value.size !== 'boolean') {
|
|
43
|
+
throw new Error('invalid layout');
|
|
44
|
+
}
|
|
45
|
+
if (value.type !== 'branch' && value.type !== 'leaf') {
|
|
46
|
+
throw new Error('invalid layout');
|
|
47
|
+
}
|
|
48
|
+
if (Array.isArray(value.data)) {
|
|
49
|
+
for (const child of value.data) {
|
|
50
|
+
validateSerializedGridObject(child);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
validateGroupPanelViewState(value.data);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
export function validateSerializedDockview(data) {
|
|
58
|
+
if (typeof data !== 'object') {
|
|
59
|
+
throw new Error('invalid layout');
|
|
60
|
+
}
|
|
61
|
+
const { grid, panels, options, activeGroup } = data;
|
|
62
|
+
if (typeof grid !== 'object') {
|
|
63
|
+
throw new Error('invalid layout');
|
|
64
|
+
}
|
|
65
|
+
if (typeof grid.height !== 'number') {
|
|
66
|
+
throw new Error('invalid layout');
|
|
67
|
+
}
|
|
68
|
+
if (typeof grid.width !== 'number') {
|
|
69
|
+
throw new Error('invalid layout');
|
|
70
|
+
}
|
|
71
|
+
if (grid.orientation !== Orientation.HORIZONTAL &&
|
|
72
|
+
grid.orientation !== Orientation.VERTICAL) {
|
|
73
|
+
throw new Error('invalid layout');
|
|
74
|
+
}
|
|
75
|
+
validateSerializedGridObject(grid.root);
|
|
76
|
+
if (data.activeGroup !== undefined &&
|
|
77
|
+
typeof data.activeGroup !== 'string') {
|
|
78
|
+
throw new Error('invalid layout');
|
|
79
|
+
}
|
|
80
|
+
if (typeof data.panels !== 'object') {
|
|
81
|
+
throw new Error('invalid layout');
|
|
82
|
+
}
|
|
83
|
+
for (const value of Object.values(data.panels)) {
|
|
84
|
+
validateGroupViewPanelState(value);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -5,7 +5,7 @@ import { CompositeDisposable, IValueDisposable } from '../lifecycle';
|
|
|
5
5
|
import { ISplitviewStyles, Orientation } from '../splitview/core/splitview';
|
|
6
6
|
import { IPanel } from '../panel/types';
|
|
7
7
|
import { MovementOptions2 } from '../dockview/options';
|
|
8
|
-
export
|
|
8
|
+
export type Direction = 'left' | 'right' | 'above' | 'below' | 'within';
|
|
9
9
|
export declare function toTarget(direction: Direction): Position;
|
|
10
10
|
export interface BaseGridOptions {
|
|
11
11
|
readonly proportionalLayout: boolean;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Emitter, Event, TickDelayedEvent } from '../events';
|
|
2
2
|
import { getGridLocation, Gridview } from './gridview';
|
|
3
|
-
import { Position } from '../dnd/droptarget';
|
|
4
3
|
import { CompositeDisposable } from '../lifecycle';
|
|
5
4
|
import { sequentialNumberGenerator } from '../math';
|
|
6
5
|
import { Sizing, } from '../splitview/core/splitview';
|
|
@@ -8,45 +7,19 @@ const nextLayoutId = sequentialNumberGenerator();
|
|
|
8
7
|
export function toTarget(direction) {
|
|
9
8
|
switch (direction) {
|
|
10
9
|
case 'left':
|
|
11
|
-
return
|
|
10
|
+
return 'left';
|
|
12
11
|
case 'right':
|
|
13
|
-
return
|
|
12
|
+
return 'right';
|
|
14
13
|
case 'above':
|
|
15
|
-
return
|
|
14
|
+
return 'top';
|
|
16
15
|
case 'below':
|
|
17
|
-
return
|
|
16
|
+
return 'bottom';
|
|
18
17
|
case 'within':
|
|
19
18
|
default:
|
|
20
|
-
return
|
|
19
|
+
return 'center';
|
|
21
20
|
}
|
|
22
21
|
}
|
|
23
22
|
export class BaseGrid extends CompositeDisposable {
|
|
24
|
-
constructor(_element, options) {
|
|
25
|
-
super();
|
|
26
|
-
this._element = _element;
|
|
27
|
-
this._id = nextLayoutId.next();
|
|
28
|
-
this._groups = new Map();
|
|
29
|
-
this._onDidLayoutChange = new Emitter();
|
|
30
|
-
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
31
|
-
this._onDidRemoveGroup = new Emitter();
|
|
32
|
-
this.onDidRemoveGroup = this._onDidRemoveGroup.event;
|
|
33
|
-
this._onDidAddGroup = new Emitter();
|
|
34
|
-
this.onDidAddGroup = this._onDidAddGroup.event;
|
|
35
|
-
this._onDidActiveGroupChange = new Emitter();
|
|
36
|
-
this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
|
|
37
|
-
this._bufferOnDidLayoutChange = new TickDelayedEvent();
|
|
38
|
-
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation);
|
|
39
|
-
this.element.appendChild(this.gridview.element);
|
|
40
|
-
this.layout(0, 0, true); // set some elements height/widths
|
|
41
|
-
this.addDisposables(this.gridview.onDidChange(() => {
|
|
42
|
-
this._bufferOnDidLayoutChange.fire();
|
|
43
|
-
}));
|
|
44
|
-
this.addDisposables(Event.any(this.onDidAddGroup, this.onDidRemoveGroup, this.onDidActiveGroupChange)(() => {
|
|
45
|
-
this._bufferOnDidLayoutChange.fire();
|
|
46
|
-
}), this._bufferOnDidLayoutChange.onEvent(() => {
|
|
47
|
-
this._onDidLayoutChange.fire();
|
|
48
|
-
}), this._bufferOnDidLayoutChange);
|
|
49
|
-
}
|
|
50
23
|
get id() {
|
|
51
24
|
return this._id;
|
|
52
25
|
}
|
|
@@ -80,6 +53,32 @@ export class BaseGrid extends CompositeDisposable {
|
|
|
80
53
|
get activeGroup() {
|
|
81
54
|
return this._activeGroup;
|
|
82
55
|
}
|
|
56
|
+
constructor(_element, options) {
|
|
57
|
+
super();
|
|
58
|
+
this._element = _element;
|
|
59
|
+
this._id = nextLayoutId.next();
|
|
60
|
+
this._groups = new Map();
|
|
61
|
+
this._onDidLayoutChange = new Emitter();
|
|
62
|
+
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
63
|
+
this._onDidRemoveGroup = new Emitter();
|
|
64
|
+
this.onDidRemoveGroup = this._onDidRemoveGroup.event;
|
|
65
|
+
this._onDidAddGroup = new Emitter();
|
|
66
|
+
this.onDidAddGroup = this._onDidAddGroup.event;
|
|
67
|
+
this._onDidActiveGroupChange = new Emitter();
|
|
68
|
+
this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
|
|
69
|
+
this._bufferOnDidLayoutChange = new TickDelayedEvent();
|
|
70
|
+
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation);
|
|
71
|
+
this.element.appendChild(this.gridview.element);
|
|
72
|
+
this.layout(0, 0, true); // set some elements height/widths
|
|
73
|
+
this.addDisposables(this.gridview.onDidChange(() => {
|
|
74
|
+
this._bufferOnDidLayoutChange.fire();
|
|
75
|
+
}));
|
|
76
|
+
this.addDisposables(Event.any(this.onDidAddGroup, this.onDidRemoveGroup, this.onDidActiveGroupChange)(() => {
|
|
77
|
+
this._bufferOnDidLayoutChange.fire();
|
|
78
|
+
}), this._bufferOnDidLayoutChange.onEvent(() => {
|
|
79
|
+
this._onDidLayoutChange.fire();
|
|
80
|
+
}), this._bufferOnDidLayoutChange);
|
|
81
|
+
}
|
|
83
82
|
setVisible(panel, visible) {
|
|
84
83
|
this.gridview.setViewVisible(getGridLocation(panel.element), visible);
|
|
85
84
|
this._onDidLayoutChange.fire();
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { CompositeDisposable } from '../lifecycle';
|
|
2
2
|
import { IFrameworkPart, PanelUpdateEvent, PanelInitParameters, IPanel } from '../panel/types';
|
|
3
|
-
import { PanelApiImpl } from '../api/panelApi';
|
|
3
|
+
import { PanelApi, PanelApiImpl } from '../api/panelApi';
|
|
4
4
|
export interface BasePanelViewState {
|
|
5
5
|
id: string;
|
|
6
6
|
component: string;
|
|
7
7
|
params?: Record<string, any>;
|
|
8
8
|
}
|
|
9
|
-
export interface BasePanelViewExported<T extends
|
|
9
|
+
export interface BasePanelViewExported<T extends PanelApi> {
|
|
10
10
|
readonly id: string;
|
|
11
11
|
readonly api: T;
|
|
12
12
|
readonly width: number;
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import { trackFocus } from '../dom';
|
|
2
2
|
import { CompositeDisposable } from '../lifecycle';
|
|
3
3
|
export class BasePanelView extends CompositeDisposable {
|
|
4
|
+
get element() {
|
|
5
|
+
return this._element;
|
|
6
|
+
}
|
|
7
|
+
get width() {
|
|
8
|
+
return this._width;
|
|
9
|
+
}
|
|
10
|
+
get height() {
|
|
11
|
+
return this._height;
|
|
12
|
+
}
|
|
13
|
+
get params() {
|
|
14
|
+
var _a;
|
|
15
|
+
return (_a = this._params) === null || _a === void 0 ? void 0 : _a.params;
|
|
16
|
+
}
|
|
4
17
|
constructor(id, component, api) {
|
|
5
18
|
super();
|
|
6
19
|
this.id = id;
|
|
@@ -21,19 +34,6 @@ export class BasePanelView extends CompositeDisposable {
|
|
|
21
34
|
this.api._onDidChangeFocus.fire({ isFocused: false });
|
|
22
35
|
}));
|
|
23
36
|
}
|
|
24
|
-
get element() {
|
|
25
|
-
return this._element;
|
|
26
|
-
}
|
|
27
|
-
get width() {
|
|
28
|
-
return this._width;
|
|
29
|
-
}
|
|
30
|
-
get height() {
|
|
31
|
-
return this._height;
|
|
32
|
-
}
|
|
33
|
-
get params() {
|
|
34
|
-
var _a;
|
|
35
|
-
return (_a = this._params) === null || _a === void 0 ? void 0 : _a.params;
|
|
36
|
-
}
|
|
37
37
|
focus() {
|
|
38
38
|
this.api._onFocusEvent.fire();
|
|
39
39
|
}
|
|
@@ -7,53 +7,6 @@ import { Emitter, Event } from '../events';
|
|
|
7
7
|
import { LeafNode } from './leafNode';
|
|
8
8
|
import { CompositeDisposable, Disposable } from '../lifecycle';
|
|
9
9
|
export class BranchNode extends CompositeDisposable {
|
|
10
|
-
constructor(orientation, proportionalLayout, styles, size, orthogonalSize, childDescriptors) {
|
|
11
|
-
super();
|
|
12
|
-
this.orientation = orientation;
|
|
13
|
-
this.proportionalLayout = proportionalLayout;
|
|
14
|
-
this.styles = styles;
|
|
15
|
-
this.children = [];
|
|
16
|
-
this._onDidChange = new Emitter();
|
|
17
|
-
this.onDidChange = this._onDidChange.event;
|
|
18
|
-
this._childrenDisposable = Disposable.NONE;
|
|
19
|
-
this._orthogonalSize = orthogonalSize;
|
|
20
|
-
this._size = size;
|
|
21
|
-
this.element = document.createElement('div');
|
|
22
|
-
this.element.className = 'branch-node';
|
|
23
|
-
if (!childDescriptors) {
|
|
24
|
-
this.splitview = new Splitview(this.element, {
|
|
25
|
-
orientation: this.orientation,
|
|
26
|
-
proportionalLayout,
|
|
27
|
-
styles,
|
|
28
|
-
});
|
|
29
|
-
this.splitview.layout(this.size, this.orthogonalSize);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
const descriptor = {
|
|
33
|
-
views: childDescriptors.map((childDescriptor) => {
|
|
34
|
-
return {
|
|
35
|
-
view: childDescriptor.node,
|
|
36
|
-
size: childDescriptor.node.size,
|
|
37
|
-
visible: childDescriptor.node instanceof LeafNode &&
|
|
38
|
-
childDescriptor.visible !== undefined
|
|
39
|
-
? childDescriptor.visible
|
|
40
|
-
: true,
|
|
41
|
-
};
|
|
42
|
-
}),
|
|
43
|
-
size: this.size,
|
|
44
|
-
};
|
|
45
|
-
this.children = childDescriptors.map((c) => c.node);
|
|
46
|
-
this.splitview = new Splitview(this.element, {
|
|
47
|
-
orientation: this.orientation,
|
|
48
|
-
descriptor,
|
|
49
|
-
proportionalLayout,
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
this.addDisposables(this._onDidChange, this.splitview.onDidSashEnd(() => {
|
|
53
|
-
this._onDidChange.fire({});
|
|
54
|
-
}));
|
|
55
|
-
this.setupChildrenEvents();
|
|
56
|
-
}
|
|
57
10
|
get width() {
|
|
58
11
|
return this.orientation === Orientation.HORIZONTAL
|
|
59
12
|
? this.size
|
|
@@ -119,6 +72,53 @@ export class BranchNode extends CompositeDisposable {
|
|
|
119
72
|
}
|
|
120
73
|
return LayoutPriority.Normal;
|
|
121
74
|
}
|
|
75
|
+
constructor(orientation, proportionalLayout, styles, size, orthogonalSize, childDescriptors) {
|
|
76
|
+
super();
|
|
77
|
+
this.orientation = orientation;
|
|
78
|
+
this.proportionalLayout = proportionalLayout;
|
|
79
|
+
this.styles = styles;
|
|
80
|
+
this.children = [];
|
|
81
|
+
this._onDidChange = new Emitter();
|
|
82
|
+
this.onDidChange = this._onDidChange.event;
|
|
83
|
+
this._childrenDisposable = Disposable.NONE;
|
|
84
|
+
this._orthogonalSize = orthogonalSize;
|
|
85
|
+
this._size = size;
|
|
86
|
+
this.element = document.createElement('div');
|
|
87
|
+
this.element.className = 'branch-node';
|
|
88
|
+
if (!childDescriptors) {
|
|
89
|
+
this.splitview = new Splitview(this.element, {
|
|
90
|
+
orientation: this.orientation,
|
|
91
|
+
proportionalLayout,
|
|
92
|
+
styles,
|
|
93
|
+
});
|
|
94
|
+
this.splitview.layout(this.size, this.orthogonalSize);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
const descriptor = {
|
|
98
|
+
views: childDescriptors.map((childDescriptor) => {
|
|
99
|
+
return {
|
|
100
|
+
view: childDescriptor.node,
|
|
101
|
+
size: childDescriptor.node.size,
|
|
102
|
+
visible: childDescriptor.node instanceof LeafNode &&
|
|
103
|
+
childDescriptor.visible !== undefined
|
|
104
|
+
? childDescriptor.visible
|
|
105
|
+
: true,
|
|
106
|
+
};
|
|
107
|
+
}),
|
|
108
|
+
size: this.size,
|
|
109
|
+
};
|
|
110
|
+
this.children = childDescriptors.map((c) => c.node);
|
|
111
|
+
this.splitview = new Splitview(this.element, {
|
|
112
|
+
orientation: this.orientation,
|
|
113
|
+
descriptor,
|
|
114
|
+
proportionalLayout,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
this.addDisposables(this._onDidChange, this.splitview.onDidSashEnd(() => {
|
|
118
|
+
this._onDidChange.fire({});
|
|
119
|
+
}));
|
|
120
|
+
this.setupChildrenEvents();
|
|
121
|
+
}
|
|
122
122
|
setVisible(visible) {
|
|
123
123
|
for (const child of this.children) {
|
|
124
124
|
child.setVisible(visible);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ISplitviewStyles, LayoutPriority, Orientation, Sizing } from '../splitview/core/splitview';
|
|
2
|
-
import { Position } from '../dnd/droptarget';
|
|
3
2
|
import { LeafNode } from './leafNode';
|
|
4
3
|
import { Node } from './types';
|
|
5
4
|
import { Event } from '../events';
|
|
6
5
|
import { IDisposable } from '../lifecycle';
|
|
6
|
+
import { Position } from '../dnd/droptarget';
|
|
7
7
|
export declare function indexInParent(element: HTMLElement): number;
|
|
8
8
|
/**
|
|
9
9
|
* Find the grid location of a specific DOM element by traversing the parent
|
|
@@ -49,7 +49,7 @@ export interface GridBranchNode<T extends IGridView> {
|
|
|
49
49
|
height: number;
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
|
-
export
|
|
52
|
+
export type GridNode<T extends IGridView> = GridLeafNode<T> | GridBranchNode<T>;
|
|
53
53
|
export declare function isGridBranchNode<T extends IGridView>(node: GridNode<T>): node is GridBranchNode<T>;
|
|
54
54
|
export interface SerializedGridObject<T> {
|
|
55
55
|
type: 'leaf' | 'branch';
|
|
@@ -68,7 +68,7 @@ export interface ISerializedBranchNode {
|
|
|
68
68
|
data: ISerializedNode[];
|
|
69
69
|
size: number;
|
|
70
70
|
}
|
|
71
|
-
export
|
|
71
|
+
export type ISerializedNode = ISerializedLeafNode | ISerializedBranchNode;
|
|
72
72
|
export interface INodeDescriptor {
|
|
73
73
|
node: Node;
|
|
74
74
|
visible?: boolean;
|
|
@@ -87,6 +87,7 @@ export declare class Gridview implements IDisposable {
|
|
|
87
87
|
size?: number;
|
|
88
88
|
orthogonalSize?: number;
|
|
89
89
|
}>;
|
|
90
|
+
get length(): number;
|
|
90
91
|
serialize(): {
|
|
91
92
|
root: SerializedGridObject<any>;
|
|
92
93
|
width: number;
|
|
@@ -102,6 +103,11 @@ export declare class Gridview implements IDisposable {
|
|
|
102
103
|
set orientation(orientation: Orientation);
|
|
103
104
|
private get root();
|
|
104
105
|
private set root(value);
|
|
106
|
+
/**
|
|
107
|
+
* If the root is orientated as a VERTICAL node then nest the existing root within a new HORIZIONTAL root node
|
|
108
|
+
* If the root is orientated as a HORIZONTAL node then nest the existing root within a new VERITCAL root node
|
|
109
|
+
*/
|
|
110
|
+
insertOrthogonalSplitviewAtRoot(): void;
|
|
105
111
|
next(location: number[]): LeafNode;
|
|
106
112
|
previous(location: number[]): LeafNode;
|
|
107
113
|
getView(): GridBranchNode<IGridView>;
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* https://github.com/microsoft/vscode/tree/main/src/vs/base/browser/ui/grid
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Orientation, Sizing, } from '../splitview/core/splitview';
|
|
6
|
-
import { Position } from '../dnd/droptarget';
|
|
7
6
|
import { tail } from '../array';
|
|
8
7
|
import { LeafNode } from './leafNode';
|
|
9
8
|
import { BranchNode } from './branchNode';
|
|
@@ -78,20 +77,18 @@ export function getRelativeLocation(rootOrientation, location, direction) {
|
|
|
78
77
|
if (orientation === directionOrientation) {
|
|
79
78
|
const [rest, _index] = tail(location);
|
|
80
79
|
let index = _index;
|
|
81
|
-
if (direction ===
|
|
80
|
+
if (direction === 'right' || direction === 'bottom') {
|
|
82
81
|
index += 1;
|
|
83
82
|
}
|
|
84
83
|
return [...rest, index];
|
|
85
84
|
}
|
|
86
85
|
else {
|
|
87
|
-
const index = direction ===
|
|
88
|
-
? 1
|
|
89
|
-
: 0;
|
|
86
|
+
const index = direction === 'right' || direction === 'bottom' ? 1 : 0;
|
|
90
87
|
return [...location, index];
|
|
91
88
|
}
|
|
92
89
|
}
|
|
93
90
|
export function getDirectionOrientation(direction) {
|
|
94
|
-
return direction ===
|
|
91
|
+
return direction === 'top' || direction === 'bottom'
|
|
95
92
|
? Orientation.VERTICAL
|
|
96
93
|
: Orientation.HORIZONTAL;
|
|
97
94
|
}
|
|
@@ -126,15 +123,8 @@ const serializeBranchNode = (node, orientation) => {
|
|
|
126
123
|
};
|
|
127
124
|
};
|
|
128
125
|
export class Gridview {
|
|
129
|
-
|
|
130
|
-
this.
|
|
131
|
-
this.styles = styles;
|
|
132
|
-
this.disposable = new MutableDisposable();
|
|
133
|
-
this._onDidChange = new Emitter();
|
|
134
|
-
this.onDidChange = this._onDidChange.event;
|
|
135
|
-
this.element = document.createElement('div');
|
|
136
|
-
this.element.className = 'grid-view';
|
|
137
|
-
this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0);
|
|
126
|
+
get length() {
|
|
127
|
+
return this._root ? this._root.children.length : 0;
|
|
138
128
|
}
|
|
139
129
|
serialize() {
|
|
140
130
|
const root = serializeBranchNode(this.getView(), this.orientation);
|
|
@@ -208,6 +198,32 @@ export class Gridview {
|
|
|
208
198
|
this._onDidChange.fire(e);
|
|
209
199
|
});
|
|
210
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* If the root is orientated as a VERTICAL node then nest the existing root within a new HORIZIONTAL root node
|
|
203
|
+
* If the root is orientated as a HORIZONTAL node then nest the existing root within a new VERITCAL root node
|
|
204
|
+
*/
|
|
205
|
+
insertOrthogonalSplitviewAtRoot() {
|
|
206
|
+
if (!this._root) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
const oldRoot = this.root;
|
|
210
|
+
oldRoot.element.remove();
|
|
211
|
+
this._root = new BranchNode(orthogonal(oldRoot.orientation), this.proportionalLayout, this.styles, this.root.orthogonalSize, this.root.size);
|
|
212
|
+
if (oldRoot.children.length === 1) {
|
|
213
|
+
// can remove one level of redundant branching if there is only a single child
|
|
214
|
+
const childReference = oldRoot.children[0];
|
|
215
|
+
oldRoot.removeChild(0); // remove to prevent disposal when disposing of unwanted root
|
|
216
|
+
oldRoot.dispose();
|
|
217
|
+
this._root.addChild(childReference, Sizing.Distribute, 0);
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
this._root.addChild(oldRoot, Sizing.Distribute, 0);
|
|
221
|
+
}
|
|
222
|
+
this.element.appendChild(this._root.element);
|
|
223
|
+
this.disposable.value = this._root.onDidChange((e) => {
|
|
224
|
+
this._onDidChange.fire(e);
|
|
225
|
+
});
|
|
226
|
+
}
|
|
211
227
|
next(location) {
|
|
212
228
|
return this.progmaticSelect(location);
|
|
213
229
|
}
|
|
@@ -266,6 +282,16 @@ export class Gridview {
|
|
|
266
282
|
get maximumHeight() {
|
|
267
283
|
return this.root.maximumHeight;
|
|
268
284
|
}
|
|
285
|
+
constructor(proportionalLayout, styles, orientation) {
|
|
286
|
+
this.proportionalLayout = proportionalLayout;
|
|
287
|
+
this.styles = styles;
|
|
288
|
+
this.disposable = new MutableDisposable();
|
|
289
|
+
this._onDidChange = new Emitter();
|
|
290
|
+
this.onDidChange = this._onDidChange.event;
|
|
291
|
+
this.element = document.createElement('div');
|
|
292
|
+
this.element.className = 'grid-view';
|
|
293
|
+
this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0);
|
|
294
|
+
}
|
|
269
295
|
isViewVisible(location) {
|
|
270
296
|
const [rest, index] = tail(location);
|
|
271
297
|
const [, parent] = this.getNode(rest);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { SerializedGridObject } from './gridview';
|
|
2
|
-
import { Position } from '../dnd/droptarget';
|
|
3
2
|
import { IPanelDeserializer } from '../dockview/deserializer';
|
|
4
3
|
import { GridviewComponentOptions } from './options';
|
|
5
4
|
import { BaseGrid, Direction, IBaseGrid, IGridPanelView } from './baseComponentGridview';
|
|
@@ -7,6 +6,7 @@ import { GridviewPanel, GridviewInitParameters, GridPanelViewState, IGridviewPan
|
|
|
7
6
|
import { BaseComponentOptions } from '../panel/types';
|
|
8
7
|
import { Orientation, Sizing } from '../splitview/core/splitview';
|
|
9
8
|
import { Event } from '../events';
|
|
9
|
+
import { Position } from '../dnd/droptarget';
|
|
10
10
|
export interface SerializedGridview {
|
|
11
11
|
grid: {
|
|
12
12
|
height: number;
|
|
@@ -30,7 +30,7 @@ export interface AddComponentOptions extends BaseComponentOptions {
|
|
|
30
30
|
export interface IGridPanelComponentView extends IGridPanelView {
|
|
31
31
|
init: (params: GridviewInitParameters) => void;
|
|
32
32
|
}
|
|
33
|
-
export
|
|
33
|
+
export type GridviewComponentUpdateOptions = Pick<GridviewComponentOptions, 'orientation' | 'components' | 'frameworkComponents'>;
|
|
34
34
|
export interface IGridviewComponent extends IBaseGrid<GridviewPanel> {
|
|
35
35
|
readonly orientation: Orientation;
|
|
36
36
|
readonly onDidLayoutFromJSON: Event<void>;
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import { getRelativeLocation, getGridLocation, } from './gridview';
|
|
2
|
-
import { Position } from '../dnd/droptarget';
|
|
3
2
|
import { tail, sequenceEquals } from '../array';
|
|
4
3
|
import { CompositeDisposable } from '../lifecycle';
|
|
5
4
|
import { BaseGrid, toTarget, } from './baseComponentGridview';
|
|
6
5
|
import { createComponent } from '../panel/componentFactory';
|
|
7
6
|
import { Emitter } from '../events';
|
|
8
7
|
export class GridviewComponent extends BaseGrid {
|
|
8
|
+
get orientation() {
|
|
9
|
+
return this.gridview.orientation;
|
|
10
|
+
}
|
|
11
|
+
set orientation(value) {
|
|
12
|
+
this.gridview.orientation = value;
|
|
13
|
+
}
|
|
14
|
+
get options() {
|
|
15
|
+
return this._options;
|
|
16
|
+
}
|
|
17
|
+
get deserializer() {
|
|
18
|
+
return this._deserializer;
|
|
19
|
+
}
|
|
20
|
+
set deserializer(value) {
|
|
21
|
+
this._deserializer = value;
|
|
22
|
+
}
|
|
9
23
|
constructor(element, options) {
|
|
10
24
|
super(element, {
|
|
11
25
|
proportionalLayout: options.proportionalLayout,
|
|
@@ -22,21 +36,6 @@ export class GridviewComponent extends BaseGrid {
|
|
|
22
36
|
this.options.frameworkComponents = {};
|
|
23
37
|
}
|
|
24
38
|
}
|
|
25
|
-
get orientation() {
|
|
26
|
-
return this.gridview.orientation;
|
|
27
|
-
}
|
|
28
|
-
set orientation(value) {
|
|
29
|
-
this.gridview.orientation = value;
|
|
30
|
-
}
|
|
31
|
-
get options() {
|
|
32
|
-
return this._options;
|
|
33
|
-
}
|
|
34
|
-
get deserializer() {
|
|
35
|
-
return this._deserializer;
|
|
36
|
-
}
|
|
37
|
-
set deserializer(value) {
|
|
38
|
-
this._deserializer = value;
|
|
39
|
-
}
|
|
40
39
|
updateOptions(options) {
|
|
41
40
|
const hasOrientationChanged = typeof options.orientation === 'string' &&
|
|
42
41
|
this.gridview.orientation !== options.orientation;
|
|
@@ -134,7 +133,7 @@ export class GridviewComponent extends BaseGrid {
|
|
|
134
133
|
throw new Error(`reference group ${options.reference} does not exist`);
|
|
135
134
|
}
|
|
136
135
|
const target = toTarget(options.direction);
|
|
137
|
-
if (target ===
|
|
136
|
+
if (target === 'center') {
|
|
138
137
|
throw new Error(`${target} not supported as an option`);
|
|
139
138
|
}
|
|
140
139
|
else {
|
|
@@ -152,7 +151,7 @@ export class GridviewComponent extends BaseGrid {
|
|
|
152
151
|
throw new Error(`reference group ${options.position.referencePanel} does not exist`);
|
|
153
152
|
}
|
|
154
153
|
const target = toTarget(options.position.direction);
|
|
155
|
-
if (target ===
|
|
154
|
+
if (target === 'center') {
|
|
156
155
|
throw new Error(`${target} not supported as an option`);
|
|
157
156
|
}
|
|
158
157
|
else {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PanelInitParameters } from '../panel/types';
|
|
2
2
|
import { GridviewComponent, IGridPanelComponentView } from './gridviewComponent';
|
|
3
3
|
import { BasePanelView, BasePanelViewExported, BasePanelViewState } from './basePanelView';
|
|
4
|
-
import { GridviewPanelApiImpl } from '../api/gridviewPanelApi';
|
|
4
|
+
import { GridviewPanelApi, GridviewPanelApiImpl } from '../api/gridviewPanelApi';
|
|
5
5
|
import { LayoutPriority } from '../splitview/core/splitview';
|
|
6
6
|
import { Event } from '../events';
|
|
7
7
|
import { IViewSize } from './gridview';
|
|
@@ -15,7 +15,7 @@ export interface GridviewInitParameters extends PanelInitParameters {
|
|
|
15
15
|
accessor: GridviewComponent;
|
|
16
16
|
isVisible?: boolean;
|
|
17
17
|
}
|
|
18
|
-
export interface IGridviewPanel extends BasePanelViewExported<
|
|
18
|
+
export interface IGridviewPanel extends BasePanelViewExported<GridviewPanelApi> {
|
|
19
19
|
readonly minimumWidth: number;
|
|
20
20
|
readonly maximumWidth: number;
|
|
21
21
|
readonly minimumHeight: number;
|
|
@@ -43,7 +43,7 @@ export declare abstract class GridviewPanel extends BasePanelView<GridviewPanelA
|
|
|
43
43
|
get maximumHeight(): number;
|
|
44
44
|
get maximumWidth(): number;
|
|
45
45
|
get isActive(): boolean;
|
|
46
|
-
constructor(id: string, component: string, api
|
|
46
|
+
constructor(id: string, component: string, api: GridviewPanelApiImpl);
|
|
47
47
|
setVisible(isVisible: boolean): void;
|
|
48
48
|
setActive(isActive: boolean): void;
|
|
49
49
|
init(parameters: GridviewInitParameters): void;
|