dockview 1.5.0 → 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 -41
- package/dist/cjs/api/groupPanelApi.js +85 -96
- package/dist/cjs/api/groupPanelApi.js.map +1 -1
- 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 -126
- package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
- 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 -130
- package/dist/cjs/dockview/dockviewComponent.js +614 -629
- package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts +31 -33
- package/dist/cjs/dockview/dockviewGroupPanel.js +156 -175
- package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
- package/dist/cjs/dockview/options.d.ts +88 -89
- 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 -35
- 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 -42
- package/dist/cjs/groupview/tab.js +120 -126
- package/dist/cjs/groupview/tab.js.map +1 -1
- package/dist/cjs/groupview/titlebar/tabsContainer.d.ts +68 -68
- package/dist/cjs/groupview/titlebar/tabsContainer.js +258 -270
- package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
- package/dist/cjs/groupview/types.d.ts +52 -53
- 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/index.js.map +1 -1
- 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 -45
- package/dist/cjs/react/deserializer.js.map +1 -1
- package/dist/cjs/react/dockview/defaultTab.d.ts +4 -4
- package/dist/cjs/react/dockview/defaultTab.js +72 -72
- package/dist/cjs/react/dockview/defaultTab.js.map +1 -1
- package/dist/cjs/react/dockview/dockview.d.ts +34 -35
- package/dist/cjs/react/dockview/dockview.js +212 -227
- package/dist/cjs/react/dockview/dockview.js.map +1 -1
- 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 -6797
- package/dist/dockview.amd.min.js +2 -2
- package/dist/dockview.amd.min.noStyle.js +2 -2
- package/dist/dockview.amd.noStyle.js +6743 -6803
- package/dist/dockview.cjs.js +6737 -6797
- package/dist/dockview.esm.js +6731 -6791
- package/dist/dockview.esm.min.js +2 -2
- package/dist/dockview.js +6737 -6797
- package/dist/dockview.min.js +2 -2
- package/dist/dockview.min.noStyle.js +2 -2
- package/dist/dockview.noStyle.js +6743 -6803
- 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 -41
- package/dist/esm/api/groupPanelApi.js +50 -57
- 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 -84
- 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 -130
- package/dist/esm/dockview/dockviewComponent.js +468 -483
- package/dist/esm/dockview/dockviewGroupPanel.d.ts +31 -33
- package/dist/esm/dockview/dockviewGroupPanel.js +107 -122
- package/dist/esm/dockview/options.d.ts +88 -89
- 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 -35
- 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 -42
- package/dist/esm/groupview/tab.js +90 -96
- package/dist/esm/groupview/titlebar/tabsContainer.d.ts +68 -68
- package/dist/esm/groupview/titlebar/tabsContainer.js +190 -191
- package/dist/esm/groupview/types.d.ts +52 -53
- 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 -40
- 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 -35
- package/dist/esm/react/dockview/dockview.js +157 -172
- 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/dist/styles/dockview.css +0 -3
- package/package.json +2 -2
package/dist/esm/dom.js
CHANGED
|
@@ -1,113 +1,113 @@
|
|
|
1
|
-
import { Emitter, addDisposableListener, addDisposableWindowListener, } from './events';
|
|
2
|
-
import { CompositeDisposable } from './lifecycle';
|
|
3
|
-
export function watchElementResize(element, cb) {
|
|
4
|
-
const observer = new ResizeObserver((entires) => {
|
|
5
|
-
const firstEntry = entires[0];
|
|
6
|
-
cb(firstEntry);
|
|
7
|
-
});
|
|
8
|
-
observer.observe(element);
|
|
9
|
-
return {
|
|
10
|
-
dispose: () => {
|
|
11
|
-
observer.unobserve(element);
|
|
12
|
-
observer.disconnect();
|
|
13
|
-
},
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export const removeClasses = (element, ...classes) => {
|
|
17
|
-
for (const classname of classes) {
|
|
18
|
-
if (element.classList.contains(classname)) {
|
|
19
|
-
element.classList.remove(classname);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
export const addClasses = (element, ...classes) => {
|
|
24
|
-
for (const classname of classes) {
|
|
25
|
-
if (!element.classList.contains(classname)) {
|
|
26
|
-
element.classList.add(classname);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
export const toggleClass = (element, className, isToggled) => {
|
|
31
|
-
const hasClass = element.classList.contains(className);
|
|
32
|
-
if (isToggled && !hasClass) {
|
|
33
|
-
element.classList.add(className);
|
|
34
|
-
}
|
|
35
|
-
if (!isToggled && hasClass) {
|
|
36
|
-
element.classList.remove(className);
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
export function isAncestor(testChild, testAncestor) {
|
|
40
|
-
while (testChild) {
|
|
41
|
-
if (testChild === testAncestor) {
|
|
42
|
-
return true;
|
|
43
|
-
}
|
|
44
|
-
testChild = testChild.parentNode;
|
|
45
|
-
}
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
export function getElementsByTagName(tag) {
|
|
49
|
-
return Array.prototype.slice.call(document.getElementsByTagName(tag), 0);
|
|
50
|
-
}
|
|
51
|
-
export function trackFocus(element) {
|
|
52
|
-
return new FocusTracker(element);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Track focus on an element. Ensure tabIndex is set when an HTMLElement is not focusable by default
|
|
56
|
-
*/
|
|
57
|
-
class FocusTracker extends CompositeDisposable {
|
|
58
|
-
constructor(element) {
|
|
59
|
-
super();
|
|
60
|
-
this._onDidFocus = new Emitter();
|
|
61
|
-
this.onDidFocus = this._onDidFocus.event;
|
|
62
|
-
this._onDidBlur = new Emitter();
|
|
63
|
-
this.onDidBlur = this._onDidBlur.event;
|
|
64
|
-
let hasFocus = isAncestor(document.activeElement, element);
|
|
65
|
-
let loosingFocus = false;
|
|
66
|
-
const onFocus = () => {
|
|
67
|
-
loosingFocus = false;
|
|
68
|
-
if (!hasFocus) {
|
|
69
|
-
hasFocus = true;
|
|
70
|
-
this._onDidFocus.fire();
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
const onBlur = () => {
|
|
74
|
-
if (hasFocus) {
|
|
75
|
-
loosingFocus = true;
|
|
76
|
-
window.setTimeout(() => {
|
|
77
|
-
if (loosingFocus) {
|
|
78
|
-
loosingFocus = false;
|
|
79
|
-
hasFocus = false;
|
|
80
|
-
this._onDidBlur.fire();
|
|
81
|
-
}
|
|
82
|
-
}, 0);
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
this._refreshStateHandler = () => {
|
|
86
|
-
const currentNodeHasFocus = isAncestor(document.activeElement, element);
|
|
87
|
-
if (currentNodeHasFocus !== hasFocus) {
|
|
88
|
-
if (hasFocus) {
|
|
89
|
-
onBlur();
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
onFocus();
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
if (element instanceof HTMLElement) {
|
|
97
|
-
this.addDisposables(addDisposableListener(element, 'focus', onFocus, true));
|
|
98
|
-
this.addDisposables(addDisposableListener(element, 'blur', onBlur, true));
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
this.addDisposables(addDisposableWindowListener(element, 'focus', onFocus, true));
|
|
102
|
-
this.addDisposables(addDisposableWindowListener(element, 'blur', onBlur, true));
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
refreshState() {
|
|
106
|
-
this._refreshStateHandler();
|
|
107
|
-
}
|
|
108
|
-
dispose() {
|
|
109
|
-
super.dispose();
|
|
110
|
-
this._onDidBlur.dispose();
|
|
111
|
-
this._onDidFocus.dispose();
|
|
112
|
-
}
|
|
113
|
-
}
|
|
1
|
+
import { Emitter, addDisposableListener, addDisposableWindowListener, } from './events';
|
|
2
|
+
import { CompositeDisposable } from './lifecycle';
|
|
3
|
+
export function watchElementResize(element, cb) {
|
|
4
|
+
const observer = new ResizeObserver((entires) => {
|
|
5
|
+
const firstEntry = entires[0];
|
|
6
|
+
cb(firstEntry);
|
|
7
|
+
});
|
|
8
|
+
observer.observe(element);
|
|
9
|
+
return {
|
|
10
|
+
dispose: () => {
|
|
11
|
+
observer.unobserve(element);
|
|
12
|
+
observer.disconnect();
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export const removeClasses = (element, ...classes) => {
|
|
17
|
+
for (const classname of classes) {
|
|
18
|
+
if (element.classList.contains(classname)) {
|
|
19
|
+
element.classList.remove(classname);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
export const addClasses = (element, ...classes) => {
|
|
24
|
+
for (const classname of classes) {
|
|
25
|
+
if (!element.classList.contains(classname)) {
|
|
26
|
+
element.classList.add(classname);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
export const toggleClass = (element, className, isToggled) => {
|
|
31
|
+
const hasClass = element.classList.contains(className);
|
|
32
|
+
if (isToggled && !hasClass) {
|
|
33
|
+
element.classList.add(className);
|
|
34
|
+
}
|
|
35
|
+
if (!isToggled && hasClass) {
|
|
36
|
+
element.classList.remove(className);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
export function isAncestor(testChild, testAncestor) {
|
|
40
|
+
while (testChild) {
|
|
41
|
+
if (testChild === testAncestor) {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
testChild = testChild.parentNode;
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
export function getElementsByTagName(tag) {
|
|
49
|
+
return Array.prototype.slice.call(document.getElementsByTagName(tag), 0);
|
|
50
|
+
}
|
|
51
|
+
export function trackFocus(element) {
|
|
52
|
+
return new FocusTracker(element);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Track focus on an element. Ensure tabIndex is set when an HTMLElement is not focusable by default
|
|
56
|
+
*/
|
|
57
|
+
class FocusTracker extends CompositeDisposable {
|
|
58
|
+
constructor(element) {
|
|
59
|
+
super();
|
|
60
|
+
this._onDidFocus = new Emitter();
|
|
61
|
+
this.onDidFocus = this._onDidFocus.event;
|
|
62
|
+
this._onDidBlur = new Emitter();
|
|
63
|
+
this.onDidBlur = this._onDidBlur.event;
|
|
64
|
+
let hasFocus = isAncestor(document.activeElement, element);
|
|
65
|
+
let loosingFocus = false;
|
|
66
|
+
const onFocus = () => {
|
|
67
|
+
loosingFocus = false;
|
|
68
|
+
if (!hasFocus) {
|
|
69
|
+
hasFocus = true;
|
|
70
|
+
this._onDidFocus.fire();
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const onBlur = () => {
|
|
74
|
+
if (hasFocus) {
|
|
75
|
+
loosingFocus = true;
|
|
76
|
+
window.setTimeout(() => {
|
|
77
|
+
if (loosingFocus) {
|
|
78
|
+
loosingFocus = false;
|
|
79
|
+
hasFocus = false;
|
|
80
|
+
this._onDidBlur.fire();
|
|
81
|
+
}
|
|
82
|
+
}, 0);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
this._refreshStateHandler = () => {
|
|
86
|
+
const currentNodeHasFocus = isAncestor(document.activeElement, element);
|
|
87
|
+
if (currentNodeHasFocus !== hasFocus) {
|
|
88
|
+
if (hasFocus) {
|
|
89
|
+
onBlur();
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
onFocus();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
if (element instanceof HTMLElement) {
|
|
97
|
+
this.addDisposables(addDisposableListener(element, 'focus', onFocus, true));
|
|
98
|
+
this.addDisposables(addDisposableListener(element, 'blur', onBlur, true));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
this.addDisposables(addDisposableWindowListener(element, 'focus', onFocus, true));
|
|
102
|
+
this.addDisposables(addDisposableWindowListener(element, 'blur', onBlur, true));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
refreshState() {
|
|
106
|
+
this._refreshStateHandler();
|
|
107
|
+
}
|
|
108
|
+
dispose() {
|
|
109
|
+
super.dispose();
|
|
110
|
+
this._onDidBlur.dispose();
|
|
111
|
+
this._onDidFocus.dispose();
|
|
112
|
+
}
|
|
113
|
+
}
|
package/dist/esm/events.d.ts
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { IDisposable } from './lifecycle';
|
|
2
|
-
export interface Event<T> {
|
|
3
|
-
(listener: (e: T) => any): IDisposable;
|
|
4
|
-
}
|
|
5
|
-
export interface EmitterOptions {
|
|
6
|
-
replay?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare namespace Event {
|
|
9
|
-
const any: <T>(...children: Event<T>[]) => Event<T>;
|
|
10
|
-
}
|
|
11
|
-
export declare class Emitter<T> implements IDisposable {
|
|
12
|
-
private readonly options?;
|
|
13
|
-
private _event?;
|
|
14
|
-
private _last?;
|
|
15
|
-
private _listeners;
|
|
16
|
-
private _disposed;
|
|
17
|
-
constructor(options?: EmitterOptions | undefined);
|
|
18
|
-
get event(): Event<T>;
|
|
19
|
-
fire(e: T): void;
|
|
20
|
-
dispose(): void;
|
|
21
|
-
}
|
|
22
|
-
export declare function addDisposableWindowListener<K extends keyof WindowEventMap>(element: Window, type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): IDisposable;
|
|
23
|
-
export declare function addDisposableListener<K extends keyof HTMLElementEventMap>(element: HTMLElement, type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): IDisposable;
|
|
24
|
-
export declare class TickDelayedEvent implements IDisposable {
|
|
25
|
-
private timer;
|
|
26
|
-
private readonly _onFired;
|
|
27
|
-
readonly onEvent: Event<void>;
|
|
28
|
-
fire(): void;
|
|
29
|
-
dispose(): void;
|
|
30
|
-
}
|
|
1
|
+
import { IDisposable } from './lifecycle';
|
|
2
|
+
export interface Event<T> {
|
|
3
|
+
(listener: (e: T) => any): IDisposable;
|
|
4
|
+
}
|
|
5
|
+
export interface EmitterOptions {
|
|
6
|
+
replay?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare namespace Event {
|
|
9
|
+
const any: <T>(...children: Event<T>[]) => Event<T>;
|
|
10
|
+
}
|
|
11
|
+
export declare class Emitter<T> implements IDisposable {
|
|
12
|
+
private readonly options?;
|
|
13
|
+
private _event?;
|
|
14
|
+
private _last?;
|
|
15
|
+
private _listeners;
|
|
16
|
+
private _disposed;
|
|
17
|
+
constructor(options?: EmitterOptions | undefined);
|
|
18
|
+
get event(): Event<T>;
|
|
19
|
+
fire(e: T): void;
|
|
20
|
+
dispose(): void;
|
|
21
|
+
}
|
|
22
|
+
export declare function addDisposableWindowListener<K extends keyof WindowEventMap>(element: Window, type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): IDisposable;
|
|
23
|
+
export declare function addDisposableListener<K extends keyof HTMLElementEventMap>(element: HTMLElement, type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): IDisposable;
|
|
24
|
+
export declare class TickDelayedEvent implements IDisposable {
|
|
25
|
+
private timer;
|
|
26
|
+
private readonly _onFired;
|
|
27
|
+
readonly onEvent: Event<void>;
|
|
28
|
+
fire(): void;
|
|
29
|
+
dispose(): void;
|
|
30
|
+
}
|
package/dist/esm/events.js
CHANGED
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
export var Event;
|
|
2
|
-
(function (Event) {
|
|
3
|
-
Event.any = (...children) => {
|
|
4
|
-
return (listener) => {
|
|
5
|
-
const disposables = children.map((child) => child(listener));
|
|
6
|
-
return {
|
|
7
|
-
dispose: () => {
|
|
8
|
-
disposables.forEach((d) => {
|
|
9
|
-
d.dispose();
|
|
10
|
-
});
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
})(Event || (Event = {}));
|
|
16
|
-
// dumb event emitter with better typings than nodes event emitter
|
|
17
|
-
// https://github.com/microsoft/vscode/blob/master/src/vs/base/common/event.ts
|
|
18
|
-
export class Emitter {
|
|
19
|
-
constructor(options) {
|
|
20
|
-
this.options = options;
|
|
21
|
-
this._listeners = [];
|
|
22
|
-
this._disposed = false;
|
|
23
|
-
}
|
|
24
|
-
get event() {
|
|
25
|
-
if (!this._event) {
|
|
26
|
-
this._event = (listener) => {
|
|
27
|
-
var _a;
|
|
28
|
-
if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.replay) && this._last !== undefined) {
|
|
29
|
-
listener(this._last);
|
|
30
|
-
}
|
|
31
|
-
this._listeners.push(listener);
|
|
32
|
-
return {
|
|
33
|
-
dispose: () => {
|
|
34
|
-
const index = this._listeners.indexOf(listener);
|
|
35
|
-
if (index > -1) {
|
|
36
|
-
this._listeners.splice(index, 1);
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
return this._event;
|
|
43
|
-
}
|
|
44
|
-
fire(e) {
|
|
45
|
-
this._last = e;
|
|
46
|
-
for (const listener of this._listeners) {
|
|
47
|
-
listener(e);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
dispose() {
|
|
51
|
-
this._listeners = [];
|
|
52
|
-
this._disposed = true;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
export function addDisposableWindowListener(element, type, listener, options) {
|
|
56
|
-
element.addEventListener(type, listener, options);
|
|
57
|
-
return {
|
|
58
|
-
dispose: () => {
|
|
59
|
-
element.removeEventListener(type, listener);
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
export function addDisposableListener(element, type, listener, options) {
|
|
64
|
-
element.addEventListener(type, listener, options);
|
|
65
|
-
return {
|
|
66
|
-
dispose: () => {
|
|
67
|
-
element.removeEventListener(type, listener);
|
|
68
|
-
},
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
export class TickDelayedEvent {
|
|
72
|
-
constructor() {
|
|
73
|
-
this._onFired = new Emitter();
|
|
74
|
-
this.onEvent = this._onFired.event;
|
|
75
|
-
}
|
|
76
|
-
fire() {
|
|
77
|
-
if (this.timer) {
|
|
78
|
-
clearTimeout(this.timer);
|
|
79
|
-
}
|
|
80
|
-
this.timer = setTimeout(() => {
|
|
81
|
-
this._onFired.fire();
|
|
82
|
-
clearTimeout(this.timer);
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
dispose() {
|
|
86
|
-
this._onFired.dispose();
|
|
87
|
-
}
|
|
88
|
-
}
|
|
1
|
+
export var Event;
|
|
2
|
+
(function (Event) {
|
|
3
|
+
Event.any = (...children) => {
|
|
4
|
+
return (listener) => {
|
|
5
|
+
const disposables = children.map((child) => child(listener));
|
|
6
|
+
return {
|
|
7
|
+
dispose: () => {
|
|
8
|
+
disposables.forEach((d) => {
|
|
9
|
+
d.dispose();
|
|
10
|
+
});
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
})(Event || (Event = {}));
|
|
16
|
+
// dumb event emitter with better typings than nodes event emitter
|
|
17
|
+
// https://github.com/microsoft/vscode/blob/master/src/vs/base/common/event.ts
|
|
18
|
+
export class Emitter {
|
|
19
|
+
constructor(options) {
|
|
20
|
+
this.options = options;
|
|
21
|
+
this._listeners = [];
|
|
22
|
+
this._disposed = false;
|
|
23
|
+
}
|
|
24
|
+
get event() {
|
|
25
|
+
if (!this._event) {
|
|
26
|
+
this._event = (listener) => {
|
|
27
|
+
var _a;
|
|
28
|
+
if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.replay) && this._last !== undefined) {
|
|
29
|
+
listener(this._last);
|
|
30
|
+
}
|
|
31
|
+
this._listeners.push(listener);
|
|
32
|
+
return {
|
|
33
|
+
dispose: () => {
|
|
34
|
+
const index = this._listeners.indexOf(listener);
|
|
35
|
+
if (index > -1) {
|
|
36
|
+
this._listeners.splice(index, 1);
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return this._event;
|
|
43
|
+
}
|
|
44
|
+
fire(e) {
|
|
45
|
+
this._last = e;
|
|
46
|
+
for (const listener of this._listeners) {
|
|
47
|
+
listener(e);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
dispose() {
|
|
51
|
+
this._listeners = [];
|
|
52
|
+
this._disposed = true;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export function addDisposableWindowListener(element, type, listener, options) {
|
|
56
|
+
element.addEventListener(type, listener, options);
|
|
57
|
+
return {
|
|
58
|
+
dispose: () => {
|
|
59
|
+
element.removeEventListener(type, listener);
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export function addDisposableListener(element, type, listener, options) {
|
|
64
|
+
element.addEventListener(type, listener, options);
|
|
65
|
+
return {
|
|
66
|
+
dispose: () => {
|
|
67
|
+
element.removeEventListener(type, listener);
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export class TickDelayedEvent {
|
|
72
|
+
constructor() {
|
|
73
|
+
this._onFired = new Emitter();
|
|
74
|
+
this.onEvent = this._onFired.event;
|
|
75
|
+
}
|
|
76
|
+
fire() {
|
|
77
|
+
if (this.timer) {
|
|
78
|
+
clearTimeout(this.timer);
|
|
79
|
+
}
|
|
80
|
+
this.timer = setTimeout(() => {
|
|
81
|
+
this._onFired.fire();
|
|
82
|
+
clearTimeout(this.timer);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
dispose() {
|
|
86
|
+
this._onFired.dispose();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
import { Emitter, Event, TickDelayedEvent } from '../events';
|
|
2
|
-
import { Gridview, IGridView } from './gridview';
|
|
3
|
-
import { Position } from '../dnd/droptarget';
|
|
4
|
-
import { CompositeDisposable, IValueDisposable } from '../lifecycle';
|
|
5
|
-
import { ISplitviewStyles, Orientation } from '../splitview/core/splitview';
|
|
6
|
-
import { IPanel } from '../panel/types';
|
|
7
|
-
import { MovementOptions2 } from '../dockview/options';
|
|
8
|
-
export declare type Direction = 'left' | 'right' | 'above' | 'below' | 'within';
|
|
9
|
-
export declare function toTarget(direction: Direction): Position;
|
|
10
|
-
export interface BaseGridOptions {
|
|
11
|
-
readonly proportionalLayout: boolean;
|
|
12
|
-
readonly orientation: Orientation;
|
|
13
|
-
readonly styles?: ISplitviewStyles;
|
|
14
|
-
}
|
|
15
|
-
export interface IGridPanelView extends IGridView, IPanel {
|
|
16
|
-
setActive(isActive: boolean): void;
|
|
17
|
-
readonly isActive: boolean;
|
|
18
|
-
}
|
|
19
|
-
export interface IBaseGrid<T extends IGridPanelView> {
|
|
20
|
-
readonly element: HTMLElement;
|
|
21
|
-
readonly id: string;
|
|
22
|
-
readonly width: number;
|
|
23
|
-
readonly height: number;
|
|
24
|
-
readonly minimumHeight: number;
|
|
25
|
-
readonly maximumHeight: number;
|
|
26
|
-
readonly minimumWidth: number;
|
|
27
|
-
readonly maximumWidth: number;
|
|
28
|
-
readonly activeGroup: T | undefined;
|
|
29
|
-
readonly size: number;
|
|
30
|
-
readonly groups: T[];
|
|
31
|
-
readonly onDidLayoutChange: Event<void>;
|
|
32
|
-
readonly onDidRemoveGroup: Event<T>;
|
|
33
|
-
readonly onDidAddGroup: Event<T>;
|
|
34
|
-
readonly onDidActiveGroupChange: Event<T | undefined>;
|
|
35
|
-
getPanel(id: string): T | undefined;
|
|
36
|
-
toJSON(): object;
|
|
37
|
-
fromJSON(data: any): void;
|
|
38
|
-
clear(): void;
|
|
39
|
-
layout(width: number, height: number, force?: boolean): void;
|
|
40
|
-
setVisible(panel: T, visible: boolean): void;
|
|
41
|
-
isVisible(panel: T): boolean;
|
|
42
|
-
}
|
|
43
|
-
export declare abstract class BaseGrid<T extends IGridPanelView> extends CompositeDisposable implements IBaseGrid<T> {
|
|
44
|
-
private readonly _element;
|
|
45
|
-
private readonly _id;
|
|
46
|
-
protected readonly _groups: Map<string, IValueDisposable<T>>;
|
|
47
|
-
protected readonly gridview: Gridview;
|
|
48
|
-
protected _activeGroup: T | undefined;
|
|
49
|
-
private _onDidLayoutChange;
|
|
50
|
-
readonly onDidLayoutChange: Event<void>;
|
|
51
|
-
private readonly _onDidRemoveGroup;
|
|
52
|
-
readonly onDidRemoveGroup: Event<T>;
|
|
53
|
-
protected readonly _onDidAddGroup: Emitter<T>;
|
|
54
|
-
readonly onDidAddGroup: Event<T>;
|
|
55
|
-
private readonly _onDidActiveGroupChange;
|
|
56
|
-
readonly onDidActiveGroupChange: Event<T | undefined>;
|
|
57
|
-
protected readonly _bufferOnDidLayoutChange: TickDelayedEvent;
|
|
58
|
-
get id(): string;
|
|
59
|
-
get element(): HTMLElement;
|
|
60
|
-
get size(): number;
|
|
61
|
-
get groups(): T[];
|
|
62
|
-
get width(): number;
|
|
63
|
-
get height(): number;
|
|
64
|
-
get minimumHeight(): number;
|
|
65
|
-
get maximumHeight(): number;
|
|
66
|
-
get minimumWidth(): number;
|
|
67
|
-
get maximumWidth(): number;
|
|
68
|
-
get activeGroup(): T | undefined;
|
|
69
|
-
constructor(_element: HTMLElement, options: BaseGridOptions);
|
|
70
|
-
abstract toJSON(): object;
|
|
71
|
-
abstract fromJSON(data: any): void;
|
|
72
|
-
abstract clear(): void;
|
|
73
|
-
setVisible(panel: T, visible: boolean): void;
|
|
74
|
-
isVisible(panel: T): boolean;
|
|
75
|
-
protected doAddGroup(group: T, location?: number[], size?: number): void;
|
|
76
|
-
protected doRemoveGroup(group: T, options?: {
|
|
77
|
-
skipActive?: boolean;
|
|
78
|
-
skipDispose?: boolean;
|
|
79
|
-
}): T;
|
|
80
|
-
getPanel(id: string): T | undefined;
|
|
81
|
-
doSetGroupActive(group: T | undefined, skipFocus?: boolean): void;
|
|
82
|
-
removeGroup(group: T): void;
|
|
83
|
-
moveToNext(options?: MovementOptions2): void;
|
|
84
|
-
moveToPrevious(options?: MovementOptions2): void;
|
|
85
|
-
layout(width: number, height: number, forceResize?: boolean): void;
|
|
86
|
-
dispose(): void;
|
|
87
|
-
}
|
|
1
|
+
import { Emitter, Event, TickDelayedEvent } from '../events';
|
|
2
|
+
import { Gridview, IGridView } from './gridview';
|
|
3
|
+
import { Position } from '../dnd/droptarget';
|
|
4
|
+
import { CompositeDisposable, IValueDisposable } from '../lifecycle';
|
|
5
|
+
import { ISplitviewStyles, Orientation } from '../splitview/core/splitview';
|
|
6
|
+
import { IPanel } from '../panel/types';
|
|
7
|
+
import { MovementOptions2 } from '../dockview/options';
|
|
8
|
+
export declare type Direction = 'left' | 'right' | 'above' | 'below' | 'within';
|
|
9
|
+
export declare function toTarget(direction: Direction): Position;
|
|
10
|
+
export interface BaseGridOptions {
|
|
11
|
+
readonly proportionalLayout: boolean;
|
|
12
|
+
readonly orientation: Orientation;
|
|
13
|
+
readonly styles?: ISplitviewStyles;
|
|
14
|
+
}
|
|
15
|
+
export interface IGridPanelView extends IGridView, IPanel {
|
|
16
|
+
setActive(isActive: boolean): void;
|
|
17
|
+
readonly isActive: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface IBaseGrid<T extends IGridPanelView> {
|
|
20
|
+
readonly element: HTMLElement;
|
|
21
|
+
readonly id: string;
|
|
22
|
+
readonly width: number;
|
|
23
|
+
readonly height: number;
|
|
24
|
+
readonly minimumHeight: number;
|
|
25
|
+
readonly maximumHeight: number;
|
|
26
|
+
readonly minimumWidth: number;
|
|
27
|
+
readonly maximumWidth: number;
|
|
28
|
+
readonly activeGroup: T | undefined;
|
|
29
|
+
readonly size: number;
|
|
30
|
+
readonly groups: T[];
|
|
31
|
+
readonly onDidLayoutChange: Event<void>;
|
|
32
|
+
readonly onDidRemoveGroup: Event<T>;
|
|
33
|
+
readonly onDidAddGroup: Event<T>;
|
|
34
|
+
readonly onDidActiveGroupChange: Event<T | undefined>;
|
|
35
|
+
getPanel(id: string): T | undefined;
|
|
36
|
+
toJSON(): object;
|
|
37
|
+
fromJSON(data: any): void;
|
|
38
|
+
clear(): void;
|
|
39
|
+
layout(width: number, height: number, force?: boolean): void;
|
|
40
|
+
setVisible(panel: T, visible: boolean): void;
|
|
41
|
+
isVisible(panel: T): boolean;
|
|
42
|
+
}
|
|
43
|
+
export declare abstract class BaseGrid<T extends IGridPanelView> extends CompositeDisposable implements IBaseGrid<T> {
|
|
44
|
+
private readonly _element;
|
|
45
|
+
private readonly _id;
|
|
46
|
+
protected readonly _groups: Map<string, IValueDisposable<T>>;
|
|
47
|
+
protected readonly gridview: Gridview;
|
|
48
|
+
protected _activeGroup: T | undefined;
|
|
49
|
+
private _onDidLayoutChange;
|
|
50
|
+
readonly onDidLayoutChange: Event<void>;
|
|
51
|
+
private readonly _onDidRemoveGroup;
|
|
52
|
+
readonly onDidRemoveGroup: Event<T>;
|
|
53
|
+
protected readonly _onDidAddGroup: Emitter<T>;
|
|
54
|
+
readonly onDidAddGroup: Event<T>;
|
|
55
|
+
private readonly _onDidActiveGroupChange;
|
|
56
|
+
readonly onDidActiveGroupChange: Event<T | undefined>;
|
|
57
|
+
protected readonly _bufferOnDidLayoutChange: TickDelayedEvent;
|
|
58
|
+
get id(): string;
|
|
59
|
+
get element(): HTMLElement;
|
|
60
|
+
get size(): number;
|
|
61
|
+
get groups(): T[];
|
|
62
|
+
get width(): number;
|
|
63
|
+
get height(): number;
|
|
64
|
+
get minimumHeight(): number;
|
|
65
|
+
get maximumHeight(): number;
|
|
66
|
+
get minimumWidth(): number;
|
|
67
|
+
get maximumWidth(): number;
|
|
68
|
+
get activeGroup(): T | undefined;
|
|
69
|
+
constructor(_element: HTMLElement, options: BaseGridOptions);
|
|
70
|
+
abstract toJSON(): object;
|
|
71
|
+
abstract fromJSON(data: any): void;
|
|
72
|
+
abstract clear(): void;
|
|
73
|
+
setVisible(panel: T, visible: boolean): void;
|
|
74
|
+
isVisible(panel: T): boolean;
|
|
75
|
+
protected doAddGroup(group: T, location?: number[], size?: number): void;
|
|
76
|
+
protected doRemoveGroup(group: T, options?: {
|
|
77
|
+
skipActive?: boolean;
|
|
78
|
+
skipDispose?: boolean;
|
|
79
|
+
}): T;
|
|
80
|
+
getPanel(id: string): T | undefined;
|
|
81
|
+
doSetGroupActive(group: T | undefined, skipFocus?: boolean): void;
|
|
82
|
+
removeGroup(group: T): void;
|
|
83
|
+
moveToNext(options?: MovementOptions2): void;
|
|
84
|
+
moveToPrevious(options?: MovementOptions2): void;
|
|
85
|
+
layout(width: number, height: number, forceResize?: boolean): void;
|
|
86
|
+
dispose(): void;
|
|
87
|
+
}
|