dockview-core 1.9.2 → 1.10.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 +25 -6
- package/dist/cjs/api/component.api.js +27 -5
- package/dist/cjs/api/dockviewGroupPanelApi.d.ts +7 -1
- package/dist/cjs/api/dockviewGroupPanelApi.js +22 -3
- package/dist/cjs/api/dockviewPanelApi.d.ts +23 -7
- package/dist/cjs/api/dockviewPanelApi.js +49 -12
- package/dist/cjs/api/gridviewPanelApi.d.ts +0 -1
- package/dist/cjs/api/gridviewPanelApi.js +1 -4
- package/dist/cjs/api/panelApi.d.ts +20 -9
- package/dist/cjs/api/panelApi.js +30 -30
- package/dist/cjs/api/paneviewPanelApi.d.ts +0 -1
- package/dist/cjs/api/paneviewPanelApi.js +0 -1
- package/dist/cjs/api/splitviewPanelApi.d.ts +0 -1
- package/dist/cjs/api/splitviewPanelApi.js +0 -1
- package/dist/cjs/array.d.ts +0 -1
- package/dist/cjs/array.js +0 -1
- package/dist/cjs/constants.d.ts +0 -1
- package/dist/cjs/constants.js +0 -1
- package/dist/cjs/dnd/abstractDragHandler.d.ts +0 -1
- package/dist/cjs/dnd/abstractDragHandler.js +0 -1
- package/dist/cjs/dnd/dataTransfer.d.ts +0 -1
- package/dist/cjs/dnd/dataTransfer.js +0 -1
- package/dist/cjs/dnd/dnd.d.ts +0 -1
- package/dist/cjs/dnd/dnd.js +0 -1
- package/dist/cjs/dnd/droptarget.d.ts +20 -9
- package/dist/cjs/dnd/droptarget.js +71 -14
- package/dist/cjs/dnd/ghost.d.ts +0 -1
- package/dist/cjs/dnd/ghost.js +0 -1
- package/dist/cjs/dnd/groupDragHandler.d.ts +0 -1
- package/dist/cjs/dnd/groupDragHandler.js +1 -2
- package/dist/cjs/dnd/overlay.d.ts +0 -1
- package/dist/cjs/dnd/overlay.js +0 -1
- package/dist/cjs/dockview/components/panel/content.d.ts +0 -1
- package/dist/cjs/dockview/components/panel/content.js +6 -7
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts +0 -1
- package/dist/cjs/dockview/components/tab/defaultTab.js +0 -1
- package/dist/cjs/dockview/components/tab/tab.d.ts +5 -13
- package/dist/cjs/dockview/components/tab/tab.js +5 -6
- package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +17 -14
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +26 -22
- package/dist/cjs/dockview/components/titlebar/voidContainer.d.ts +3 -3
- package/dist/cjs/dockview/components/titlebar/voidContainer.js +5 -6
- package/dist/cjs/dockview/components/watermark/watermark.d.ts +0 -1
- package/dist/cjs/dockview/components/watermark/watermark.js +0 -1
- package/dist/cjs/dockview/deserializer.d.ts +0 -1
- package/dist/cjs/dockview/deserializer.js +0 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +86 -25
- package/dist/cjs/dockview/dockviewComponent.js +577 -197
- package/dist/cjs/dockview/dockviewFloatingGroupPanel.d.ts +0 -1
- package/dist/cjs/dockview/dockviewFloatingGroupPanel.js +0 -1
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts +1 -1
- package/dist/cjs/dockview/dockviewGroupPanel.js +6 -1
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +79 -34
- package/dist/cjs/dockview/dockviewGroupPanelModel.js +226 -57
- package/dist/cjs/dockview/dockviewPanel.d.ts +8 -3
- package/dist/cjs/dockview/dockviewPanel.js +39 -12
- package/dist/cjs/dockview/dockviewPanelModel.d.ts +1 -4
- package/dist/cjs/dockview/dockviewPanelModel.js +2 -22
- package/dist/cjs/dockview/options.d.ts +7 -3
- package/dist/cjs/dockview/options.js +0 -1
- package/dist/cjs/dockview/types.d.ts +1 -11
- package/dist/cjs/dockview/types.js +0 -9
- package/dist/cjs/dom.d.ts +0 -1
- package/dist/cjs/dom.js +0 -1
- package/dist/cjs/events.d.ts +10 -1
- package/dist/cjs/events.js +25 -2
- package/dist/cjs/gridview/baseComponentGridview.d.ts +15 -16
- package/dist/cjs/gridview/baseComponentGridview.js +37 -27
- package/dist/cjs/gridview/basePanelView.d.ts +0 -1
- package/dist/cjs/gridview/basePanelView.js +7 -2
- package/dist/cjs/gridview/branchNode.d.ts +3 -2
- package/dist/cjs/gridview/branchNode.js +12 -2
- package/dist/cjs/gridview/gridview.d.ts +5 -3
- package/dist/cjs/gridview/gridview.js +54 -21
- package/dist/cjs/gridview/gridviewComponent.d.ts +10 -2
- package/dist/cjs/gridview/gridviewComponent.js +14 -1
- package/dist/cjs/gridview/gridviewPanel.d.ts +3 -3
- package/dist/cjs/gridview/gridviewPanel.js +4 -5
- package/dist/cjs/gridview/leafNode.d.ts +0 -1
- package/dist/cjs/gridview/leafNode.js +0 -1
- package/dist/cjs/gridview/options.d.ts +1 -2
- package/dist/cjs/gridview/options.js +0 -1
- package/dist/cjs/gridview/types.d.ts +0 -1
- package/dist/cjs/gridview/types.js +0 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +0 -2
- package/dist/cjs/lifecycle.d.ts +2 -3
- package/dist/cjs/lifecycle.js +5 -2
- package/dist/cjs/math.d.ts +0 -1
- package/dist/cjs/math.js +0 -1
- package/dist/cjs/overlayRenderContainer.d.ts +1 -1
- package/dist/cjs/overlayRenderContainer.js +8 -4
- package/dist/cjs/panel/componentFactory.d.ts +0 -1
- package/dist/cjs/panel/componentFactory.js +0 -1
- package/dist/cjs/panel/types.d.ts +1 -2
- package/dist/cjs/panel/types.js +0 -1
- package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +0 -1
- package/dist/cjs/paneview/defaultPaneviewHeader.js +0 -1
- package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +0 -1
- package/dist/cjs/paneview/draggablePaneviewPanel.js +0 -1
- package/dist/cjs/paneview/options.d.ts +1 -2
- package/dist/cjs/paneview/options.js +0 -1
- package/dist/cjs/paneview/paneview.d.ts +0 -1
- package/dist/cjs/paneview/paneview.js +0 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts +0 -1
- package/dist/cjs/paneview/paneviewComponent.js +0 -1
- package/dist/cjs/paneview/paneviewPanel.d.ts +0 -1
- package/dist/cjs/paneview/paneviewPanel.js +0 -1
- package/dist/cjs/popoutWindow.d.ts +15 -4
- package/dist/cjs/popoutWindow.js +140 -56
- package/dist/cjs/resizable.d.ts +1 -2
- package/dist/cjs/resizable.js +1 -10
- package/dist/cjs/splitview/options.d.ts +3 -7
- package/dist/cjs/splitview/options.js +0 -1
- package/dist/cjs/splitview/splitview.d.ts +3 -1
- package/dist/cjs/splitview/splitview.js +12 -1
- package/dist/cjs/splitview/splitviewComponent.d.ts +0 -1
- package/dist/cjs/splitview/splitviewComponent.js +0 -1
- package/dist/cjs/splitview/splitviewPanel.d.ts +2 -3
- package/dist/cjs/splitview/splitviewPanel.js +3 -4
- package/dist/cjs/splitview/viewItem.d.ts +0 -1
- package/dist/cjs/splitview/viewItem.js +0 -1
- package/dist/cjs/svg.d.ts +0 -1
- package/dist/cjs/svg.js +0 -1
- package/dist/cjs/types.d.ts +0 -1
- package/dist/cjs/types.js +0 -1
- package/dist/dockview-core.amd.js +1261 -526
- package/dist/dockview-core.amd.js.map +1 -1
- package/dist/dockview-core.amd.min.js +2 -2
- package/dist/dockview-core.amd.min.js.map +1 -1
- package/dist/dockview-core.amd.min.noStyle.js +2 -2
- package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
- package/dist/dockview-core.amd.noStyle.js +1260 -525
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +1261 -526
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +1259 -527
- package/dist/dockview-core.esm.js.map +1 -1
- package/dist/dockview-core.esm.min.js +2 -2
- package/dist/dockview-core.esm.min.js.map +1 -1
- package/dist/dockview-core.js +1261 -526
- package/dist/dockview-core.js.map +1 -1
- package/dist/dockview-core.min.js +2 -2
- package/dist/dockview-core.min.js.map +1 -1
- package/dist/dockview-core.min.noStyle.js +2 -2
- package/dist/dockview-core.min.noStyle.js.map +1 -1
- package/dist/dockview-core.noStyle.js +1260 -525
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/component.api.d.ts +25 -6
- package/dist/esm/api/component.api.js +19 -5
- package/dist/esm/api/dockviewGroupPanelApi.d.ts +7 -1
- package/dist/esm/api/dockviewGroupPanelApi.js +22 -3
- package/dist/esm/api/dockviewPanelApi.d.ts +23 -7
- package/dist/esm/api/dockviewPanelApi.js +46 -13
- package/dist/esm/api/gridviewPanelApi.d.ts +0 -1
- package/dist/esm/api/gridviewPanelApi.js +1 -4
- package/dist/esm/api/panelApi.d.ts +20 -9
- package/dist/esm/api/panelApi.js +23 -30
- package/dist/esm/api/paneviewPanelApi.d.ts +0 -1
- package/dist/esm/api/paneviewPanelApi.js +0 -1
- package/dist/esm/api/splitviewPanelApi.d.ts +0 -1
- package/dist/esm/api/splitviewPanelApi.js +0 -1
- package/dist/esm/array.d.ts +0 -1
- package/dist/esm/array.js +0 -1
- package/dist/esm/constants.d.ts +0 -1
- package/dist/esm/constants.js +0 -1
- package/dist/esm/dnd/abstractDragHandler.d.ts +0 -1
- package/dist/esm/dnd/abstractDragHandler.js +0 -1
- package/dist/esm/dnd/dataTransfer.d.ts +0 -1
- package/dist/esm/dnd/dataTransfer.js +0 -1
- package/dist/esm/dnd/dnd.d.ts +0 -1
- package/dist/esm/dnd/dnd.js +0 -1
- package/dist/esm/dnd/droptarget.d.ts +20 -9
- package/dist/esm/dnd/droptarget.js +59 -14
- package/dist/esm/dnd/ghost.d.ts +0 -1
- package/dist/esm/dnd/ghost.js +0 -1
- package/dist/esm/dnd/groupDragHandler.d.ts +0 -1
- package/dist/esm/dnd/groupDragHandler.js +1 -2
- package/dist/esm/dnd/overlay.d.ts +0 -1
- package/dist/esm/dnd/overlay.js +0 -1
- package/dist/esm/dockview/components/panel/content.d.ts +0 -1
- package/dist/esm/dockview/components/panel/content.js +6 -7
- package/dist/esm/dockview/components/tab/defaultTab.d.ts +0 -1
- package/dist/esm/dockview/components/tab/defaultTab.js +0 -1
- package/dist/esm/dockview/components/tab/tab.d.ts +5 -13
- package/dist/esm/dockview/components/tab/tab.js +6 -7
- package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +17 -14
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +24 -20
- package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +3 -3
- package/dist/esm/dockview/components/titlebar/voidContainer.js +6 -7
- package/dist/esm/dockview/components/watermark/watermark.d.ts +0 -1
- package/dist/esm/dockview/components/watermark/watermark.js +0 -1
- package/dist/esm/dockview/deserializer.d.ts +0 -1
- package/dist/esm/dockview/deserializer.js +0 -1
- package/dist/esm/dockview/dockviewComponent.d.ts +86 -25
- package/dist/esm/dockview/dockviewComponent.js +520 -162
- package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +0 -1
- package/dist/esm/dockview/dockviewFloatingGroupPanel.js +0 -1
- package/dist/esm/dockview/dockviewGroupPanel.d.ts +1 -1
- package/dist/esm/dockview/dockviewGroupPanel.js +6 -1
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +79 -34
- package/dist/esm/dockview/dockviewGroupPanelModel.js +169 -53
- package/dist/esm/dockview/dockviewPanel.d.ts +8 -3
- package/dist/esm/dockview/dockviewPanel.js +39 -12
- package/dist/esm/dockview/dockviewPanelModel.d.ts +1 -4
- package/dist/esm/dockview/dockviewPanelModel.js +2 -22
- package/dist/esm/dockview/options.d.ts +7 -3
- package/dist/esm/dockview/options.js +0 -1
- package/dist/esm/dockview/types.d.ts +1 -11
- package/dist/esm/dockview/types.js +1 -8
- package/dist/esm/dom.d.ts +0 -1
- package/dist/esm/dom.js +0 -1
- package/dist/esm/events.d.ts +10 -1
- package/dist/esm/events.js +14 -1
- package/dist/esm/gridview/baseComponentGridview.d.ts +15 -16
- package/dist/esm/gridview/baseComponentGridview.js +33 -27
- package/dist/esm/gridview/basePanelView.d.ts +0 -1
- package/dist/esm/gridview/basePanelView.js +7 -2
- package/dist/esm/gridview/branchNode.d.ts +3 -2
- package/dist/esm/gridview/branchNode.js +8 -2
- package/dist/esm/gridview/gridview.d.ts +5 -3
- package/dist/esm/gridview/gridview.js +49 -20
- package/dist/esm/gridview/gridviewComponent.d.ts +10 -2
- package/dist/esm/gridview/gridviewComponent.js +14 -1
- package/dist/esm/gridview/gridviewPanel.d.ts +3 -3
- package/dist/esm/gridview/gridviewPanel.js +4 -5
- package/dist/esm/gridview/leafNode.d.ts +0 -1
- package/dist/esm/gridview/leafNode.js +0 -1
- package/dist/esm/gridview/options.d.ts +1 -2
- package/dist/esm/gridview/options.js +0 -1
- package/dist/esm/gridview/types.d.ts +0 -1
- package/dist/esm/gridview/types.js +0 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +0 -2
- package/dist/esm/lifecycle.d.ts +2 -3
- package/dist/esm/lifecycle.js +5 -2
- package/dist/esm/math.d.ts +0 -1
- package/dist/esm/math.js +0 -1
- package/dist/esm/overlayRenderContainer.d.ts +1 -1
- package/dist/esm/overlayRenderContainer.js +8 -4
- package/dist/esm/panel/componentFactory.d.ts +0 -1
- package/dist/esm/panel/componentFactory.js +0 -1
- package/dist/esm/panel/types.d.ts +1 -2
- package/dist/esm/panel/types.js +0 -1
- package/dist/esm/paneview/defaultPaneviewHeader.d.ts +0 -1
- package/dist/esm/paneview/defaultPaneviewHeader.js +0 -1
- package/dist/esm/paneview/draggablePaneviewPanel.d.ts +0 -1
- package/dist/esm/paneview/draggablePaneviewPanel.js +0 -1
- package/dist/esm/paneview/options.d.ts +1 -2
- package/dist/esm/paneview/options.js +0 -1
- package/dist/esm/paneview/paneview.d.ts +0 -1
- package/dist/esm/paneview/paneview.js +0 -1
- package/dist/esm/paneview/paneviewComponent.d.ts +0 -1
- package/dist/esm/paneview/paneviewComponent.js +0 -1
- package/dist/esm/paneview/paneviewPanel.d.ts +0 -1
- package/dist/esm/paneview/paneviewPanel.js +0 -1
- package/dist/esm/popoutWindow.d.ts +15 -4
- package/dist/esm/popoutWindow.js +105 -52
- package/dist/esm/resizable.d.ts +1 -2
- package/dist/esm/resizable.js +1 -10
- package/dist/esm/splitview/options.d.ts +3 -7
- package/dist/esm/splitview/options.js +0 -1
- package/dist/esm/splitview/splitview.d.ts +3 -1
- package/dist/esm/splitview/splitview.js +8 -1
- package/dist/esm/splitview/splitviewComponent.d.ts +0 -1
- package/dist/esm/splitview/splitviewComponent.js +0 -1
- package/dist/esm/splitview/splitviewPanel.d.ts +2 -3
- package/dist/esm/splitview/splitviewPanel.js +3 -4
- package/dist/esm/splitview/viewItem.d.ts +0 -1
- package/dist/esm/splitview/viewItem.js +0 -1
- package/dist/esm/svg.d.ts +0 -1
- package/dist/esm/svg.js +0 -1
- package/dist/esm/types.d.ts +0 -1
- package/dist/esm/types.js +0 -1
- package/dist/styles/dockview.css +20 -6
- package/package.json +3 -3
- package/dist/cjs/api/component.api.d.ts.map +0 -1
- package/dist/cjs/api/component.api.js.map +0 -1
- package/dist/cjs/api/dockviewGroupPanelApi.d.ts.map +0 -1
- package/dist/cjs/api/dockviewGroupPanelApi.js.map +0 -1
- package/dist/cjs/api/dockviewPanelApi.d.ts.map +0 -1
- package/dist/cjs/api/dockviewPanelApi.js.map +0 -1
- package/dist/cjs/api/gridviewPanelApi.d.ts.map +0 -1
- package/dist/cjs/api/gridviewPanelApi.js.map +0 -1
- package/dist/cjs/api/panelApi.d.ts.map +0 -1
- package/dist/cjs/api/panelApi.js.map +0 -1
- package/dist/cjs/api/paneviewPanelApi.d.ts.map +0 -1
- package/dist/cjs/api/paneviewPanelApi.js.map +0 -1
- package/dist/cjs/api/splitviewPanelApi.d.ts.map +0 -1
- package/dist/cjs/api/splitviewPanelApi.js.map +0 -1
- package/dist/cjs/array.d.ts.map +0 -1
- package/dist/cjs/array.js.map +0 -1
- package/dist/cjs/constants.d.ts.map +0 -1
- package/dist/cjs/constants.js.map +0 -1
- package/dist/cjs/dnd/abstractDragHandler.d.ts.map +0 -1
- package/dist/cjs/dnd/abstractDragHandler.js.map +0 -1
- package/dist/cjs/dnd/dataTransfer.d.ts.map +0 -1
- package/dist/cjs/dnd/dataTransfer.js.map +0 -1
- package/dist/cjs/dnd/dnd.d.ts.map +0 -1
- package/dist/cjs/dnd/dnd.js.map +0 -1
- package/dist/cjs/dnd/droptarget.d.ts.map +0 -1
- package/dist/cjs/dnd/droptarget.js.map +0 -1
- package/dist/cjs/dnd/ghost.d.ts.map +0 -1
- package/dist/cjs/dnd/ghost.js.map +0 -1
- package/dist/cjs/dnd/groupDragHandler.d.ts.map +0 -1
- package/dist/cjs/dnd/groupDragHandler.js.map +0 -1
- package/dist/cjs/dnd/overlay.d.ts.map +0 -1
- package/dist/cjs/dnd/overlay.js.map +0 -1
- package/dist/cjs/dockview/components/panel/content.d.ts.map +0 -1
- package/dist/cjs/dockview/components/panel/content.js.map +0 -1
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts.map +0 -1
- package/dist/cjs/dockview/components/tab/defaultTab.js.map +0 -1
- package/dist/cjs/dockview/components/tab/tab.d.ts.map +0 -1
- package/dist/cjs/dockview/components/tab/tab.js.map +0 -1
- package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts.map +0 -1
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js.map +0 -1
- package/dist/cjs/dockview/components/titlebar/voidContainer.d.ts.map +0 -1
- package/dist/cjs/dockview/components/titlebar/voidContainer.js.map +0 -1
- package/dist/cjs/dockview/components/watermark/watermark.d.ts.map +0 -1
- package/dist/cjs/dockview/components/watermark/watermark.js.map +0 -1
- package/dist/cjs/dockview/deserializer.d.ts.map +0 -1
- package/dist/cjs/dockview/deserializer.js.map +0 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts.map +0 -1
- package/dist/cjs/dockview/dockviewComponent.js.map +0 -1
- package/dist/cjs/dockview/dockviewFloatingGroupPanel.d.ts.map +0 -1
- package/dist/cjs/dockview/dockviewFloatingGroupPanel.js.map +0 -1
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts.map +0 -1
- package/dist/cjs/dockview/dockviewGroupPanel.js.map +0 -1
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts.map +0 -1
- package/dist/cjs/dockview/dockviewGroupPanelModel.js.map +0 -1
- package/dist/cjs/dockview/dockviewPanel.d.ts.map +0 -1
- package/dist/cjs/dockview/dockviewPanel.js.map +0 -1
- package/dist/cjs/dockview/dockviewPanelModel.d.ts.map +0 -1
- package/dist/cjs/dockview/dockviewPanelModel.js.map +0 -1
- package/dist/cjs/dockview/dockviewPopoutGroupPanel.d.ts +0 -16
- package/dist/cjs/dockview/dockviewPopoutGroupPanel.d.ts.map +0 -1
- package/dist/cjs/dockview/dockviewPopoutGroupPanel.js +0 -50
- package/dist/cjs/dockview/dockviewPopoutGroupPanel.js.map +0 -1
- package/dist/cjs/dockview/options.d.ts.map +0 -1
- package/dist/cjs/dockview/options.js.map +0 -1
- package/dist/cjs/dockview/types.d.ts.map +0 -1
- package/dist/cjs/dockview/types.js.map +0 -1
- package/dist/cjs/dom.d.ts.map +0 -1
- package/dist/cjs/dom.js.map +0 -1
- package/dist/cjs/events.d.ts.map +0 -1
- package/dist/cjs/events.js.map +0 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts.map +0 -1
- package/dist/cjs/gridview/baseComponentGridview.js.map +0 -1
- package/dist/cjs/gridview/basePanelView.d.ts.map +0 -1
- package/dist/cjs/gridview/basePanelView.js.map +0 -1
- package/dist/cjs/gridview/branchNode.d.ts.map +0 -1
- package/dist/cjs/gridview/branchNode.js.map +0 -1
- package/dist/cjs/gridview/gridview.d.ts.map +0 -1
- package/dist/cjs/gridview/gridview.js.map +0 -1
- package/dist/cjs/gridview/gridviewComponent.d.ts.map +0 -1
- package/dist/cjs/gridview/gridviewComponent.js.map +0 -1
- package/dist/cjs/gridview/gridviewPanel.d.ts.map +0 -1
- package/dist/cjs/gridview/gridviewPanel.js.map +0 -1
- package/dist/cjs/gridview/leafNode.d.ts.map +0 -1
- package/dist/cjs/gridview/leafNode.js.map +0 -1
- package/dist/cjs/gridview/options.d.ts.map +0 -1
- package/dist/cjs/gridview/options.js.map +0 -1
- package/dist/cjs/gridview/types.d.ts.map +0 -1
- package/dist/cjs/gridview/types.js.map +0 -1
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/lifecycle.d.ts.map +0 -1
- package/dist/cjs/lifecycle.js.map +0 -1
- package/dist/cjs/math.d.ts.map +0 -1
- package/dist/cjs/math.js.map +0 -1
- package/dist/cjs/overlayRenderContainer.d.ts.map +0 -1
- package/dist/cjs/overlayRenderContainer.js.map +0 -1
- package/dist/cjs/panel/componentFactory.d.ts.map +0 -1
- package/dist/cjs/panel/componentFactory.js.map +0 -1
- package/dist/cjs/panel/types.d.ts.map +0 -1
- package/dist/cjs/panel/types.js.map +0 -1
- package/dist/cjs/paneview/defaultPaneviewHeader.d.ts.map +0 -1
- package/dist/cjs/paneview/defaultPaneviewHeader.js.map +0 -1
- package/dist/cjs/paneview/draggablePaneviewPanel.d.ts.map +0 -1
- package/dist/cjs/paneview/draggablePaneviewPanel.js.map +0 -1
- package/dist/cjs/paneview/options.d.ts.map +0 -1
- package/dist/cjs/paneview/options.js.map +0 -1
- package/dist/cjs/paneview/paneview.d.ts.map +0 -1
- package/dist/cjs/paneview/paneview.js.map +0 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts.map +0 -1
- package/dist/cjs/paneview/paneviewComponent.js.map +0 -1
- package/dist/cjs/paneview/paneviewPanel.d.ts.map +0 -1
- package/dist/cjs/paneview/paneviewPanel.js.map +0 -1
- package/dist/cjs/popoutWindow.d.ts.map +0 -1
- package/dist/cjs/popoutWindow.js.map +0 -1
- package/dist/cjs/resizable.d.ts.map +0 -1
- package/dist/cjs/resizable.js.map +0 -1
- package/dist/cjs/splitview/options.d.ts.map +0 -1
- package/dist/cjs/splitview/options.js.map +0 -1
- package/dist/cjs/splitview/splitview.d.ts.map +0 -1
- package/dist/cjs/splitview/splitview.js.map +0 -1
- package/dist/cjs/splitview/splitviewComponent.d.ts.map +0 -1
- package/dist/cjs/splitview/splitviewComponent.js.map +0 -1
- package/dist/cjs/splitview/splitviewPanel.d.ts.map +0 -1
- package/dist/cjs/splitview/splitviewPanel.js.map +0 -1
- package/dist/cjs/splitview/viewItem.d.ts.map +0 -1
- package/dist/cjs/splitview/viewItem.js.map +0 -1
- package/dist/cjs/svg.d.ts.map +0 -1
- package/dist/cjs/svg.js.map +0 -1
- package/dist/cjs/types.d.ts.map +0 -1
- package/dist/cjs/types.js.map +0 -1
- package/dist/esm/api/component.api.d.ts.map +0 -1
- package/dist/esm/api/component.api.js.map +0 -1
- package/dist/esm/api/dockviewGroupPanelApi.d.ts.map +0 -1
- package/dist/esm/api/dockviewGroupPanelApi.js.map +0 -1
- package/dist/esm/api/dockviewPanelApi.d.ts.map +0 -1
- package/dist/esm/api/dockviewPanelApi.js.map +0 -1
- package/dist/esm/api/gridviewPanelApi.d.ts.map +0 -1
- package/dist/esm/api/gridviewPanelApi.js.map +0 -1
- package/dist/esm/api/panelApi.d.ts.map +0 -1
- package/dist/esm/api/panelApi.js.map +0 -1
- package/dist/esm/api/paneviewPanelApi.d.ts.map +0 -1
- package/dist/esm/api/paneviewPanelApi.js.map +0 -1
- package/dist/esm/api/splitviewPanelApi.d.ts.map +0 -1
- package/dist/esm/api/splitviewPanelApi.js.map +0 -1
- package/dist/esm/array.d.ts.map +0 -1
- package/dist/esm/array.js.map +0 -1
- package/dist/esm/constants.d.ts.map +0 -1
- package/dist/esm/constants.js.map +0 -1
- package/dist/esm/dnd/abstractDragHandler.d.ts.map +0 -1
- package/dist/esm/dnd/abstractDragHandler.js.map +0 -1
- package/dist/esm/dnd/dataTransfer.d.ts.map +0 -1
- package/dist/esm/dnd/dataTransfer.js.map +0 -1
- package/dist/esm/dnd/dnd.d.ts.map +0 -1
- package/dist/esm/dnd/dnd.js.map +0 -1
- package/dist/esm/dnd/droptarget.d.ts.map +0 -1
- package/dist/esm/dnd/droptarget.js.map +0 -1
- package/dist/esm/dnd/ghost.d.ts.map +0 -1
- package/dist/esm/dnd/ghost.js.map +0 -1
- package/dist/esm/dnd/groupDragHandler.d.ts.map +0 -1
- package/dist/esm/dnd/groupDragHandler.js.map +0 -1
- package/dist/esm/dnd/overlay.d.ts.map +0 -1
- package/dist/esm/dnd/overlay.js.map +0 -1
- package/dist/esm/dockview/components/panel/content.d.ts.map +0 -1
- package/dist/esm/dockview/components/panel/content.js.map +0 -1
- package/dist/esm/dockview/components/tab/defaultTab.d.ts.map +0 -1
- package/dist/esm/dockview/components/tab/defaultTab.js.map +0 -1
- package/dist/esm/dockview/components/tab/tab.d.ts.map +0 -1
- package/dist/esm/dockview/components/tab/tab.js.map +0 -1
- package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts.map +0 -1
- package/dist/esm/dockview/components/titlebar/tabsContainer.js.map +0 -1
- package/dist/esm/dockview/components/titlebar/voidContainer.d.ts.map +0 -1
- package/dist/esm/dockview/components/titlebar/voidContainer.js.map +0 -1
- package/dist/esm/dockview/components/watermark/watermark.d.ts.map +0 -1
- package/dist/esm/dockview/components/watermark/watermark.js.map +0 -1
- package/dist/esm/dockview/deserializer.d.ts.map +0 -1
- package/dist/esm/dockview/deserializer.js.map +0 -1
- package/dist/esm/dockview/dockviewComponent.d.ts.map +0 -1
- package/dist/esm/dockview/dockviewComponent.js.map +0 -1
- package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts.map +0 -1
- package/dist/esm/dockview/dockviewFloatingGroupPanel.js.map +0 -1
- package/dist/esm/dockview/dockviewGroupPanel.d.ts.map +0 -1
- package/dist/esm/dockview/dockviewGroupPanel.js.map +0 -1
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts.map +0 -1
- package/dist/esm/dockview/dockviewGroupPanelModel.js.map +0 -1
- package/dist/esm/dockview/dockviewPanel.d.ts.map +0 -1
- package/dist/esm/dockview/dockviewPanel.js.map +0 -1
- package/dist/esm/dockview/dockviewPanelModel.d.ts.map +0 -1
- package/dist/esm/dockview/dockviewPanelModel.js.map +0 -1
- package/dist/esm/dockview/dockviewPopoutGroupPanel.d.ts +0 -16
- package/dist/esm/dockview/dockviewPopoutGroupPanel.d.ts.map +0 -1
- package/dist/esm/dockview/dockviewPopoutGroupPanel.js +0 -28
- package/dist/esm/dockview/dockviewPopoutGroupPanel.js.map +0 -1
- package/dist/esm/dockview/options.d.ts.map +0 -1
- package/dist/esm/dockview/options.js.map +0 -1
- package/dist/esm/dockview/types.d.ts.map +0 -1
- package/dist/esm/dockview/types.js.map +0 -1
- package/dist/esm/dom.d.ts.map +0 -1
- package/dist/esm/dom.js.map +0 -1
- package/dist/esm/events.d.ts.map +0 -1
- package/dist/esm/events.js.map +0 -1
- package/dist/esm/gridview/baseComponentGridview.d.ts.map +0 -1
- package/dist/esm/gridview/baseComponentGridview.js.map +0 -1
- package/dist/esm/gridview/basePanelView.d.ts.map +0 -1
- package/dist/esm/gridview/basePanelView.js.map +0 -1
- package/dist/esm/gridview/branchNode.d.ts.map +0 -1
- package/dist/esm/gridview/branchNode.js.map +0 -1
- package/dist/esm/gridview/gridview.d.ts.map +0 -1
- package/dist/esm/gridview/gridview.js.map +0 -1
- package/dist/esm/gridview/gridviewComponent.d.ts.map +0 -1
- package/dist/esm/gridview/gridviewComponent.js.map +0 -1
- package/dist/esm/gridview/gridviewPanel.d.ts.map +0 -1
- package/dist/esm/gridview/gridviewPanel.js.map +0 -1
- package/dist/esm/gridview/leafNode.d.ts.map +0 -1
- package/dist/esm/gridview/leafNode.js.map +0 -1
- package/dist/esm/gridview/options.d.ts.map +0 -1
- package/dist/esm/gridview/options.js.map +0 -1
- package/dist/esm/gridview/types.d.ts.map +0 -1
- package/dist/esm/gridview/types.js.map +0 -1
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lifecycle.d.ts.map +0 -1
- package/dist/esm/lifecycle.js.map +0 -1
- package/dist/esm/math.d.ts.map +0 -1
- package/dist/esm/math.js.map +0 -1
- package/dist/esm/overlayRenderContainer.d.ts.map +0 -1
- package/dist/esm/overlayRenderContainer.js.map +0 -1
- package/dist/esm/panel/componentFactory.d.ts.map +0 -1
- package/dist/esm/panel/componentFactory.js.map +0 -1
- package/dist/esm/panel/types.d.ts.map +0 -1
- package/dist/esm/panel/types.js.map +0 -1
- package/dist/esm/paneview/defaultPaneviewHeader.d.ts.map +0 -1
- package/dist/esm/paneview/defaultPaneviewHeader.js.map +0 -1
- package/dist/esm/paneview/draggablePaneviewPanel.d.ts.map +0 -1
- package/dist/esm/paneview/draggablePaneviewPanel.js.map +0 -1
- package/dist/esm/paneview/options.d.ts.map +0 -1
- package/dist/esm/paneview/options.js.map +0 -1
- package/dist/esm/paneview/paneview.d.ts.map +0 -1
- package/dist/esm/paneview/paneview.js.map +0 -1
- package/dist/esm/paneview/paneviewComponent.d.ts.map +0 -1
- package/dist/esm/paneview/paneviewComponent.js.map +0 -1
- package/dist/esm/paneview/paneviewPanel.d.ts.map +0 -1
- package/dist/esm/paneview/paneviewPanel.js.map +0 -1
- package/dist/esm/popoutWindow.d.ts.map +0 -1
- package/dist/esm/popoutWindow.js.map +0 -1
- package/dist/esm/resizable.d.ts.map +0 -1
- package/dist/esm/resizable.js.map +0 -1
- package/dist/esm/splitview/options.d.ts.map +0 -1
- package/dist/esm/splitview/options.js.map +0 -1
- package/dist/esm/splitview/splitview.d.ts.map +0 -1
- package/dist/esm/splitview/splitview.js.map +0 -1
- package/dist/esm/splitview/splitviewComponent.d.ts.map +0 -1
- package/dist/esm/splitview/splitviewComponent.js.map +0 -1
- package/dist/esm/splitview/splitviewPanel.d.ts.map +0 -1
- package/dist/esm/splitview/splitviewPanel.js.map +0 -1
- package/dist/esm/splitview/viewItem.d.ts.map +0 -1
- package/dist/esm/splitview/viewItem.js.map +0 -1
- package/dist/esm/svg.d.ts.map +0 -1
- package/dist/esm/svg.js.map +0 -1
- package/dist/esm/types.d.ts.map +0 -1
- package/dist/esm/types.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-core
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 1.10.0
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -33,7 +33,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit.dv-dockview {\n padding: 3px;\n}\n.dockview-theme-replit .view:has(> .groupview) {\n padding: 3px;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab > .default-tab .tab-action {\n visibility: visible;\n}\n.tab.inactive-tab > .default-tab .tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab > .default-tab:hover .tab-action {\n visibility: visible;\n}\n.tab .default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .default-tab .tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .default-tab .action-container {\n text-align: right;\n display: flex;\n}\n.tab .default-tab .action-container .tab-list {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.tab .default-tab .action-container .tab-list .tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .default-tab .action-container .tab-list .tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
36
|
+
var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-gap-size: 3px;\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n.dv-dockview .split-view-container.horizontal > .view-container > .view:not(:last-child) {\n border-right: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.horizontal > .view-container > .view:not(:first-child) {\n border-left: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.vertical > .view-container > .view:not(:last-child) {\n border-bottom: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.vertical > .view-container > .view:not(:first-child) {\n border-top: var(--dv-group-gap-size) solid transparent;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab > .default-tab .tab-action {\n visibility: visible;\n}\n.tab.inactive-tab > .default-tab .tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab > .default-tab:hover .tab-action {\n visibility: visible;\n}\n.tab .default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .default-tab .tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .default-tab .action-container {\n text-align: right;\n display: flex;\n}\n.tab .default-tab .action-container .tab-list {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.tab .default-tab .action-container .tab-list .tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .default-tab .action-container .tab-list .tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
37
37
|
styleInject(css_248z);
|
|
38
38
|
|
|
39
39
|
class TransferObject {
|
|
@@ -118,6 +118,17 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
118
118
|
};
|
|
119
119
|
};
|
|
120
120
|
})(exports.DockviewEvent || (exports.DockviewEvent = {}));
|
|
121
|
+
class DockviewEvent {
|
|
122
|
+
constructor() {
|
|
123
|
+
this._defaultPrevented = false;
|
|
124
|
+
}
|
|
125
|
+
get defaultPrevented() {
|
|
126
|
+
return this._defaultPrevented;
|
|
127
|
+
}
|
|
128
|
+
preventDefault() {
|
|
129
|
+
this._defaultPrevented = true;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
121
132
|
class LeakageMonitor {
|
|
122
133
|
constructor() {
|
|
123
134
|
this.events = new Map();
|
|
@@ -161,6 +172,9 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
161
172
|
}
|
|
162
173
|
Emitter.ENABLE_TRACKING = isEnabled;
|
|
163
174
|
}
|
|
175
|
+
get value() {
|
|
176
|
+
return this._last;
|
|
177
|
+
}
|
|
164
178
|
constructor(options) {
|
|
165
179
|
this.options = options;
|
|
166
180
|
this._listeners = [];
|
|
@@ -283,8 +297,12 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
283
297
|
args.forEach((arg) => this._disposables.push(arg));
|
|
284
298
|
}
|
|
285
299
|
dispose() {
|
|
286
|
-
this.
|
|
300
|
+
if (this._isDisposed) {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
287
303
|
this._isDisposed = true;
|
|
304
|
+
this._disposables.forEach((arg) => arg.dispose());
|
|
305
|
+
this._disposables = [];
|
|
288
306
|
}
|
|
289
307
|
}
|
|
290
308
|
class MutableDisposable {
|
|
@@ -768,6 +786,13 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
768
786
|
this._endSnappingEnabled = endSnappingEnabled;
|
|
769
787
|
this.updateSashEnablement();
|
|
770
788
|
}
|
|
789
|
+
get disabled() {
|
|
790
|
+
return this._disabled;
|
|
791
|
+
}
|
|
792
|
+
set disabled(value) {
|
|
793
|
+
this._disabled = value;
|
|
794
|
+
toggleClass(this.element, 'dv-splitview-disabled', value);
|
|
795
|
+
}
|
|
771
796
|
constructor(container, options) {
|
|
772
797
|
this.container = container;
|
|
773
798
|
this.viewItems = [];
|
|
@@ -778,6 +803,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
778
803
|
this._proportions = undefined;
|
|
779
804
|
this._startSnappingEnabled = true;
|
|
780
805
|
this._endSnappingEnabled = true;
|
|
806
|
+
this._disabled = false;
|
|
781
807
|
this._onDidSashEnd = new Emitter();
|
|
782
808
|
this.onDidSashEnd = this._onDidSashEnd.event;
|
|
783
809
|
this._onDidAddView = new Emitter();
|
|
@@ -1705,7 +1731,13 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
1705
1731
|
}
|
|
1706
1732
|
return exports.LayoutPriority.Normal;
|
|
1707
1733
|
}
|
|
1708
|
-
|
|
1734
|
+
get disabled() {
|
|
1735
|
+
return this.splitview.disabled;
|
|
1736
|
+
}
|
|
1737
|
+
set disabled(value) {
|
|
1738
|
+
this.splitview.disabled = value;
|
|
1739
|
+
}
|
|
1740
|
+
constructor(orientation, proportionalLayout, styles, size, orthogonalSize, disabled, childDescriptors) {
|
|
1709
1741
|
super();
|
|
1710
1742
|
this.orientation = orientation;
|
|
1711
1743
|
this.proportionalLayout = proportionalLayout;
|
|
@@ -1750,6 +1782,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
1750
1782
|
styles,
|
|
1751
1783
|
});
|
|
1752
1784
|
}
|
|
1785
|
+
this.disabled = disabled;
|
|
1753
1786
|
this.addDisposables(this._onDidChange, this._onDidVisibilityChange, this.splitview.onDidSashEnd(() => {
|
|
1754
1787
|
this._onDidChange.fire({});
|
|
1755
1788
|
}));
|
|
@@ -1883,7 +1916,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
1883
1916
|
}
|
|
1884
1917
|
function flipNode(node, size, orthogonalSize) {
|
|
1885
1918
|
if (node instanceof BranchNode) {
|
|
1886
|
-
const result = new BranchNode(orthogonal(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize);
|
|
1919
|
+
const result = new BranchNode(orthogonal(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize, node.disabled);
|
|
1887
1920
|
let totalSize = 0;
|
|
1888
1921
|
for (let i = node.children.length - 1; i >= 0; i--) {
|
|
1889
1922
|
const child = node.children[i];
|
|
@@ -2019,31 +2052,57 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
2019
2052
|
get maximumHeight() {
|
|
2020
2053
|
return this.root.maximumHeight;
|
|
2021
2054
|
}
|
|
2055
|
+
get locked() {
|
|
2056
|
+
return this._locked;
|
|
2057
|
+
}
|
|
2058
|
+
set locked(value) {
|
|
2059
|
+
this._locked = value;
|
|
2060
|
+
const branch = [this.root];
|
|
2061
|
+
/**
|
|
2062
|
+
* simple depth-first-search to cover all nodes
|
|
2063
|
+
*
|
|
2064
|
+
* @see https://en.wikipedia.org/wiki/Depth-first_search
|
|
2065
|
+
*/
|
|
2066
|
+
while (branch.length > 0) {
|
|
2067
|
+
const node = branch.pop();
|
|
2068
|
+
if (node instanceof BranchNode) {
|
|
2069
|
+
node.disabled = value;
|
|
2070
|
+
branch.push(...node.children);
|
|
2071
|
+
}
|
|
2072
|
+
}
|
|
2073
|
+
}
|
|
2022
2074
|
maximizedView() {
|
|
2023
2075
|
var _a;
|
|
2024
|
-
return (_a = this._maximizedNode) === null || _a === void 0 ? void 0 : _a.view;
|
|
2076
|
+
return (_a = this._maximizedNode) === null || _a === void 0 ? void 0 : _a.leaf.view;
|
|
2025
2077
|
}
|
|
2026
2078
|
hasMaximizedView() {
|
|
2027
2079
|
return this._maximizedNode !== undefined;
|
|
2028
2080
|
}
|
|
2029
2081
|
maximizeView(view) {
|
|
2082
|
+
var _a;
|
|
2030
2083
|
const location = getGridLocation(view.element);
|
|
2031
2084
|
const [_, node] = this.getNode(location);
|
|
2032
2085
|
if (!(node instanceof LeafNode)) {
|
|
2033
2086
|
return;
|
|
2034
2087
|
}
|
|
2035
|
-
if (this._maximizedNode === node) {
|
|
2088
|
+
if (((_a = this._maximizedNode) === null || _a === void 0 ? void 0 : _a.leaf) === node) {
|
|
2036
2089
|
return;
|
|
2037
2090
|
}
|
|
2038
2091
|
if (this.hasMaximizedView()) {
|
|
2039
2092
|
this.exitMaximizedView();
|
|
2040
2093
|
}
|
|
2094
|
+
const hiddenOnMaximize = [];
|
|
2041
2095
|
function hideAllViewsBut(parent, exclude) {
|
|
2042
2096
|
for (let i = 0; i < parent.children.length; i++) {
|
|
2043
2097
|
const child = parent.children[i];
|
|
2044
2098
|
if (child instanceof LeafNode) {
|
|
2045
2099
|
if (child !== exclude) {
|
|
2046
|
-
parent.
|
|
2100
|
+
if (parent.isChildVisible(i)) {
|
|
2101
|
+
parent.setChildVisible(i, false);
|
|
2102
|
+
}
|
|
2103
|
+
else {
|
|
2104
|
+
hiddenOnMaximize.push(child);
|
|
2105
|
+
}
|
|
2047
2106
|
}
|
|
2048
2107
|
}
|
|
2049
2108
|
else {
|
|
@@ -2052,18 +2111,21 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
2052
2111
|
}
|
|
2053
2112
|
}
|
|
2054
2113
|
hideAllViewsBut(this.root, node);
|
|
2055
|
-
this._maximizedNode = node;
|
|
2056
|
-
this.
|
|
2114
|
+
this._maximizedNode = { leaf: node, hiddenOnMaximize };
|
|
2115
|
+
this._onDidMaximizedNodeChange.fire();
|
|
2057
2116
|
}
|
|
2058
2117
|
exitMaximizedView() {
|
|
2059
2118
|
if (!this._maximizedNode) {
|
|
2060
2119
|
return;
|
|
2061
2120
|
}
|
|
2121
|
+
const hiddenOnMaximize = this._maximizedNode.hiddenOnMaximize;
|
|
2062
2122
|
function showViewsInReverseOrder(parent) {
|
|
2063
2123
|
for (let index = parent.children.length - 1; index >= 0; index--) {
|
|
2064
2124
|
const child = parent.children[index];
|
|
2065
2125
|
if (child instanceof LeafNode) {
|
|
2066
|
-
|
|
2126
|
+
if (!hiddenOnMaximize.includes(child)) {
|
|
2127
|
+
parent.setChildVisible(index, true);
|
|
2128
|
+
}
|
|
2067
2129
|
}
|
|
2068
2130
|
else {
|
|
2069
2131
|
showViewsInReverseOrder(child);
|
|
@@ -2072,13 +2134,13 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
2072
2134
|
}
|
|
2073
2135
|
showViewsInReverseOrder(this.root);
|
|
2074
2136
|
this._maximizedNode = undefined;
|
|
2075
|
-
this.
|
|
2137
|
+
this._onDidMaximizedNodeChange.fire();
|
|
2076
2138
|
}
|
|
2077
2139
|
serialize() {
|
|
2078
2140
|
if (this.hasMaximizedView()) {
|
|
2079
2141
|
/**
|
|
2080
|
-
* do not persist maximized view state
|
|
2081
|
-
*
|
|
2142
|
+
* do not persist maximized view state
|
|
2143
|
+
* firstly exit any maximized views to ensure the correct dimensions are persisted
|
|
2082
2144
|
*/
|
|
2083
2145
|
this.exitMaximizedView();
|
|
2084
2146
|
}
|
|
@@ -2093,14 +2155,14 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
2093
2155
|
dispose() {
|
|
2094
2156
|
this.disposable.dispose();
|
|
2095
2157
|
this._onDidChange.dispose();
|
|
2096
|
-
this.
|
|
2158
|
+
this._onDidMaximizedNodeChange.dispose();
|
|
2097
2159
|
this.root.dispose();
|
|
2098
2160
|
this._maximizedNode = undefined;
|
|
2099
2161
|
this.element.remove();
|
|
2100
2162
|
}
|
|
2101
2163
|
clear() {
|
|
2102
2164
|
const orientation = this.root.orientation;
|
|
2103
|
-
this.root = new BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize);
|
|
2165
|
+
this.root = new BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize, this._locked);
|
|
2104
2166
|
}
|
|
2105
2167
|
deserialize(json, deserializer) {
|
|
2106
2168
|
const orientation = json.orientation;
|
|
@@ -2121,8 +2183,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
2121
2183
|
};
|
|
2122
2184
|
});
|
|
2123
2185
|
result = new BranchNode(orientation, this.proportionalLayout, this.styles, node.size, // <- orthogonal size - flips at each depth
|
|
2124
|
-
orthogonalSize, // <- size - flips at each depth
|
|
2125
|
-
children);
|
|
2186
|
+
orthogonalSize, // <- size - flips at each depth,
|
|
2187
|
+
this._locked, children);
|
|
2126
2188
|
}
|
|
2127
2189
|
else {
|
|
2128
2190
|
result = new LeafNode(deserializer.fromJSON(node), orientation, orthogonalSize, node.size);
|
|
@@ -2155,7 +2217,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
2155
2217
|
}
|
|
2156
2218
|
const oldRoot = this.root;
|
|
2157
2219
|
oldRoot.element.remove();
|
|
2158
|
-
this._root = new BranchNode(orthogonal(oldRoot.orientation), this.proportionalLayout, this.styles, this.root.orthogonalSize, this.root.size);
|
|
2220
|
+
this._root = new BranchNode(orthogonal(oldRoot.orientation), this.proportionalLayout, this.styles, this.root.orthogonalSize, this.root.size, this._locked);
|
|
2159
2221
|
if (oldRoot.children.length === 0) ;
|
|
2160
2222
|
else if (oldRoot.children.length === 1) {
|
|
2161
2223
|
// can remove one level of redundant branching if there is only a single child
|
|
@@ -2223,15 +2285,16 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
2223
2285
|
constructor(proportionalLayout, styles, orientation) {
|
|
2224
2286
|
this.proportionalLayout = proportionalLayout;
|
|
2225
2287
|
this.styles = styles;
|
|
2288
|
+
this._locked = false;
|
|
2226
2289
|
this._maximizedNode = undefined;
|
|
2227
2290
|
this.disposable = new MutableDisposable();
|
|
2228
2291
|
this._onDidChange = new Emitter();
|
|
2229
2292
|
this.onDidChange = this._onDidChange.event;
|
|
2230
|
-
this.
|
|
2231
|
-
this.
|
|
2293
|
+
this._onDidMaximizedNodeChange = new Emitter();
|
|
2294
|
+
this.onDidMaximizedNodeChange = this._onDidMaximizedNodeChange.event;
|
|
2232
2295
|
this.element = document.createElement('div');
|
|
2233
2296
|
this.element.className = 'grid-view';
|
|
2234
|
-
this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0);
|
|
2297
|
+
this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0, this._locked);
|
|
2235
2298
|
}
|
|
2236
2299
|
isViewVisible(location) {
|
|
2237
2300
|
const [rest, index] = tail(location);
|
|
@@ -2282,7 +2345,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
2282
2345
|
}
|
|
2283
2346
|
const child = grandParent.removeChild(parentIndex);
|
|
2284
2347
|
child.dispose();
|
|
2285
|
-
const newParent = new BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize);
|
|
2348
|
+
const newParent = new BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize, this._locked);
|
|
2286
2349
|
grandParent.addChild(newParent, parent.size, parentIndex);
|
|
2287
2350
|
const newSibling = new LeafNode(parent.view, grandParent.orientation, parent.size);
|
|
2288
2351
|
newParent.addChild(newSibling, newSiblingSize, 0);
|
|
@@ -2909,6 +2972,21 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
2909
2972
|
get onDidDrop() {
|
|
2910
2973
|
return this.component.onDidDrop;
|
|
2911
2974
|
}
|
|
2975
|
+
/**
|
|
2976
|
+
* Invoked when a Drag'n'Drop event occurs but before dockview handles it giving the user an opportunity to intecept and
|
|
2977
|
+
* prevent the event from occuring using the standard `preventDefault()` syntax.
|
|
2978
|
+
*
|
|
2979
|
+
* Preventing certain events may causes unexpected behaviours, use carefully.
|
|
2980
|
+
*/
|
|
2981
|
+
get onWillDrop() {
|
|
2982
|
+
return this.component.onWillDrop;
|
|
2983
|
+
}
|
|
2984
|
+
/**
|
|
2985
|
+
*
|
|
2986
|
+
*/
|
|
2987
|
+
get onWillShowOverlay() {
|
|
2988
|
+
return this.component.onWillShowOverlay;
|
|
2989
|
+
}
|
|
2912
2990
|
/**
|
|
2913
2991
|
* Invoked before a group is dragged. Exposed for custom Drag'n'Drop functionality.
|
|
2914
2992
|
*/
|
|
@@ -3044,17 +3122,17 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3044
3122
|
hasMaximizedGroup() {
|
|
3045
3123
|
return this.component.hasMaximizedGroup();
|
|
3046
3124
|
}
|
|
3047
|
-
|
|
3125
|
+
exitMaximizedGroup() {
|
|
3048
3126
|
this.component.exitMaximizedGroup();
|
|
3049
3127
|
}
|
|
3050
|
-
get
|
|
3051
|
-
return this.component.
|
|
3128
|
+
get onDidMaximizedGroupChange() {
|
|
3129
|
+
return this.component.onDidMaximizedGroupChange;
|
|
3052
3130
|
}
|
|
3053
3131
|
/**
|
|
3054
3132
|
* Add a popout group in a new Window
|
|
3055
3133
|
*/
|
|
3056
3134
|
addPopoutGroup(item, options) {
|
|
3057
|
-
this.component.addPopoutGroup(item, options);
|
|
3135
|
+
return this.component.addPopoutGroup(item, options);
|
|
3058
3136
|
}
|
|
3059
3137
|
}
|
|
3060
3138
|
|
|
@@ -3108,6 +3186,18 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3108
3186
|
}
|
|
3109
3187
|
}
|
|
3110
3188
|
|
|
3189
|
+
class WillShowOverlayEvent extends DockviewEvent {
|
|
3190
|
+
get nativeEvent() {
|
|
3191
|
+
return this.options.nativeEvent;
|
|
3192
|
+
}
|
|
3193
|
+
get position() {
|
|
3194
|
+
return this.options.position;
|
|
3195
|
+
}
|
|
3196
|
+
constructor(options) {
|
|
3197
|
+
super();
|
|
3198
|
+
this.options = options;
|
|
3199
|
+
}
|
|
3200
|
+
}
|
|
3111
3201
|
function directionToPosition(direction) {
|
|
3112
3202
|
switch (direction) {
|
|
3113
3203
|
case 'above':
|
|
@@ -3160,6 +3250,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3160
3250
|
this.options = options;
|
|
3161
3251
|
this._onDrop = new Emitter();
|
|
3162
3252
|
this.onDrop = this._onDrop.event;
|
|
3253
|
+
this._onWillShowOverlay = new Emitter();
|
|
3254
|
+
this.onWillShowOverlay = this._onWillShowOverlay.event;
|
|
3163
3255
|
// use a set to take advantage of #<set>.has
|
|
3164
3256
|
this._acceptedTargetZonesSet = new Set(this.options.acceptedTargetZones);
|
|
3165
3257
|
this.dnd = new DragAndDropObserver(this.element, {
|
|
@@ -3188,6 +3280,19 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3188
3280
|
this.removeDropTarget();
|
|
3189
3281
|
return;
|
|
3190
3282
|
}
|
|
3283
|
+
const willShowOverlayEvent = new WillShowOverlayEvent({
|
|
3284
|
+
nativeEvent: e,
|
|
3285
|
+
position: quadrant,
|
|
3286
|
+
});
|
|
3287
|
+
/**
|
|
3288
|
+
* Provide an opportunity to prevent the overlay appearing and in turn
|
|
3289
|
+
* any dnd behaviours
|
|
3290
|
+
*/
|
|
3291
|
+
this._onWillShowOverlay.fire(willShowOverlayEvent);
|
|
3292
|
+
if (willShowOverlayEvent.defaultPrevented) {
|
|
3293
|
+
this.removeDropTarget();
|
|
3294
|
+
return;
|
|
3295
|
+
}
|
|
3191
3296
|
if (typeof this.options.canDisplayOverlay === 'boolean') {
|
|
3192
3297
|
if (!this.options.canDisplayOverlay) {
|
|
3193
3298
|
this.removeDropTarget();
|
|
@@ -3230,7 +3335,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3230
3335
|
}
|
|
3231
3336
|
},
|
|
3232
3337
|
});
|
|
3233
|
-
this.addDisposables(this._onDrop, this.dnd);
|
|
3338
|
+
this.addDisposables(this._onDrop, this._onWillShowOverlay, this.dnd);
|
|
3234
3339
|
}
|
|
3235
3340
|
setTargetZones(acceptedTargetZones) {
|
|
3236
3341
|
this._acceptedTargetZonesSet = new Set(acceptedTargetZones);
|
|
@@ -3283,25 +3388,44 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3283
3388
|
size = clamp(0, sizeOptions.value, height) / height;
|
|
3284
3389
|
}
|
|
3285
3390
|
}
|
|
3286
|
-
const
|
|
3287
|
-
|
|
3288
|
-
|
|
3391
|
+
const box = { top: '0px', left: '0px', width: '100%', height: '100%' };
|
|
3392
|
+
/**
|
|
3393
|
+
* You can also achieve the overlay placement using the transform CSS property
|
|
3394
|
+
* to translate and scale the element however this has the undesired effect of
|
|
3395
|
+
* 'skewing' the element. Comment left here for anybody that ever revisits this.
|
|
3396
|
+
*
|
|
3397
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/transform
|
|
3398
|
+
*
|
|
3399
|
+
* right
|
|
3400
|
+
* translateX(${100 * (1 - size) / 2}%) scaleX(${scale})
|
|
3401
|
+
*
|
|
3402
|
+
* left
|
|
3403
|
+
* translateX(-${100 * (1 - size) / 2}%) scaleX(${scale})
|
|
3404
|
+
*
|
|
3405
|
+
* top
|
|
3406
|
+
* translateY(-${100 * (1 - size) / 2}%) scaleY(${scale})
|
|
3407
|
+
*
|
|
3408
|
+
* bottom
|
|
3409
|
+
* translateY(${100 * (1 - size) / 2}%) scaleY(${scale})
|
|
3410
|
+
*/
|
|
3289
3411
|
if (rightClass) {
|
|
3290
|
-
|
|
3412
|
+
box.left = `${100 * (1 - size)}%`;
|
|
3413
|
+
box.width = `${100 * size}%`;
|
|
3291
3414
|
}
|
|
3292
3415
|
else if (leftClass) {
|
|
3293
|
-
|
|
3416
|
+
box.width = `${100 * size}%`;
|
|
3294
3417
|
}
|
|
3295
3418
|
else if (topClass) {
|
|
3296
|
-
|
|
3419
|
+
box.height = `${100 * size}%`;
|
|
3297
3420
|
}
|
|
3298
3421
|
else if (bottomClass) {
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
else {
|
|
3302
|
-
transform = '';
|
|
3422
|
+
box.top = `${100 * (1 - size)}%`;
|
|
3423
|
+
box.height = `${100 * size}%`;
|
|
3303
3424
|
}
|
|
3304
|
-
this.overlayElement.style.
|
|
3425
|
+
this.overlayElement.style.top = box.top;
|
|
3426
|
+
this.overlayElement.style.left = box.left;
|
|
3427
|
+
this.overlayElement.style.width = box.width;
|
|
3428
|
+
this.overlayElement.style.height = box.height;
|
|
3305
3429
|
toggleClass(this.overlayElement, 'dv-drop-target-small-vertical', isSmallY);
|
|
3306
3430
|
toggleClass(this.overlayElement, 'dv-drop-target-small-horizontal', isSmallX);
|
|
3307
3431
|
toggleClass(this.overlayElement, 'dv-drop-target-left', isLeft);
|
|
@@ -3369,14 +3493,6 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3369
3493
|
return 'center';
|
|
3370
3494
|
}
|
|
3371
3495
|
|
|
3372
|
-
exports.DockviewDropTargets = void 0;
|
|
3373
|
-
(function (DockviewDropTargets) {
|
|
3374
|
-
DockviewDropTargets[DockviewDropTargets["Tab"] = 0] = "Tab";
|
|
3375
|
-
DockviewDropTargets[DockviewDropTargets["Panel"] = 1] = "Panel";
|
|
3376
|
-
DockviewDropTargets[DockviewDropTargets["TabContainer"] = 2] = "TabContainer";
|
|
3377
|
-
DockviewDropTargets[DockviewDropTargets["Edge"] = 3] = "Edge";
|
|
3378
|
-
})(exports.DockviewDropTargets || (exports.DockviewDropTargets = {}));
|
|
3379
|
-
|
|
3380
3496
|
class ContentContainer extends CompositeDisposable {
|
|
3381
3497
|
get element() {
|
|
3382
3498
|
return this._element;
|
|
@@ -3404,7 +3520,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3404
3520
|
const data = getPanelData();
|
|
3405
3521
|
if (!data &&
|
|
3406
3522
|
event.shiftKey &&
|
|
3407
|
-
this.group.location !== 'floating') {
|
|
3523
|
+
this.group.location.type !== 'floating') {
|
|
3408
3524
|
return false;
|
|
3409
3525
|
}
|
|
3410
3526
|
if (data && data.viewId === this.accessor.id) {
|
|
@@ -3422,7 +3538,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3422
3538
|
data.groupId === this.group.id;
|
|
3423
3539
|
return !groupHasOnePanelAndIsActiveDragElement;
|
|
3424
3540
|
}
|
|
3425
|
-
return this.group.canDisplayOverlay(event, position,
|
|
3541
|
+
return this.group.canDisplayOverlay(event, position, 'panel');
|
|
3426
3542
|
},
|
|
3427
3543
|
});
|
|
3428
3544
|
this.addDisposables(this.dropTarget);
|
|
@@ -3447,7 +3563,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3447
3563
|
let container;
|
|
3448
3564
|
switch (panel.api.renderer) {
|
|
3449
3565
|
case 'onlyWhenVisibile':
|
|
3450
|
-
this.
|
|
3566
|
+
this.group.renderContainer.detatch(panel);
|
|
3451
3567
|
if (this.panel) {
|
|
3452
3568
|
if (doRender) {
|
|
3453
3569
|
this._element.appendChild(this.panel.view.content.element);
|
|
@@ -3459,7 +3575,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3459
3575
|
if (panel.view.content.element.parentElement === this._element) {
|
|
3460
3576
|
this._element.removeChild(panel.view.content.element);
|
|
3461
3577
|
}
|
|
3462
|
-
container = this.
|
|
3578
|
+
container = this.group.renderContainer.attach({
|
|
3463
3579
|
panel,
|
|
3464
3580
|
referenceContainer: this,
|
|
3465
3581
|
});
|
|
@@ -3490,9 +3606,10 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3490
3606
|
// noop
|
|
3491
3607
|
}
|
|
3492
3608
|
closePanel() {
|
|
3609
|
+
var _a;
|
|
3493
3610
|
if (this.panel) {
|
|
3494
3611
|
if (this.panel.api.renderer === 'onlyWhenVisibile') {
|
|
3495
|
-
this.
|
|
3612
|
+
(_a = this.panel.view.content.element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.panel.view.content.element);
|
|
3496
3613
|
}
|
|
3497
3614
|
}
|
|
3498
3615
|
this.panel = undefined;
|
|
@@ -3603,7 +3720,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3603
3720
|
this._element.draggable = true;
|
|
3604
3721
|
toggleClass(this.element, 'inactive-tab', true);
|
|
3605
3722
|
const dragHandler = new TabDragHandler(this._element, this.accessor, this.group, this.panel);
|
|
3606
|
-
this.
|
|
3723
|
+
this.dropTarget = new Droptarget(this._element, {
|
|
3607
3724
|
acceptedTargetZones: ['center'],
|
|
3608
3725
|
canDisplayOverlay: (event, position) => {
|
|
3609
3726
|
if (this.group.locked) {
|
|
@@ -3618,9 +3735,10 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3618
3735
|
}
|
|
3619
3736
|
return this.panel.id !== data.panelId;
|
|
3620
3737
|
}
|
|
3621
|
-
return this.group.model.canDisplayOverlay(event, position,
|
|
3738
|
+
return this.group.model.canDisplayOverlay(event, position, 'tab');
|
|
3622
3739
|
},
|
|
3623
3740
|
});
|
|
3741
|
+
this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
|
|
3624
3742
|
this.addDisposables(this._onChanged, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
|
|
3625
3743
|
this._onDragStart.fire(event);
|
|
3626
3744
|
}), dragHandler, addDisposableListener(this._element, 'mousedown', (event) => {
|
|
@@ -3628,9 +3746,9 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3628
3746
|
return;
|
|
3629
3747
|
}
|
|
3630
3748
|
this._onChanged.fire(event);
|
|
3631
|
-
}), this.
|
|
3749
|
+
}), this.dropTarget.onDrop((event) => {
|
|
3632
3750
|
this._onDropped.fire(event);
|
|
3633
|
-
}), this.
|
|
3751
|
+
}), this.dropTarget);
|
|
3634
3752
|
}
|
|
3635
3753
|
setActive(isActive) {
|
|
3636
3754
|
toggleClass(this.element, 'active-tab', isActive);
|
|
@@ -3677,7 +3795,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3677
3795
|
}, true));
|
|
3678
3796
|
}
|
|
3679
3797
|
isCancelled(_event) {
|
|
3680
|
-
if (this.group.api.location === 'floating' && !_event.shiftKey) {
|
|
3798
|
+
if (this.group.api.location.type === 'floating' && !_event.shiftKey) {
|
|
3681
3799
|
return true;
|
|
3682
3800
|
}
|
|
3683
3801
|
return false;
|
|
@@ -3729,7 +3847,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3729
3847
|
this.accessor.doSetGroupActive(this.group);
|
|
3730
3848
|
}));
|
|
3731
3849
|
const handler = new GroupDragHandler(this._element, accessor, group);
|
|
3732
|
-
this.
|
|
3850
|
+
this.dropTraget = new Droptarget(this._element, {
|
|
3733
3851
|
acceptedTargetZones: ['center'],
|
|
3734
3852
|
canDisplayOverlay: (event, position) => {
|
|
3735
3853
|
var _a;
|
|
@@ -3743,14 +3861,15 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3743
3861
|
// don't show the overlay if the tab being dragged is the last panel of this group
|
|
3744
3862
|
return ((_a = last(this.group.panels)) === null || _a === void 0 ? void 0 : _a.id) !== data.panelId;
|
|
3745
3863
|
}
|
|
3746
|
-
return group.model.canDisplayOverlay(event, position,
|
|
3864
|
+
return group.model.canDisplayOverlay(event, position, 'panel');
|
|
3747
3865
|
},
|
|
3748
3866
|
});
|
|
3867
|
+
this.onWillShowOverlay = this.dropTraget.onWillShowOverlay;
|
|
3749
3868
|
this.addDisposables(handler, handler.onDragStart((event) => {
|
|
3750
3869
|
this._onDragStart.fire(event);
|
|
3751
|
-
}), this.
|
|
3870
|
+
}), this.dropTraget.onDrop((event) => {
|
|
3752
3871
|
this._onDrop.fire(event);
|
|
3753
|
-
}), this.
|
|
3872
|
+
}), this.dropTraget);
|
|
3754
3873
|
}
|
|
3755
3874
|
}
|
|
3756
3875
|
|
|
@@ -3838,19 +3957,11 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3838
3957
|
this.onTabDragStart = this._onTabDragStart.event;
|
|
3839
3958
|
this._onGroupDragStart = new Emitter();
|
|
3840
3959
|
this.onGroupDragStart = this._onGroupDragStart.event;
|
|
3841
|
-
this.
|
|
3960
|
+
this._onWillShowOverlay = new Emitter();
|
|
3961
|
+
this.onWillShowOverlay = this._onWillShowOverlay.event;
|
|
3842
3962
|
this._element = document.createElement('div');
|
|
3843
3963
|
this._element.className = 'tabs-and-actions-container';
|
|
3844
3964
|
toggleClass(this._element, 'dv-full-width-single-tab', this.accessor.options.singleTabMode === 'fullwidth');
|
|
3845
|
-
this.addDisposables(this.accessor.onDidAddPanel((e) => {
|
|
3846
|
-
if (e.api.group === this.group) {
|
|
3847
|
-
toggleClass(this._element, 'dv-single-tab', this.size === 1);
|
|
3848
|
-
}
|
|
3849
|
-
}), this.accessor.onDidRemovePanel((e) => {
|
|
3850
|
-
if (e.api.group === this.group) {
|
|
3851
|
-
toggleClass(this._element, 'dv-single-tab', this.size === 1);
|
|
3852
|
-
}
|
|
3853
|
-
}));
|
|
3854
3965
|
this.rightActionsContainer = document.createElement('div');
|
|
3855
3966
|
this.rightActionsContainer.className = 'right-actions-container';
|
|
3856
3967
|
this.leftActionsContainer = document.createElement('div');
|
|
@@ -3865,7 +3976,15 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3865
3976
|
this._element.appendChild(this.leftActionsContainer);
|
|
3866
3977
|
this._element.appendChild(this.voidContainer.element);
|
|
3867
3978
|
this._element.appendChild(this.rightActionsContainer);
|
|
3868
|
-
this.addDisposables(this.
|
|
3979
|
+
this.addDisposables(this.accessor.onDidAddPanel((e) => {
|
|
3980
|
+
if (e.api.group === this.group) {
|
|
3981
|
+
toggleClass(this._element, 'dv-single-tab', this.size === 1);
|
|
3982
|
+
}
|
|
3983
|
+
}), this.accessor.onDidRemovePanel((e) => {
|
|
3984
|
+
if (e.api.group === this.group) {
|
|
3985
|
+
toggleClass(this._element, 'dv-single-tab', this.size === 1);
|
|
3986
|
+
}
|
|
3987
|
+
}), this._onWillShowOverlay, this._onDrop, this._onTabDragStart, this._onGroupDragStart, this.voidContainer, this.voidContainer.onDragStart((event) => {
|
|
3869
3988
|
this._onGroupDragStart.fire({
|
|
3870
3989
|
nativeEvent: event,
|
|
3871
3990
|
group: this.group,
|
|
@@ -3875,11 +3994,15 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3875
3994
|
event: event.nativeEvent,
|
|
3876
3995
|
index: this.tabs.length,
|
|
3877
3996
|
});
|
|
3997
|
+
}), this.voidContainer.onWillShowOverlay((event) => {
|
|
3998
|
+
this._onWillShowOverlay.fire(new WillShowOverlayLocationEvent(event, {
|
|
3999
|
+
kind: 'header_space',
|
|
4000
|
+
}));
|
|
3878
4001
|
}), addDisposableListener(this.voidContainer.element, 'mousedown', (event) => {
|
|
3879
4002
|
const isFloatingGroupsEnabled = !this.accessor.options.disableFloatingGroups;
|
|
3880
4003
|
if (isFloatingGroupsEnabled &&
|
|
3881
4004
|
event.shiftKey &&
|
|
3882
|
-
this.group.api.location !== 'floating') {
|
|
4005
|
+
this.group.api.location.type !== 'floating') {
|
|
3883
4006
|
event.preventDefault();
|
|
3884
4007
|
const { top, left } = this.element.getBoundingClientRect();
|
|
3885
4008
|
const { top: rootTop, left: rootLeft } = this.accessor.element.getBoundingClientRect();
|
|
@@ -3942,9 +4065,9 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3942
4065
|
const disposable = new CompositeDisposable(tab.onDragStart((event) => {
|
|
3943
4066
|
this._onTabDragStart.fire({ nativeEvent: event, panel });
|
|
3944
4067
|
}), tab.onChanged((event) => {
|
|
3945
|
-
var _a;
|
|
3946
4068
|
const isFloatingGroupsEnabled = !this.accessor.options.disableFloatingGroups;
|
|
3947
|
-
const isFloatingWithOnePanel = this.group.api.location === 'floating' &&
|
|
4069
|
+
const isFloatingWithOnePanel = this.group.api.location.type === 'floating' &&
|
|
4070
|
+
this.size === 1;
|
|
3948
4071
|
if (isFloatingGroupsEnabled &&
|
|
3949
4072
|
!isFloatingWithOnePanel &&
|
|
3950
4073
|
event.shiftKey) {
|
|
@@ -3958,20 +4081,20 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3958
4081
|
}, { inDragMode: true });
|
|
3959
4082
|
return;
|
|
3960
4083
|
}
|
|
3961
|
-
const alreadyFocused = panel.id === ((_a = this.group.model.activePanel) === null || _a === void 0 ? void 0 : _a.id) &&
|
|
3962
|
-
this.group.model.isContentFocused;
|
|
3963
4084
|
const isLeftClick = event.button === 0;
|
|
3964
4085
|
if (!isLeftClick || event.defaultPrevented) {
|
|
3965
4086
|
return;
|
|
3966
4087
|
}
|
|
3967
|
-
this.group.
|
|
3968
|
-
|
|
3969
|
-
}
|
|
4088
|
+
if (this.group.activePanel !== panel) {
|
|
4089
|
+
this.group.model.openPanel(panel);
|
|
4090
|
+
}
|
|
3970
4091
|
}), tab.onDrop((event) => {
|
|
3971
4092
|
this._onDrop.fire({
|
|
3972
4093
|
event: event.nativeEvent,
|
|
3973
4094
|
index: this.tabs.findIndex((x) => x.value === tab),
|
|
3974
4095
|
});
|
|
4096
|
+
}), tab.onWillShowOverlay((event) => {
|
|
4097
|
+
this._onWillShowOverlay.fire(new WillShowOverlayLocationEvent(event, { kind: 'tab' }));
|
|
3975
4098
|
}));
|
|
3976
4099
|
const value = { value: tab, disposable };
|
|
3977
4100
|
this.addTab(value, index);
|
|
@@ -3989,6 +4112,60 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
3989
4112
|
}
|
|
3990
4113
|
}
|
|
3991
4114
|
|
|
4115
|
+
class DockviewDidDropEvent extends DockviewEvent {
|
|
4116
|
+
get nativeEvent() {
|
|
4117
|
+
return this.options.nativeEvent;
|
|
4118
|
+
}
|
|
4119
|
+
get position() {
|
|
4120
|
+
return this.options.position;
|
|
4121
|
+
}
|
|
4122
|
+
get panel() {
|
|
4123
|
+
return this.options.panel;
|
|
4124
|
+
}
|
|
4125
|
+
get group() {
|
|
4126
|
+
return this.options.group;
|
|
4127
|
+
}
|
|
4128
|
+
get api() {
|
|
4129
|
+
return this.options.api;
|
|
4130
|
+
}
|
|
4131
|
+
constructor(options) {
|
|
4132
|
+
super();
|
|
4133
|
+
this.options = options;
|
|
4134
|
+
}
|
|
4135
|
+
getData() {
|
|
4136
|
+
return this.options.getData();
|
|
4137
|
+
}
|
|
4138
|
+
}
|
|
4139
|
+
class DockviewWillDropEvent extends DockviewDidDropEvent {
|
|
4140
|
+
get kind() {
|
|
4141
|
+
return this._kind;
|
|
4142
|
+
}
|
|
4143
|
+
constructor(options) {
|
|
4144
|
+
super(options);
|
|
4145
|
+
this._kind = options.kind;
|
|
4146
|
+
}
|
|
4147
|
+
}
|
|
4148
|
+
class WillShowOverlayLocationEvent {
|
|
4149
|
+
get kind() {
|
|
4150
|
+
return this._kind;
|
|
4151
|
+
}
|
|
4152
|
+
get nativeEvent() {
|
|
4153
|
+
return this.event.nativeEvent;
|
|
4154
|
+
}
|
|
4155
|
+
get position() {
|
|
4156
|
+
return this.event.position;
|
|
4157
|
+
}
|
|
4158
|
+
get defaultPrevented() {
|
|
4159
|
+
return this.event.defaultPrevented;
|
|
4160
|
+
}
|
|
4161
|
+
preventDefault() {
|
|
4162
|
+
this.event.preventDefault();
|
|
4163
|
+
}
|
|
4164
|
+
constructor(event, options) {
|
|
4165
|
+
this.event = event;
|
|
4166
|
+
this._kind = options.kind;
|
|
4167
|
+
}
|
|
4168
|
+
}
|
|
3992
4169
|
class DockviewGroupPanelModel extends CompositeDisposable {
|
|
3993
4170
|
get element() {
|
|
3994
4171
|
throw new Error('not supported');
|
|
@@ -4034,7 +4211,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4034
4211
|
this._location = value;
|
|
4035
4212
|
toggleClass(this.container, 'dv-groupview-floating', false);
|
|
4036
4213
|
toggleClass(this.container, 'dv-groupview-popout', false);
|
|
4037
|
-
switch (value) {
|
|
4214
|
+
switch (value.type) {
|
|
4038
4215
|
case 'grid':
|
|
4039
4216
|
this.contentContainer.dropTarget.setTargetZones([
|
|
4040
4217
|
'top',
|
|
@@ -4070,7 +4247,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4070
4247
|
this.groupPanel = groupPanel;
|
|
4071
4248
|
this._isGroupActive = false;
|
|
4072
4249
|
this._locked = false;
|
|
4073
|
-
this._location = 'grid';
|
|
4250
|
+
this._location = { type: 'grid' };
|
|
4074
4251
|
this.mostRecentlyUsed = [];
|
|
4075
4252
|
this._onDidChange = new Emitter();
|
|
4076
4253
|
this.onDidChange = this._onDidChange.event;
|
|
@@ -4081,6 +4258,10 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4081
4258
|
this.onMove = this._onMove.event;
|
|
4082
4259
|
this._onDidDrop = new Emitter();
|
|
4083
4260
|
this.onDidDrop = this._onDidDrop.event;
|
|
4261
|
+
this._onWillDrop = new Emitter();
|
|
4262
|
+
this.onWillDrop = this._onWillDrop.event;
|
|
4263
|
+
this._onWillShowOverlay = new Emitter();
|
|
4264
|
+
this.onWillShowOverlay = this._onWillShowOverlay.event;
|
|
4084
4265
|
this._onTabDragStart = new Emitter();
|
|
4085
4266
|
this.onTabDragStart = this._onTabDragStart.event;
|
|
4086
4267
|
this._onGroupDragStart = new Emitter();
|
|
@@ -4091,46 +4272,69 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4091
4272
|
this.onDidRemovePanel = this._onDidRemovePanel.event;
|
|
4092
4273
|
this._onDidActivePanelChange = new Emitter();
|
|
4093
4274
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
4275
|
+
this._overwriteRenderContainer = null;
|
|
4094
4276
|
toggleClass(this.container, 'groupview', true);
|
|
4277
|
+
this._api = new DockviewApi(this.accessor);
|
|
4095
4278
|
this.tabsContainer = new TabsContainer(this.accessor, this.groupPanel);
|
|
4096
4279
|
this.contentContainer = new ContentContainer(this.accessor, this);
|
|
4097
4280
|
container.append(this.tabsContainer.element, this.contentContainer.element);
|
|
4098
4281
|
this.header.hidden = !!options.hideHeader;
|
|
4099
4282
|
this.locked = (_a = options.locked) !== null && _a !== void 0 ? _a : false;
|
|
4100
|
-
this.addDisposables(this._onTabDragStart, this._onGroupDragStart, this.tabsContainer.onTabDragStart((event) => {
|
|
4283
|
+
this.addDisposables(this._onTabDragStart, this._onGroupDragStart, this._onWillShowOverlay, this.tabsContainer.onTabDragStart((event) => {
|
|
4101
4284
|
this._onTabDragStart.fire(event);
|
|
4102
4285
|
}), this.tabsContainer.onGroupDragStart((event) => {
|
|
4103
4286
|
this._onGroupDragStart.fire(event);
|
|
4104
4287
|
}), this.tabsContainer.onDrop((event) => {
|
|
4105
|
-
this.handleDropEvent(event.event, 'center', event.index);
|
|
4288
|
+
this.handleDropEvent('header', event.event, 'center', event.index);
|
|
4106
4289
|
}), this.contentContainer.onDidFocus(() => {
|
|
4107
|
-
this.accessor.doSetGroupActive(this.groupPanel
|
|
4290
|
+
this.accessor.doSetGroupActive(this.groupPanel);
|
|
4108
4291
|
}), this.contentContainer.onDidBlur(() => {
|
|
4109
4292
|
// noop
|
|
4110
4293
|
}), this.contentContainer.dropTarget.onDrop((event) => {
|
|
4111
|
-
this.handleDropEvent(event.nativeEvent, event.position);
|
|
4112
|
-
}), this.
|
|
4294
|
+
this.handleDropEvent('content', event.nativeEvent, event.position);
|
|
4295
|
+
}), this.tabsContainer.onWillShowOverlay((event) => {
|
|
4296
|
+
this._onWillShowOverlay.fire(event);
|
|
4297
|
+
}), this.contentContainer.dropTarget.onWillShowOverlay((event) => {
|
|
4298
|
+
this._onWillShowOverlay.fire(new WillShowOverlayLocationEvent(event, {
|
|
4299
|
+
kind: 'content',
|
|
4300
|
+
}));
|
|
4301
|
+
}), this._onMove, this._onDidChange, this._onDidDrop, this._onWillDrop, this._onDidAddPanel, this._onDidRemovePanel, this._onDidActivePanelChange);
|
|
4302
|
+
}
|
|
4303
|
+
focusContent() {
|
|
4304
|
+
this.contentContainer.element.focus();
|
|
4305
|
+
}
|
|
4306
|
+
set renderContainer(value) {
|
|
4307
|
+
this.panels.forEach((panel) => {
|
|
4308
|
+
this.renderContainer.detatch(panel);
|
|
4309
|
+
});
|
|
4310
|
+
this._overwriteRenderContainer = value;
|
|
4311
|
+
this.panels.forEach((panel) => {
|
|
4312
|
+
this.rerender(panel);
|
|
4313
|
+
});
|
|
4314
|
+
}
|
|
4315
|
+
get renderContainer() {
|
|
4316
|
+
var _a;
|
|
4317
|
+
return ((_a = this._overwriteRenderContainer) !== null && _a !== void 0 ? _a : this.accessor.overlayRenderContainer);
|
|
4113
4318
|
}
|
|
4114
4319
|
initialize() {
|
|
4115
|
-
|
|
4116
|
-
if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.panels) {
|
|
4320
|
+
if (this.options.panels) {
|
|
4117
4321
|
this.options.panels.forEach((panel) => {
|
|
4118
4322
|
this.doAddPanel(panel);
|
|
4119
4323
|
});
|
|
4120
4324
|
}
|
|
4121
|
-
if (
|
|
4325
|
+
if (this.options.activePanel) {
|
|
4122
4326
|
this.openPanel(this.options.activePanel);
|
|
4123
4327
|
}
|
|
4124
4328
|
// must be run after the constructor otherwise this.parent may not be
|
|
4125
4329
|
// correctly initialized
|
|
4126
|
-
this.setActive(this.isActive, true
|
|
4330
|
+
this.setActive(this.isActive, true);
|
|
4127
4331
|
this.updateContainer();
|
|
4128
4332
|
if (this.accessor.options.createRightHeaderActionsElement) {
|
|
4129
4333
|
this._rightHeaderActions =
|
|
4130
4334
|
this.accessor.options.createRightHeaderActionsElement(this.groupPanel);
|
|
4131
4335
|
this.addDisposables(this._rightHeaderActions);
|
|
4132
4336
|
this._rightHeaderActions.init({
|
|
4133
|
-
containerApi:
|
|
4337
|
+
containerApi: this._api,
|
|
4134
4338
|
api: this.groupPanel.api,
|
|
4135
4339
|
});
|
|
4136
4340
|
this.tabsContainer.setRightActionsElement(this._rightHeaderActions.element);
|
|
@@ -4140,7 +4344,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4140
4344
|
this.accessor.options.createLeftHeaderActionsElement(this.groupPanel);
|
|
4141
4345
|
this.addDisposables(this._leftHeaderActions);
|
|
4142
4346
|
this._leftHeaderActions.init({
|
|
4143
|
-
containerApi:
|
|
4347
|
+
containerApi: this._api,
|
|
4144
4348
|
api: this.groupPanel.api,
|
|
4145
4349
|
});
|
|
4146
4350
|
this.tabsContainer.setLeftActionsElement(this._leftHeaderActions.element);
|
|
@@ -4150,7 +4354,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4150
4354
|
this.accessor.options.createPrefixHeaderActionsElement(this.groupPanel);
|
|
4151
4355
|
this.addDisposables(this._prefixHeaderActions);
|
|
4152
4356
|
this._prefixHeaderActions.init({
|
|
4153
|
-
containerApi:
|
|
4357
|
+
containerApi: this._api,
|
|
4154
4358
|
api: this.groupPanel.api,
|
|
4155
4359
|
});
|
|
4156
4360
|
this.tabsContainer.setPrefixActionsElement(this._prefixHeaderActions.element);
|
|
@@ -4230,35 +4434,45 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4230
4434
|
//noop
|
|
4231
4435
|
}
|
|
4232
4436
|
focus() {
|
|
4233
|
-
var _a
|
|
4234
|
-
(
|
|
4437
|
+
var _a;
|
|
4438
|
+
(_a = this._activePanel) === null || _a === void 0 ? void 0 : _a.focus();
|
|
4235
4439
|
}
|
|
4236
4440
|
openPanel(panel, options = {}) {
|
|
4441
|
+
/**
|
|
4442
|
+
* set the panel group
|
|
4443
|
+
* add the panel
|
|
4444
|
+
* check if group active
|
|
4445
|
+
* check if panel active
|
|
4446
|
+
*/
|
|
4237
4447
|
if (typeof options.index !== 'number' ||
|
|
4238
4448
|
options.index > this.panels.length) {
|
|
4239
4449
|
options.index = this.panels.length;
|
|
4240
4450
|
}
|
|
4241
|
-
const
|
|
4242
|
-
const skipSetGroupActive = !!options.skipSetGroupActive;
|
|
4451
|
+
const skipSetActive = !!options.skipSetActive;
|
|
4243
4452
|
// ensure the group is updated before we fire any events
|
|
4244
|
-
panel.updateParentGroup(this.groupPanel,
|
|
4453
|
+
panel.updateParentGroup(this.groupPanel, {
|
|
4454
|
+
skipSetActive: options.skipSetActive,
|
|
4455
|
+
});
|
|
4456
|
+
this.doAddPanel(panel, options.index, {
|
|
4457
|
+
skipSetActive: skipSetActive,
|
|
4458
|
+
});
|
|
4245
4459
|
if (this._activePanel === panel) {
|
|
4246
|
-
if (!skipSetGroupActive) {
|
|
4247
|
-
this.accessor.doSetGroupActive(this.groupPanel);
|
|
4248
|
-
}
|
|
4249
4460
|
this.contentContainer.renderPanel(panel, { asActive: true });
|
|
4250
4461
|
return;
|
|
4251
4462
|
}
|
|
4252
|
-
|
|
4253
|
-
if (!skipSetPanelActive) {
|
|
4463
|
+
if (!skipSetActive) {
|
|
4254
4464
|
this.doSetActivePanel(panel);
|
|
4255
4465
|
}
|
|
4256
|
-
if (!skipSetGroupActive) {
|
|
4257
|
-
this.accessor.doSetGroupActive(this.groupPanel
|
|
4466
|
+
if (!options.skipSetGroupActive) {
|
|
4467
|
+
this.accessor.doSetGroupActive(this.groupPanel);
|
|
4468
|
+
}
|
|
4469
|
+
if (!options.skipSetActive) {
|
|
4470
|
+
this.updateContainer();
|
|
4258
4471
|
}
|
|
4259
|
-
this.updateContainer();
|
|
4260
4472
|
}
|
|
4261
|
-
removePanel(groupItemOrId
|
|
4473
|
+
removePanel(groupItemOrId, options = {
|
|
4474
|
+
skipSetActive: false,
|
|
4475
|
+
}) {
|
|
4262
4476
|
const id = typeof groupItemOrId === 'string'
|
|
4263
4477
|
? groupItemOrId
|
|
4264
4478
|
: groupItemOrId.id;
|
|
@@ -4266,7 +4480,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4266
4480
|
if (!panelToRemove) {
|
|
4267
4481
|
throw new Error('invalid operation');
|
|
4268
4482
|
}
|
|
4269
|
-
return this._removePanel(panelToRemove);
|
|
4483
|
+
return this._removePanel(panelToRemove, options);
|
|
4270
4484
|
}
|
|
4271
4485
|
closeAllPanels() {
|
|
4272
4486
|
if (this.panels.length > 0) {
|
|
@@ -4292,12 +4506,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4292
4506
|
updateActions(element) {
|
|
4293
4507
|
this.tabsContainer.setRightActionsElement(element);
|
|
4294
4508
|
}
|
|
4295
|
-
setActive(isGroupActive,
|
|
4296
|
-
var _a, _b, _c, _d;
|
|
4509
|
+
setActive(isGroupActive, force = false) {
|
|
4297
4510
|
if (!force && this.isActive === isGroupActive) {
|
|
4298
|
-
if (!skipFocus) {
|
|
4299
|
-
(_b = (_a = this._activePanel) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
4300
|
-
}
|
|
4301
4511
|
return;
|
|
4302
4512
|
}
|
|
4303
4513
|
this._isGroupActive = isGroupActive;
|
|
@@ -4308,11 +4518,6 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4308
4518
|
this.doSetActivePanel(this.panels[0]);
|
|
4309
4519
|
}
|
|
4310
4520
|
this.updateContainer();
|
|
4311
|
-
if (isGroupActive) {
|
|
4312
|
-
if (!skipFocus) {
|
|
4313
|
-
(_d = (_c = this._activePanel) === null || _c === void 0 ? void 0 : _c.focus) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
4314
|
-
}
|
|
4315
|
-
}
|
|
4316
4521
|
}
|
|
4317
4522
|
layout(width, height) {
|
|
4318
4523
|
var _a;
|
|
@@ -4323,17 +4528,22 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4323
4528
|
this._activePanel.layout(this._width, this._height);
|
|
4324
4529
|
}
|
|
4325
4530
|
}
|
|
4326
|
-
_removePanel(panel) {
|
|
4531
|
+
_removePanel(panel, options) {
|
|
4327
4532
|
const isActivePanel = this._activePanel === panel;
|
|
4328
4533
|
this.doRemovePanel(panel);
|
|
4329
4534
|
if (isActivePanel && this.panels.length > 0) {
|
|
4330
4535
|
const nextPanel = this.mostRecentlyUsed[0];
|
|
4331
|
-
this.openPanel(nextPanel
|
|
4536
|
+
this.openPanel(nextPanel, {
|
|
4537
|
+
skipSetActive: options.skipSetActive,
|
|
4538
|
+
skipSetGroupActive: options.skipSetActiveGroup,
|
|
4539
|
+
});
|
|
4332
4540
|
}
|
|
4333
4541
|
if (this._activePanel && this.panels.length === 0) {
|
|
4334
4542
|
this.doSetActivePanel(undefined);
|
|
4335
4543
|
}
|
|
4336
|
-
|
|
4544
|
+
if (!options.skipSetActive) {
|
|
4545
|
+
this.updateContainer();
|
|
4546
|
+
}
|
|
4337
4547
|
return panel;
|
|
4338
4548
|
}
|
|
4339
4549
|
doRemovePanel(panel) {
|
|
@@ -4348,13 +4558,13 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4348
4558
|
}
|
|
4349
4559
|
this._onDidRemovePanel.fire({ panel });
|
|
4350
4560
|
}
|
|
4351
|
-
doAddPanel(panel, index = this.panels.length,
|
|
4561
|
+
doAddPanel(panel, index = this.panels.length, options = { skipSetActive: false }) {
|
|
4352
4562
|
const existingPanel = this._panels.indexOf(panel);
|
|
4353
4563
|
const hasExistingPanel = existingPanel > -1;
|
|
4354
4564
|
this.tabsContainer.show();
|
|
4355
4565
|
this.contentContainer.show();
|
|
4356
4566
|
this.tabsContainer.openPanel(panel, index);
|
|
4357
|
-
if (!skipSetActive) {
|
|
4567
|
+
if (!options.skipSetActive) {
|
|
4358
4568
|
this.contentContainer.openPanel(panel);
|
|
4359
4569
|
}
|
|
4360
4570
|
if (hasExistingPanel) {
|
|
@@ -4366,12 +4576,17 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4366
4576
|
this._onDidAddPanel.fire({ panel });
|
|
4367
4577
|
}
|
|
4368
4578
|
doSetActivePanel(panel) {
|
|
4579
|
+
if (this._activePanel === panel) {
|
|
4580
|
+
return;
|
|
4581
|
+
}
|
|
4369
4582
|
this._activePanel = panel;
|
|
4370
4583
|
if (panel) {
|
|
4371
4584
|
this.tabsContainer.setActivePanel(panel);
|
|
4372
4585
|
panel.layout(this._width, this._height);
|
|
4373
4586
|
this.updateMru(panel);
|
|
4374
|
-
this._onDidActivePanelChange.fire({
|
|
4587
|
+
this._onDidActivePanelChange.fire({
|
|
4588
|
+
panel,
|
|
4589
|
+
});
|
|
4375
4590
|
}
|
|
4376
4591
|
}
|
|
4377
4592
|
updateMru(panel) {
|
|
@@ -4383,11 +4598,11 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4383
4598
|
updateContainer() {
|
|
4384
4599
|
var _a, _b;
|
|
4385
4600
|
toggleClass(this.container, 'empty', this.isEmpty);
|
|
4386
|
-
this.panels.forEach((panel) => panel.
|
|
4601
|
+
this.panels.forEach((panel) => panel.runEvents());
|
|
4387
4602
|
if (this.isEmpty && !this.watermark) {
|
|
4388
4603
|
const watermark = this.accessor.createWatermarkComponent();
|
|
4389
4604
|
watermark.init({
|
|
4390
|
-
containerApi:
|
|
4605
|
+
containerApi: this._api,
|
|
4391
4606
|
group: this.groupPanel,
|
|
4392
4607
|
});
|
|
4393
4608
|
this.watermark = watermark;
|
|
@@ -4420,10 +4635,32 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4420
4635
|
}
|
|
4421
4636
|
return false;
|
|
4422
4637
|
}
|
|
4423
|
-
handleDropEvent(event, position, index) {
|
|
4638
|
+
handleDropEvent(type, event, position, index) {
|
|
4424
4639
|
if (this.locked === 'no-drop-target') {
|
|
4425
4640
|
return;
|
|
4426
4641
|
}
|
|
4642
|
+
function getKind() {
|
|
4643
|
+
switch (type) {
|
|
4644
|
+
case 'header':
|
|
4645
|
+
return typeof index === 'number' ? 'tab' : 'header_space';
|
|
4646
|
+
case 'content':
|
|
4647
|
+
return 'content';
|
|
4648
|
+
}
|
|
4649
|
+
}
|
|
4650
|
+
const panel = typeof index === 'number' ? this.panels[index] : undefined;
|
|
4651
|
+
const willDropEvent = new DockviewWillDropEvent({
|
|
4652
|
+
nativeEvent: event,
|
|
4653
|
+
position,
|
|
4654
|
+
panel,
|
|
4655
|
+
getData: () => getPanelData(),
|
|
4656
|
+
kind: getKind(),
|
|
4657
|
+
group: this.groupPanel,
|
|
4658
|
+
api: this._api,
|
|
4659
|
+
});
|
|
4660
|
+
this._onWillDrop.fire(willDropEvent);
|
|
4661
|
+
if (willDropEvent.defaultPrevented) {
|
|
4662
|
+
return;
|
|
4663
|
+
}
|
|
4427
4664
|
const data = getPanelData();
|
|
4428
4665
|
if (data && data.viewId === this.accessor.id) {
|
|
4429
4666
|
if (data.panelId === null) {
|
|
@@ -4456,12 +4693,14 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4456
4693
|
});
|
|
4457
4694
|
}
|
|
4458
4695
|
else {
|
|
4459
|
-
this._onDidDrop.fire({
|
|
4696
|
+
this._onDidDrop.fire(new DockviewDidDropEvent({
|
|
4460
4697
|
nativeEvent: event,
|
|
4461
4698
|
position,
|
|
4462
|
-
|
|
4699
|
+
panel,
|
|
4463
4700
|
getData: () => getPanelData(),
|
|
4464
|
-
|
|
4701
|
+
group: this.groupPanel,
|
|
4702
|
+
api: this._api,
|
|
4703
|
+
}));
|
|
4465
4704
|
}
|
|
4466
4705
|
}
|
|
4467
4706
|
dispose() {
|
|
@@ -4469,6 +4708,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4469
4708
|
super.dispose();
|
|
4470
4709
|
(_a = this.watermark) === null || _a === void 0 ? void 0 : _a.element.remove();
|
|
4471
4710
|
(_c = (_b = this.watermark) === null || _b === void 0 ? void 0 : _b.dispose) === null || _c === void 0 ? void 0 : _c.call(_b);
|
|
4711
|
+
this.watermark = undefined;
|
|
4472
4712
|
for (const panel of this.panels) {
|
|
4473
4713
|
panel.dispose();
|
|
4474
4714
|
}
|
|
@@ -4490,15 +4730,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4490
4730
|
constructor(parentElement, disableResizing = false) {
|
|
4491
4731
|
super();
|
|
4492
4732
|
this._disableResizing = disableResizing;
|
|
4493
|
-
|
|
4494
|
-
this._element = parentElement;
|
|
4495
|
-
}
|
|
4496
|
-
else {
|
|
4497
|
-
this._element = document.createElement('div');
|
|
4498
|
-
this._element.style.height = '100%';
|
|
4499
|
-
this._element.style.width = '100%';
|
|
4500
|
-
this._element.className = 'dv-resizable-container';
|
|
4501
|
-
}
|
|
4733
|
+
this._element = parentElement;
|
|
4502
4734
|
this.addDisposables(watchElementResize(this._element, (entry) => {
|
|
4503
4735
|
if (this.isDisposed) {
|
|
4504
4736
|
/**
|
|
@@ -4586,25 +4818,38 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4586
4818
|
get activeGroup() {
|
|
4587
4819
|
return this._activeGroup;
|
|
4588
4820
|
}
|
|
4821
|
+
get locked() {
|
|
4822
|
+
return this.gridview.locked;
|
|
4823
|
+
}
|
|
4824
|
+
set locked(value) {
|
|
4825
|
+
this.gridview.locked = value;
|
|
4826
|
+
}
|
|
4589
4827
|
constructor(options) {
|
|
4590
|
-
super(
|
|
4828
|
+
super(document.createElement('div'), options.disableAutoResizing);
|
|
4591
4829
|
this._id = nextLayoutId$1.next();
|
|
4592
4830
|
this._groups = new Map();
|
|
4593
4831
|
this._onDidLayoutChange = new Emitter();
|
|
4594
4832
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
4595
|
-
this.
|
|
4596
|
-
this.
|
|
4597
|
-
this.
|
|
4598
|
-
this.
|
|
4599
|
-
this.
|
|
4600
|
-
this.
|
|
4833
|
+
this._onDidRemove = new Emitter();
|
|
4834
|
+
this.onDidRemove = this._onDidRemove.event;
|
|
4835
|
+
this._onDidAdd = new Emitter();
|
|
4836
|
+
this.onDidAdd = this._onDidAdd.event;
|
|
4837
|
+
this._onDidActiveChange = new Emitter();
|
|
4838
|
+
this.onDidActiveChange = this._onDidActiveChange.event;
|
|
4601
4839
|
this._bufferOnDidLayoutChange = new TickDelayedEvent();
|
|
4840
|
+
this.element.style.height = '100%';
|
|
4841
|
+
this.element.style.width = '100%';
|
|
4842
|
+
options.parentElement.appendChild(this.element);
|
|
4602
4843
|
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation);
|
|
4844
|
+
this.gridview.locked = !!options.locked;
|
|
4603
4845
|
this.element.appendChild(this.gridview.element);
|
|
4604
4846
|
this.layout(0, 0, true); // set some elements height/widths
|
|
4605
|
-
this.addDisposables(
|
|
4847
|
+
this.addDisposables(Disposable.from(() => {
|
|
4848
|
+
var _a;
|
|
4849
|
+
(_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.element);
|
|
4850
|
+
}), this.gridview.onDidChange(() => {
|
|
4606
4851
|
this._bufferOnDidLayoutChange.fire();
|
|
4607
|
-
}), exports.DockviewEvent.any(this.
|
|
4852
|
+
}), exports.DockviewEvent.any(this.onDidAdd, this.onDidRemove, this.onDidActiveChange)(() => {
|
|
4608
4853
|
this._bufferOnDidLayoutChange.fire();
|
|
4609
4854
|
}), this._bufferOnDidLayoutChange.onEvent(() => {
|
|
4610
4855
|
this._onDidLayoutChange.fire();
|
|
@@ -4619,6 +4864,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4619
4864
|
}
|
|
4620
4865
|
maximizeGroup(panel) {
|
|
4621
4866
|
this.gridview.maximizeView(panel);
|
|
4867
|
+
this.doSetGroupActive(panel);
|
|
4622
4868
|
}
|
|
4623
4869
|
isMaximizedGroup(panel) {
|
|
4624
4870
|
return this.gridview.maximizedView() === panel;
|
|
@@ -4629,13 +4875,12 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4629
4875
|
hasMaximizedGroup() {
|
|
4630
4876
|
return this.gridview.hasMaximizedView();
|
|
4631
4877
|
}
|
|
4632
|
-
get
|
|
4633
|
-
return this.gridview.
|
|
4878
|
+
get onDidMaximizedGroupChange() {
|
|
4879
|
+
return this.gridview.onDidMaximizedNodeChange;
|
|
4634
4880
|
}
|
|
4635
4881
|
doAddGroup(group, location = [0], size) {
|
|
4636
4882
|
this.gridview.addView(group, size !== null && size !== void 0 ? size : exports.Sizing.Distribute, location);
|
|
4637
|
-
this.
|
|
4638
|
-
this.doSetGroupActive(group);
|
|
4883
|
+
this._onDidAdd.fire(group);
|
|
4639
4884
|
}
|
|
4640
4885
|
doRemoveGroup(group, options) {
|
|
4641
4886
|
if (!this._groups.has(group.id)) {
|
|
@@ -4647,8 +4892,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4647
4892
|
item.disposable.dispose();
|
|
4648
4893
|
item.value.dispose();
|
|
4649
4894
|
this._groups.delete(group.id);
|
|
4895
|
+
this._onDidRemove.fire(group);
|
|
4650
4896
|
}
|
|
4651
|
-
this._onDidRemoveGroup.fire(group);
|
|
4652
4897
|
if (!(options === null || options === void 0 ? void 0 : options.skipActive) && this._activeGroup === group) {
|
|
4653
4898
|
const groups = Array.from(this._groups.values());
|
|
4654
4899
|
this.doSetGroupActive(groups.length > 0 ? groups[0].value : undefined);
|
|
@@ -4659,25 +4904,18 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4659
4904
|
var _a;
|
|
4660
4905
|
return (_a = this._groups.get(id)) === null || _a === void 0 ? void 0 : _a.value;
|
|
4661
4906
|
}
|
|
4662
|
-
doSetGroupActive(group
|
|
4663
|
-
var _a, _b, _c;
|
|
4907
|
+
doSetGroupActive(group) {
|
|
4664
4908
|
if (this._activeGroup === group) {
|
|
4665
4909
|
return;
|
|
4666
4910
|
}
|
|
4667
4911
|
if (this._activeGroup) {
|
|
4668
4912
|
this._activeGroup.setActive(false);
|
|
4669
|
-
if (!skipFocus) {
|
|
4670
|
-
(_b = (_a = this._activeGroup).focus) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
4671
|
-
}
|
|
4672
4913
|
}
|
|
4673
4914
|
if (group) {
|
|
4674
4915
|
group.setActive(true);
|
|
4675
|
-
if (!skipFocus) {
|
|
4676
|
-
(_c = group.focus) === null || _c === void 0 ? void 0 : _c.call(group);
|
|
4677
|
-
}
|
|
4678
4916
|
}
|
|
4679
4917
|
this._activeGroup = group;
|
|
4680
|
-
this.
|
|
4918
|
+
this._onDidActiveChange.fire(group);
|
|
4681
4919
|
}
|
|
4682
4920
|
removeGroup(group) {
|
|
4683
4921
|
this.doRemoveGroup(group);
|
|
@@ -4722,9 +4960,9 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4722
4960
|
this.gridview.layout(width, height);
|
|
4723
4961
|
}
|
|
4724
4962
|
dispose() {
|
|
4725
|
-
this.
|
|
4726
|
-
this.
|
|
4727
|
-
this.
|
|
4963
|
+
this._onDidActiveChange.dispose();
|
|
4964
|
+
this._onDidAdd.dispose();
|
|
4965
|
+
this._onDidRemove.dispose();
|
|
4728
4966
|
this._onDidLayoutChange.dispose();
|
|
4729
4967
|
for (const group of this.groups) {
|
|
4730
4968
|
group.dispose();
|
|
@@ -4734,11 +4972,15 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4734
4972
|
}
|
|
4735
4973
|
}
|
|
4736
4974
|
|
|
4975
|
+
class WillFocusEvent extends DockviewEvent {
|
|
4976
|
+
constructor() {
|
|
4977
|
+
super();
|
|
4978
|
+
}
|
|
4979
|
+
}
|
|
4737
4980
|
/**
|
|
4738
4981
|
* A core api implementation that should be used across all panel-like objects
|
|
4739
4982
|
*/
|
|
4740
4983
|
class PanelApiImpl extends CompositeDisposable {
|
|
4741
|
-
//
|
|
4742
4984
|
get isFocused() {
|
|
4743
4985
|
return this._isFocused;
|
|
4744
4986
|
}
|
|
@@ -4748,6 +4990,9 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4748
4990
|
get isVisible() {
|
|
4749
4991
|
return this._isVisible;
|
|
4750
4992
|
}
|
|
4993
|
+
get isHidden() {
|
|
4994
|
+
return this._isHidden;
|
|
4995
|
+
}
|
|
4751
4996
|
get width() {
|
|
4752
4997
|
return this._width;
|
|
4753
4998
|
}
|
|
@@ -4760,38 +5005,26 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4760
5005
|
this._isFocused = false;
|
|
4761
5006
|
this._isActive = false;
|
|
4762
5007
|
this._isVisible = true;
|
|
5008
|
+
this._isHidden = false;
|
|
4763
5009
|
this._width = 0;
|
|
4764
5010
|
this._height = 0;
|
|
4765
5011
|
this.panelUpdatesDisposable = new MutableDisposable();
|
|
4766
|
-
this._onDidDimensionChange = new Emitter(
|
|
4767
|
-
replay: true,
|
|
4768
|
-
});
|
|
5012
|
+
this._onDidDimensionChange = new Emitter();
|
|
4769
5013
|
this.onDidDimensionsChange = this._onDidDimensionChange.event;
|
|
4770
|
-
|
|
4771
|
-
this._onDidChangeFocus = new Emitter({
|
|
4772
|
-
replay: true,
|
|
4773
|
-
});
|
|
5014
|
+
this._onDidChangeFocus = new Emitter();
|
|
4774
5015
|
this.onDidFocusChange = this._onDidChangeFocus.event;
|
|
4775
5016
|
//
|
|
4776
|
-
this.
|
|
4777
|
-
this.
|
|
5017
|
+
this._onWillFocus = new Emitter();
|
|
5018
|
+
this.onWillFocus = this._onWillFocus.event;
|
|
4778
5019
|
//
|
|
4779
|
-
this._onDidVisibilityChange = new Emitter(
|
|
4780
|
-
replay: true,
|
|
4781
|
-
});
|
|
5020
|
+
this._onDidVisibilityChange = new Emitter();
|
|
4782
5021
|
this.onDidVisibilityChange = this._onDidVisibilityChange.event;
|
|
4783
|
-
|
|
4784
|
-
this.
|
|
4785
|
-
this.
|
|
4786
|
-
//
|
|
4787
|
-
this._onDidActiveChange = new Emitter({
|
|
4788
|
-
replay: true,
|
|
4789
|
-
});
|
|
5022
|
+
this._onDidHiddenChange = new Emitter();
|
|
5023
|
+
this.onDidHiddenChange = this._onDidHiddenChange.event;
|
|
5024
|
+
this._onDidActiveChange = new Emitter();
|
|
4790
5025
|
this.onDidActiveChange = this._onDidActiveChange.event;
|
|
4791
|
-
//
|
|
4792
5026
|
this._onActiveChange = new Emitter();
|
|
4793
5027
|
this.onActiveChange = this._onActiveChange.event;
|
|
4794
|
-
//
|
|
4795
5028
|
this._onUpdateParameters = new Emitter();
|
|
4796
5029
|
this.onUpdateParameters = this._onUpdateParameters.event;
|
|
4797
5030
|
this.addDisposables(this.onDidFocusChange((event) => {
|
|
@@ -4800,10 +5033,12 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4800
5033
|
this._isActive = event.isActive;
|
|
4801
5034
|
}), this.onDidVisibilityChange((event) => {
|
|
4802
5035
|
this._isVisible = event.isVisible;
|
|
5036
|
+
}), this.onDidHiddenChange((event) => {
|
|
5037
|
+
this._isHidden = event.isHidden;
|
|
4803
5038
|
}), this.onDidDimensionsChange((event) => {
|
|
4804
5039
|
this._width = event.width;
|
|
4805
5040
|
this._height = event.height;
|
|
4806
|
-
}), this.panelUpdatesDisposable, this._onDidDimensionChange, this._onDidChangeFocus, this._onDidVisibilityChange, this._onDidActiveChange, this.
|
|
5041
|
+
}), this.panelUpdatesDisposable, this._onDidDimensionChange, this._onDidChangeFocus, this._onDidVisibilityChange, this._onDidActiveChange, this._onWillFocus, this._onActiveChange, this._onUpdateParameters, this._onWillFocus, this._onDidHiddenChange, this._onUpdateParameters);
|
|
4807
5042
|
}
|
|
4808
5043
|
initialize(panel) {
|
|
4809
5044
|
this.panelUpdatesDisposable.value = this._onUpdateParameters.event((parameters) => {
|
|
@@ -4812,8 +5047,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4812
5047
|
});
|
|
4813
5048
|
});
|
|
4814
5049
|
}
|
|
4815
|
-
|
|
4816
|
-
this.
|
|
5050
|
+
setHidden(isHidden) {
|
|
5051
|
+
this._onDidHiddenChange.fire({ isHidden });
|
|
4817
5052
|
}
|
|
4818
5053
|
setActive() {
|
|
4819
5054
|
this._onActiveChange.fire();
|
|
@@ -4821,9 +5056,6 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4821
5056
|
updateParameters(parameters) {
|
|
4822
5057
|
this._onUpdateParameters.fire(parameters);
|
|
4823
5058
|
}
|
|
4824
|
-
dispose() {
|
|
4825
|
-
super.dispose();
|
|
4826
|
-
}
|
|
4827
5059
|
}
|
|
4828
5060
|
|
|
4829
5061
|
class SplitviewPanelApiImpl extends PanelApiImpl {
|
|
@@ -4911,7 +5143,12 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4911
5143
|
}), focusTracker);
|
|
4912
5144
|
}
|
|
4913
5145
|
focus() {
|
|
4914
|
-
|
|
5146
|
+
const event = new WillFocusEvent();
|
|
5147
|
+
this.api._onWillFocus.fire(event);
|
|
5148
|
+
if (event.defaultPrevented) {
|
|
5149
|
+
return;
|
|
5150
|
+
}
|
|
5151
|
+
this._element.focus();
|
|
4915
5152
|
}
|
|
4916
5153
|
layout(width, height) {
|
|
4917
5154
|
this._width = width;
|
|
@@ -5240,9 +5477,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5240
5477
|
super(id);
|
|
5241
5478
|
this._onDidConstraintsChangeInternal = new Emitter();
|
|
5242
5479
|
this.onDidConstraintsChangeInternal = this._onDidConstraintsChangeInternal.event;
|
|
5243
|
-
this._onDidConstraintsChange = new Emitter(
|
|
5244
|
-
replay: true,
|
|
5245
|
-
});
|
|
5480
|
+
this._onDidConstraintsChange = new Emitter();
|
|
5246
5481
|
this.onDidConstraintsChange = this._onDidConstraintsChange.event;
|
|
5247
5482
|
this._onDidSizeChange = new Emitter();
|
|
5248
5483
|
this.onDidSizeChange = this._onDidSizeChange.event;
|
|
@@ -5335,13 +5570,13 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5335
5570
|
this._maximumHeight = options.maximumHeight;
|
|
5336
5571
|
}
|
|
5337
5572
|
this.api.initialize(this); // TODO: required to by-pass 'super before this' requirement
|
|
5338
|
-
this.addDisposables(this.api.
|
|
5339
|
-
const {
|
|
5573
|
+
this.addDisposables(this.api.onDidHiddenChange((event) => {
|
|
5574
|
+
const { isHidden } = event;
|
|
5340
5575
|
const { accessor } = this._params;
|
|
5341
|
-
accessor.setVisible(this,
|
|
5576
|
+
accessor.setVisible(this, !isHidden);
|
|
5342
5577
|
}), this.api.onActiveChange(() => {
|
|
5343
5578
|
const { accessor } = this._params;
|
|
5344
|
-
accessor.
|
|
5579
|
+
accessor.doSetGroupActive(this);
|
|
5345
5580
|
}), this.api.onDidConstraintsChangeInternal((event) => {
|
|
5346
5581
|
if (typeof event.minimumWidth === 'number' ||
|
|
5347
5582
|
typeof event.minimumWidth === 'function') {
|
|
@@ -5424,6 +5659,17 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5424
5659
|
this.onDidLocationChange = this._onDidLocationChange.event;
|
|
5425
5660
|
this.addDisposables(this._onDidLocationChange);
|
|
5426
5661
|
}
|
|
5662
|
+
close() {
|
|
5663
|
+
if (!this._group) {
|
|
5664
|
+
return;
|
|
5665
|
+
}
|
|
5666
|
+
return this.accessor.removeGroup(this._group);
|
|
5667
|
+
}
|
|
5668
|
+
getWindow() {
|
|
5669
|
+
return this.location.type === 'popout'
|
|
5670
|
+
? this.location.getWindow()
|
|
5671
|
+
: window;
|
|
5672
|
+
}
|
|
5427
5673
|
moveTo(options) {
|
|
5428
5674
|
var _a, _b, _c;
|
|
5429
5675
|
if (!this._group) {
|
|
@@ -5431,14 +5677,23 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5431
5677
|
}
|
|
5432
5678
|
const group = (_a = options.group) !== null && _a !== void 0 ? _a : this.accessor.addGroup({
|
|
5433
5679
|
direction: positionToDirection((_b = options.position) !== null && _b !== void 0 ? _b : 'right'),
|
|
5680
|
+
skipSetActive: true,
|
|
5681
|
+
});
|
|
5682
|
+
this.accessor.moveGroupOrPanel({
|
|
5683
|
+
from: { groupId: this._group.id },
|
|
5684
|
+
to: {
|
|
5685
|
+
group,
|
|
5686
|
+
position: options.group
|
|
5687
|
+
? (_c = options.position) !== null && _c !== void 0 ? _c : 'center'
|
|
5688
|
+
: 'center',
|
|
5689
|
+
},
|
|
5434
5690
|
});
|
|
5435
|
-
this.accessor.moveGroupOrPanel(group, this._group.id, undefined, options.group ? (_c = options.position) !== null && _c !== void 0 ? _c : 'center' : 'center');
|
|
5436
5691
|
}
|
|
5437
5692
|
maximize() {
|
|
5438
5693
|
if (!this._group) {
|
|
5439
5694
|
throw new Error(NOT_INITIALIZED_MESSAGE);
|
|
5440
5695
|
}
|
|
5441
|
-
if (this.location !== 'grid') {
|
|
5696
|
+
if (this.location.type !== 'grid') {
|
|
5442
5697
|
// only grid groups can be maximized
|
|
5443
5698
|
return;
|
|
5444
5699
|
}
|
|
@@ -5495,6 +5750,12 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5495
5750
|
this.api.initialize(this); // cannot use 'this' after after 'super' call
|
|
5496
5751
|
this._model = new DockviewGroupPanelModel(this.element, accessor, id, options, this);
|
|
5497
5752
|
}
|
|
5753
|
+
focus() {
|
|
5754
|
+
if (!this.api.isActive) {
|
|
5755
|
+
this.api.setActive();
|
|
5756
|
+
}
|
|
5757
|
+
super.focus();
|
|
5758
|
+
}
|
|
5498
5759
|
initialize() {
|
|
5499
5760
|
this._model.initialize();
|
|
5500
5761
|
}
|
|
@@ -5540,6 +5801,9 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5540
5801
|
}
|
|
5541
5802
|
|
|
5542
5803
|
class DockviewPanelApiImpl extends GridviewPanelApiImpl {
|
|
5804
|
+
get location() {
|
|
5805
|
+
return this.group.api.location;
|
|
5806
|
+
}
|
|
5543
5807
|
get title() {
|
|
5544
5808
|
return this.panel.title;
|
|
5545
5809
|
}
|
|
@@ -5551,15 +5815,34 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5551
5815
|
}
|
|
5552
5816
|
set group(value) {
|
|
5553
5817
|
const isOldGroupActive = this.isGroupActive;
|
|
5554
|
-
this._group
|
|
5555
|
-
|
|
5556
|
-
|
|
5557
|
-
|
|
5558
|
-
|
|
5818
|
+
if (this._group !== value) {
|
|
5819
|
+
this._group = value;
|
|
5820
|
+
this._onDidGroupChange.fire({});
|
|
5821
|
+
let _trackGroupActive = isOldGroupActive; // prevent duplicate events with same state
|
|
5822
|
+
this.groupEventsDisposable.value = new CompositeDisposable(this.group.api.onDidLocationChange((event) => {
|
|
5823
|
+
if (this.group !== this.panel.group) {
|
|
5824
|
+
return;
|
|
5825
|
+
}
|
|
5826
|
+
this._onDidLocationChange.fire(event);
|
|
5827
|
+
}), this.group.api.onDidActiveChange(() => {
|
|
5828
|
+
if (this.group !== this.panel.group) {
|
|
5829
|
+
return;
|
|
5830
|
+
}
|
|
5831
|
+
if (_trackGroupActive !== this.isGroupActive) {
|
|
5832
|
+
_trackGroupActive = this.isGroupActive;
|
|
5833
|
+
this._onDidActiveGroupChange.fire({
|
|
5834
|
+
isActive: this.isGroupActive,
|
|
5835
|
+
});
|
|
5836
|
+
}
|
|
5837
|
+
}));
|
|
5838
|
+
// if (this.isGroupActive !== isOldGroupActive) {
|
|
5839
|
+
// this._onDidActiveGroupChange.fire({
|
|
5840
|
+
// isActive: this.isGroupActive,
|
|
5841
|
+
// });
|
|
5842
|
+
// }
|
|
5843
|
+
this._onDidLocationChange.fire({
|
|
5844
|
+
location: this.group.api.location,
|
|
5559
5845
|
});
|
|
5560
|
-
if (this.isGroupActive !== isOldGroupActive) {
|
|
5561
|
-
this._onDidActiveGroupChange.fire();
|
|
5562
|
-
}
|
|
5563
5846
|
}
|
|
5564
5847
|
}
|
|
5565
5848
|
get group() {
|
|
@@ -5577,14 +5860,26 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5577
5860
|
this.onDidGroupChange = this._onDidGroupChange.event;
|
|
5578
5861
|
this._onDidRendererChange = new Emitter();
|
|
5579
5862
|
this.onDidRendererChange = this._onDidRendererChange.event;
|
|
5580
|
-
this.
|
|
5863
|
+
this._onDidLocationChange = new Emitter();
|
|
5864
|
+
this.onDidLocationChange = this._onDidLocationChange.event;
|
|
5865
|
+
this.groupEventsDisposable = new MutableDisposable();
|
|
5581
5866
|
this.initialize(panel);
|
|
5582
5867
|
this._group = group;
|
|
5583
|
-
this.addDisposables(this.
|
|
5868
|
+
this.addDisposables(this.groupEventsDisposable, this._onDidRendererChange, this._onDidTitleChange, this._onDidGroupChange, this._onDidActiveGroupChange, this._onDidLocationChange);
|
|
5869
|
+
}
|
|
5870
|
+
getWindow() {
|
|
5871
|
+
return this.group.api.getWindow();
|
|
5584
5872
|
}
|
|
5585
5873
|
moveTo(options) {
|
|
5586
5874
|
var _a;
|
|
5587
|
-
this.accessor.moveGroupOrPanel(
|
|
5875
|
+
this.accessor.moveGroupOrPanel({
|
|
5876
|
+
from: { groupId: this._group.id, panelId: this.panel.id },
|
|
5877
|
+
to: {
|
|
5878
|
+
group: options.group,
|
|
5879
|
+
position: (_a = options.position) !== null && _a !== void 0 ? _a : 'center',
|
|
5880
|
+
index: options.index,
|
|
5881
|
+
},
|
|
5882
|
+
});
|
|
5588
5883
|
}
|
|
5589
5884
|
setTitle(title) {
|
|
5590
5885
|
this.panel.setTitle(title);
|
|
@@ -5645,7 +5940,14 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5645
5940
|
this.setTitle(params.title);
|
|
5646
5941
|
}
|
|
5647
5942
|
focus() {
|
|
5648
|
-
|
|
5943
|
+
const event = new WillFocusEvent();
|
|
5944
|
+
this.api._onWillFocus.fire(event);
|
|
5945
|
+
if (event.defaultPrevented) {
|
|
5946
|
+
return;
|
|
5947
|
+
}
|
|
5948
|
+
if (!this.api.isActive) {
|
|
5949
|
+
this.api.setActive();
|
|
5950
|
+
}
|
|
5649
5951
|
}
|
|
5650
5952
|
toJSON() {
|
|
5651
5953
|
return {
|
|
@@ -5702,20 +6004,40 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5702
6004
|
},
|
|
5703
6005
|
});
|
|
5704
6006
|
}
|
|
5705
|
-
updateParentGroup(group,
|
|
6007
|
+
updateParentGroup(group, options) {
|
|
5706
6008
|
this._group = group;
|
|
5707
|
-
this.api.group =
|
|
6009
|
+
this.api.group = this._group;
|
|
5708
6010
|
const isPanelVisible = this._group.model.isPanelActive(this);
|
|
5709
|
-
this.api.
|
|
5710
|
-
|
|
5711
|
-
|
|
5712
|
-
|
|
5713
|
-
|
|
5714
|
-
|
|
5715
|
-
|
|
6011
|
+
const isActive = this.group.api.isActive && isPanelVisible;
|
|
6012
|
+
if (!(options === null || options === void 0 ? void 0 : options.skipSetActive)) {
|
|
6013
|
+
if (this.api.isActive !== isActive) {
|
|
6014
|
+
this.api._onDidActiveChange.fire({
|
|
6015
|
+
isActive: this.group.api.isActive && isPanelVisible,
|
|
6016
|
+
});
|
|
6017
|
+
}
|
|
6018
|
+
}
|
|
6019
|
+
if (this.api.isVisible !== isPanelVisible) {
|
|
6020
|
+
this.api._onDidVisibilityChange.fire({
|
|
6021
|
+
isVisible: isPanelVisible,
|
|
6022
|
+
});
|
|
6023
|
+
}
|
|
6024
|
+
}
|
|
6025
|
+
runEvents() {
|
|
6026
|
+
const isPanelVisible = this._group.model.isPanelActive(this);
|
|
6027
|
+
const isActive = this.group.api.isActive && isPanelVisible;
|
|
6028
|
+
if (this.api.isActive !== isActive) {
|
|
6029
|
+
this.api._onDidActiveChange.fire({
|
|
6030
|
+
isActive: this.group.api.isActive && isPanelVisible,
|
|
6031
|
+
});
|
|
6032
|
+
}
|
|
6033
|
+
if (this.api.isVisible !== isPanelVisible) {
|
|
6034
|
+
this.api._onDidVisibilityChange.fire({
|
|
6035
|
+
isVisible: isPanelVisible,
|
|
6036
|
+
});
|
|
6037
|
+
}
|
|
5716
6038
|
}
|
|
5717
6039
|
layout(width, height) {
|
|
5718
|
-
//
|
|
6040
|
+
// TODO: Can we somehow do height without header height or indicate what the header height is?
|
|
5719
6041
|
this.api._onDidDimensionChange.fire({
|
|
5720
6042
|
width,
|
|
5721
6043
|
height: height,
|
|
@@ -5837,8 +6159,6 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5837
6159
|
this.id = id;
|
|
5838
6160
|
this.contentComponent = contentComponent;
|
|
5839
6161
|
this.tabComponent = tabComponent;
|
|
5840
|
-
this._group = null;
|
|
5841
|
-
this._isPanelVisible = null;
|
|
5842
6162
|
this._content = this.createContentComponent(this.id, contentComponent);
|
|
5843
6163
|
this._tab = this.createTabComponent(this.id, tabComponent);
|
|
5844
6164
|
}
|
|
@@ -5846,25 +6166,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5846
6166
|
this.content.init(Object.assign(Object.assign({}, params), { tab: this.tab }));
|
|
5847
6167
|
this.tab.init(params);
|
|
5848
6168
|
}
|
|
5849
|
-
updateParentGroup(
|
|
5850
|
-
|
|
5851
|
-
this._group = group;
|
|
5852
|
-
if (this._content.onGroupChange) {
|
|
5853
|
-
this._content.onGroupChange(group);
|
|
5854
|
-
}
|
|
5855
|
-
if (this._tab.onGroupChange) {
|
|
5856
|
-
this._tab.onGroupChange(group);
|
|
5857
|
-
}
|
|
5858
|
-
}
|
|
5859
|
-
if (isPanelVisible !== this._isPanelVisible) {
|
|
5860
|
-
this._isPanelVisible = isPanelVisible;
|
|
5861
|
-
if (this._content.onPanelVisibleChange) {
|
|
5862
|
-
this._content.onPanelVisibleChange(isPanelVisible);
|
|
5863
|
-
}
|
|
5864
|
-
if (this._tab.onPanelVisibleChange) {
|
|
5865
|
-
this._tab.onPanelVisibleChange(isPanelVisible);
|
|
5866
|
-
}
|
|
5867
|
-
}
|
|
6169
|
+
updateParentGroup(_group, _isPanelVisible) {
|
|
6170
|
+
// noop
|
|
5868
6171
|
}
|
|
5869
6172
|
layout(width, height) {
|
|
5870
6173
|
var _a, _b;
|
|
@@ -6297,117 +6600,6 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6297
6600
|
}
|
|
6298
6601
|
}
|
|
6299
6602
|
|
|
6300
|
-
class PopoutWindow extends CompositeDisposable {
|
|
6301
|
-
constructor(id, className, options) {
|
|
6302
|
-
super();
|
|
6303
|
-
this.id = id;
|
|
6304
|
-
this.className = className;
|
|
6305
|
-
this.options = options;
|
|
6306
|
-
this._onDidClose = new Emitter();
|
|
6307
|
-
this.onDidClose = this._onDidClose.event;
|
|
6308
|
-
this._window = null;
|
|
6309
|
-
this.addDisposables(this._onDidClose, {
|
|
6310
|
-
dispose: () => {
|
|
6311
|
-
this.close();
|
|
6312
|
-
},
|
|
6313
|
-
});
|
|
6314
|
-
}
|
|
6315
|
-
dimensions() {
|
|
6316
|
-
if (!this._window) {
|
|
6317
|
-
return null;
|
|
6318
|
-
}
|
|
6319
|
-
const left = this._window.value.screenX;
|
|
6320
|
-
const top = this._window.value.screenY;
|
|
6321
|
-
const width = this._window.value.innerWidth;
|
|
6322
|
-
const height = this._window.value.innerHeight;
|
|
6323
|
-
return { top, left, width, height };
|
|
6324
|
-
}
|
|
6325
|
-
close() {
|
|
6326
|
-
if (this._window) {
|
|
6327
|
-
this._window.disposable.dispose();
|
|
6328
|
-
this._window.value.close();
|
|
6329
|
-
this._window = null;
|
|
6330
|
-
}
|
|
6331
|
-
}
|
|
6332
|
-
open(content) {
|
|
6333
|
-
if (this._window) {
|
|
6334
|
-
throw new Error('instance of popout window is already open');
|
|
6335
|
-
}
|
|
6336
|
-
const url = `${this.options.url}`;
|
|
6337
|
-
const features = Object.entries({
|
|
6338
|
-
top: this.options.top,
|
|
6339
|
-
left: this.options.left,
|
|
6340
|
-
width: this.options.width,
|
|
6341
|
-
height: this.options.height,
|
|
6342
|
-
})
|
|
6343
|
-
.map(([key, value]) => `${key}=${value}`)
|
|
6344
|
-
.join(',');
|
|
6345
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/Window/open
|
|
6346
|
-
const externalWindow = window.open(url, this.id, features);
|
|
6347
|
-
if (!externalWindow) {
|
|
6348
|
-
return;
|
|
6349
|
-
}
|
|
6350
|
-
const disposable = new CompositeDisposable();
|
|
6351
|
-
this._window = { value: externalWindow, disposable };
|
|
6352
|
-
const cleanUp = () => {
|
|
6353
|
-
this._onDidClose.fire();
|
|
6354
|
-
this._window = null;
|
|
6355
|
-
};
|
|
6356
|
-
// prevent any default content from loading
|
|
6357
|
-
// externalWindow.document.body.replaceWith(document.createElement('div'));
|
|
6358
|
-
disposable.addDisposables(addDisposableWindowListener(window, 'beforeunload', () => {
|
|
6359
|
-
cleanUp();
|
|
6360
|
-
this.close();
|
|
6361
|
-
}));
|
|
6362
|
-
externalWindow.addEventListener('load', () => {
|
|
6363
|
-
const externalDocument = externalWindow.document;
|
|
6364
|
-
externalDocument.title = document.title;
|
|
6365
|
-
const div = document.createElement('div');
|
|
6366
|
-
div.classList.add('dv-popout-window');
|
|
6367
|
-
div.style.position = 'absolute';
|
|
6368
|
-
div.style.width = '100%';
|
|
6369
|
-
div.style.height = '100%';
|
|
6370
|
-
div.style.top = '0px';
|
|
6371
|
-
div.style.left = '0px';
|
|
6372
|
-
div.classList.add(this.className);
|
|
6373
|
-
div.appendChild(content);
|
|
6374
|
-
externalDocument.body.replaceChildren(div);
|
|
6375
|
-
externalDocument.body.classList.add(this.className);
|
|
6376
|
-
addStyles(externalDocument, window.document.styleSheets);
|
|
6377
|
-
externalWindow.addEventListener('beforeunload', () => {
|
|
6378
|
-
// TODO: indicate external window is closing
|
|
6379
|
-
cleanUp();
|
|
6380
|
-
});
|
|
6381
|
-
});
|
|
6382
|
-
}
|
|
6383
|
-
}
|
|
6384
|
-
|
|
6385
|
-
class DockviewPopoutGroupPanel extends CompositeDisposable {
|
|
6386
|
-
constructor(id, group, options) {
|
|
6387
|
-
var _a;
|
|
6388
|
-
super();
|
|
6389
|
-
this.id = id;
|
|
6390
|
-
this.group = group;
|
|
6391
|
-
this.options = options;
|
|
6392
|
-
this.window = new PopoutWindow(id, (_a = options.className) !== null && _a !== void 0 ? _a : '', {
|
|
6393
|
-
url: this.options.popoutUrl,
|
|
6394
|
-
left: this.options.box.left,
|
|
6395
|
-
top: this.options.box.top,
|
|
6396
|
-
width: this.options.box.width,
|
|
6397
|
-
height: this.options.box.height,
|
|
6398
|
-
});
|
|
6399
|
-
group.model.location = 'popout';
|
|
6400
|
-
this.addDisposables(this.window, {
|
|
6401
|
-
dispose: () => {
|
|
6402
|
-
group.model.location = 'grid';
|
|
6403
|
-
},
|
|
6404
|
-
}, this.window.onDidClose(() => {
|
|
6405
|
-
this.dispose();
|
|
6406
|
-
}));
|
|
6407
|
-
this.window.open(group.element);
|
|
6408
|
-
}
|
|
6409
|
-
}
|
|
6410
|
-
|
|
6411
6603
|
const DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE = 100;
|
|
6412
6604
|
const DEFAULT_FLOATING_GROUP_POSITION = { left: 100, top: 100 };
|
|
6413
6605
|
|
|
@@ -6421,11 +6613,13 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6421
6613
|
super();
|
|
6422
6614
|
this.element = element;
|
|
6423
6615
|
this.map = {};
|
|
6616
|
+
this._disposed = false;
|
|
6424
6617
|
this.addDisposables(Disposable.from(() => {
|
|
6425
6618
|
for (const value of Object.values(this.map)) {
|
|
6426
6619
|
value.disposable.dispose();
|
|
6427
6620
|
value.destroy.dispose();
|
|
6428
6621
|
}
|
|
6622
|
+
this._disposed = true;
|
|
6429
6623
|
}));
|
|
6430
6624
|
}
|
|
6431
6625
|
detatch(panel) {
|
|
@@ -6465,7 +6659,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6465
6659
|
focusContainer.style.top = `${box.top - box2.top}px`;
|
|
6466
6660
|
focusContainer.style.width = `${box.width}px`;
|
|
6467
6661
|
focusContainer.style.height = `${box.height}px`;
|
|
6468
|
-
toggleClass(focusContainer, 'dv-render-overlay-float', panel.group.api.location === 'floating');
|
|
6662
|
+
toggleClass(focusContainer, 'dv-render-overlay-float', panel.group.api.location.type === 'floating');
|
|
6469
6663
|
};
|
|
6470
6664
|
const visibilityChanged = () => {
|
|
6471
6665
|
if (panel.api.isVisible) {
|
|
@@ -6511,8 +6705,11 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6511
6705
|
resize();
|
|
6512
6706
|
}));
|
|
6513
6707
|
this.map[panel.api.id].destroy = Disposable.from(() => {
|
|
6514
|
-
|
|
6515
|
-
|
|
6708
|
+
var _a;
|
|
6709
|
+
if (panel.view.content.element.parentElement === focusContainer) {
|
|
6710
|
+
focusContainer.removeChild(panel.view.content.element);
|
|
6711
|
+
}
|
|
6712
|
+
(_a = focusContainer.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(focusContainer);
|
|
6516
6713
|
});
|
|
6517
6714
|
queueMicrotask(() => {
|
|
6518
6715
|
if (this.isDisposed) {
|
|
@@ -6533,11 +6730,187 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6533
6730
|
}
|
|
6534
6731
|
}
|
|
6535
6732
|
|
|
6733
|
+
/******************************************************************************
|
|
6734
|
+
Copyright (c) Microsoft Corporation.
|
|
6735
|
+
|
|
6736
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6737
|
+
purpose with or without fee is hereby granted.
|
|
6738
|
+
|
|
6739
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
6740
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
6741
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
6742
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
6743
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
6744
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
6745
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
6746
|
+
***************************************************************************** */
|
|
6747
|
+
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
6748
|
+
|
|
6749
|
+
|
|
6750
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
6751
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
6752
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6753
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6754
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6755
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
6756
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
6757
|
+
});
|
|
6758
|
+
}
|
|
6759
|
+
|
|
6760
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
6761
|
+
var e = new Error(message);
|
|
6762
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
6763
|
+
};
|
|
6764
|
+
|
|
6765
|
+
class PopoutWindow extends CompositeDisposable {
|
|
6766
|
+
get window() {
|
|
6767
|
+
var _a, _b;
|
|
6768
|
+
return (_b = (_a = this._window) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null;
|
|
6769
|
+
}
|
|
6770
|
+
constructor(target, className, options) {
|
|
6771
|
+
super();
|
|
6772
|
+
this.target = target;
|
|
6773
|
+
this.className = className;
|
|
6774
|
+
this.options = options;
|
|
6775
|
+
this._onWillClose = new Emitter();
|
|
6776
|
+
this.onWillClose = this._onWillClose.event;
|
|
6777
|
+
this._onDidClose = new Emitter();
|
|
6778
|
+
this.onDidClose = this._onDidClose.event;
|
|
6779
|
+
this._window = null;
|
|
6780
|
+
this.addDisposables(this._onWillClose, this._onDidClose, {
|
|
6781
|
+
dispose: () => {
|
|
6782
|
+
this.close();
|
|
6783
|
+
},
|
|
6784
|
+
});
|
|
6785
|
+
}
|
|
6786
|
+
dimensions() {
|
|
6787
|
+
if (!this._window) {
|
|
6788
|
+
return null;
|
|
6789
|
+
}
|
|
6790
|
+
const left = this._window.value.screenX;
|
|
6791
|
+
const top = this._window.value.screenY;
|
|
6792
|
+
const width = this._window.value.innerWidth;
|
|
6793
|
+
const height = this._window.value.innerHeight;
|
|
6794
|
+
return { top, left, width, height };
|
|
6795
|
+
}
|
|
6796
|
+
close() {
|
|
6797
|
+
var _a, _b;
|
|
6798
|
+
if (this._window) {
|
|
6799
|
+
this._onWillClose.fire();
|
|
6800
|
+
(_b = (_a = this.options).onWillClose) === null || _b === void 0 ? void 0 : _b.call(_a, {
|
|
6801
|
+
id: this.target,
|
|
6802
|
+
window: this._window.value,
|
|
6803
|
+
});
|
|
6804
|
+
this._window.disposable.dispose();
|
|
6805
|
+
this._window.value.close();
|
|
6806
|
+
this._window = null;
|
|
6807
|
+
this._onDidClose.fire();
|
|
6808
|
+
}
|
|
6809
|
+
}
|
|
6810
|
+
open() {
|
|
6811
|
+
var _a, _b;
|
|
6812
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6813
|
+
if (this._window) {
|
|
6814
|
+
throw new Error('instance of popout window is already open');
|
|
6815
|
+
}
|
|
6816
|
+
const url = `${this.options.url}`;
|
|
6817
|
+
const features = Object.entries({
|
|
6818
|
+
top: this.options.top,
|
|
6819
|
+
left: this.options.left,
|
|
6820
|
+
width: this.options.width,
|
|
6821
|
+
height: this.options.height,
|
|
6822
|
+
})
|
|
6823
|
+
.map(([key, value]) => `${key}=${value}`)
|
|
6824
|
+
.join(',');
|
|
6825
|
+
/**
|
|
6826
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/Window/open
|
|
6827
|
+
*/
|
|
6828
|
+
const externalWindow = window.open(url, this.target, features);
|
|
6829
|
+
if (!externalWindow) {
|
|
6830
|
+
/**
|
|
6831
|
+
* Popup blocked
|
|
6832
|
+
*/
|
|
6833
|
+
return null;
|
|
6834
|
+
}
|
|
6835
|
+
const disposable = new CompositeDisposable();
|
|
6836
|
+
this._window = { value: externalWindow, disposable };
|
|
6837
|
+
disposable.addDisposables(addDisposableWindowListener(window, 'beforeunload', () => {
|
|
6838
|
+
/**
|
|
6839
|
+
* before the main window closes we should close this popup too
|
|
6840
|
+
* to be good citizens
|
|
6841
|
+
*
|
|
6842
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
|
|
6843
|
+
*/
|
|
6844
|
+
this.close();
|
|
6845
|
+
}));
|
|
6846
|
+
const container = this.createPopoutWindowContainer();
|
|
6847
|
+
if (this.className) {
|
|
6848
|
+
container.classList.add(this.className);
|
|
6849
|
+
}
|
|
6850
|
+
(_b = (_a = this.options).onDidOpen) === null || _b === void 0 ? void 0 : _b.call(_a, {
|
|
6851
|
+
id: this.target,
|
|
6852
|
+
window: externalWindow,
|
|
6853
|
+
});
|
|
6854
|
+
return new Promise((resolve) => {
|
|
6855
|
+
externalWindow.addEventListener('unload', (e) => {
|
|
6856
|
+
// if page fails to load before unloading
|
|
6857
|
+
// this.close();
|
|
6858
|
+
});
|
|
6859
|
+
externalWindow.addEventListener('load', () => {
|
|
6860
|
+
/**
|
|
6861
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event
|
|
6862
|
+
*/
|
|
6863
|
+
const externalDocument = externalWindow.document;
|
|
6864
|
+
externalDocument.title = document.title;
|
|
6865
|
+
externalDocument.body.appendChild(container);
|
|
6866
|
+
addStyles(externalDocument, window.document.styleSheets);
|
|
6867
|
+
/**
|
|
6868
|
+
* beforeunload must be registered after load for reasons I could not determine
|
|
6869
|
+
* otherwise the beforeunload event will not fire when the window is closed
|
|
6870
|
+
*/
|
|
6871
|
+
addDisposableWindowListener(externalWindow, 'beforeunload', () => {
|
|
6872
|
+
/**
|
|
6873
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
|
|
6874
|
+
*/
|
|
6875
|
+
this.close();
|
|
6876
|
+
});
|
|
6877
|
+
resolve(container);
|
|
6878
|
+
});
|
|
6879
|
+
});
|
|
6880
|
+
});
|
|
6881
|
+
}
|
|
6882
|
+
createPopoutWindowContainer() {
|
|
6883
|
+
const el = document.createElement('div');
|
|
6884
|
+
el.classList.add('dv-popout-window');
|
|
6885
|
+
el.id = 'dv-popout-window';
|
|
6886
|
+
el.style.position = 'absolute';
|
|
6887
|
+
el.style.width = '100%';
|
|
6888
|
+
el.style.height = '100%';
|
|
6889
|
+
el.style.top = '0px';
|
|
6890
|
+
el.style.left = '0px';
|
|
6891
|
+
return el;
|
|
6892
|
+
}
|
|
6893
|
+
}
|
|
6894
|
+
|
|
6536
6895
|
const DEFAULT_ROOT_OVERLAY_MODEL = {
|
|
6537
6896
|
activationSize: { type: 'pixels', value: 10 },
|
|
6538
6897
|
size: { type: 'pixels', value: 20 },
|
|
6539
6898
|
};
|
|
6540
|
-
function
|
|
6899
|
+
function moveGroupWithoutDestroying(options) {
|
|
6900
|
+
const activePanel = options.from.activePanel;
|
|
6901
|
+
const panels = [...options.from.panels].map((panel) => {
|
|
6902
|
+
const removedPanel = options.from.model.removePanel(panel);
|
|
6903
|
+
options.from.model.renderContainer.detatch(panel);
|
|
6904
|
+
return removedPanel;
|
|
6905
|
+
});
|
|
6906
|
+
panels.forEach((panel) => {
|
|
6907
|
+
options.to.model.openPanel(panel, {
|
|
6908
|
+
skipSetActive: activePanel !== panel,
|
|
6909
|
+
skipSetGroupActive: true,
|
|
6910
|
+
});
|
|
6911
|
+
});
|
|
6912
|
+
}
|
|
6913
|
+
function getDockviewTheme(element) {
|
|
6541
6914
|
function toClassList(element) {
|
|
6542
6915
|
const list = [];
|
|
6543
6916
|
for (let i = 0; i < element.classList.length; i++) {
|
|
@@ -6588,6 +6961,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6588
6961
|
styles: options.styles,
|
|
6589
6962
|
parentElement: options.parentElement,
|
|
6590
6963
|
disableAutoResizing: options.disableAutoResizing,
|
|
6964
|
+
locked: options.locked,
|
|
6591
6965
|
});
|
|
6592
6966
|
this.nextGroupId = sequentialNumberGenerator();
|
|
6593
6967
|
this._deserializer = new DefaultDockviewDeserialzier(this);
|
|
@@ -6598,6 +6972,10 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6598
6972
|
this.onWillDragGroup = this._onWillDragGroup.event;
|
|
6599
6973
|
this._onDidDrop = new Emitter();
|
|
6600
6974
|
this.onDidDrop = this._onDidDrop.event;
|
|
6975
|
+
this._onWillDrop = new Emitter();
|
|
6976
|
+
this.onWillDrop = this._onWillDrop.event;
|
|
6977
|
+
this._onWillShowOverlay = new Emitter();
|
|
6978
|
+
this.onWillShowOverlay = this._onWillShowOverlay.event;
|
|
6601
6979
|
this._onDidRemovePanel = new Emitter();
|
|
6602
6980
|
this.onDidRemovePanel = this._onDidRemovePanel.event;
|
|
6603
6981
|
this._onDidAddPanel = new Emitter();
|
|
@@ -6606,15 +6984,36 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6606
6984
|
this.onDidLayoutFromJSON = this._onDidLayoutFromJSON.event;
|
|
6607
6985
|
this._onDidActivePanelChange = new Emitter();
|
|
6608
6986
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
6987
|
+
this._onDidMovePanel = new Emitter();
|
|
6609
6988
|
this._floatingGroups = [];
|
|
6610
6989
|
this._popoutGroups = [];
|
|
6990
|
+
this._ignoreEvents = 0;
|
|
6991
|
+
this._onDidRemoveGroup = new Emitter();
|
|
6992
|
+
this.onDidRemoveGroup = this._onDidRemoveGroup.event;
|
|
6993
|
+
this._onDidAddGroup = new Emitter();
|
|
6994
|
+
this.onDidAddGroup = this._onDidAddGroup.event;
|
|
6995
|
+
this._onDidActiveGroupChange = new Emitter();
|
|
6996
|
+
this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
|
|
6997
|
+
this._moving = false;
|
|
6611
6998
|
const gready = document.createElement('div');
|
|
6612
6999
|
gready.className = 'dv-overlay-render-container';
|
|
6613
7000
|
this.gridview.element.appendChild(gready);
|
|
6614
7001
|
this.overlayRenderContainer = new OverlayRenderContainer(gready);
|
|
6615
7002
|
toggleClass(this.gridview.element, 'dv-dockview', true);
|
|
6616
7003
|
toggleClass(this.element, 'dv-debug', !!options.debug);
|
|
6617
|
-
this.addDisposables(this.overlayRenderContainer, this._onWillDragPanel, this._onWillDragGroup, this._onDidActivePanelChange, this._onDidAddPanel, this._onDidRemovePanel, this._onDidLayoutFromJSON, this._onDidDrop,
|
|
7004
|
+
this.addDisposables(this.overlayRenderContainer, this._onWillDragPanel, this._onWillDragGroup, this._onWillShowOverlay, this._onDidActivePanelChange, this._onDidAddPanel, this._onDidRemovePanel, this._onDidLayoutFromJSON, this._onDidDrop, this._onWillDrop, this._onDidMovePanel, this._onDidAddGroup, this._onDidRemoveGroup, this._onDidActiveGroupChange, this.onDidAdd((event) => {
|
|
7005
|
+
if (!this._moving) {
|
|
7006
|
+
this._onDidAddGroup.fire(event);
|
|
7007
|
+
}
|
|
7008
|
+
}), this.onDidRemove((event) => {
|
|
7009
|
+
if (!this._moving) {
|
|
7010
|
+
this._onDidRemoveGroup.fire(event);
|
|
7011
|
+
}
|
|
7012
|
+
}), this.onDidActiveChange((event) => {
|
|
7013
|
+
if (!this._moving) {
|
|
7014
|
+
this._onDidActiveGroupChange.fire(event);
|
|
7015
|
+
}
|
|
7016
|
+
}), exports.DockviewEvent.any(this.onDidAdd, this.onDidRemove)(() => {
|
|
6618
7017
|
this.updateWatermark();
|
|
6619
7018
|
}), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
|
|
6620
7019
|
this._bufferOnDidLayoutChange.fire();
|
|
@@ -6625,7 +7024,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6625
7024
|
}
|
|
6626
7025
|
// iterate over a copy of the array since .dispose() mutates the original array
|
|
6627
7026
|
for (const group of [...this._popoutGroups]) {
|
|
6628
|
-
group.dispose();
|
|
7027
|
+
group.disposable.dispose();
|
|
6629
7028
|
}
|
|
6630
7029
|
}));
|
|
6631
7030
|
this._options = options;
|
|
@@ -6671,7 +7070,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6671
7070
|
return this.options.showDndOverlay({
|
|
6672
7071
|
nativeEvent: event,
|
|
6673
7072
|
position: position,
|
|
6674
|
-
target:
|
|
7073
|
+
target: 'edge',
|
|
6675
7074
|
getData: getPanelData,
|
|
6676
7075
|
});
|
|
6677
7076
|
}
|
|
@@ -6682,86 +7081,249 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6682
7081
|
});
|
|
6683
7082
|
this.addDisposables(this._rootDropTarget.onDrop((event) => {
|
|
6684
7083
|
var _a;
|
|
7084
|
+
const willDropEvent = new DockviewWillDropEvent({
|
|
7085
|
+
nativeEvent: event.nativeEvent,
|
|
7086
|
+
position: event.position,
|
|
7087
|
+
panel: undefined,
|
|
7088
|
+
api: this._api,
|
|
7089
|
+
group: undefined,
|
|
7090
|
+
getData: getPanelData,
|
|
7091
|
+
kind: 'content',
|
|
7092
|
+
});
|
|
7093
|
+
this._onWillDrop.fire(willDropEvent);
|
|
7094
|
+
if (willDropEvent.defaultPrevented) {
|
|
7095
|
+
return;
|
|
7096
|
+
}
|
|
6685
7097
|
const data = getPanelData();
|
|
6686
7098
|
if (data) {
|
|
6687
|
-
this.moveGroupOrPanel(
|
|
7099
|
+
this.moveGroupOrPanel({
|
|
7100
|
+
from: {
|
|
7101
|
+
groupId: data.groupId,
|
|
7102
|
+
panelId: (_a = data.panelId) !== null && _a !== void 0 ? _a : undefined,
|
|
7103
|
+
},
|
|
7104
|
+
to: {
|
|
7105
|
+
group: this.orthogonalize(event.position),
|
|
7106
|
+
position: 'center',
|
|
7107
|
+
},
|
|
7108
|
+
});
|
|
6688
7109
|
}
|
|
6689
7110
|
else {
|
|
6690
|
-
this._onDidDrop.fire(
|
|
7111
|
+
this._onDidDrop.fire(new DockviewDidDropEvent({
|
|
7112
|
+
nativeEvent: event.nativeEvent,
|
|
7113
|
+
position: event.position,
|
|
7114
|
+
panel: undefined,
|
|
7115
|
+
api: this._api,
|
|
7116
|
+
group: undefined,
|
|
7117
|
+
getData: getPanelData,
|
|
7118
|
+
}));
|
|
6691
7119
|
}
|
|
6692
7120
|
}), this._rootDropTarget);
|
|
6693
7121
|
this._api = new DockviewApi(this);
|
|
6694
7122
|
this.updateWatermark();
|
|
6695
7123
|
}
|
|
6696
|
-
addPopoutGroup(
|
|
6697
|
-
var _a;
|
|
6698
|
-
|
|
6699
|
-
|
|
6700
|
-
|
|
6701
|
-
|
|
6702
|
-
|
|
6703
|
-
|
|
6704
|
-
|
|
6705
|
-
|
|
6706
|
-
|
|
6707
|
-
|
|
6708
|
-
|
|
7124
|
+
addPopoutGroup(itemToPopout, options) {
|
|
7125
|
+
var _a, _b, _c;
|
|
7126
|
+
if (itemToPopout instanceof DockviewPanel &&
|
|
7127
|
+
itemToPopout.group.size === 1) {
|
|
7128
|
+
return this.addPopoutGroup(itemToPopout.group);
|
|
7129
|
+
}
|
|
7130
|
+
const theme = getDockviewTheme(this.gridview.element);
|
|
7131
|
+
const element = this.element;
|
|
7132
|
+
function getBox() {
|
|
7133
|
+
if (options === null || options === void 0 ? void 0 : options.position) {
|
|
7134
|
+
return options.position;
|
|
7135
|
+
}
|
|
7136
|
+
if (itemToPopout instanceof DockviewGroupPanel) {
|
|
7137
|
+
return itemToPopout.element.getBoundingClientRect();
|
|
7138
|
+
}
|
|
7139
|
+
if (itemToPopout.group) {
|
|
7140
|
+
return itemToPopout.group.element.getBoundingClientRect();
|
|
7141
|
+
}
|
|
7142
|
+
return element.getBoundingClientRect();
|
|
7143
|
+
}
|
|
7144
|
+
const box = getBox();
|
|
7145
|
+
const groupId = (_b = (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : this.getNextGroupId(); //item.id;
|
|
7146
|
+
if (itemToPopout.api.location.type === 'grid') {
|
|
7147
|
+
itemToPopout.api.setHidden(true);
|
|
7148
|
+
}
|
|
7149
|
+
const _window = new PopoutWindow(`${this.id}-${groupId}`, // unique id
|
|
7150
|
+
theme !== null && theme !== void 0 ? theme : '', {
|
|
7151
|
+
url: (_c = options === null || options === void 0 ? void 0 : options.popoutUrl) !== null && _c !== void 0 ? _c : '/popout.html',
|
|
7152
|
+
left: window.screenX + box.left,
|
|
7153
|
+
top: window.screenY + box.top,
|
|
7154
|
+
width: box.width,
|
|
7155
|
+
height: box.height,
|
|
7156
|
+
onDidOpen: options === null || options === void 0 ? void 0 : options.onDidOpen,
|
|
7157
|
+
onWillClose: options === null || options === void 0 ? void 0 : options.onWillClose,
|
|
7158
|
+
});
|
|
7159
|
+
const popoutWindowDisposable = new CompositeDisposable(_window, _window.onDidClose(() => {
|
|
7160
|
+
popoutWindowDisposable.dispose();
|
|
7161
|
+
}));
|
|
7162
|
+
return _window
|
|
7163
|
+
.open()
|
|
7164
|
+
.then((popoutContainer) => {
|
|
7165
|
+
var _a;
|
|
7166
|
+
if (_window.isDisposed) {
|
|
7167
|
+
return;
|
|
6709
7168
|
}
|
|
6710
|
-
|
|
6711
|
-
|
|
6712
|
-
|
|
6713
|
-
if (!box) {
|
|
6714
|
-
box = group.element.getBoundingClientRect();
|
|
7169
|
+
if (popoutContainer === null) {
|
|
7170
|
+
popoutWindowDisposable.dispose();
|
|
7171
|
+
return;
|
|
6715
7172
|
}
|
|
6716
|
-
const
|
|
6717
|
-
|
|
6718
|
-
|
|
6719
|
-
|
|
6720
|
-
|
|
6721
|
-
|
|
6722
|
-
|
|
6723
|
-
|
|
6724
|
-
|
|
6725
|
-
|
|
6726
|
-
|
|
6727
|
-
|
|
6728
|
-
|
|
6729
|
-
|
|
6730
|
-
|
|
6731
|
-
|
|
6732
|
-
|
|
7173
|
+
const gready = document.createElement('div');
|
|
7174
|
+
gready.className = 'dv-overlay-render-container';
|
|
7175
|
+
const overlayRenderContainer = new OverlayRenderContainer(gready);
|
|
7176
|
+
const referenceGroup = itemToPopout instanceof DockviewPanel
|
|
7177
|
+
? itemToPopout.group
|
|
7178
|
+
: itemToPopout;
|
|
7179
|
+
const referenceLocation = itemToPopout.api.location.type;
|
|
7180
|
+
const group = (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) !== null && _a !== void 0 ? _a : this.createGroup({ id: groupId });
|
|
7181
|
+
group.model.renderContainer = overlayRenderContainer;
|
|
7182
|
+
if (!(options === null || options === void 0 ? void 0 : options.overridePopoutGroup)) {
|
|
7183
|
+
this._onDidAddGroup.fire(group);
|
|
7184
|
+
}
|
|
7185
|
+
if (itemToPopout instanceof DockviewPanel) {
|
|
7186
|
+
this.movingLock(() => {
|
|
7187
|
+
const panel = referenceGroup.model.removePanel(itemToPopout);
|
|
7188
|
+
group.model.openPanel(panel);
|
|
7189
|
+
});
|
|
7190
|
+
}
|
|
7191
|
+
else {
|
|
7192
|
+
this.movingLock(() => moveGroupWithoutDestroying({
|
|
7193
|
+
from: referenceGroup,
|
|
7194
|
+
to: group,
|
|
7195
|
+
}));
|
|
7196
|
+
switch (referenceLocation) {
|
|
7197
|
+
case 'grid':
|
|
7198
|
+
referenceGroup.api.setHidden(true);
|
|
7199
|
+
break;
|
|
7200
|
+
case 'floating':
|
|
7201
|
+
case 'popout':
|
|
7202
|
+
this.removeGroup(referenceGroup);
|
|
7203
|
+
break;
|
|
7204
|
+
}
|
|
7205
|
+
}
|
|
7206
|
+
popoutContainer.classList.add('dv-dockview');
|
|
7207
|
+
popoutContainer.style.overflow = 'hidden';
|
|
7208
|
+
popoutContainer.appendChild(gready);
|
|
7209
|
+
popoutContainer.appendChild(group.element);
|
|
7210
|
+
group.model.location = {
|
|
7211
|
+
type: 'popout',
|
|
7212
|
+
getWindow: () => _window.window,
|
|
7213
|
+
};
|
|
7214
|
+
this.doSetGroupAndPanelActive(group);
|
|
7215
|
+
popoutWindowDisposable.addDisposables(group.api.onDidActiveChange((event) => {
|
|
7216
|
+
var _a;
|
|
7217
|
+
if (event.isActive) {
|
|
7218
|
+
(_a = _window.window) === null || _a === void 0 ? void 0 : _a.focus();
|
|
7219
|
+
}
|
|
7220
|
+
}), group.api.onWillFocus(() => {
|
|
7221
|
+
var _a;
|
|
7222
|
+
(_a = _window.window) === null || _a === void 0 ? void 0 : _a.focus();
|
|
7223
|
+
}));
|
|
7224
|
+
let returnedGroup;
|
|
7225
|
+
const value = {
|
|
7226
|
+
window: _window,
|
|
7227
|
+
popoutGroup: group,
|
|
7228
|
+
referenceGroup: this.getPanel(referenceGroup.id)
|
|
7229
|
+
? referenceGroup.id
|
|
7230
|
+
: undefined,
|
|
7231
|
+
disposable: {
|
|
7232
|
+
dispose: () => {
|
|
7233
|
+
popoutWindowDisposable.dispose();
|
|
7234
|
+
return returnedGroup;
|
|
7235
|
+
},
|
|
7236
|
+
},
|
|
7237
|
+
};
|
|
7238
|
+
popoutWindowDisposable.addDisposables(
|
|
7239
|
+
/**
|
|
7240
|
+
* ResizeObserver seems slow here, I do not know why but we don't need it
|
|
7241
|
+
* since we can reply on the window resize event as we will occupy the full
|
|
7242
|
+
* window dimensions
|
|
7243
|
+
*/
|
|
7244
|
+
addDisposableWindowListener(_window.window, 'resize', () => {
|
|
7245
|
+
group.layout(window.innerWidth, window.innerHeight);
|
|
7246
|
+
}), overlayRenderContainer, Disposable.from(() => {
|
|
7247
|
+
if (this.getPanel(referenceGroup.id)) {
|
|
7248
|
+
this.movingLock(() => moveGroupWithoutDestroying({
|
|
7249
|
+
from: group,
|
|
7250
|
+
to: referenceGroup,
|
|
7251
|
+
}));
|
|
7252
|
+
if (referenceGroup.api.isHidden) {
|
|
7253
|
+
referenceGroup.api.setHidden(false);
|
|
7254
|
+
}
|
|
7255
|
+
if (this.getPanel(group.id)) {
|
|
7256
|
+
this.doRemoveGroup(group, {
|
|
7257
|
+
skipPopoutAssociated: true,
|
|
7258
|
+
});
|
|
7259
|
+
}
|
|
7260
|
+
}
|
|
7261
|
+
else {
|
|
7262
|
+
if (this.getPanel(group.id)) {
|
|
7263
|
+
const removedGroup = this.doRemoveGroup(group, {
|
|
7264
|
+
skipDispose: true,
|
|
7265
|
+
skipActive: true,
|
|
7266
|
+
});
|
|
7267
|
+
removedGroup.model.renderContainer =
|
|
7268
|
+
this.overlayRenderContainer;
|
|
7269
|
+
removedGroup.model.location = { type: 'grid' };
|
|
7270
|
+
returnedGroup = removedGroup;
|
|
7271
|
+
}
|
|
7272
|
+
}
|
|
7273
|
+
}));
|
|
7274
|
+
this._popoutGroups.push(value);
|
|
7275
|
+
this.updateWatermark();
|
|
7276
|
+
})
|
|
7277
|
+
.catch((err) => {
|
|
7278
|
+
console.error(err);
|
|
6733
7279
|
});
|
|
6734
|
-
popoutWindow.addDisposables({
|
|
6735
|
-
dispose: () => {
|
|
6736
|
-
remove(this._popoutGroups, popoutWindow);
|
|
6737
|
-
this.updateWatermark();
|
|
6738
|
-
},
|
|
6739
|
-
}, popoutWindow.window.onDidClose(() => {
|
|
6740
|
-
this.doAddGroup(group, [0]);
|
|
6741
|
-
}));
|
|
6742
|
-
this._popoutGroups.push(popoutWindow);
|
|
6743
|
-
this.updateWatermark();
|
|
6744
7280
|
}
|
|
6745
7281
|
addFloatingGroup(item, coord, options) {
|
|
6746
|
-
var _a, _b, _c, _d, _e, _f;
|
|
7282
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
6747
7283
|
let group;
|
|
6748
7284
|
if (item instanceof DockviewPanel) {
|
|
6749
7285
|
group = this.createGroup();
|
|
6750
|
-
this.
|
|
7286
|
+
this._onDidAddGroup.fire(group);
|
|
7287
|
+
this.movingLock(() => this.removePanel(item, {
|
|
6751
7288
|
removeEmptyGroup: true,
|
|
6752
7289
|
skipDispose: true,
|
|
6753
|
-
|
|
6754
|
-
|
|
7290
|
+
skipSetActiveGroup: true,
|
|
7291
|
+
}));
|
|
7292
|
+
group.model.openPanel(item, { skipSetGroupActive: true });
|
|
6755
7293
|
}
|
|
6756
7294
|
else {
|
|
6757
7295
|
group = item;
|
|
7296
|
+
const popoutReferenceGroupId = (_a = this._popoutGroups.find((_) => _.popoutGroup === group)) === null || _a === void 0 ? void 0 : _a.referenceGroup;
|
|
7297
|
+
const popoutReferenceGroup = popoutReferenceGroupId
|
|
7298
|
+
? this.getPanel(popoutReferenceGroupId)
|
|
7299
|
+
: undefined;
|
|
6758
7300
|
const skip = typeof (options === null || options === void 0 ? void 0 : options.skipRemoveGroup) === 'boolean' &&
|
|
6759
7301
|
options.skipRemoveGroup;
|
|
6760
7302
|
if (!skip) {
|
|
6761
|
-
|
|
7303
|
+
if (popoutReferenceGroup) {
|
|
7304
|
+
this.movingLock(() => moveGroupWithoutDestroying({
|
|
7305
|
+
from: item,
|
|
7306
|
+
to: popoutReferenceGroup,
|
|
7307
|
+
}));
|
|
7308
|
+
this.doRemoveGroup(item, {
|
|
7309
|
+
skipPopoutReturn: true,
|
|
7310
|
+
skipPopoutAssociated: true,
|
|
7311
|
+
});
|
|
7312
|
+
this.doRemoveGroup(popoutReferenceGroup, {
|
|
7313
|
+
skipDispose: true,
|
|
7314
|
+
});
|
|
7315
|
+
group = popoutReferenceGroup;
|
|
7316
|
+
}
|
|
7317
|
+
else {
|
|
7318
|
+
this.doRemoveGroup(item, {
|
|
7319
|
+
skipDispose: true,
|
|
7320
|
+
skipPopoutReturn: true,
|
|
7321
|
+
skipPopoutAssociated: !!popoutReferenceGroup,
|
|
7322
|
+
});
|
|
7323
|
+
}
|
|
6762
7324
|
}
|
|
6763
7325
|
}
|
|
6764
|
-
group.model.location = 'floating';
|
|
7326
|
+
group.model.location = { type: 'floating' };
|
|
6765
7327
|
const overlayLeft = typeof (coord === null || coord === void 0 ? void 0 : coord.x) === 'number'
|
|
6766
7328
|
? Math.max(coord.x, 0)
|
|
6767
7329
|
: DEFAULT_FLOATING_GROUP_POSITION.left;
|
|
@@ -6771,16 +7333,16 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6771
7333
|
const overlay = new Overlay({
|
|
6772
7334
|
container: this.gridview.element,
|
|
6773
7335
|
content: group.element,
|
|
6774
|
-
height: (
|
|
6775
|
-
width: (
|
|
7336
|
+
height: (_b = coord === null || coord === void 0 ? void 0 : coord.height) !== null && _b !== void 0 ? _b : 300,
|
|
7337
|
+
width: (_c = coord === null || coord === void 0 ? void 0 : coord.width) !== null && _c !== void 0 ? _c : 300,
|
|
6776
7338
|
left: overlayLeft,
|
|
6777
7339
|
top: overlayTop,
|
|
6778
7340
|
minimumInViewportWidth: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
6779
7341
|
? undefined
|
|
6780
|
-
: (
|
|
7342
|
+
: (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumWidthWithinViewport) !== null && _e !== void 0 ? _e : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE,
|
|
6781
7343
|
minimumInViewportHeight: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
6782
7344
|
? undefined
|
|
6783
|
-
: (
|
|
7345
|
+
: (_g = (_f = this.options.floatingGroupBounds) === null || _f === void 0 ? void 0 : _f.minimumHeightWithinViewport) !== null && _g !== void 0 ? _g : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE,
|
|
6784
7346
|
});
|
|
6785
7347
|
const el = group.element.querySelector('.void-container');
|
|
6786
7348
|
if (!el) {
|
|
@@ -6811,12 +7373,15 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6811
7373
|
}), {
|
|
6812
7374
|
dispose: () => {
|
|
6813
7375
|
disposable.dispose();
|
|
6814
|
-
group.model.location = 'grid';
|
|
7376
|
+
group.model.location = { type: 'grid' };
|
|
6815
7377
|
remove(this._floatingGroups, floatingGroupPanel);
|
|
6816
7378
|
this.updateWatermark();
|
|
6817
7379
|
},
|
|
6818
7380
|
});
|
|
6819
7381
|
this._floatingGroups.push(floatingGroupPanel);
|
|
7382
|
+
if (!(options === null || options === void 0 ? void 0 : options.skipActiveGroup)) {
|
|
7383
|
+
this.doSetGroupAndPanelActive(group);
|
|
7384
|
+
}
|
|
6820
7385
|
this.updateWatermark();
|
|
6821
7386
|
}
|
|
6822
7387
|
orthogonalize(position) {
|
|
@@ -6906,8 +7471,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6906
7471
|
return this.panels.find((panel) => panel.id === id);
|
|
6907
7472
|
}
|
|
6908
7473
|
setActivePanel(panel) {
|
|
6909
|
-
this.doSetGroupActive(panel.group);
|
|
6910
7474
|
panel.group.model.openPanel(panel);
|
|
7475
|
+
this.doSetGroupAndPanelActive(panel.group);
|
|
6911
7476
|
}
|
|
6912
7477
|
moveToNext(options = {}) {
|
|
6913
7478
|
var _a;
|
|
@@ -6968,7 +7533,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6968
7533
|
});
|
|
6969
7534
|
const popoutGroups = this._popoutGroups.map((group) => {
|
|
6970
7535
|
return {
|
|
6971
|
-
data: group.
|
|
7536
|
+
data: group.popoutGroup.toJSON(),
|
|
7537
|
+
gridReferenceGroup: group.referenceGroup,
|
|
6972
7538
|
position: group.window.dimensions(),
|
|
6973
7539
|
};
|
|
6974
7540
|
});
|
|
@@ -6986,7 +7552,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6986
7552
|
return result;
|
|
6987
7553
|
}
|
|
6988
7554
|
fromJSON(data) {
|
|
6989
|
-
var _a, _b;
|
|
7555
|
+
var _a, _b, _c;
|
|
6990
7556
|
this.clear();
|
|
6991
7557
|
if (typeof data !== 'object' || data === null) {
|
|
6992
7558
|
throw new Error('serialized layout must be a non-null object');
|
|
@@ -7025,7 +7591,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7025
7591
|
const isActive = typeof activeView === 'string' &&
|
|
7026
7592
|
activeView === panel.id;
|
|
7027
7593
|
group.model.openPanel(panel, {
|
|
7028
|
-
|
|
7594
|
+
skipSetActive: !isActive,
|
|
7029
7595
|
skipSetGroupActive: true,
|
|
7030
7596
|
});
|
|
7031
7597
|
}
|
|
@@ -7055,11 +7621,16 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7055
7621
|
}
|
|
7056
7622
|
const serializedPopoutGroups = (_b = data.popoutGroups) !== null && _b !== void 0 ? _b : [];
|
|
7057
7623
|
for (const serializedPopoutGroup of serializedPopoutGroups) {
|
|
7058
|
-
const { data, position } = serializedPopoutGroup;
|
|
7624
|
+
const { data, position, gridReferenceGroup } = serializedPopoutGroup;
|
|
7059
7625
|
const group = createGroupFromSerializedState(data);
|
|
7060
|
-
this.addPopoutGroup(
|
|
7626
|
+
this.addPopoutGroup((_c = (gridReferenceGroup
|
|
7627
|
+
? this.getPanel(gridReferenceGroup)
|
|
7628
|
+
: undefined)) !== null && _c !== void 0 ? _c : group, {
|
|
7061
7629
|
skipRemoveGroup: true,
|
|
7062
7630
|
position: position !== null && position !== void 0 ? position : undefined,
|
|
7631
|
+
overridePopoutGroup: gridReferenceGroup
|
|
7632
|
+
? group
|
|
7633
|
+
: undefined,
|
|
7063
7634
|
});
|
|
7064
7635
|
}
|
|
7065
7636
|
for (const floatingGroup of this._floatingGroups) {
|
|
@@ -7106,12 +7677,13 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7106
7677
|
*/
|
|
7107
7678
|
throw err;
|
|
7108
7679
|
}
|
|
7680
|
+
this.updateWatermark();
|
|
7109
7681
|
this._onDidLayoutFromJSON.fire();
|
|
7110
7682
|
}
|
|
7111
7683
|
clear() {
|
|
7112
7684
|
const groups = Array.from(this._groups.values()).map((_) => _.value);
|
|
7113
7685
|
const hasActiveGroup = !!this.activeGroup;
|
|
7114
|
-
|
|
7686
|
+
!!this.activePanel;
|
|
7115
7687
|
for (const group of groups) {
|
|
7116
7688
|
// remove the group will automatically remove the panels
|
|
7117
7689
|
this.removeGroup(group, { skipActive: true });
|
|
@@ -7119,9 +7691,6 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7119
7691
|
if (hasActiveGroup) {
|
|
7120
7692
|
this.doSetGroupAndPanelActive(undefined);
|
|
7121
7693
|
}
|
|
7122
|
-
if (hasActivePanel) {
|
|
7123
|
-
this._onDidActivePanelChange.fire(undefined);
|
|
7124
|
-
}
|
|
7125
7694
|
this.gridview.clear();
|
|
7126
7695
|
}
|
|
7127
7696
|
closeAllGroups() {
|
|
@@ -7162,6 +7731,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7162
7731
|
const group = this.orthogonalize(directionToPosition(options.position.direction));
|
|
7163
7732
|
const panel = this.createPanel(options, group);
|
|
7164
7733
|
group.model.openPanel(panel);
|
|
7734
|
+
this.doSetGroupAndPanelActive(group);
|
|
7165
7735
|
return panel;
|
|
7166
7736
|
}
|
|
7167
7737
|
}
|
|
@@ -7173,6 +7743,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7173
7743
|
const target = toTarget(((_b = options.position) === null || _b === void 0 ? void 0 : _b.direction) || 'within');
|
|
7174
7744
|
if (options.floating) {
|
|
7175
7745
|
const group = this.createGroup();
|
|
7746
|
+
this._onDidAddGroup.fire(group);
|
|
7176
7747
|
const o = typeof options.floating === 'object' &&
|
|
7177
7748
|
options.floating !== null
|
|
7178
7749
|
? options.floating
|
|
@@ -7180,16 +7751,16 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7180
7751
|
this.addFloatingGroup(group, o, {
|
|
7181
7752
|
inDragMode: false,
|
|
7182
7753
|
skipRemoveGroup: true,
|
|
7754
|
+
skipActiveGroup: true,
|
|
7183
7755
|
});
|
|
7184
|
-
this._onDidAddGroup.fire(group);
|
|
7185
7756
|
panel = this.createPanel(options, group);
|
|
7186
7757
|
group.model.openPanel(panel);
|
|
7187
|
-
this.doSetGroupAndPanelActive(group);
|
|
7188
7758
|
}
|
|
7189
|
-
else if (referenceGroup.api.location === 'floating' ||
|
|
7759
|
+
else if (referenceGroup.api.location.type === 'floating' ||
|
|
7190
7760
|
target === 'center') {
|
|
7191
7761
|
panel = this.createPanel(options, referenceGroup);
|
|
7192
7762
|
referenceGroup.model.openPanel(panel);
|
|
7763
|
+
this.doSetGroupAndPanelActive(referenceGroup);
|
|
7193
7764
|
}
|
|
7194
7765
|
else {
|
|
7195
7766
|
const location = getGridLocation(referenceGroup.element);
|
|
@@ -7197,10 +7768,12 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7197
7768
|
const group = this.createGroupAtLocation(relativeLocation);
|
|
7198
7769
|
panel = this.createPanel(options, group);
|
|
7199
7770
|
group.model.openPanel(panel);
|
|
7771
|
+
this.doSetGroupAndPanelActive(group);
|
|
7200
7772
|
}
|
|
7201
7773
|
}
|
|
7202
7774
|
else if (options.floating) {
|
|
7203
7775
|
const group = this.createGroup();
|
|
7776
|
+
this._onDidAddGroup.fire(group);
|
|
7204
7777
|
const o = typeof options.floating === 'object' &&
|
|
7205
7778
|
options.floating !== null
|
|
7206
7779
|
? options.floating
|
|
@@ -7208,16 +7781,16 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7208
7781
|
this.addFloatingGroup(group, o, {
|
|
7209
7782
|
inDragMode: false,
|
|
7210
7783
|
skipRemoveGroup: true,
|
|
7784
|
+
skipActiveGroup: true,
|
|
7211
7785
|
});
|
|
7212
|
-
this._onDidAddGroup.fire(group);
|
|
7213
7786
|
panel = this.createPanel(options, group);
|
|
7214
7787
|
group.model.openPanel(panel);
|
|
7215
|
-
this.doSetGroupAndPanelActive(group);
|
|
7216
7788
|
}
|
|
7217
7789
|
else {
|
|
7218
7790
|
const group = this.createGroupAtLocation();
|
|
7219
7791
|
panel = this.createPanel(options, group);
|
|
7220
7792
|
group.model.openPanel(panel);
|
|
7793
|
+
this.doSetGroupAndPanelActive(group);
|
|
7221
7794
|
}
|
|
7222
7795
|
return panel;
|
|
7223
7796
|
}
|
|
@@ -7229,13 +7802,15 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7229
7802
|
if (!group) {
|
|
7230
7803
|
throw new Error(`cannot remove panel ${panel.id}. it's missing a group.`);
|
|
7231
7804
|
}
|
|
7232
|
-
group.model.removePanel(panel
|
|
7805
|
+
group.model.removePanel(panel, {
|
|
7806
|
+
skipSetActiveGroup: options.skipSetActiveGroup,
|
|
7807
|
+
});
|
|
7233
7808
|
if (!options.skipDispose) {
|
|
7234
|
-
|
|
7809
|
+
panel.group.model.renderContainer.detatch(panel);
|
|
7235
7810
|
panel.dispose();
|
|
7236
7811
|
}
|
|
7237
7812
|
if (group.size === 0 && options.removeEmptyGroup) {
|
|
7238
|
-
this.removeGroup(group);
|
|
7813
|
+
this.removeGroup(group, { skipActive: options.skipSetActiveGroup });
|
|
7239
7814
|
}
|
|
7240
7815
|
}
|
|
7241
7816
|
createWatermarkComponent() {
|
|
@@ -7248,7 +7823,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7248
7823
|
}
|
|
7249
7824
|
updateWatermark() {
|
|
7250
7825
|
var _a, _b;
|
|
7251
|
-
if (this.groups.filter((x) => x.api.location === 'grid').length === 0) {
|
|
7826
|
+
if (this.groups.filter((x) => x.api.location.type === 'grid' && !x.api.isHidden).length === 0) {
|
|
7252
7827
|
if (!this.watermark) {
|
|
7253
7828
|
this.watermark = this.createWatermarkComponent();
|
|
7254
7829
|
this.watermark.init({
|
|
@@ -7294,36 +7869,42 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7294
7869
|
}
|
|
7295
7870
|
else {
|
|
7296
7871
|
const group = this.orthogonalize(directionToPosition(options.direction));
|
|
7872
|
+
if (!options.skipSetActive) {
|
|
7873
|
+
this.doSetGroupAndPanelActive(group);
|
|
7874
|
+
}
|
|
7297
7875
|
return group;
|
|
7298
7876
|
}
|
|
7299
7877
|
const target = toTarget(options.direction || 'within');
|
|
7300
7878
|
const location = getGridLocation(referenceGroup.element);
|
|
7301
7879
|
const relativeLocation = getRelativeLocation(this.gridview.orientation, location, target);
|
|
7302
7880
|
this.doAddGroup(group, relativeLocation);
|
|
7881
|
+
if (!options.skipSetActive) {
|
|
7882
|
+
this.doSetGroupAndPanelActive(group);
|
|
7883
|
+
}
|
|
7303
7884
|
return group;
|
|
7304
7885
|
}
|
|
7305
7886
|
else {
|
|
7306
7887
|
this.doAddGroup(group);
|
|
7888
|
+
this.doSetGroupAndPanelActive(group);
|
|
7307
7889
|
return group;
|
|
7308
7890
|
}
|
|
7309
7891
|
}
|
|
7310
7892
|
removeGroup(group, options) {
|
|
7893
|
+
this.doRemoveGroup(group, options);
|
|
7894
|
+
}
|
|
7895
|
+
doRemoveGroup(group, options) {
|
|
7311
7896
|
var _a;
|
|
7312
7897
|
const panels = [...group.panels]; // reassign since group panels will mutate
|
|
7313
|
-
|
|
7314
|
-
|
|
7315
|
-
|
|
7316
|
-
|
|
7317
|
-
|
|
7898
|
+
if (!(options === null || options === void 0 ? void 0 : options.skipDispose)) {
|
|
7899
|
+
for (const panel of panels) {
|
|
7900
|
+
this.removePanel(panel, {
|
|
7901
|
+
removeEmptyGroup: false,
|
|
7902
|
+
skipDispose: (_a = options === null || options === void 0 ? void 0 : options.skipDispose) !== null && _a !== void 0 ? _a : false,
|
|
7903
|
+
});
|
|
7904
|
+
}
|
|
7318
7905
|
}
|
|
7319
7906
|
const activePanel = this.activePanel;
|
|
7320
|
-
|
|
7321
|
-
if (this.activePanel !== activePanel) {
|
|
7322
|
-
this._onDidActivePanelChange.fire(this.activePanel);
|
|
7323
|
-
}
|
|
7324
|
-
}
|
|
7325
|
-
doRemoveGroup(group, options) {
|
|
7326
|
-
if (group.api.location === 'floating') {
|
|
7907
|
+
if (group.api.location.type === 'floating') {
|
|
7327
7908
|
const floatingGroup = this._floatingGroups.find((_) => _.group === group);
|
|
7328
7909
|
if (floatingGroup) {
|
|
7329
7910
|
if (!(options === null || options === void 0 ? void 0 : options.skipDispose)) {
|
|
@@ -7335,60 +7916,124 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7335
7916
|
floatingGroup.dispose();
|
|
7336
7917
|
if (!(options === null || options === void 0 ? void 0 : options.skipActive) && this._activeGroup === group) {
|
|
7337
7918
|
const groups = Array.from(this._groups.values());
|
|
7338
|
-
this.
|
|
7919
|
+
this.doSetGroupAndPanelActive(groups.length > 0 ? groups[0].value : undefined);
|
|
7339
7920
|
}
|
|
7340
7921
|
return floatingGroup.group;
|
|
7341
7922
|
}
|
|
7342
7923
|
throw new Error('failed to find floating group');
|
|
7343
7924
|
}
|
|
7344
|
-
if (group.api.location === 'popout') {
|
|
7345
|
-
const selectedGroup = this._popoutGroups.find((_) => _.
|
|
7925
|
+
if (group.api.location.type === 'popout') {
|
|
7926
|
+
const selectedGroup = this._popoutGroups.find((_) => _.popoutGroup === group);
|
|
7346
7927
|
if (selectedGroup) {
|
|
7347
7928
|
if (!(options === null || options === void 0 ? void 0 : options.skipDispose)) {
|
|
7348
|
-
|
|
7929
|
+
if (!(options === null || options === void 0 ? void 0 : options.skipPopoutAssociated)) {
|
|
7930
|
+
const refGroup = selectedGroup.referenceGroup
|
|
7931
|
+
? this.getPanel(selectedGroup.referenceGroup)
|
|
7932
|
+
: undefined;
|
|
7933
|
+
if (refGroup) {
|
|
7934
|
+
this.removeGroup(refGroup);
|
|
7935
|
+
}
|
|
7936
|
+
}
|
|
7937
|
+
selectedGroup.popoutGroup.dispose();
|
|
7349
7938
|
this._groups.delete(group.id);
|
|
7350
7939
|
this._onDidRemoveGroup.fire(group);
|
|
7351
7940
|
}
|
|
7352
|
-
selectedGroup.dispose();
|
|
7941
|
+
const removedGroup = selectedGroup.disposable.dispose();
|
|
7942
|
+
if (!(options === null || options === void 0 ? void 0 : options.skipPopoutReturn) && removedGroup) {
|
|
7943
|
+
this.doAddGroup(removedGroup, [0]);
|
|
7944
|
+
this.doSetGroupAndPanelActive(removedGroup);
|
|
7945
|
+
}
|
|
7353
7946
|
if (!(options === null || options === void 0 ? void 0 : options.skipActive) && this._activeGroup === group) {
|
|
7354
7947
|
const groups = Array.from(this._groups.values());
|
|
7355
|
-
this.
|
|
7948
|
+
this.doSetGroupAndPanelActive(groups.length > 0 ? groups[0].value : undefined);
|
|
7356
7949
|
}
|
|
7357
|
-
|
|
7950
|
+
this.updateWatermark();
|
|
7951
|
+
return selectedGroup.popoutGroup;
|
|
7358
7952
|
}
|
|
7359
7953
|
throw new Error('failed to find popout group');
|
|
7360
7954
|
}
|
|
7361
|
-
|
|
7955
|
+
const re = super.doRemoveGroup(group, options);
|
|
7956
|
+
if (!(options === null || options === void 0 ? void 0 : options.skipActive)) {
|
|
7957
|
+
if (this.activePanel !== activePanel) {
|
|
7958
|
+
this._onDidActivePanelChange.fire(this.activePanel);
|
|
7959
|
+
}
|
|
7960
|
+
}
|
|
7961
|
+
return re;
|
|
7362
7962
|
}
|
|
7363
|
-
|
|
7364
|
-
|
|
7963
|
+
movingLock(func) {
|
|
7964
|
+
const isMoving = this._moving;
|
|
7965
|
+
try {
|
|
7966
|
+
this._moving = true;
|
|
7967
|
+
return func();
|
|
7968
|
+
}
|
|
7969
|
+
finally {
|
|
7970
|
+
this._moving = isMoving;
|
|
7971
|
+
}
|
|
7972
|
+
}
|
|
7973
|
+
moveGroupOrPanel(options) {
|
|
7974
|
+
var _a;
|
|
7975
|
+
const destinationGroup = options.to.group;
|
|
7976
|
+
const sourceGroupId = options.from.groupId;
|
|
7977
|
+
const sourceItemId = options.from.panelId;
|
|
7978
|
+
const destinationTarget = options.to.position;
|
|
7979
|
+
const destinationIndex = options.to.index;
|
|
7365
7980
|
const sourceGroup = sourceGroupId
|
|
7366
7981
|
? (_a = this._groups.get(sourceGroupId)) === null || _a === void 0 ? void 0 : _a.value
|
|
7367
7982
|
: undefined;
|
|
7983
|
+
if (!sourceGroup) {
|
|
7984
|
+
throw new Error(`Failed to find group id ${sourceGroupId}`);
|
|
7985
|
+
}
|
|
7368
7986
|
if (sourceItemId === undefined) {
|
|
7369
|
-
|
|
7370
|
-
|
|
7371
|
-
|
|
7987
|
+
/**
|
|
7988
|
+
* Moving an entire group into another group
|
|
7989
|
+
*/
|
|
7990
|
+
this.moveGroup({
|
|
7991
|
+
from: { group: sourceGroup },
|
|
7992
|
+
to: {
|
|
7993
|
+
group: destinationGroup,
|
|
7994
|
+
position: destinationTarget,
|
|
7995
|
+
},
|
|
7996
|
+
});
|
|
7372
7997
|
return;
|
|
7373
7998
|
}
|
|
7374
7999
|
if (!destinationTarget || destinationTarget === 'center') {
|
|
7375
|
-
|
|
7376
|
-
|
|
8000
|
+
/**
|
|
8001
|
+
* Dropping a panel within another group
|
|
8002
|
+
*/
|
|
8003
|
+
const removedPanel = this.movingLock(() => sourceGroup.model.removePanel(sourceItemId, {
|
|
8004
|
+
skipSetActive: false,
|
|
8005
|
+
skipSetActiveGroup: true,
|
|
8006
|
+
}));
|
|
8007
|
+
if (!removedPanel) {
|
|
7377
8008
|
throw new Error(`No panel with id ${sourceItemId}`);
|
|
7378
8009
|
}
|
|
7379
|
-
if (
|
|
7380
|
-
|
|
8010
|
+
if (sourceGroup.model.size === 0) {
|
|
8011
|
+
// remove the group and do not set a new group as active
|
|
8012
|
+
this.doRemoveGroup(sourceGroup, { skipActive: true });
|
|
7381
8013
|
}
|
|
7382
|
-
destinationGroup.model.openPanel(
|
|
8014
|
+
this.movingLock(() => destinationGroup.model.openPanel(removedPanel, {
|
|
7383
8015
|
index: destinationIndex,
|
|
8016
|
+
skipSetGroupActive: true,
|
|
8017
|
+
}));
|
|
8018
|
+
this.doSetGroupAndPanelActive(destinationGroup);
|
|
8019
|
+
this._onDidMovePanel.fire({
|
|
8020
|
+
panel: removedPanel,
|
|
7384
8021
|
});
|
|
7385
8022
|
}
|
|
7386
8023
|
else {
|
|
8024
|
+
/**
|
|
8025
|
+
* Dropping a panel to the extremities of a group which will place that panel
|
|
8026
|
+
* into an adjacent group
|
|
8027
|
+
*/
|
|
7387
8028
|
const referenceLocation = getGridLocation(destinationGroup.element);
|
|
7388
8029
|
const targetLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, destinationTarget);
|
|
7389
|
-
if (sourceGroup
|
|
8030
|
+
if (sourceGroup.size < 2) {
|
|
8031
|
+
/**
|
|
8032
|
+
* If we are moving from a group which only has one panel left we will consider
|
|
8033
|
+
* moving the group itself rather than moving the panel into a newly created group
|
|
8034
|
+
*/
|
|
7390
8035
|
const [targetParentLocation, to] = tail(targetLocation);
|
|
7391
|
-
if (sourceGroup.api.location === 'grid') {
|
|
8036
|
+
if (sourceGroup.api.location.type === 'grid') {
|
|
7392
8037
|
const sourceLocation = getGridLocation(sourceGroup.element);
|
|
7393
8038
|
const [sourceParentLocation, from] = tail(sourceLocation);
|
|
7394
8039
|
if (sequenceEquals(sourceParentLocation, targetParentLocation)) {
|
|
@@ -7396,78 +8041,123 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7396
8041
|
// if a group has one tab - we are essentially moving the 'group'
|
|
7397
8042
|
// which is equivalent to swapping two views in this case
|
|
7398
8043
|
this.gridview.moveView(sourceParentLocation, from, to);
|
|
8044
|
+
return;
|
|
7399
8045
|
}
|
|
7400
8046
|
}
|
|
7401
8047
|
// source group will become empty so delete the group
|
|
7402
|
-
const targetGroup = this.doRemoveGroup(sourceGroup, {
|
|
8048
|
+
const targetGroup = this.movingLock(() => this.doRemoveGroup(sourceGroup, {
|
|
7403
8049
|
skipActive: true,
|
|
7404
8050
|
skipDispose: true,
|
|
7405
|
-
});
|
|
8051
|
+
}));
|
|
7406
8052
|
// after deleting the group we need to re-evaulate the ref location
|
|
7407
8053
|
const updatedReferenceLocation = getGridLocation(destinationGroup.element);
|
|
7408
8054
|
const location = getRelativeLocation(this.gridview.orientation, updatedReferenceLocation, destinationTarget);
|
|
7409
|
-
this.doAddGroup(targetGroup, location);
|
|
8055
|
+
this.movingLock(() => this.doAddGroup(targetGroup, location));
|
|
8056
|
+
this.doSetGroupAndPanelActive(targetGroup);
|
|
7410
8057
|
}
|
|
7411
8058
|
else {
|
|
7412
|
-
|
|
7413
|
-
|
|
8059
|
+
/**
|
|
8060
|
+
* The group we are removing from has many panels, we need to remove the panels we are moving,
|
|
8061
|
+
* create a new group, add the panels to that new group and add the new group in an appropiate position
|
|
8062
|
+
*/
|
|
8063
|
+
const removedPanel = this.movingLock(() => sourceGroup.model.removePanel(sourceItemId, {
|
|
8064
|
+
skipSetActive: false,
|
|
8065
|
+
skipSetActiveGroup: true,
|
|
8066
|
+
}));
|
|
8067
|
+
if (!removedPanel) {
|
|
7414
8068
|
throw new Error(`No panel with id ${sourceItemId}`);
|
|
7415
8069
|
}
|
|
7416
8070
|
const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, destinationTarget);
|
|
7417
8071
|
const group = this.createGroupAtLocation(dropLocation);
|
|
7418
|
-
group.model.openPanel(
|
|
8072
|
+
this.movingLock(() => group.model.openPanel(removedPanel, {
|
|
8073
|
+
skipSetGroupActive: true,
|
|
8074
|
+
}));
|
|
8075
|
+
this.doSetGroupAndPanelActive(group);
|
|
7419
8076
|
}
|
|
7420
8077
|
}
|
|
7421
8078
|
}
|
|
7422
|
-
moveGroup(
|
|
7423
|
-
|
|
7424
|
-
|
|
7425
|
-
|
|
7426
|
-
|
|
7427
|
-
|
|
7428
|
-
|
|
7429
|
-
|
|
8079
|
+
moveGroup(options) {
|
|
8080
|
+
const from = options.from.group;
|
|
8081
|
+
const to = options.to.group;
|
|
8082
|
+
const target = options.to.position;
|
|
8083
|
+
if (target === 'center') {
|
|
8084
|
+
const activePanel = from.activePanel;
|
|
8085
|
+
const panels = this.movingLock(() => [...from.panels].map((p) => from.model.removePanel(p.id, {
|
|
8086
|
+
skipSetActive: true,
|
|
8087
|
+
})));
|
|
8088
|
+
if ((from === null || from === void 0 ? void 0 : from.model.size) === 0) {
|
|
8089
|
+
this.doRemoveGroup(from, { skipActive: true });
|
|
8090
|
+
}
|
|
8091
|
+
this.movingLock(() => {
|
|
7430
8092
|
for (const panel of panels) {
|
|
7431
|
-
|
|
7432
|
-
|
|
8093
|
+
to.model.openPanel(panel, {
|
|
8094
|
+
skipSetActive: panel !== activePanel,
|
|
8095
|
+
skipSetGroupActive: true,
|
|
7433
8096
|
});
|
|
7434
8097
|
}
|
|
7435
|
-
}
|
|
7436
|
-
|
|
7437
|
-
|
|
7438
|
-
|
|
7439
|
-
|
|
7440
|
-
|
|
7441
|
-
|
|
7442
|
-
|
|
7443
|
-
|
|
7444
|
-
|
|
7445
|
-
|
|
7446
|
-
|
|
7447
|
-
|
|
8098
|
+
});
|
|
8099
|
+
this.doSetGroupAndPanelActive(to);
|
|
8100
|
+
panels.forEach((panel) => {
|
|
8101
|
+
this._onDidMovePanel.fire({ panel });
|
|
8102
|
+
});
|
|
8103
|
+
}
|
|
8104
|
+
else {
|
|
8105
|
+
switch (from.api.location.type) {
|
|
8106
|
+
case 'grid':
|
|
8107
|
+
this.gridview.removeView(getGridLocation(from.element));
|
|
8108
|
+
break;
|
|
8109
|
+
case 'floating': {
|
|
8110
|
+
const selectedFloatingGroup = this._floatingGroups.find((x) => x.group === from);
|
|
8111
|
+
if (!selectedFloatingGroup) {
|
|
8112
|
+
throw new Error('failed to find floating group');
|
|
7448
8113
|
}
|
|
7449
|
-
|
|
7450
|
-
|
|
7451
|
-
|
|
7452
|
-
|
|
7453
|
-
|
|
7454
|
-
|
|
8114
|
+
selectedFloatingGroup.dispose();
|
|
8115
|
+
break;
|
|
8116
|
+
}
|
|
8117
|
+
case 'popout': {
|
|
8118
|
+
const selectedPopoutGroup = this._popoutGroups.find((x) => x.popoutGroup === from);
|
|
8119
|
+
if (!selectedPopoutGroup) {
|
|
8120
|
+
throw new Error('failed to find popout group');
|
|
7455
8121
|
}
|
|
8122
|
+
selectedPopoutGroup.disposable.dispose();
|
|
7456
8123
|
}
|
|
7457
|
-
const referenceLocation = getGridLocation(referenceGroup.element);
|
|
7458
|
-
const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
|
|
7459
|
-
this.gridview.addView(sourceGroup, exports.Sizing.Distribute, dropLocation);
|
|
7460
8124
|
}
|
|
8125
|
+
const referenceLocation = getGridLocation(to.element);
|
|
8126
|
+
const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
|
|
8127
|
+
this.gridview.addView(from, exports.Sizing.Distribute, dropLocation);
|
|
8128
|
+
from.panels.forEach((panel) => {
|
|
8129
|
+
this._onDidMovePanel.fire({ panel });
|
|
8130
|
+
});
|
|
7461
8131
|
}
|
|
7462
8132
|
}
|
|
7463
|
-
|
|
7464
|
-
|
|
8133
|
+
doSetGroupActive(group) {
|
|
8134
|
+
super.doSetGroupActive(group);
|
|
8135
|
+
const activePanel = this.activePanel;
|
|
8136
|
+
if (!this._moving &&
|
|
8137
|
+
activePanel !== this._onDidActivePanelChange.value) {
|
|
8138
|
+
this._onDidActivePanelChange.fire(activePanel);
|
|
8139
|
+
}
|
|
8140
|
+
}
|
|
8141
|
+
doSetGroupAndPanelActive(group) {
|
|
8142
|
+
super.doSetGroupActive(group);
|
|
7465
8143
|
const activePanel = this.activePanel;
|
|
7466
|
-
|
|
7467
|
-
|
|
7468
|
-
this.
|
|
8144
|
+
if (group &&
|
|
8145
|
+
this.hasMaximizedGroup() &&
|
|
8146
|
+
!this.isMaximizedGroup(group)) {
|
|
8147
|
+
this.exitMaximizedGroup();
|
|
8148
|
+
}
|
|
8149
|
+
if (!this._moving &&
|
|
8150
|
+
activePanel !== this._onDidActivePanelChange.value) {
|
|
8151
|
+
this._onDidActivePanelChange.fire(activePanel);
|
|
7469
8152
|
}
|
|
7470
8153
|
}
|
|
8154
|
+
getNextGroupId() {
|
|
8155
|
+
let id = this.nextGroupId.next();
|
|
8156
|
+
while (this._groups.has(id)) {
|
|
8157
|
+
id = this.nextGroupId.next();
|
|
8158
|
+
}
|
|
8159
|
+
return id;
|
|
8160
|
+
}
|
|
7471
8161
|
createGroup(options) {
|
|
7472
8162
|
if (!options) {
|
|
7473
8163
|
options = {};
|
|
@@ -7484,7 +8174,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7484
8174
|
}
|
|
7485
8175
|
}
|
|
7486
8176
|
const view = new DockviewGroupPanel(this, id, options);
|
|
7487
|
-
view.init({ params: {}, accessor:
|
|
8177
|
+
view.init({ params: {}, accessor: this });
|
|
7488
8178
|
if (!this._groups.has(view.id)) {
|
|
7489
8179
|
const disposable = new CompositeDisposable(view.model.onTabDragStart((event) => {
|
|
7490
8180
|
this._onWillDragPanel.fire(event);
|
|
@@ -7492,20 +8182,48 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7492
8182
|
this._onWillDragGroup.fire(event);
|
|
7493
8183
|
}), view.model.onMove((event) => {
|
|
7494
8184
|
const { groupId, itemId, target, index } = event;
|
|
7495
|
-
this.moveGroupOrPanel(
|
|
8185
|
+
this.moveGroupOrPanel({
|
|
8186
|
+
from: { groupId: groupId, panelId: itemId },
|
|
8187
|
+
to: {
|
|
8188
|
+
group: view,
|
|
8189
|
+
position: target,
|
|
8190
|
+
index,
|
|
8191
|
+
},
|
|
8192
|
+
});
|
|
7496
8193
|
}), view.model.onDidDrop((event) => {
|
|
7497
|
-
this._onDidDrop.fire(
|
|
8194
|
+
this._onDidDrop.fire(event);
|
|
8195
|
+
}), view.model.onWillDrop((event) => {
|
|
8196
|
+
this._onWillDrop.fire(event);
|
|
8197
|
+
}), view.model.onWillShowOverlay((event) => {
|
|
8198
|
+
if (this.options.disableDnd) {
|
|
8199
|
+
event.preventDefault();
|
|
8200
|
+
return;
|
|
8201
|
+
}
|
|
8202
|
+
this._onWillShowOverlay.fire(event);
|
|
7498
8203
|
}), view.model.onDidAddPanel((event) => {
|
|
8204
|
+
if (this._moving) {
|
|
8205
|
+
return;
|
|
8206
|
+
}
|
|
7499
8207
|
this._onDidAddPanel.fire(event.panel);
|
|
7500
8208
|
}), view.model.onDidRemovePanel((event) => {
|
|
8209
|
+
if (this._moving) {
|
|
8210
|
+
return;
|
|
8211
|
+
}
|
|
7501
8212
|
this._onDidRemovePanel.fire(event.panel);
|
|
7502
8213
|
}), view.model.onDidActivePanelChange((event) => {
|
|
7503
|
-
this.
|
|
8214
|
+
if (this._moving) {
|
|
8215
|
+
return;
|
|
8216
|
+
}
|
|
8217
|
+
if (event.panel !== this.activePanel) {
|
|
8218
|
+
return;
|
|
8219
|
+
}
|
|
8220
|
+
if (this._onDidActivePanelChange.value !== event.panel) {
|
|
8221
|
+
this._onDidActivePanelChange.fire(event.panel);
|
|
8222
|
+
}
|
|
7504
8223
|
}));
|
|
7505
8224
|
this._groups.set(view.id, { value: view, disposable });
|
|
7506
8225
|
}
|
|
7507
|
-
// TODO: must be called after the above listeners have been setup,
|
|
7508
|
-
// not an ideal pattern
|
|
8226
|
+
// TODO: must be called after the above listeners have been setup, not an ideal pattern
|
|
7509
8227
|
view.initialize();
|
|
7510
8228
|
return view;
|
|
7511
8229
|
}
|
|
@@ -7558,7 +8276,20 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7558
8276
|
});
|
|
7559
8277
|
this._onDidLayoutfromJSON = new Emitter();
|
|
7560
8278
|
this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
|
|
8279
|
+
this._onDidRemoveGroup = new Emitter();
|
|
8280
|
+
this.onDidRemoveGroup = this._onDidRemoveGroup.event;
|
|
8281
|
+
this._onDidAddGroup = new Emitter();
|
|
8282
|
+
this.onDidAddGroup = this._onDidAddGroup.event;
|
|
8283
|
+
this._onDidActiveGroupChange = new Emitter();
|
|
8284
|
+
this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
|
|
7561
8285
|
this._options = options;
|
|
8286
|
+
this.addDisposables(this._onDidAddGroup, this._onDidRemoveGroup, this._onDidActiveGroupChange, this.onDidAdd((event) => {
|
|
8287
|
+
this._onDidAddGroup.fire(event);
|
|
8288
|
+
}), this.onDidRemove((event) => {
|
|
8289
|
+
this._onDidRemoveGroup.fire(event);
|
|
8290
|
+
}), this.onDidActiveChange((event) => {
|
|
8291
|
+
this._onDidActiveGroupChange.fire(event);
|
|
8292
|
+
}));
|
|
7562
8293
|
if (!this.options.components) {
|
|
7563
8294
|
this.options.components = {};
|
|
7564
8295
|
}
|
|
@@ -7733,6 +8464,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7733
8464
|
});
|
|
7734
8465
|
this.registerPanel(view);
|
|
7735
8466
|
this.doAddGroup(view, relativeLocation, options.size);
|
|
8467
|
+
this.doSetGroupActive(view);
|
|
7736
8468
|
return view;
|
|
7737
8469
|
}
|
|
7738
8470
|
registerPanel(panel) {
|
|
@@ -8418,10 +9150,10 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8418
9150
|
this._onDidChange = new Emitter();
|
|
8419
9151
|
this.onDidChange = this._onDidChange.event;
|
|
8420
9152
|
this.api.initialize(this);
|
|
8421
|
-
this.addDisposables(this._onDidChange, this.api.
|
|
8422
|
-
const {
|
|
9153
|
+
this.addDisposables(this._onDidChange, this.api.onDidHiddenChange((event) => {
|
|
9154
|
+
const { isHidden } = event;
|
|
8423
9155
|
const { accessor } = this._params;
|
|
8424
|
-
accessor.setVisible(this,
|
|
9156
|
+
accessor.setVisible(this, !isHidden);
|
|
8425
9157
|
}), this.api.onActiveChange(() => {
|
|
8426
9158
|
const { accessor } = this._params;
|
|
8427
9159
|
accessor.setActive(this);
|
|
@@ -8487,11 +9219,13 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8487
9219
|
exports.DockviewApi = DockviewApi;
|
|
8488
9220
|
exports.DockviewComponent = DockviewComponent;
|
|
8489
9221
|
exports.DockviewCompositeDisposable = CompositeDisposable;
|
|
9222
|
+
exports.DockviewDidDropEvent = DockviewDidDropEvent;
|
|
8490
9223
|
exports.DockviewEmitter = Emitter;
|
|
8491
9224
|
exports.DockviewGroupPanel = DockviewGroupPanel;
|
|
8492
9225
|
exports.DockviewGroupPanelModel = DockviewGroupPanelModel;
|
|
8493
9226
|
exports.DockviewMutableDisposable = MutableDisposable;
|
|
8494
9227
|
exports.DockviewPanel = DockviewPanel;
|
|
9228
|
+
exports.DockviewWillDropEvent = DockviewWillDropEvent;
|
|
8495
9229
|
exports.DraggablePaneviewPanel = DraggablePaneviewPanel;
|
|
8496
9230
|
exports.Gridview = Gridview;
|
|
8497
9231
|
exports.GridviewApi = GridviewApi;
|
|
@@ -8510,6 +9244,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8510
9244
|
exports.SplitviewComponent = SplitviewComponent;
|
|
8511
9245
|
exports.SplitviewPanel = SplitviewPanel;
|
|
8512
9246
|
exports.Tab = Tab;
|
|
9247
|
+
exports.WillShowOverlayLocationEvent = WillShowOverlayLocationEvent;
|
|
8513
9248
|
exports.createComponent = createComponent;
|
|
8514
9249
|
exports.directionToPosition = directionToPosition;
|
|
8515
9250
|
exports.getDirectionOrientation = getDirectionOrientation;
|