dockview 1.5.1 → 1.5.2
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/LICENSE +21 -21
- package/README.md +52 -52
- package/dist/cjs/actionbar/actionsContainer.d.ts +7 -7
- package/dist/cjs/actionbar/actionsContainer.js +26 -26
- package/dist/cjs/api/component.api.d.ts +144 -144
- package/dist/cjs/api/component.api.js +571 -571
- package/dist/cjs/api/gridviewPanelApi.d.ts +36 -36
- package/dist/cjs/api/gridviewPanelApi.js +47 -47
- package/dist/cjs/api/groupPanelApi.d.ts +34 -34
- package/dist/cjs/api/groupPanelApi.js +85 -85
- package/dist/cjs/api/panelApi.d.ts +81 -81
- package/dist/cjs/api/panelApi.js +121 -121
- package/dist/cjs/api/paneviewPanelApi.d.ts +26 -26
- package/dist/cjs/api/paneviewPanelApi.js +57 -57
- package/dist/cjs/api/splitviewPanelApi.d.ts +32 -32
- package/dist/cjs/api/splitviewPanelApi.js +47 -47
- package/dist/cjs/array.d.ts +13 -13
- package/dist/cjs/array.js +77 -77
- package/dist/cjs/dnd/abstractDragHandler.d.ts +11 -11
- package/dist/cjs/dnd/abstractDragHandler.js +115 -115
- package/dist/cjs/dnd/dataTransfer.d.ts +31 -31
- package/dist/cjs/dnd/dataTransfer.js +100 -100
- package/dist/cjs/dnd/dnd.d.ts +27 -27
- package/dist/cjs/dnd/dnd.js +64 -64
- package/dist/cjs/dnd/droptarget.d.ts +37 -37
- package/dist/cjs/dnd/droptarget.js +201 -201
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts +27 -27
- package/dist/cjs/dockview/components/tab/defaultTab.js +121 -121
- package/dist/cjs/dockview/components/watermark/watermark.d.ts +20 -20
- package/dist/cjs/dockview/components/watermark/watermark.js +101 -101
- package/dist/cjs/dockview/defaultGroupPanelView.d.ts +29 -29
- package/dist/cjs/dockview/defaultGroupPanelView.js +68 -68
- package/dist/cjs/dockview/deserializer.d.ts +5 -5
- package/dist/cjs/dockview/deserializer.js +2 -2
- package/dist/cjs/dockview/dockviewComponent.d.ts +125 -125
- package/dist/cjs/dockview/dockviewComponent.js +614 -614
- package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts +31 -31
- package/dist/cjs/dockview/dockviewGroupPanel.js +156 -156
- package/dist/cjs/dockview/options.d.ts +88 -88
- package/dist/cjs/dockview/options.js +2 -2
- package/dist/cjs/dom.d.ts +14 -14
- package/dist/cjs/dom.js +182 -182
- package/dist/cjs/events.d.ts +30 -30
- package/dist/cjs/events.js +129 -129
- package/dist/cjs/gridview/baseComponentGridview.d.ts +87 -87
- package/dist/cjs/gridview/baseComponentGridview.js +279 -279
- package/dist/cjs/gridview/basePanelView.d.ts +43 -43
- package/dist/cjs/gridview/basePanelView.js +123 -123
- package/dist/cjs/gridview/branchNode.d.ts +49 -46
- package/dist/cjs/gridview/branchNode.js +342 -342
- package/dist/cjs/gridview/branchNode.js.map +1 -1
- package/dist/cjs/gridview/gridview.d.ts +126 -123
- package/dist/cjs/gridview/gridview.js +479 -479
- package/dist/cjs/gridview/gridview.js.map +1 -1
- package/dist/cjs/gridview/gridviewComponent.d.ts +85 -85
- package/dist/cjs/gridview/gridviewComponent.js +325 -325
- package/dist/cjs/gridview/gridviewPanel.d.ts +60 -60
- package/dist/cjs/gridview/gridviewPanel.js +202 -202
- package/dist/cjs/gridview/leafNode.d.ts +34 -31
- package/dist/cjs/gridview/leafNode.js +170 -165
- package/dist/cjs/gridview/leafNode.js.map +1 -1
- package/dist/cjs/gridview/options.d.ts +18 -18
- package/dist/cjs/gridview/options.js +2 -2
- package/dist/cjs/gridview/types.d.ts +3 -3
- package/dist/cjs/gridview/types.js +2 -2
- package/dist/cjs/groupview/dnd.d.ts +5 -5
- package/dist/cjs/groupview/dnd.js +9 -9
- package/dist/cjs/groupview/groupPanel.d.ts +32 -32
- package/dist/cjs/groupview/groupPanel.js +2 -2
- package/dist/cjs/groupview/groupview.d.ts +177 -177
- package/dist/cjs/groupview/groupview.js +589 -589
- package/dist/cjs/groupview/groupviewPanel.d.ts +35 -35
- package/dist/cjs/groupview/groupviewPanel.js +128 -128
- package/dist/cjs/groupview/panel/content.d.ts +30 -30
- package/dist/cjs/groupview/panel/content.js +100 -100
- package/dist/cjs/groupview/tab.d.ts +41 -41
- package/dist/cjs/groupview/tab.js +120 -120
- package/dist/cjs/groupview/titlebar/tabsContainer.d.ts +68 -68
- package/dist/cjs/groupview/titlebar/tabsContainer.js +258 -258
- package/dist/cjs/groupview/types.d.ts +52 -52
- package/dist/cjs/groupview/types.js +2 -2
- package/dist/cjs/hostedContainer.d.ts +23 -23
- package/dist/cjs/hostedContainer.js +73 -73
- package/dist/cjs/index.d.ts +30 -30
- package/dist/cjs/index.js +46 -46
- package/dist/cjs/lifecycle.d.ts +22 -22
- package/dist/cjs/lifecycle.js +88 -88
- package/dist/cjs/math.d.ts +4 -4
- package/dist/cjs/math.js +15 -15
- package/dist/cjs/panel/componentFactory.d.ts +8 -8
- package/dist/cjs/panel/componentFactory.js +30 -30
- package/dist/cjs/panel/types.d.ts +33 -33
- package/dist/cjs/panel/types.js +2 -2
- package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +21 -21
- package/dist/cjs/paneview/defaultPaneviewHeader.js +90 -90
- package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +19 -19
- package/dist/cjs/paneview/draggablePaneviewPanel.js +129 -129
- package/dist/cjs/paneview/options.d.ts +27 -27
- package/dist/cjs/paneview/options.js +2 -2
- package/dist/cjs/paneview/paneview.d.ts +40 -40
- package/dist/cjs/paneview/paneview.js +201 -201
- package/dist/cjs/paneview/paneviewComponent.d.ts +129 -129
- package/dist/cjs/paneview/paneviewComponent.js +394 -394
- package/dist/cjs/paneview/paneviewPanel.d.ts +92 -89
- package/dist/cjs/paneview/paneviewPanel.js +274 -274
- package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
- package/dist/cjs/react/deserializer.d.ts +9 -9
- package/dist/cjs/react/deserializer.js +43 -43
- package/dist/cjs/react/dockview/defaultTab.d.ts +4 -4
- package/dist/cjs/react/dockview/defaultTab.js +72 -72
- package/dist/cjs/react/dockview/dockview.d.ts +34 -34
- package/dist/cjs/react/dockview/dockview.js +212 -212
- package/dist/cjs/react/dockview/groupControlsRenderer.d.ts +43 -43
- package/dist/cjs/react/dockview/groupControlsRenderer.js +86 -86
- package/dist/cjs/react/dockview/reactContentPart.d.ts +30 -30
- package/dist/cjs/react/dockview/reactContentPart.js +58 -58
- package/dist/cjs/react/dockview/reactHeaderPart.d.ts +26 -26
- package/dist/cjs/react/dockview/reactHeaderPart.js +55 -55
- package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +29 -29
- package/dist/cjs/react/dockview/reactWatermarkPart.js +65 -65
- package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +29 -29
- package/dist/cjs/react/dockview/v2/reactContentRenderer.js +87 -87
- package/dist/cjs/react/dockview/v2/reactGroupPanelView.d.ts +7 -7
- package/dist/cjs/react/dockview/v2/reactGroupPanelView.js +34 -34
- package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +18 -18
- package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +45 -45
- package/dist/cjs/react/gridview/gridview.d.ts +24 -24
- package/dist/cjs/react/gridview/gridview.js +112 -112
- package/dist/cjs/react/gridview/view.d.ts +11 -11
- package/dist/cjs/react/gridview/view.js +40 -40
- package/dist/cjs/react/index.d.ts +9 -9
- package/dist/cjs/react/index.js +23 -23
- package/dist/cjs/react/paneview/paneview.d.ts +30 -30
- package/dist/cjs/react/paneview/paneview.js +155 -155
- package/dist/cjs/react/paneview/view.d.ts +20 -20
- package/dist/cjs/react/paneview/view.js +44 -44
- package/dist/cjs/react/react.d.ts +36 -36
- package/dist/cjs/react/react.js +194 -194
- package/dist/cjs/react/splitview/splitview.d.ts +24 -24
- package/dist/cjs/react/splitview/splitview.js +108 -108
- package/dist/cjs/react/splitview/view.d.ts +10 -10
- package/dist/cjs/react/splitview/view.js +40 -40
- package/dist/cjs/react/svg.d.ts +3 -3
- package/dist/cjs/react/svg.js +35 -35
- package/dist/cjs/react/types.d.ts +7 -7
- package/dist/cjs/react/types.js +2 -2
- package/dist/cjs/splitview/core/options.d.ts +26 -26
- package/dist/cjs/splitview/core/options.js +2 -2
- package/dist/cjs/splitview/core/splitview.d.ts +127 -124
- package/dist/cjs/splitview/core/splitview.js +908 -908
- package/dist/cjs/splitview/core/splitview.js.map +1 -1
- package/dist/cjs/splitview/core/viewItem.d.ts +25 -25
- package/dist/cjs/splitview/core/viewItem.js +124 -124
- package/dist/cjs/splitview/splitviewComponent.d.ts +101 -101
- package/dist/cjs/splitview/splitviewComponent.js +373 -373
- package/dist/cjs/splitview/splitviewPanel.d.ts +45 -42
- package/dist/cjs/splitview/splitviewPanel.js +178 -178
- package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
- package/dist/cjs/svg.d.ts +3 -3
- package/dist/cjs/svg.js +43 -43
- package/dist/cjs/types.d.ts +7 -7
- package/dist/cjs/types.js +2 -2
- package/dist/dockview.amd.js +6737 -6732
- package/dist/dockview.amd.min.js +2 -2
- package/dist/dockview.amd.min.noStyle.js +2 -2
- package/dist/dockview.amd.noStyle.js +6743 -6738
- package/dist/dockview.cjs.js +6736 -6731
- package/dist/dockview.esm.js +6731 -6726
- package/dist/dockview.esm.min.js +2 -2
- package/dist/dockview.js +6737 -6732
- package/dist/dockview.min.js +2 -2
- package/dist/dockview.min.noStyle.js +2 -2
- package/dist/dockview.noStyle.js +6743 -6738
- package/dist/esm/actionbar/actionsContainer.d.ts +7 -7
- package/dist/esm/actionbar/actionsContainer.js +17 -17
- package/dist/esm/api/component.api.d.ts +144 -144
- package/dist/esm/api/component.api.js +326 -326
- package/dist/esm/api/gridviewPanelApi.d.ts +36 -36
- package/dist/esm/api/gridviewPanelApi.js +25 -25
- package/dist/esm/api/groupPanelApi.d.ts +34 -34
- package/dist/esm/api/groupPanelApi.js +50 -50
- package/dist/esm/api/panelApi.d.ts +81 -81
- package/dist/esm/api/panelApi.js +79 -79
- package/dist/esm/api/paneviewPanelApi.d.ts +26 -26
- package/dist/esm/api/paneviewPanelApi.js +27 -27
- package/dist/esm/api/splitviewPanelApi.d.ts +32 -32
- package/dist/esm/api/splitviewPanelApi.js +25 -25
- package/dist/esm/array.d.ts +13 -13
- package/dist/esm/array.js +67 -67
- package/dist/esm/dnd/abstractDragHandler.d.ts +11 -11
- package/dist/esm/dnd/abstractDragHandler.js +37 -37
- package/dist/esm/dnd/dataTransfer.d.ts +31 -31
- package/dist/esm/dnd/dataTransfer.js +69 -69
- package/dist/esm/dnd/dnd.d.ts +27 -27
- package/dist/esm/dnd/dnd.js +41 -41
- package/dist/esm/dnd/droptarget.d.ts +37 -37
- package/dist/esm/dnd/droptarget.js +167 -167
- package/dist/esm/dockview/components/tab/defaultTab.d.ts +27 -27
- package/dist/esm/dockview/components/tab/defaultTab.js +79 -79
- package/dist/esm/dockview/components/watermark/watermark.d.ts +20 -20
- package/dist/esm/dockview/components/watermark/watermark.js +70 -70
- package/dist/esm/dockview/defaultGroupPanelView.d.ts +29 -29
- package/dist/esm/dockview/defaultGroupPanelView.js +44 -44
- package/dist/esm/dockview/deserializer.d.ts +5 -5
- package/dist/esm/dockview/deserializer.js +1 -1
- package/dist/esm/dockview/dockviewComponent.d.ts +125 -125
- package/dist/esm/dockview/dockviewComponent.js +468 -468
- package/dist/esm/dockview/dockviewGroupPanel.d.ts +31 -31
- package/dist/esm/dockview/dockviewGroupPanel.js +107 -107
- package/dist/esm/dockview/options.d.ts +88 -88
- package/dist/esm/dockview/options.js +1 -1
- package/dist/esm/dom.d.ts +14 -14
- package/dist/esm/dom.js +113 -113
- package/dist/esm/events.d.ts +30 -30
- package/dist/esm/events.js +88 -88
- package/dist/esm/gridview/baseComponentGridview.d.ts +87 -87
- package/dist/esm/gridview/baseComponentGridview.js +189 -189
- package/dist/esm/gridview/basePanelView.d.ts +43 -43
- package/dist/esm/gridview/basePanelView.js +74 -74
- package/dist/esm/gridview/branchNode.d.ts +49 -46
- package/dist/esm/gridview/branchNode.js +218 -218
- package/dist/esm/gridview/gridview.d.ts +126 -123
- package/dist/esm/gridview/gridview.js +397 -397
- package/dist/esm/gridview/gridviewComponent.d.ts +85 -85
- package/dist/esm/gridview/gridviewComponent.js +238 -238
- package/dist/esm/gridview/gridviewPanel.d.ts +60 -60
- package/dist/esm/gridview/gridviewPanel.js +138 -138
- package/dist/esm/gridview/leafNode.d.ts +34 -31
- package/dist/esm/gridview/leafNode.js +103 -98
- package/dist/esm/gridview/options.d.ts +18 -18
- package/dist/esm/gridview/options.js +1 -1
- package/dist/esm/gridview/types.d.ts +3 -3
- package/dist/esm/gridview/types.js +1 -1
- package/dist/esm/groupview/dnd.d.ts +5 -5
- package/dist/esm/groupview/dnd.js +6 -6
- package/dist/esm/groupview/groupPanel.d.ts +32 -32
- package/dist/esm/groupview/groupPanel.js +1 -1
- package/dist/esm/groupview/groupview.d.ts +177 -177
- package/dist/esm/groupview/groupview.js +444 -444
- package/dist/esm/groupview/groupviewPanel.d.ts +35 -35
- package/dist/esm/groupview/groupviewPanel.js +61 -61
- package/dist/esm/groupview/panel/content.d.ts +30 -30
- package/dist/esm/groupview/panel/content.js +73 -73
- package/dist/esm/groupview/tab.d.ts +41 -41
- package/dist/esm/groupview/tab.js +90 -90
- package/dist/esm/groupview/titlebar/tabsContainer.d.ts +68 -68
- package/dist/esm/groupview/titlebar/tabsContainer.js +190 -190
- package/dist/esm/groupview/types.d.ts +52 -52
- package/dist/esm/groupview/types.js +1 -1
- package/dist/esm/hostedContainer.d.ts +23 -23
- package/dist/esm/hostedContainer.js +63 -63
- package/dist/esm/index.d.ts +30 -30
- package/dist/esm/index.js +23 -23
- package/dist/esm/lifecycle.d.ts +22 -22
- package/dist/esm/lifecycle.js +39 -39
- package/dist/esm/math.d.ts +4 -4
- package/dist/esm/math.js +10 -10
- package/dist/esm/panel/componentFactory.d.ts +8 -8
- package/dist/esm/panel/componentFactory.js +24 -24
- package/dist/esm/panel/types.d.ts +33 -33
- package/dist/esm/panel/types.js +1 -1
- package/dist/esm/paneview/defaultPaneviewHeader.d.ts +21 -21
- package/dist/esm/paneview/defaultPaneviewHeader.js +63 -63
- package/dist/esm/paneview/draggablePaneviewPanel.d.ts +19 -19
- package/dist/esm/paneview/draggablePaneviewPanel.js +90 -90
- package/dist/esm/paneview/options.d.ts +27 -27
- package/dist/esm/paneview/options.js +1 -1
- package/dist/esm/paneview/paneview.d.ts +40 -40
- package/dist/esm/paneview/paneview.js +145 -145
- package/dist/esm/paneview/paneviewComponent.d.ts +129 -129
- package/dist/esm/paneview/paneviewComponent.js +270 -270
- package/dist/esm/paneview/paneviewPanel.d.ts +92 -89
- package/dist/esm/paneview/paneviewPanel.js +191 -191
- package/dist/esm/react/deserializer.d.ts +9 -9
- package/dist/esm/react/deserializer.js +38 -38
- package/dist/esm/react/dockview/defaultTab.d.ts +4 -4
- package/dist/esm/react/dockview/defaultTab.js +34 -34
- package/dist/esm/react/dockview/dockview.d.ts +34 -34
- package/dist/esm/react/dockview/dockview.js +157 -157
- package/dist/esm/react/dockview/groupControlsRenderer.d.ts +43 -43
- package/dist/esm/react/dockview/groupControlsRenderer.js +68 -68
- package/dist/esm/react/dockview/reactContentPart.d.ts +30 -30
- package/dist/esm/react/dockview/reactContentPart.js +49 -49
- package/dist/esm/react/dockview/reactHeaderPart.d.ts +26 -26
- package/dist/esm/react/dockview/reactHeaderPart.js +46 -46
- package/dist/esm/react/dockview/reactWatermarkPart.d.ts +29 -29
- package/dist/esm/react/dockview/reactWatermarkPart.js +55 -55
- package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +29 -29
- package/dist/esm/react/dockview/v2/reactContentRenderer.js +69 -69
- package/dist/esm/react/dockview/v2/reactGroupPanelView.d.ts +7 -7
- package/dist/esm/react/dockview/v2/reactGroupPanelView.js +12 -12
- package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +18 -18
- package/dist/esm/react/dockview/v2/webviewContentRenderer.js +36 -36
- package/dist/esm/react/gridview/gridview.d.ts +24 -24
- package/dist/esm/react/gridview/gridview.js +70 -70
- package/dist/esm/react/gridview/view.d.ts +11 -11
- package/dist/esm/react/gridview/view.js +18 -18
- package/dist/esm/react/index.d.ts +9 -9
- package/dist/esm/react/index.js +7 -7
- package/dist/esm/react/paneview/paneview.d.ts +30 -30
- package/dist/esm/react/paneview/paneview.js +100 -100
- package/dist/esm/react/paneview/view.d.ts +20 -20
- package/dist/esm/react/paneview/view.js +35 -35
- package/dist/esm/react/react.d.ts +36 -36
- package/dist/esm/react/react.js +125 -125
- package/dist/esm/react/splitview/splitview.d.ts +24 -24
- package/dist/esm/react/splitview/splitview.js +66 -66
- package/dist/esm/react/splitview/view.d.ts +10 -10
- package/dist/esm/react/splitview/view.js +18 -18
- package/dist/esm/react/svg.d.ts +3 -3
- package/dist/esm/react/svg.js +7 -7
- package/dist/esm/react/types.d.ts +7 -7
- package/dist/esm/react/types.js +1 -1
- package/dist/esm/splitview/core/options.d.ts +26 -26
- package/dist/esm/splitview/core/options.js +1 -1
- package/dist/esm/splitview/core/splitview.d.ts +127 -124
- package/dist/esm/splitview/core/splitview.js +689 -689
- package/dist/esm/splitview/core/viewItem.d.ts +25 -25
- package/dist/esm/splitview/core/viewItem.js +79 -79
- package/dist/esm/splitview/splitviewComponent.d.ts +101 -101
- package/dist/esm/splitview/splitviewComponent.js +249 -249
- package/dist/esm/splitview/splitviewPanel.d.ts +45 -42
- package/dist/esm/splitview/splitviewPanel.js +107 -107
- package/dist/esm/svg.d.ts +3 -3
- package/dist/esm/svg.js +31 -31
- package/dist/esm/types.d.ts +7 -7
- package/dist/esm/types.js +1 -1
- package/package.json +2 -2
|
@@ -1,89 +1,92 @@
|
|
|
1
|
-
import { PaneviewApi } from '../api/component.api';
|
|
2
|
-
import { PaneviewPanelApiImpl } from '../api/paneviewPanelApi';
|
|
3
|
-
import { Event } from '../events';
|
|
4
|
-
import { BasePanelView, BasePanelViewExported, BasePanelViewState } from '../gridview/basePanelView';
|
|
5
|
-
import { IDisposable } from '../lifecycle';
|
|
6
|
-
import { IFrameworkPart, PanelInitParameters, PanelUpdateEvent } from '../panel/types';
|
|
7
|
-
import { IView, Orientation } from '../splitview/core/splitview';
|
|
8
|
-
export interface PanePanelViewState extends BasePanelViewState {
|
|
9
|
-
headerComponent?: string;
|
|
10
|
-
title: string;
|
|
11
|
-
}
|
|
12
|
-
export interface PanePanelInitParameter extends PanelInitParameters {
|
|
13
|
-
minimumBodySize?: number;
|
|
14
|
-
maximumBodySize?: number;
|
|
15
|
-
isExpanded?: boolean;
|
|
16
|
-
title: string;
|
|
17
|
-
containerApi: PaneviewApi;
|
|
18
|
-
}
|
|
19
|
-
export interface PanePanelComponentInitParameter extends PanePanelInitParameter {
|
|
20
|
-
api: PaneviewPanelApiImpl;
|
|
21
|
-
}
|
|
22
|
-
export interface IPaneBodyPart extends IDisposable {
|
|
23
|
-
readonly element: HTMLElement;
|
|
24
|
-
update(params: PanelUpdateEvent): void;
|
|
25
|
-
init(parameters: PanePanelComponentInitParameter): void;
|
|
26
|
-
}
|
|
27
|
-
export interface IPaneHeaderPart extends IDisposable {
|
|
28
|
-
readonly element: HTMLElement;
|
|
29
|
-
update(params: PanelUpdateEvent): void;
|
|
30
|
-
init(parameters: PanePanelComponentInitParameter): void;
|
|
31
|
-
}
|
|
32
|
-
export interface IPaneview extends IView {
|
|
33
|
-
onDidChangeExpansionState: Event<boolean>;
|
|
34
|
-
}
|
|
35
|
-
export interface IPaneviewPanel extends BasePanelViewExported<PaneviewPanelApiImpl> {
|
|
36
|
-
readonly minimumSize: number;
|
|
37
|
-
readonly maximumSize: number;
|
|
38
|
-
readonly minimumBodySize: number;
|
|
39
|
-
readonly maximumBodySize: number;
|
|
40
|
-
isExpanded(): boolean;
|
|
41
|
-
setExpanded(isExpanded: boolean): void;
|
|
42
|
-
headerVisible: boolean;
|
|
43
|
-
}
|
|
44
|
-
export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelApiImpl> implements IPaneview, IPaneviewPanel {
|
|
45
|
-
private readonly headerComponent;
|
|
46
|
-
private _onDidChangeExpansionState;
|
|
47
|
-
onDidChangeExpansionState: Event<boolean>;
|
|
48
|
-
private readonly _onDidChange;
|
|
49
|
-
readonly onDidChange: Event<
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
private
|
|
54
|
-
private
|
|
55
|
-
private
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
private
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
private
|
|
62
|
-
private
|
|
63
|
-
private
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
get
|
|
69
|
-
get
|
|
70
|
-
|
|
71
|
-
get
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
1
|
+
import { PaneviewApi } from '../api/component.api';
|
|
2
|
+
import { PaneviewPanelApiImpl } from '../api/paneviewPanelApi';
|
|
3
|
+
import { Event } from '../events';
|
|
4
|
+
import { BasePanelView, BasePanelViewExported, BasePanelViewState } from '../gridview/basePanelView';
|
|
5
|
+
import { IDisposable } from '../lifecycle';
|
|
6
|
+
import { IFrameworkPart, PanelInitParameters, PanelUpdateEvent } from '../panel/types';
|
|
7
|
+
import { IView, Orientation } from '../splitview/core/splitview';
|
|
8
|
+
export interface PanePanelViewState extends BasePanelViewState {
|
|
9
|
+
headerComponent?: string;
|
|
10
|
+
title: string;
|
|
11
|
+
}
|
|
12
|
+
export interface PanePanelInitParameter extends PanelInitParameters {
|
|
13
|
+
minimumBodySize?: number;
|
|
14
|
+
maximumBodySize?: number;
|
|
15
|
+
isExpanded?: boolean;
|
|
16
|
+
title: string;
|
|
17
|
+
containerApi: PaneviewApi;
|
|
18
|
+
}
|
|
19
|
+
export interface PanePanelComponentInitParameter extends PanePanelInitParameter {
|
|
20
|
+
api: PaneviewPanelApiImpl;
|
|
21
|
+
}
|
|
22
|
+
export interface IPaneBodyPart extends IDisposable {
|
|
23
|
+
readonly element: HTMLElement;
|
|
24
|
+
update(params: PanelUpdateEvent): void;
|
|
25
|
+
init(parameters: PanePanelComponentInitParameter): void;
|
|
26
|
+
}
|
|
27
|
+
export interface IPaneHeaderPart extends IDisposable {
|
|
28
|
+
readonly element: HTMLElement;
|
|
29
|
+
update(params: PanelUpdateEvent): void;
|
|
30
|
+
init(parameters: PanePanelComponentInitParameter): void;
|
|
31
|
+
}
|
|
32
|
+
export interface IPaneview extends IView {
|
|
33
|
+
onDidChangeExpansionState: Event<boolean>;
|
|
34
|
+
}
|
|
35
|
+
export interface IPaneviewPanel extends BasePanelViewExported<PaneviewPanelApiImpl> {
|
|
36
|
+
readonly minimumSize: number;
|
|
37
|
+
readonly maximumSize: number;
|
|
38
|
+
readonly minimumBodySize: number;
|
|
39
|
+
readonly maximumBodySize: number;
|
|
40
|
+
isExpanded(): boolean;
|
|
41
|
+
setExpanded(isExpanded: boolean): void;
|
|
42
|
+
headerVisible: boolean;
|
|
43
|
+
}
|
|
44
|
+
export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelApiImpl> implements IPaneview, IPaneviewPanel {
|
|
45
|
+
private readonly headerComponent;
|
|
46
|
+
private _onDidChangeExpansionState;
|
|
47
|
+
onDidChangeExpansionState: Event<boolean>;
|
|
48
|
+
private readonly _onDidChange;
|
|
49
|
+
readonly onDidChange: Event<{
|
|
50
|
+
size?: number;
|
|
51
|
+
orthogonalSize?: number;
|
|
52
|
+
}>;
|
|
53
|
+
private headerSize;
|
|
54
|
+
private _orthogonalSize;
|
|
55
|
+
private _size;
|
|
56
|
+
private _minimumBodySize;
|
|
57
|
+
private _maximumBodySize;
|
|
58
|
+
private _isExpanded;
|
|
59
|
+
protected header?: HTMLElement;
|
|
60
|
+
protected body?: HTMLElement;
|
|
61
|
+
private bodyPart?;
|
|
62
|
+
private headerPart?;
|
|
63
|
+
private expandedSize;
|
|
64
|
+
private animationTimer;
|
|
65
|
+
private _orientation;
|
|
66
|
+
private _headerVisible;
|
|
67
|
+
set orientation(value: Orientation);
|
|
68
|
+
get orientation(): Orientation;
|
|
69
|
+
get minimumSize(): number;
|
|
70
|
+
get maximumSize(): number;
|
|
71
|
+
get size(): number;
|
|
72
|
+
get orthogonalSize(): number;
|
|
73
|
+
set orthogonalSize(size: number);
|
|
74
|
+
get minimumBodySize(): number;
|
|
75
|
+
set minimumBodySize(value: number);
|
|
76
|
+
get maximumBodySize(): number;
|
|
77
|
+
set maximumBodySize(value: number);
|
|
78
|
+
get headerVisible(): boolean;
|
|
79
|
+
set headerVisible(value: boolean);
|
|
80
|
+
constructor(id: string, component: string, headerComponent: string | undefined, orientation: Orientation, isExpanded: boolean, isHeaderVisible: boolean);
|
|
81
|
+
setVisible(isVisible: boolean): void;
|
|
82
|
+
setActive(isActive: boolean): void;
|
|
83
|
+
isExpanded(): boolean;
|
|
84
|
+
setExpanded(expanded: boolean): void;
|
|
85
|
+
layout(size: number, orthogonalSize: number): void;
|
|
86
|
+
init(parameters: PanePanelInitParameter): void;
|
|
87
|
+
toJSON(): PanePanelViewState;
|
|
88
|
+
private renderOnce;
|
|
89
|
+
getComponent(): IFrameworkPart;
|
|
90
|
+
protected abstract getBodyComponent(): IPaneBodyPart;
|
|
91
|
+
protected abstract getHeaderComponent(): IPaneHeaderPart;
|
|
92
|
+
}
|
|
@@ -1,191 +1,191 @@
|
|
|
1
|
-
import { PaneviewPanelApiImpl } from '../api/paneviewPanelApi';
|
|
2
|
-
import { addClasses, removeClasses } from '../dom';
|
|
3
|
-
import { addDisposableListener, Emitter } from '../events';
|
|
4
|
-
import { BasePanelView, } from '../gridview/basePanelView';
|
|
5
|
-
import { Orientation } from '../splitview/core/splitview';
|
|
6
|
-
export class PaneviewPanel extends BasePanelView {
|
|
7
|
-
constructor(id, component, headerComponent, orientation, isExpanded, isHeaderVisible) {
|
|
8
|
-
super(id, component, new PaneviewPanelApiImpl(id));
|
|
9
|
-
this.headerComponent = headerComponent;
|
|
10
|
-
this._onDidChangeExpansionState = new Emitter({ replay: true });
|
|
11
|
-
this.onDidChangeExpansionState = this._onDidChangeExpansionState.event;
|
|
12
|
-
this._onDidChange = new Emitter();
|
|
13
|
-
this.onDidChange = this._onDidChange.event;
|
|
14
|
-
this.headerSize = 22;
|
|
15
|
-
this._orthogonalSize = 0;
|
|
16
|
-
this._size = 0;
|
|
17
|
-
this._minimumBodySize = 100;
|
|
18
|
-
this._maximumBodySize = Number.POSITIVE_INFINITY;
|
|
19
|
-
this._isExpanded = false;
|
|
20
|
-
this.expandedSize = 0;
|
|
21
|
-
this.api.pane = this; // TODO cannot use 'this' before 'super'
|
|
22
|
-
this._isExpanded = isExpanded;
|
|
23
|
-
this._headerVisible = isHeaderVisible;
|
|
24
|
-
this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
|
|
25
|
-
this._orientation = orientation;
|
|
26
|
-
this.element.classList.add('pane');
|
|
27
|
-
this.addDisposables(this.api.onDidSizeChange((event) => {
|
|
28
|
-
this._onDidChange.fire(event.size);
|
|
29
|
-
}), addDisposableListener(this.element, 'mouseenter', (ev) => {
|
|
30
|
-
this.api._onMouseEnter.fire(ev);
|
|
31
|
-
}), addDisposableListener(this.element, 'mouseleave', (ev) => {
|
|
32
|
-
this.api._onMouseLeave.fire(ev);
|
|
33
|
-
}));
|
|
34
|
-
this.addDisposables(this._onDidChangeExpansionState, this.onDidChangeExpansionState((isPanelExpanded) => {
|
|
35
|
-
this.api._onDidExpansionChange.fire({
|
|
36
|
-
isExpanded: isPanelExpanded,
|
|
37
|
-
});
|
|
38
|
-
}), this.api.onDidFocusChange((e) => {
|
|
39
|
-
if (!this.header) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
if (e.isFocused) {
|
|
43
|
-
addClasses(this.header, 'focused');
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
removeClasses(this.header, 'focused');
|
|
47
|
-
}
|
|
48
|
-
}));
|
|
49
|
-
this.renderOnce();
|
|
50
|
-
}
|
|
51
|
-
set orientation(value) {
|
|
52
|
-
this._orientation = value;
|
|
53
|
-
}
|
|
54
|
-
get orientation() {
|
|
55
|
-
return this._orientation;
|
|
56
|
-
}
|
|
57
|
-
get minimumSize() {
|
|
58
|
-
const headerSize = this.headerSize;
|
|
59
|
-
const expanded = this.isExpanded();
|
|
60
|
-
const minimumBodySize = expanded ? this._minimumBodySize : 0;
|
|
61
|
-
return headerSize + minimumBodySize;
|
|
62
|
-
}
|
|
63
|
-
get maximumSize() {
|
|
64
|
-
const headerSize = this.headerSize;
|
|
65
|
-
const expanded = this.isExpanded();
|
|
66
|
-
const maximumBodySize = expanded ? this._maximumBodySize : 0;
|
|
67
|
-
return headerSize + maximumBodySize;
|
|
68
|
-
}
|
|
69
|
-
get size() {
|
|
70
|
-
return this._size;
|
|
71
|
-
}
|
|
72
|
-
get orthogonalSize() {
|
|
73
|
-
return this._orthogonalSize;
|
|
74
|
-
}
|
|
75
|
-
set orthogonalSize(size) {
|
|
76
|
-
this._orthogonalSize = size;
|
|
77
|
-
}
|
|
78
|
-
get minimumBodySize() {
|
|
79
|
-
return this._minimumBodySize;
|
|
80
|
-
}
|
|
81
|
-
set minimumBodySize(value) {
|
|
82
|
-
this._minimumBodySize = typeof value === 'number' ? value : 0;
|
|
83
|
-
}
|
|
84
|
-
get maximumBodySize() {
|
|
85
|
-
return this._maximumBodySize;
|
|
86
|
-
}
|
|
87
|
-
set maximumBodySize(value) {
|
|
88
|
-
this._maximumBodySize =
|
|
89
|
-
typeof value === 'number' ? value : Number.POSITIVE_INFINITY;
|
|
90
|
-
}
|
|
91
|
-
get headerVisible() {
|
|
92
|
-
return this._headerVisible;
|
|
93
|
-
}
|
|
94
|
-
set headerVisible(value) {
|
|
95
|
-
this._headerVisible = value;
|
|
96
|
-
this.header.style.display = value ? '' : 'none';
|
|
97
|
-
}
|
|
98
|
-
setVisible(isVisible) {
|
|
99
|
-
this.api._onDidVisibilityChange.fire({ isVisible });
|
|
100
|
-
}
|
|
101
|
-
setActive(isActive) {
|
|
102
|
-
this.api._onDidActiveChange.fire({ isActive });
|
|
103
|
-
}
|
|
104
|
-
isExpanded() {
|
|
105
|
-
return this._isExpanded;
|
|
106
|
-
}
|
|
107
|
-
setExpanded(expanded) {
|
|
108
|
-
if (this._isExpanded === expanded) {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
this._isExpanded = expanded;
|
|
112
|
-
if (expanded) {
|
|
113
|
-
if (this.animationTimer) {
|
|
114
|
-
clearTimeout(this.animationTimer);
|
|
115
|
-
}
|
|
116
|
-
if (this.body) {
|
|
117
|
-
this.element.appendChild(this.body);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
this.animationTimer = setTimeout(() => {
|
|
122
|
-
var _a;
|
|
123
|
-
(_a = this.body) === null || _a === void 0 ? void 0 : _a.remove();
|
|
124
|
-
}, 200);
|
|
125
|
-
}
|
|
126
|
-
this._onDidChange.fire(expanded ? this.width :
|
|
127
|
-
this._onDidChangeExpansionState.fire(expanded);
|
|
128
|
-
}
|
|
129
|
-
layout(size, orthogonalSize) {
|
|
130
|
-
this._size = size;
|
|
131
|
-
this._orthogonalSize = orthogonalSize;
|
|
132
|
-
const [width, height] = this.orientation === Orientation.HORIZONTAL
|
|
133
|
-
? [size, orthogonalSize]
|
|
134
|
-
: [orthogonalSize, size];
|
|
135
|
-
if (this.isExpanded()) {
|
|
136
|
-
this.expandedSize = width;
|
|
137
|
-
}
|
|
138
|
-
super.layout(width, height);
|
|
139
|
-
}
|
|
140
|
-
init(parameters) {
|
|
141
|
-
var _a, _b;
|
|
142
|
-
super.init(parameters);
|
|
143
|
-
if (typeof parameters.minimumBodySize === 'number') {
|
|
144
|
-
this.minimumBodySize = parameters.minimumBodySize;
|
|
145
|
-
}
|
|
146
|
-
if (typeof parameters.maximumBodySize === 'number') {
|
|
147
|
-
this.maximumBodySize = parameters.maximumBodySize;
|
|
148
|
-
}
|
|
149
|
-
this.bodyPart = this.getBodyComponent();
|
|
150
|
-
this.headerPart = this.getHeaderComponent();
|
|
151
|
-
this.bodyPart.init(Object.assign(Object.assign({}, parameters), { api: this.api }));
|
|
152
|
-
this.headerPart.init(Object.assign(Object.assign({}, parameters), { api: this.api }));
|
|
153
|
-
(_a = this.body) === null || _a === void 0 ? void 0 : _a.append(this.bodyPart.element);
|
|
154
|
-
(_b = this.header) === null || _b === void 0 ? void 0 : _b.append(this.headerPart.element);
|
|
155
|
-
if (typeof parameters.isExpanded === 'boolean') {
|
|
156
|
-
this.setExpanded(parameters.isExpanded);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
toJSON() {
|
|
160
|
-
const params = this._params;
|
|
161
|
-
return Object.assign(Object.assign({}, super.toJSON()), { headerComponent: this.headerComponent, title: params.title });
|
|
162
|
-
}
|
|
163
|
-
renderOnce() {
|
|
164
|
-
this.header = document.createElement('div');
|
|
165
|
-
this.header.tabIndex = 0;
|
|
166
|
-
this.header.className = 'pane-header';
|
|
167
|
-
this.header.style.height = `${this.headerSize}px`;
|
|
168
|
-
this.header.style.lineHeight = `${this.headerSize}px`;
|
|
169
|
-
this.header.style.minHeight = `${this.headerSize}px`;
|
|
170
|
-
this.header.style.maxHeight = `${this.headerSize}px`;
|
|
171
|
-
this.element.appendChild(this.header);
|
|
172
|
-
this.body = document.createElement('div');
|
|
173
|
-
this.body.className = 'pane-body';
|
|
174
|
-
this.element.appendChild(this.body);
|
|
175
|
-
}
|
|
176
|
-
// TODO slightly hacky by-pass of the component to create a body and header component
|
|
177
|
-
getComponent() {
|
|
178
|
-
return {
|
|
179
|
-
update: (params) => {
|
|
180
|
-
var _a, _b;
|
|
181
|
-
(_a = this.bodyPart) === null || _a === void 0 ? void 0 : _a.update({ params });
|
|
182
|
-
(_b = this.headerPart) === null || _b === void 0 ? void 0 : _b.update({ params });
|
|
183
|
-
},
|
|
184
|
-
dispose: () => {
|
|
185
|
-
var _a, _b;
|
|
186
|
-
(_a = this.bodyPart) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
187
|
-
(_b = this.headerPart) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
188
|
-
},
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
}
|
|
1
|
+
import { PaneviewPanelApiImpl } from '../api/paneviewPanelApi';
|
|
2
|
+
import { addClasses, removeClasses } from '../dom';
|
|
3
|
+
import { addDisposableListener, Emitter } from '../events';
|
|
4
|
+
import { BasePanelView, } from '../gridview/basePanelView';
|
|
5
|
+
import { Orientation } from '../splitview/core/splitview';
|
|
6
|
+
export class PaneviewPanel extends BasePanelView {
|
|
7
|
+
constructor(id, component, headerComponent, orientation, isExpanded, isHeaderVisible) {
|
|
8
|
+
super(id, component, new PaneviewPanelApiImpl(id));
|
|
9
|
+
this.headerComponent = headerComponent;
|
|
10
|
+
this._onDidChangeExpansionState = new Emitter({ replay: true });
|
|
11
|
+
this.onDidChangeExpansionState = this._onDidChangeExpansionState.event;
|
|
12
|
+
this._onDidChange = new Emitter();
|
|
13
|
+
this.onDidChange = this._onDidChange.event;
|
|
14
|
+
this.headerSize = 22;
|
|
15
|
+
this._orthogonalSize = 0;
|
|
16
|
+
this._size = 0;
|
|
17
|
+
this._minimumBodySize = 100;
|
|
18
|
+
this._maximumBodySize = Number.POSITIVE_INFINITY;
|
|
19
|
+
this._isExpanded = false;
|
|
20
|
+
this.expandedSize = 0;
|
|
21
|
+
this.api.pane = this; // TODO cannot use 'this' before 'super'
|
|
22
|
+
this._isExpanded = isExpanded;
|
|
23
|
+
this._headerVisible = isHeaderVisible;
|
|
24
|
+
this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
|
|
25
|
+
this._orientation = orientation;
|
|
26
|
+
this.element.classList.add('pane');
|
|
27
|
+
this.addDisposables(this.api.onDidSizeChange((event) => {
|
|
28
|
+
this._onDidChange.fire({ size: event.size });
|
|
29
|
+
}), addDisposableListener(this.element, 'mouseenter', (ev) => {
|
|
30
|
+
this.api._onMouseEnter.fire(ev);
|
|
31
|
+
}), addDisposableListener(this.element, 'mouseleave', (ev) => {
|
|
32
|
+
this.api._onMouseLeave.fire(ev);
|
|
33
|
+
}));
|
|
34
|
+
this.addDisposables(this._onDidChangeExpansionState, this.onDidChangeExpansionState((isPanelExpanded) => {
|
|
35
|
+
this.api._onDidExpansionChange.fire({
|
|
36
|
+
isExpanded: isPanelExpanded,
|
|
37
|
+
});
|
|
38
|
+
}), this.api.onDidFocusChange((e) => {
|
|
39
|
+
if (!this.header) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (e.isFocused) {
|
|
43
|
+
addClasses(this.header, 'focused');
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
removeClasses(this.header, 'focused');
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
49
|
+
this.renderOnce();
|
|
50
|
+
}
|
|
51
|
+
set orientation(value) {
|
|
52
|
+
this._orientation = value;
|
|
53
|
+
}
|
|
54
|
+
get orientation() {
|
|
55
|
+
return this._orientation;
|
|
56
|
+
}
|
|
57
|
+
get minimumSize() {
|
|
58
|
+
const headerSize = this.headerSize;
|
|
59
|
+
const expanded = this.isExpanded();
|
|
60
|
+
const minimumBodySize = expanded ? this._minimumBodySize : 0;
|
|
61
|
+
return headerSize + minimumBodySize;
|
|
62
|
+
}
|
|
63
|
+
get maximumSize() {
|
|
64
|
+
const headerSize = this.headerSize;
|
|
65
|
+
const expanded = this.isExpanded();
|
|
66
|
+
const maximumBodySize = expanded ? this._maximumBodySize : 0;
|
|
67
|
+
return headerSize + maximumBodySize;
|
|
68
|
+
}
|
|
69
|
+
get size() {
|
|
70
|
+
return this._size;
|
|
71
|
+
}
|
|
72
|
+
get orthogonalSize() {
|
|
73
|
+
return this._orthogonalSize;
|
|
74
|
+
}
|
|
75
|
+
set orthogonalSize(size) {
|
|
76
|
+
this._orthogonalSize = size;
|
|
77
|
+
}
|
|
78
|
+
get minimumBodySize() {
|
|
79
|
+
return this._minimumBodySize;
|
|
80
|
+
}
|
|
81
|
+
set minimumBodySize(value) {
|
|
82
|
+
this._minimumBodySize = typeof value === 'number' ? value : 0;
|
|
83
|
+
}
|
|
84
|
+
get maximumBodySize() {
|
|
85
|
+
return this._maximumBodySize;
|
|
86
|
+
}
|
|
87
|
+
set maximumBodySize(value) {
|
|
88
|
+
this._maximumBodySize =
|
|
89
|
+
typeof value === 'number' ? value : Number.POSITIVE_INFINITY;
|
|
90
|
+
}
|
|
91
|
+
get headerVisible() {
|
|
92
|
+
return this._headerVisible;
|
|
93
|
+
}
|
|
94
|
+
set headerVisible(value) {
|
|
95
|
+
this._headerVisible = value;
|
|
96
|
+
this.header.style.display = value ? '' : 'none';
|
|
97
|
+
}
|
|
98
|
+
setVisible(isVisible) {
|
|
99
|
+
this.api._onDidVisibilityChange.fire({ isVisible });
|
|
100
|
+
}
|
|
101
|
+
setActive(isActive) {
|
|
102
|
+
this.api._onDidActiveChange.fire({ isActive });
|
|
103
|
+
}
|
|
104
|
+
isExpanded() {
|
|
105
|
+
return this._isExpanded;
|
|
106
|
+
}
|
|
107
|
+
setExpanded(expanded) {
|
|
108
|
+
if (this._isExpanded === expanded) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
this._isExpanded = expanded;
|
|
112
|
+
if (expanded) {
|
|
113
|
+
if (this.animationTimer) {
|
|
114
|
+
clearTimeout(this.animationTimer);
|
|
115
|
+
}
|
|
116
|
+
if (this.body) {
|
|
117
|
+
this.element.appendChild(this.body);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
this.animationTimer = setTimeout(() => {
|
|
122
|
+
var _a;
|
|
123
|
+
(_a = this.body) === null || _a === void 0 ? void 0 : _a.remove();
|
|
124
|
+
}, 200);
|
|
125
|
+
}
|
|
126
|
+
this._onDidChange.fire(expanded ? { size: this.width } : {});
|
|
127
|
+
this._onDidChangeExpansionState.fire(expanded);
|
|
128
|
+
}
|
|
129
|
+
layout(size, orthogonalSize) {
|
|
130
|
+
this._size = size;
|
|
131
|
+
this._orthogonalSize = orthogonalSize;
|
|
132
|
+
const [width, height] = this.orientation === Orientation.HORIZONTAL
|
|
133
|
+
? [size, orthogonalSize]
|
|
134
|
+
: [orthogonalSize, size];
|
|
135
|
+
if (this.isExpanded()) {
|
|
136
|
+
this.expandedSize = width;
|
|
137
|
+
}
|
|
138
|
+
super.layout(width, height);
|
|
139
|
+
}
|
|
140
|
+
init(parameters) {
|
|
141
|
+
var _a, _b;
|
|
142
|
+
super.init(parameters);
|
|
143
|
+
if (typeof parameters.minimumBodySize === 'number') {
|
|
144
|
+
this.minimumBodySize = parameters.minimumBodySize;
|
|
145
|
+
}
|
|
146
|
+
if (typeof parameters.maximumBodySize === 'number') {
|
|
147
|
+
this.maximumBodySize = parameters.maximumBodySize;
|
|
148
|
+
}
|
|
149
|
+
this.bodyPart = this.getBodyComponent();
|
|
150
|
+
this.headerPart = this.getHeaderComponent();
|
|
151
|
+
this.bodyPart.init(Object.assign(Object.assign({}, parameters), { api: this.api }));
|
|
152
|
+
this.headerPart.init(Object.assign(Object.assign({}, parameters), { api: this.api }));
|
|
153
|
+
(_a = this.body) === null || _a === void 0 ? void 0 : _a.append(this.bodyPart.element);
|
|
154
|
+
(_b = this.header) === null || _b === void 0 ? void 0 : _b.append(this.headerPart.element);
|
|
155
|
+
if (typeof parameters.isExpanded === 'boolean') {
|
|
156
|
+
this.setExpanded(parameters.isExpanded);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
toJSON() {
|
|
160
|
+
const params = this._params;
|
|
161
|
+
return Object.assign(Object.assign({}, super.toJSON()), { headerComponent: this.headerComponent, title: params.title });
|
|
162
|
+
}
|
|
163
|
+
renderOnce() {
|
|
164
|
+
this.header = document.createElement('div');
|
|
165
|
+
this.header.tabIndex = 0;
|
|
166
|
+
this.header.className = 'pane-header';
|
|
167
|
+
this.header.style.height = `${this.headerSize}px`;
|
|
168
|
+
this.header.style.lineHeight = `${this.headerSize}px`;
|
|
169
|
+
this.header.style.minHeight = `${this.headerSize}px`;
|
|
170
|
+
this.header.style.maxHeight = `${this.headerSize}px`;
|
|
171
|
+
this.element.appendChild(this.header);
|
|
172
|
+
this.body = document.createElement('div');
|
|
173
|
+
this.body.className = 'pane-body';
|
|
174
|
+
this.element.appendChild(this.body);
|
|
175
|
+
}
|
|
176
|
+
// TODO slightly hacky by-pass of the component to create a body and header component
|
|
177
|
+
getComponent() {
|
|
178
|
+
return {
|
|
179
|
+
update: (params) => {
|
|
180
|
+
var _a, _b;
|
|
181
|
+
(_a = this.bodyPart) === null || _a === void 0 ? void 0 : _a.update({ params });
|
|
182
|
+
(_b = this.headerPart) === null || _b === void 0 ? void 0 : _b.update({ params });
|
|
183
|
+
},
|
|
184
|
+
dispose: () => {
|
|
185
|
+
var _a, _b;
|
|
186
|
+
(_a = this.bodyPart) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
187
|
+
(_b = this.headerPart) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
188
|
+
},
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { DockviewComponent } from '../dockview/dockviewComponent';
|
|
2
|
-
import { GroupviewPanelState, IDockviewPanel } from '../groupview/groupPanel';
|
|
3
|
-
import { IPanelDeserializer } from '../dockview/deserializer';
|
|
4
|
-
import { GroupPanel } from '../groupview/groupviewPanel';
|
|
5
|
-
export declare class ReactPanelDeserialzier implements IPanelDeserializer {
|
|
6
|
-
private readonly layout;
|
|
7
|
-
constructor(layout: DockviewComponent);
|
|
8
|
-
fromJSON(panelData: GroupviewPanelState, group: GroupPanel): IDockviewPanel;
|
|
9
|
-
}
|
|
1
|
+
import { DockviewComponent } from '../dockview/dockviewComponent';
|
|
2
|
+
import { GroupviewPanelState, IDockviewPanel } from '../groupview/groupPanel';
|
|
3
|
+
import { IPanelDeserializer } from '../dockview/deserializer';
|
|
4
|
+
import { GroupPanel } from '../groupview/groupviewPanel';
|
|
5
|
+
export declare class ReactPanelDeserialzier implements IPanelDeserializer {
|
|
6
|
+
private readonly layout;
|
|
7
|
+
constructor(layout: DockviewComponent);
|
|
8
|
+
fromJSON(panelData: GroupviewPanelState, group: GroupPanel): IDockviewPanel;
|
|
9
|
+
}
|