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
|
@@ -70,7 +70,6 @@ var dockviewPanel_1 = require("./dockviewPanel");
|
|
|
70
70
|
var lifecycle_1 = require("../lifecycle");
|
|
71
71
|
var events_1 = require("../events");
|
|
72
72
|
var watermark_1 = require("./components/watermark/watermark");
|
|
73
|
-
var types_1 = require("./types");
|
|
74
73
|
var math_1 = require("../math");
|
|
75
74
|
var deserializer_1 = require("./deserializer");
|
|
76
75
|
var componentFactory_1 = require("../panel/componentFactory");
|
|
@@ -78,20 +77,35 @@ var options_1 = require("./options");
|
|
|
78
77
|
var baseComponentGridview_1 = require("../gridview/baseComponentGridview");
|
|
79
78
|
var component_api_1 = require("../api/component.api");
|
|
80
79
|
var splitview_1 = require("../splitview/splitview");
|
|
80
|
+
var dockviewGroupPanelModel_1 = require("./dockviewGroupPanelModel");
|
|
81
81
|
var dockviewGroupPanel_1 = require("./dockviewGroupPanel");
|
|
82
82
|
var dockviewPanelModel_1 = require("./dockviewPanelModel");
|
|
83
83
|
var dataTransfer_1 = require("../dnd/dataTransfer");
|
|
84
84
|
var overlay_1 = require("../dnd/overlay");
|
|
85
85
|
var dom_1 = require("../dom");
|
|
86
86
|
var dockviewFloatingGroupPanel_1 = require("./dockviewFloatingGroupPanel");
|
|
87
|
-
var dockviewPopoutGroupPanel_1 = require("./dockviewPopoutGroupPanel");
|
|
88
87
|
var constants_1 = require("../constants");
|
|
89
88
|
var overlayRenderContainer_1 = require("../overlayRenderContainer");
|
|
89
|
+
var popoutWindow_1 = require("../popoutWindow");
|
|
90
90
|
var DEFAULT_ROOT_OVERLAY_MODEL = {
|
|
91
91
|
activationSize: { type: 'pixels', value: 10 },
|
|
92
92
|
size: { type: 'pixels', value: 20 },
|
|
93
93
|
};
|
|
94
|
-
function
|
|
94
|
+
function moveGroupWithoutDestroying(options) {
|
|
95
|
+
var activePanel = options.from.activePanel;
|
|
96
|
+
var panels = __spreadArray([], __read(options.from.panels), false).map(function (panel) {
|
|
97
|
+
var removedPanel = options.from.model.removePanel(panel);
|
|
98
|
+
options.from.model.renderContainer.detatch(panel);
|
|
99
|
+
return removedPanel;
|
|
100
|
+
});
|
|
101
|
+
panels.forEach(function (panel) {
|
|
102
|
+
options.to.model.openPanel(panel, {
|
|
103
|
+
skipSetActive: activePanel !== panel,
|
|
104
|
+
skipSetGroupActive: true,
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
function getDockviewTheme(element) {
|
|
95
109
|
function toClassList(element) {
|
|
96
110
|
var list = [];
|
|
97
111
|
for (var i = 0; i < element.classList.length; i++) {
|
|
@@ -182,6 +196,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
182
196
|
styles: options.styles,
|
|
183
197
|
parentElement: options.parentElement,
|
|
184
198
|
disableAutoResizing: options.disableAutoResizing,
|
|
199
|
+
locked: options.locked,
|
|
185
200
|
}) || this;
|
|
186
201
|
_this.nextGroupId = (0, math_1.sequentialNumberGenerator)();
|
|
187
202
|
_this._deserializer = new deserializer_1.DefaultDockviewDeserialzier(_this);
|
|
@@ -192,6 +207,10 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
192
207
|
_this.onWillDragGroup = _this._onWillDragGroup.event;
|
|
193
208
|
_this._onDidDrop = new events_1.Emitter();
|
|
194
209
|
_this.onDidDrop = _this._onDidDrop.event;
|
|
210
|
+
_this._onWillDrop = new events_1.Emitter();
|
|
211
|
+
_this.onWillDrop = _this._onWillDrop.event;
|
|
212
|
+
_this._onWillShowOverlay = new events_1.Emitter();
|
|
213
|
+
_this.onWillShowOverlay = _this._onWillShowOverlay.event;
|
|
195
214
|
_this._onDidRemovePanel = new events_1.Emitter();
|
|
196
215
|
_this.onDidRemovePanel = _this._onDidRemovePanel.event;
|
|
197
216
|
_this._onDidAddPanel = new events_1.Emitter();
|
|
@@ -200,15 +219,36 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
200
219
|
_this.onDidLayoutFromJSON = _this._onDidLayoutFromJSON.event;
|
|
201
220
|
_this._onDidActivePanelChange = new events_1.Emitter();
|
|
202
221
|
_this.onDidActivePanelChange = _this._onDidActivePanelChange.event;
|
|
222
|
+
_this._onDidMovePanel = new events_1.Emitter();
|
|
203
223
|
_this._floatingGroups = [];
|
|
204
224
|
_this._popoutGroups = [];
|
|
225
|
+
_this._ignoreEvents = 0;
|
|
226
|
+
_this._onDidRemoveGroup = new events_1.Emitter();
|
|
227
|
+
_this.onDidRemoveGroup = _this._onDidRemoveGroup.event;
|
|
228
|
+
_this._onDidAddGroup = new events_1.Emitter();
|
|
229
|
+
_this.onDidAddGroup = _this._onDidAddGroup.event;
|
|
230
|
+
_this._onDidActiveGroupChange = new events_1.Emitter();
|
|
231
|
+
_this.onDidActiveGroupChange = _this._onDidActiveGroupChange.event;
|
|
232
|
+
_this._moving = false;
|
|
205
233
|
var gready = document.createElement('div');
|
|
206
234
|
gready.className = 'dv-overlay-render-container';
|
|
207
235
|
_this.gridview.element.appendChild(gready);
|
|
208
236
|
_this.overlayRenderContainer = new overlayRenderContainer_1.OverlayRenderContainer(gready);
|
|
209
237
|
(0, dom_1.toggleClass)(_this.gridview.element, 'dv-dockview', true);
|
|
210
238
|
(0, dom_1.toggleClass)(_this.element, 'dv-debug', !!options.debug);
|
|
211
|
-
_this.addDisposables(_this.overlayRenderContainer, _this._onWillDragPanel, _this._onWillDragGroup, _this._onDidActivePanelChange, _this._onDidAddPanel, _this._onDidRemovePanel, _this._onDidLayoutFromJSON, _this._onDidDrop,
|
|
239
|
+
_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(function (event) {
|
|
240
|
+
if (!_this._moving) {
|
|
241
|
+
_this._onDidAddGroup.fire(event);
|
|
242
|
+
}
|
|
243
|
+
}), _this.onDidRemove(function (event) {
|
|
244
|
+
if (!_this._moving) {
|
|
245
|
+
_this._onDidRemoveGroup.fire(event);
|
|
246
|
+
}
|
|
247
|
+
}), _this.onDidActiveChange(function (event) {
|
|
248
|
+
if (!_this._moving) {
|
|
249
|
+
_this._onDidActiveGroupChange.fire(event);
|
|
250
|
+
}
|
|
251
|
+
}), events_1.Event.any(_this.onDidAdd, _this.onDidRemove)(function () {
|
|
212
252
|
_this.updateWatermark();
|
|
213
253
|
}), events_1.Event.any(_this.onDidAddPanel, _this.onDidRemovePanel, _this.onDidActivePanelChange)(function () {
|
|
214
254
|
_this._bufferOnDidLayoutChange.fire();
|
|
@@ -232,7 +272,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
232
272
|
// iterate over a copy of the array since .dispose() mutates the original array
|
|
233
273
|
for (var _e = __values(__spreadArray([], __read(_this._popoutGroups), false)), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
234
274
|
var group = _f.value;
|
|
235
|
-
group.dispose();
|
|
275
|
+
group.disposable.dispose();
|
|
236
276
|
}
|
|
237
277
|
}
|
|
238
278
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
@@ -286,7 +326,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
286
326
|
return _this.options.showDndOverlay({
|
|
287
327
|
nativeEvent: event,
|
|
288
328
|
position: position,
|
|
289
|
-
target:
|
|
329
|
+
target: 'edge',
|
|
290
330
|
getData: dataTransfer_1.getPanelData,
|
|
291
331
|
});
|
|
292
332
|
}
|
|
@@ -297,12 +337,41 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
297
337
|
});
|
|
298
338
|
_this.addDisposables(_this._rootDropTarget.onDrop(function (event) {
|
|
299
339
|
var _a;
|
|
340
|
+
var willDropEvent = new dockviewGroupPanelModel_1.DockviewWillDropEvent({
|
|
341
|
+
nativeEvent: event.nativeEvent,
|
|
342
|
+
position: event.position,
|
|
343
|
+
panel: undefined,
|
|
344
|
+
api: _this._api,
|
|
345
|
+
group: undefined,
|
|
346
|
+
getData: dataTransfer_1.getPanelData,
|
|
347
|
+
kind: 'content',
|
|
348
|
+
});
|
|
349
|
+
_this._onWillDrop.fire(willDropEvent);
|
|
350
|
+
if (willDropEvent.defaultPrevented) {
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
300
353
|
var data = (0, dataTransfer_1.getPanelData)();
|
|
301
354
|
if (data) {
|
|
302
|
-
_this.moveGroupOrPanel(
|
|
355
|
+
_this.moveGroupOrPanel({
|
|
356
|
+
from: {
|
|
357
|
+
groupId: data.groupId,
|
|
358
|
+
panelId: (_a = data.panelId) !== null && _a !== void 0 ? _a : undefined,
|
|
359
|
+
},
|
|
360
|
+
to: {
|
|
361
|
+
group: _this.orthogonalize(event.position),
|
|
362
|
+
position: 'center',
|
|
363
|
+
},
|
|
364
|
+
});
|
|
303
365
|
}
|
|
304
366
|
else {
|
|
305
|
-
_this._onDidDrop.fire(
|
|
367
|
+
_this._onDidDrop.fire(new dockviewGroupPanelModel_1.DockviewDidDropEvent({
|
|
368
|
+
nativeEvent: event.nativeEvent,
|
|
369
|
+
position: event.position,
|
|
370
|
+
panel: undefined,
|
|
371
|
+
api: _this._api,
|
|
372
|
+
group: undefined,
|
|
373
|
+
getData: dataTransfer_1.getPanelData,
|
|
374
|
+
}));
|
|
306
375
|
}
|
|
307
376
|
}), _this._rootDropTarget);
|
|
308
377
|
_this._api = new component_api_1.DockviewApi(_this);
|
|
@@ -356,77 +425,219 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
356
425
|
enumerable: false,
|
|
357
426
|
configurable: true
|
|
358
427
|
});
|
|
359
|
-
DockviewComponent.prototype.addPopoutGroup = function (
|
|
428
|
+
DockviewComponent.prototype.addPopoutGroup = function (itemToPopout, options) {
|
|
360
429
|
var _this = this;
|
|
361
|
-
var _a;
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
if (!box) {
|
|
372
|
-
box = this.element.getBoundingClientRect();
|
|
430
|
+
var _a, _b, _c;
|
|
431
|
+
if (itemToPopout instanceof dockviewPanel_1.DockviewPanel &&
|
|
432
|
+
itemToPopout.group.size === 1) {
|
|
433
|
+
return this.addPopoutGroup(itemToPopout.group);
|
|
434
|
+
}
|
|
435
|
+
var theme = getDockviewTheme(this.gridview.element);
|
|
436
|
+
var element = this.element;
|
|
437
|
+
function getBox() {
|
|
438
|
+
if (options === null || options === void 0 ? void 0 : options.position) {
|
|
439
|
+
return options.position;
|
|
373
440
|
}
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
group = item;
|
|
377
|
-
if (!box) {
|
|
378
|
-
box = group.element.getBoundingClientRect();
|
|
441
|
+
if (itemToPopout instanceof dockviewGroupPanel_1.DockviewGroupPanel) {
|
|
442
|
+
return itemToPopout.element.getBoundingClientRect();
|
|
379
443
|
}
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
var
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
444
|
+
if (itemToPopout.group) {
|
|
445
|
+
return itemToPopout.group.element.getBoundingClientRect();
|
|
446
|
+
}
|
|
447
|
+
return element.getBoundingClientRect();
|
|
448
|
+
}
|
|
449
|
+
var box = getBox();
|
|
450
|
+
var 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;
|
|
451
|
+
if (itemToPopout.api.location.type === 'grid') {
|
|
452
|
+
itemToPopout.api.setHidden(true);
|
|
453
|
+
}
|
|
454
|
+
var _window = new popoutWindow_1.PopoutWindow("".concat(this.id, "-").concat(groupId), // unique id
|
|
455
|
+
theme !== null && theme !== void 0 ? theme : '', {
|
|
456
|
+
url: (_c = options === null || options === void 0 ? void 0 : options.popoutUrl) !== null && _c !== void 0 ? _c : '/popout.html',
|
|
457
|
+
left: window.screenX + box.left,
|
|
458
|
+
top: window.screenY + box.top,
|
|
459
|
+
width: box.width,
|
|
460
|
+
height: box.height,
|
|
461
|
+
onDidOpen: options === null || options === void 0 ? void 0 : options.onDidOpen,
|
|
462
|
+
onWillClose: options === null || options === void 0 ? void 0 : options.onWillClose,
|
|
397
463
|
});
|
|
398
|
-
|
|
399
|
-
dispose
|
|
400
|
-
(0, array_1.remove)(_this._popoutGroups, popoutWindow);
|
|
401
|
-
_this.updateWatermark();
|
|
402
|
-
},
|
|
403
|
-
}, popoutWindow.window.onDidClose(function () {
|
|
404
|
-
_this.doAddGroup(group, [0]);
|
|
464
|
+
var popoutWindowDisposable = new lifecycle_1.CompositeDisposable(_window, _window.onDidClose(function () {
|
|
465
|
+
popoutWindowDisposable.dispose();
|
|
405
466
|
}));
|
|
406
|
-
|
|
407
|
-
|
|
467
|
+
return _window
|
|
468
|
+
.open()
|
|
469
|
+
.then(function (popoutContainer) {
|
|
470
|
+
var _a;
|
|
471
|
+
if (_window.isDisposed) {
|
|
472
|
+
return;
|
|
473
|
+
}
|
|
474
|
+
if (popoutContainer === null) {
|
|
475
|
+
popoutWindowDisposable.dispose();
|
|
476
|
+
return;
|
|
477
|
+
}
|
|
478
|
+
var gready = document.createElement('div');
|
|
479
|
+
gready.className = 'dv-overlay-render-container';
|
|
480
|
+
var overlayRenderContainer = new overlayRenderContainer_1.OverlayRenderContainer(gready);
|
|
481
|
+
var referenceGroup = itemToPopout instanceof dockviewPanel_1.DockviewPanel
|
|
482
|
+
? itemToPopout.group
|
|
483
|
+
: itemToPopout;
|
|
484
|
+
var referenceLocation = itemToPopout.api.location.type;
|
|
485
|
+
var group = (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) !== null && _a !== void 0 ? _a : _this.createGroup({ id: groupId });
|
|
486
|
+
group.model.renderContainer = overlayRenderContainer;
|
|
487
|
+
if (!(options === null || options === void 0 ? void 0 : options.overridePopoutGroup)) {
|
|
488
|
+
_this._onDidAddGroup.fire(group);
|
|
489
|
+
}
|
|
490
|
+
if (itemToPopout instanceof dockviewPanel_1.DockviewPanel) {
|
|
491
|
+
_this.movingLock(function () {
|
|
492
|
+
var panel = referenceGroup.model.removePanel(itemToPopout);
|
|
493
|
+
group.model.openPanel(panel);
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
_this.movingLock(function () {
|
|
498
|
+
return moveGroupWithoutDestroying({
|
|
499
|
+
from: referenceGroup,
|
|
500
|
+
to: group,
|
|
501
|
+
});
|
|
502
|
+
});
|
|
503
|
+
switch (referenceLocation) {
|
|
504
|
+
case 'grid':
|
|
505
|
+
referenceGroup.api.setHidden(true);
|
|
506
|
+
break;
|
|
507
|
+
case 'floating':
|
|
508
|
+
case 'popout':
|
|
509
|
+
_this.removeGroup(referenceGroup);
|
|
510
|
+
break;
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
popoutContainer.classList.add('dv-dockview');
|
|
514
|
+
popoutContainer.style.overflow = 'hidden';
|
|
515
|
+
popoutContainer.appendChild(gready);
|
|
516
|
+
popoutContainer.appendChild(group.element);
|
|
517
|
+
group.model.location = {
|
|
518
|
+
type: 'popout',
|
|
519
|
+
getWindow: function () { return _window.window; },
|
|
520
|
+
};
|
|
521
|
+
_this.doSetGroupAndPanelActive(group);
|
|
522
|
+
popoutWindowDisposable.addDisposables(group.api.onDidActiveChange(function (event) {
|
|
523
|
+
var _a;
|
|
524
|
+
if (event.isActive) {
|
|
525
|
+
(_a = _window.window) === null || _a === void 0 ? void 0 : _a.focus();
|
|
526
|
+
}
|
|
527
|
+
}), group.api.onWillFocus(function () {
|
|
528
|
+
var _a;
|
|
529
|
+
(_a = _window.window) === null || _a === void 0 ? void 0 : _a.focus();
|
|
530
|
+
}));
|
|
531
|
+
var returnedGroup;
|
|
532
|
+
var value = {
|
|
533
|
+
window: _window,
|
|
534
|
+
popoutGroup: group,
|
|
535
|
+
referenceGroup: _this.getPanel(referenceGroup.id)
|
|
536
|
+
? referenceGroup.id
|
|
537
|
+
: undefined,
|
|
538
|
+
disposable: {
|
|
539
|
+
dispose: function () {
|
|
540
|
+
popoutWindowDisposable.dispose();
|
|
541
|
+
return returnedGroup;
|
|
542
|
+
},
|
|
543
|
+
},
|
|
544
|
+
};
|
|
545
|
+
popoutWindowDisposable.addDisposables(
|
|
546
|
+
/**
|
|
547
|
+
* ResizeObserver seems slow here, I do not know why but we don't need it
|
|
548
|
+
* since we can reply on the window resize event as we will occupy the full
|
|
549
|
+
* window dimensions
|
|
550
|
+
*/
|
|
551
|
+
(0, events_1.addDisposableWindowListener)(_window.window, 'resize', function () {
|
|
552
|
+
group.layout(window.innerWidth, window.innerHeight);
|
|
553
|
+
}), overlayRenderContainer, lifecycle_1.Disposable.from(function () {
|
|
554
|
+
if (_this.getPanel(referenceGroup.id)) {
|
|
555
|
+
_this.movingLock(function () {
|
|
556
|
+
return moveGroupWithoutDestroying({
|
|
557
|
+
from: group,
|
|
558
|
+
to: referenceGroup,
|
|
559
|
+
});
|
|
560
|
+
});
|
|
561
|
+
if (referenceGroup.api.isHidden) {
|
|
562
|
+
referenceGroup.api.setHidden(false);
|
|
563
|
+
}
|
|
564
|
+
if (_this.getPanel(group.id)) {
|
|
565
|
+
_this.doRemoveGroup(group, {
|
|
566
|
+
skipPopoutAssociated: true,
|
|
567
|
+
});
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
else {
|
|
571
|
+
if (_this.getPanel(group.id)) {
|
|
572
|
+
var removedGroup = _this.doRemoveGroup(group, {
|
|
573
|
+
skipDispose: true,
|
|
574
|
+
skipActive: true,
|
|
575
|
+
});
|
|
576
|
+
removedGroup.model.renderContainer =
|
|
577
|
+
_this.overlayRenderContainer;
|
|
578
|
+
removedGroup.model.location = { type: 'grid' };
|
|
579
|
+
returnedGroup = removedGroup;
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
}));
|
|
583
|
+
_this._popoutGroups.push(value);
|
|
584
|
+
_this.updateWatermark();
|
|
585
|
+
})
|
|
586
|
+
.catch(function (err) {
|
|
587
|
+
console.error(err);
|
|
588
|
+
});
|
|
408
589
|
};
|
|
409
590
|
DockviewComponent.prototype.addFloatingGroup = function (item, coord, options) {
|
|
410
591
|
var _this = this;
|
|
411
|
-
var _a, _b, _c, _d, _e, _f;
|
|
592
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
412
593
|
var group;
|
|
413
594
|
if (item instanceof dockviewPanel_1.DockviewPanel) {
|
|
414
595
|
group = this.createGroup();
|
|
415
|
-
this.
|
|
416
|
-
|
|
417
|
-
|
|
596
|
+
this._onDidAddGroup.fire(group);
|
|
597
|
+
this.movingLock(function () {
|
|
598
|
+
return _this.removePanel(item, {
|
|
599
|
+
removeEmptyGroup: true,
|
|
600
|
+
skipDispose: true,
|
|
601
|
+
skipSetActiveGroup: true,
|
|
602
|
+
});
|
|
418
603
|
});
|
|
419
|
-
group.model.openPanel(item);
|
|
604
|
+
group.model.openPanel(item, { skipSetGroupActive: true });
|
|
420
605
|
}
|
|
421
606
|
else {
|
|
422
607
|
group = item;
|
|
608
|
+
var popoutReferenceGroupId = (_a = this._popoutGroups.find(function (_) { return _.popoutGroup === group; })) === null || _a === void 0 ? void 0 : _a.referenceGroup;
|
|
609
|
+
var popoutReferenceGroup_1 = popoutReferenceGroupId
|
|
610
|
+
? this.getPanel(popoutReferenceGroupId)
|
|
611
|
+
: undefined;
|
|
423
612
|
var skip = typeof (options === null || options === void 0 ? void 0 : options.skipRemoveGroup) === 'boolean' &&
|
|
424
613
|
options.skipRemoveGroup;
|
|
425
614
|
if (!skip) {
|
|
426
|
-
|
|
615
|
+
if (popoutReferenceGroup_1) {
|
|
616
|
+
this.movingLock(function () {
|
|
617
|
+
return moveGroupWithoutDestroying({
|
|
618
|
+
from: item,
|
|
619
|
+
to: popoutReferenceGroup_1,
|
|
620
|
+
});
|
|
621
|
+
});
|
|
622
|
+
this.doRemoveGroup(item, {
|
|
623
|
+
skipPopoutReturn: true,
|
|
624
|
+
skipPopoutAssociated: true,
|
|
625
|
+
});
|
|
626
|
+
this.doRemoveGroup(popoutReferenceGroup_1, {
|
|
627
|
+
skipDispose: true,
|
|
628
|
+
});
|
|
629
|
+
group = popoutReferenceGroup_1;
|
|
630
|
+
}
|
|
631
|
+
else {
|
|
632
|
+
this.doRemoveGroup(item, {
|
|
633
|
+
skipDispose: true,
|
|
634
|
+
skipPopoutReturn: true,
|
|
635
|
+
skipPopoutAssociated: !!popoutReferenceGroup_1,
|
|
636
|
+
});
|
|
637
|
+
}
|
|
427
638
|
}
|
|
428
639
|
}
|
|
429
|
-
group.model.location = 'floating';
|
|
640
|
+
group.model.location = { type: 'floating' };
|
|
430
641
|
var overlayLeft = typeof (coord === null || coord === void 0 ? void 0 : coord.x) === 'number'
|
|
431
642
|
? Math.max(coord.x, 0)
|
|
432
643
|
: constants_1.DEFAULT_FLOATING_GROUP_POSITION.left;
|
|
@@ -436,16 +647,16 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
436
647
|
var overlay = new overlay_1.Overlay({
|
|
437
648
|
container: this.gridview.element,
|
|
438
649
|
content: group.element,
|
|
439
|
-
height: (
|
|
440
|
-
width: (
|
|
650
|
+
height: (_b = coord === null || coord === void 0 ? void 0 : coord.height) !== null && _b !== void 0 ? _b : 300,
|
|
651
|
+
width: (_c = coord === null || coord === void 0 ? void 0 : coord.width) !== null && _c !== void 0 ? _c : 300,
|
|
441
652
|
left: overlayLeft,
|
|
442
653
|
top: overlayTop,
|
|
443
654
|
minimumInViewportWidth: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
444
655
|
? undefined
|
|
445
|
-
: (
|
|
656
|
+
: (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumWidthWithinViewport) !== null && _e !== void 0 ? _e : constants_1.DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE,
|
|
446
657
|
minimumInViewportHeight: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
447
658
|
? undefined
|
|
448
|
-
: (
|
|
659
|
+
: (_g = (_f = this.options.floatingGroupBounds) === null || _f === void 0 ? void 0 : _f.minimumHeightWithinViewport) !== null && _g !== void 0 ? _g : constants_1.DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE,
|
|
449
660
|
});
|
|
450
661
|
var el = group.element.querySelector('.void-container');
|
|
451
662
|
if (!el) {
|
|
@@ -476,12 +687,15 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
476
687
|
}), {
|
|
477
688
|
dispose: function () {
|
|
478
689
|
disposable.dispose();
|
|
479
|
-
group.model.location = 'grid';
|
|
690
|
+
group.model.location = { type: 'grid' };
|
|
480
691
|
(0, array_1.remove)(_this._floatingGroups, floatingGroupPanel);
|
|
481
692
|
_this.updateWatermark();
|
|
482
693
|
},
|
|
483
694
|
});
|
|
484
695
|
this._floatingGroups.push(floatingGroupPanel);
|
|
696
|
+
if (!(options === null || options === void 0 ? void 0 : options.skipActiveGroup)) {
|
|
697
|
+
this.doSetGroupAndPanelActive(group);
|
|
698
|
+
}
|
|
485
699
|
this.updateWatermark();
|
|
486
700
|
};
|
|
487
701
|
DockviewComponent.prototype.orthogonalize = function (position) {
|
|
@@ -595,8 +809,8 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
595
809
|
return this.panels.find(function (panel) { return panel.id === id; });
|
|
596
810
|
};
|
|
597
811
|
DockviewComponent.prototype.setActivePanel = function (panel) {
|
|
598
|
-
this.doSetGroupActive(panel.group);
|
|
599
812
|
panel.group.model.openPanel(panel);
|
|
813
|
+
this.doSetGroupAndPanelActive(panel.group);
|
|
600
814
|
};
|
|
601
815
|
DockviewComponent.prototype.moveToNext = function (options) {
|
|
602
816
|
var _a;
|
|
@@ -659,7 +873,8 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
659
873
|
});
|
|
660
874
|
var popoutGroups = this._popoutGroups.map(function (group) {
|
|
661
875
|
return {
|
|
662
|
-
data: group.
|
|
876
|
+
data: group.popoutGroup.toJSON(),
|
|
877
|
+
gridReferenceGroup: group.referenceGroup,
|
|
663
878
|
position: group.window.dimensions(),
|
|
664
879
|
};
|
|
665
880
|
});
|
|
@@ -679,7 +894,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
679
894
|
DockviewComponent.prototype.fromJSON = function (data) {
|
|
680
895
|
var e_5, _a, e_6, _b, e_7, _c, e_8, _d, e_9, _e, e_10, _f, e_11, _g;
|
|
681
896
|
var _this = this;
|
|
682
|
-
var _h, _j;
|
|
897
|
+
var _h, _j, _k;
|
|
683
898
|
this.clear();
|
|
684
899
|
if (typeof data !== 'object' || data === null) {
|
|
685
900
|
throw new Error('serialized layout must be a non-null object');
|
|
@@ -729,7 +944,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
729
944
|
var isActive = typeof activeView === 'string' &&
|
|
730
945
|
activeView === panel.id;
|
|
731
946
|
group.model.openPanel(panel, {
|
|
732
|
-
|
|
947
|
+
skipSetActive: !isActive,
|
|
733
948
|
skipSetGroupActive: true,
|
|
734
949
|
});
|
|
735
950
|
}
|
|
@@ -771,11 +986,16 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
771
986
|
try {
|
|
772
987
|
for (var serializedPopoutGroups_1 = __values(serializedPopoutGroups), serializedPopoutGroups_1_1 = serializedPopoutGroups_1.next(); !serializedPopoutGroups_1_1.done; serializedPopoutGroups_1_1 = serializedPopoutGroups_1.next()) {
|
|
773
988
|
var serializedPopoutGroup = serializedPopoutGroups_1_1.value;
|
|
774
|
-
var data_2 = serializedPopoutGroup.data, position = serializedPopoutGroup.position;
|
|
989
|
+
var data_2 = serializedPopoutGroup.data, position = serializedPopoutGroup.position, gridReferenceGroup = serializedPopoutGroup.gridReferenceGroup;
|
|
775
990
|
var group = createGroupFromSerializedState_1(data_2);
|
|
776
|
-
this.addPopoutGroup(
|
|
991
|
+
this.addPopoutGroup((_k = (gridReferenceGroup
|
|
992
|
+
? this.getPanel(gridReferenceGroup)
|
|
993
|
+
: undefined)) !== null && _k !== void 0 ? _k : group, {
|
|
777
994
|
skipRemoveGroup: true,
|
|
778
995
|
position: position !== null && position !== void 0 ? position : undefined,
|
|
996
|
+
overridePopoutGroup: gridReferenceGroup
|
|
997
|
+
? group
|
|
998
|
+
: undefined,
|
|
779
999
|
});
|
|
780
1000
|
}
|
|
781
1001
|
}
|
|
@@ -787,15 +1007,15 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
787
1007
|
finally { if (e_6) throw e_6.error; }
|
|
788
1008
|
}
|
|
789
1009
|
try {
|
|
790
|
-
for (var
|
|
791
|
-
var floatingGroup =
|
|
1010
|
+
for (var _l = __values(this._floatingGroups), _m = _l.next(); !_m.done; _m = _l.next()) {
|
|
1011
|
+
var floatingGroup = _m.value;
|
|
792
1012
|
floatingGroup.overlay.setBounds();
|
|
793
1013
|
}
|
|
794
1014
|
}
|
|
795
1015
|
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
796
1016
|
finally {
|
|
797
1017
|
try {
|
|
798
|
-
if (
|
|
1018
|
+
if (_m && !_m.done && (_c = _l.return)) _c.call(_l);
|
|
799
1019
|
}
|
|
800
1020
|
finally { if (e_7) throw e_7.error; }
|
|
801
1021
|
}
|
|
@@ -811,11 +1031,11 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
811
1031
|
/**
|
|
812
1032
|
* Takes all the successfully created groups and remove all of their panels.
|
|
813
1033
|
*/
|
|
814
|
-
for (var
|
|
815
|
-
var group =
|
|
1034
|
+
for (var _o = __values(this.groups), _p = _o.next(); !_p.done; _p = _o.next()) {
|
|
1035
|
+
var group = _p.value;
|
|
816
1036
|
try {
|
|
817
|
-
for (var
|
|
818
|
-
var panel =
|
|
1037
|
+
for (var _q = (e_9 = void 0, __values(group.panels)), _r = _q.next(); !_r.done; _r = _q.next()) {
|
|
1038
|
+
var panel = _r.value;
|
|
819
1039
|
this.removePanel(panel, {
|
|
820
1040
|
removeEmptyGroup: false,
|
|
821
1041
|
skipDispose: false,
|
|
@@ -825,7 +1045,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
825
1045
|
catch (e_9_1) { e_9 = { error: e_9_1 }; }
|
|
826
1046
|
finally {
|
|
827
1047
|
try {
|
|
828
|
-
if (
|
|
1048
|
+
if (_r && !_r.done && (_e = _q.return)) _e.call(_q);
|
|
829
1049
|
}
|
|
830
1050
|
finally { if (e_9) throw e_9.error; }
|
|
831
1051
|
}
|
|
@@ -834,7 +1054,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
834
1054
|
catch (e_8_1) { e_8 = { error: e_8_1 }; }
|
|
835
1055
|
finally {
|
|
836
1056
|
try {
|
|
837
|
-
if (
|
|
1057
|
+
if (_p && !_p.done && (_d = _o.return)) _d.call(_o);
|
|
838
1058
|
}
|
|
839
1059
|
finally { if (e_8) throw e_8.error; }
|
|
840
1060
|
}
|
|
@@ -843,8 +1063,8 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
843
1063
|
* To remove a group we cannot call this.removeGroup(...) since this makes assumptions about
|
|
844
1064
|
* the underlying HTMLElement existing in the Gridview.
|
|
845
1065
|
*/
|
|
846
|
-
for (var
|
|
847
|
-
var group =
|
|
1066
|
+
for (var _s = __values(this.groups), _t = _s.next(); !_t.done; _t = _s.next()) {
|
|
1067
|
+
var group = _t.value;
|
|
848
1068
|
group.dispose();
|
|
849
1069
|
this._groups.delete(group.id);
|
|
850
1070
|
this._onDidRemoveGroup.fire(group);
|
|
@@ -853,21 +1073,21 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
853
1073
|
catch (e_10_1) { e_10 = { error: e_10_1 }; }
|
|
854
1074
|
finally {
|
|
855
1075
|
try {
|
|
856
|
-
if (
|
|
1076
|
+
if (_t && !_t.done && (_f = _s.return)) _f.call(_s);
|
|
857
1077
|
}
|
|
858
1078
|
finally { if (e_10) throw e_10.error; }
|
|
859
1079
|
}
|
|
860
1080
|
try {
|
|
861
1081
|
// iterate over a reassigned array since original array will be modified
|
|
862
|
-
for (var
|
|
863
|
-
var floatingGroup =
|
|
1082
|
+
for (var _u = __values(__spreadArray([], __read(this._floatingGroups), false)), _v = _u.next(); !_v.done; _v = _u.next()) {
|
|
1083
|
+
var floatingGroup = _v.value;
|
|
864
1084
|
floatingGroup.dispose();
|
|
865
1085
|
}
|
|
866
1086
|
}
|
|
867
1087
|
catch (e_11_1) { e_11 = { error: e_11_1 }; }
|
|
868
1088
|
finally {
|
|
869
1089
|
try {
|
|
870
|
-
if (
|
|
1090
|
+
if (_v && !_v.done && (_g = _u.return)) _g.call(_u);
|
|
871
1091
|
}
|
|
872
1092
|
finally { if (e_11) throw e_11.error; }
|
|
873
1093
|
}
|
|
@@ -880,6 +1100,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
880
1100
|
*/
|
|
881
1101
|
throw err;
|
|
882
1102
|
}
|
|
1103
|
+
this.updateWatermark();
|
|
883
1104
|
this._onDidLayoutFromJSON.fire();
|
|
884
1105
|
};
|
|
885
1106
|
DockviewComponent.prototype.clear = function () {
|
|
@@ -904,9 +1125,6 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
904
1125
|
if (hasActiveGroup) {
|
|
905
1126
|
this.doSetGroupAndPanelActive(undefined);
|
|
906
1127
|
}
|
|
907
|
-
if (hasActivePanel) {
|
|
908
|
-
this._onDidActivePanelChange.fire(undefined);
|
|
909
|
-
}
|
|
910
1128
|
this.gridview.clear();
|
|
911
1129
|
};
|
|
912
1130
|
DockviewComponent.prototype.closeAllGroups = function () {
|
|
@@ -958,6 +1176,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
958
1176
|
var group = this.orthogonalize((0, droptarget_1.directionToPosition)(options.position.direction));
|
|
959
1177
|
var panel_1 = this.createPanel(options, group);
|
|
960
1178
|
group.model.openPanel(panel_1);
|
|
1179
|
+
this.doSetGroupAndPanelActive(group);
|
|
961
1180
|
return panel_1;
|
|
962
1181
|
}
|
|
963
1182
|
}
|
|
@@ -969,6 +1188,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
969
1188
|
var target = (0, baseComponentGridview_1.toTarget)(((_b = options.position) === null || _b === void 0 ? void 0 : _b.direction) || 'within');
|
|
970
1189
|
if (options.floating) {
|
|
971
1190
|
var group = this.createGroup();
|
|
1191
|
+
this._onDidAddGroup.fire(group);
|
|
972
1192
|
var o = typeof options.floating === 'object' &&
|
|
973
1193
|
options.floating !== null
|
|
974
1194
|
? options.floating
|
|
@@ -976,16 +1196,16 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
976
1196
|
this.addFloatingGroup(group, o, {
|
|
977
1197
|
inDragMode: false,
|
|
978
1198
|
skipRemoveGroup: true,
|
|
1199
|
+
skipActiveGroup: true,
|
|
979
1200
|
});
|
|
980
|
-
this._onDidAddGroup.fire(group);
|
|
981
1201
|
panel = this.createPanel(options, group);
|
|
982
1202
|
group.model.openPanel(panel);
|
|
983
|
-
this.doSetGroupAndPanelActive(group);
|
|
984
1203
|
}
|
|
985
|
-
else if (referenceGroup.api.location === 'floating' ||
|
|
1204
|
+
else if (referenceGroup.api.location.type === 'floating' ||
|
|
986
1205
|
target === 'center') {
|
|
987
1206
|
panel = this.createPanel(options, referenceGroup);
|
|
988
1207
|
referenceGroup.model.openPanel(panel);
|
|
1208
|
+
this.doSetGroupAndPanelActive(referenceGroup);
|
|
989
1209
|
}
|
|
990
1210
|
else {
|
|
991
1211
|
var location_1 = (0, gridview_1.getGridLocation)(referenceGroup.element);
|
|
@@ -993,10 +1213,12 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
993
1213
|
var group = this.createGroupAtLocation(relativeLocation);
|
|
994
1214
|
panel = this.createPanel(options, group);
|
|
995
1215
|
group.model.openPanel(panel);
|
|
1216
|
+
this.doSetGroupAndPanelActive(group);
|
|
996
1217
|
}
|
|
997
1218
|
}
|
|
998
1219
|
else if (options.floating) {
|
|
999
1220
|
var group = this.createGroup();
|
|
1221
|
+
this._onDidAddGroup.fire(group);
|
|
1000
1222
|
var o = typeof options.floating === 'object' &&
|
|
1001
1223
|
options.floating !== null
|
|
1002
1224
|
? options.floating
|
|
@@ -1004,16 +1226,16 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1004
1226
|
this.addFloatingGroup(group, o, {
|
|
1005
1227
|
inDragMode: false,
|
|
1006
1228
|
skipRemoveGroup: true,
|
|
1229
|
+
skipActiveGroup: true,
|
|
1007
1230
|
});
|
|
1008
|
-
this._onDidAddGroup.fire(group);
|
|
1009
1231
|
panel = this.createPanel(options, group);
|
|
1010
1232
|
group.model.openPanel(panel);
|
|
1011
|
-
this.doSetGroupAndPanelActive(group);
|
|
1012
1233
|
}
|
|
1013
1234
|
else {
|
|
1014
1235
|
var group = this.createGroupAtLocation();
|
|
1015
1236
|
panel = this.createPanel(options, group);
|
|
1016
1237
|
group.model.openPanel(panel);
|
|
1238
|
+
this.doSetGroupAndPanelActive(group);
|
|
1017
1239
|
}
|
|
1018
1240
|
return panel;
|
|
1019
1241
|
};
|
|
@@ -1026,13 +1248,15 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1026
1248
|
if (!group) {
|
|
1027
1249
|
throw new Error("cannot remove panel ".concat(panel.id, ". it's missing a group."));
|
|
1028
1250
|
}
|
|
1029
|
-
group.model.removePanel(panel
|
|
1251
|
+
group.model.removePanel(panel, {
|
|
1252
|
+
skipSetActiveGroup: options.skipSetActiveGroup,
|
|
1253
|
+
});
|
|
1030
1254
|
if (!options.skipDispose) {
|
|
1031
|
-
|
|
1255
|
+
panel.group.model.renderContainer.detatch(panel);
|
|
1032
1256
|
panel.dispose();
|
|
1033
1257
|
}
|
|
1034
1258
|
if (group.size === 0 && options.removeEmptyGroup) {
|
|
1035
|
-
this.removeGroup(group);
|
|
1259
|
+
this.removeGroup(group, { skipActive: options.skipSetActiveGroup });
|
|
1036
1260
|
}
|
|
1037
1261
|
};
|
|
1038
1262
|
DockviewComponent.prototype.createWatermarkComponent = function () {
|
|
@@ -1045,7 +1269,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1045
1269
|
};
|
|
1046
1270
|
DockviewComponent.prototype.updateWatermark = function () {
|
|
1047
1271
|
var _a, _b;
|
|
1048
|
-
if (this.groups.filter(function (x) { return x.api.location === 'grid'; }).length === 0) {
|
|
1272
|
+
if (this.groups.filter(function (x) { return x.api.location.type === 'grid' && !x.api.isHidden; }).length === 0) {
|
|
1049
1273
|
if (!this.watermark) {
|
|
1050
1274
|
this.watermark = this.createWatermarkComponent();
|
|
1051
1275
|
this.watermark.init({
|
|
@@ -1091,47 +1315,53 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1091
1315
|
}
|
|
1092
1316
|
else {
|
|
1093
1317
|
var group_1 = this.orthogonalize((0, droptarget_1.directionToPosition)(options.direction));
|
|
1318
|
+
if (!options.skipSetActive) {
|
|
1319
|
+
this.doSetGroupAndPanelActive(group_1);
|
|
1320
|
+
}
|
|
1094
1321
|
return group_1;
|
|
1095
1322
|
}
|
|
1096
1323
|
var target = (0, baseComponentGridview_1.toTarget)(options.direction || 'within');
|
|
1097
1324
|
var location_2 = (0, gridview_1.getGridLocation)(referenceGroup.element);
|
|
1098
1325
|
var relativeLocation = (0, gridview_1.getRelativeLocation)(this.gridview.orientation, location_2, target);
|
|
1099
1326
|
this.doAddGroup(group, relativeLocation);
|
|
1327
|
+
if (!options.skipSetActive) {
|
|
1328
|
+
this.doSetGroupAndPanelActive(group);
|
|
1329
|
+
}
|
|
1100
1330
|
return group;
|
|
1101
1331
|
}
|
|
1102
1332
|
else {
|
|
1103
1333
|
this.doAddGroup(group);
|
|
1334
|
+
this.doSetGroupAndPanelActive(group);
|
|
1104
1335
|
return group;
|
|
1105
1336
|
}
|
|
1106
1337
|
};
|
|
1107
1338
|
DockviewComponent.prototype.removeGroup = function (group, options) {
|
|
1339
|
+
this.doRemoveGroup(group, options);
|
|
1340
|
+
};
|
|
1341
|
+
DockviewComponent.prototype.doRemoveGroup = function (group, options) {
|
|
1108
1342
|
var e_15, _a;
|
|
1109
1343
|
var _b;
|
|
1110
1344
|
var panels = __spreadArray([], __read(group.panels), false); // reassign since group panels will mutate
|
|
1111
|
-
|
|
1112
|
-
for (var panels_1 = __values(panels), panels_1_1 = panels_1.next(); !panels_1_1.done; panels_1_1 = panels_1.next()) {
|
|
1113
|
-
var panel = panels_1_1.value;
|
|
1114
|
-
this.removePanel(panel, {
|
|
1115
|
-
removeEmptyGroup: false,
|
|
1116
|
-
skipDispose: (_b = options === null || options === void 0 ? void 0 : options.skipDispose) !== null && _b !== void 0 ? _b : false,
|
|
1117
|
-
});
|
|
1118
|
-
}
|
|
1119
|
-
}
|
|
1120
|
-
catch (e_15_1) { e_15 = { error: e_15_1 }; }
|
|
1121
|
-
finally {
|
|
1345
|
+
if (!(options === null || options === void 0 ? void 0 : options.skipDispose)) {
|
|
1122
1346
|
try {
|
|
1123
|
-
|
|
1347
|
+
for (var panels_1 = __values(panels), panels_1_1 = panels_1.next(); !panels_1_1.done; panels_1_1 = panels_1.next()) {
|
|
1348
|
+
var panel = panels_1_1.value;
|
|
1349
|
+
this.removePanel(panel, {
|
|
1350
|
+
removeEmptyGroup: false,
|
|
1351
|
+
skipDispose: (_b = options === null || options === void 0 ? void 0 : options.skipDispose) !== null && _b !== void 0 ? _b : false,
|
|
1352
|
+
});
|
|
1353
|
+
}
|
|
1354
|
+
}
|
|
1355
|
+
catch (e_15_1) { e_15 = { error: e_15_1 }; }
|
|
1356
|
+
finally {
|
|
1357
|
+
try {
|
|
1358
|
+
if (panels_1_1 && !panels_1_1.done && (_a = panels_1.return)) _a.call(panels_1);
|
|
1359
|
+
}
|
|
1360
|
+
finally { if (e_15) throw e_15.error; }
|
|
1124
1361
|
}
|
|
1125
|
-
finally { if (e_15) throw e_15.error; }
|
|
1126
1362
|
}
|
|
1127
1363
|
var activePanel = this.activePanel;
|
|
1128
|
-
|
|
1129
|
-
if (this.activePanel !== activePanel) {
|
|
1130
|
-
this._onDidActivePanelChange.fire(this.activePanel);
|
|
1131
|
-
}
|
|
1132
|
-
};
|
|
1133
|
-
DockviewComponent.prototype.doRemoveGroup = function (group, options) {
|
|
1134
|
-
if (group.api.location === 'floating') {
|
|
1364
|
+
if (group.api.location.type === 'floating') {
|
|
1135
1365
|
var floatingGroup = this._floatingGroups.find(function (_) { return _.group === group; });
|
|
1136
1366
|
if (floatingGroup) {
|
|
1137
1367
|
if (!(options === null || options === void 0 ? void 0 : options.skipDispose)) {
|
|
@@ -1143,152 +1373,275 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1143
1373
|
floatingGroup.dispose();
|
|
1144
1374
|
if (!(options === null || options === void 0 ? void 0 : options.skipActive) && this._activeGroup === group) {
|
|
1145
1375
|
var groups = Array.from(this._groups.values());
|
|
1146
|
-
this.
|
|
1376
|
+
this.doSetGroupAndPanelActive(groups.length > 0 ? groups[0].value : undefined);
|
|
1147
1377
|
}
|
|
1148
1378
|
return floatingGroup.group;
|
|
1149
1379
|
}
|
|
1150
1380
|
throw new Error('failed to find floating group');
|
|
1151
1381
|
}
|
|
1152
|
-
if (group.api.location === 'popout') {
|
|
1153
|
-
var selectedGroup = this._popoutGroups.find(function (_) { return _.
|
|
1382
|
+
if (group.api.location.type === 'popout') {
|
|
1383
|
+
var selectedGroup = this._popoutGroups.find(function (_) { return _.popoutGroup === group; });
|
|
1154
1384
|
if (selectedGroup) {
|
|
1155
1385
|
if (!(options === null || options === void 0 ? void 0 : options.skipDispose)) {
|
|
1156
|
-
|
|
1386
|
+
if (!(options === null || options === void 0 ? void 0 : options.skipPopoutAssociated)) {
|
|
1387
|
+
var refGroup = selectedGroup.referenceGroup
|
|
1388
|
+
? this.getPanel(selectedGroup.referenceGroup)
|
|
1389
|
+
: undefined;
|
|
1390
|
+
if (refGroup) {
|
|
1391
|
+
this.removeGroup(refGroup);
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
selectedGroup.popoutGroup.dispose();
|
|
1157
1395
|
this._groups.delete(group.id);
|
|
1158
1396
|
this._onDidRemoveGroup.fire(group);
|
|
1159
1397
|
}
|
|
1160
|
-
selectedGroup.dispose();
|
|
1398
|
+
var removedGroup = selectedGroup.disposable.dispose();
|
|
1399
|
+
if (!(options === null || options === void 0 ? void 0 : options.skipPopoutReturn) && removedGroup) {
|
|
1400
|
+
this.doAddGroup(removedGroup, [0]);
|
|
1401
|
+
this.doSetGroupAndPanelActive(removedGroup);
|
|
1402
|
+
}
|
|
1161
1403
|
if (!(options === null || options === void 0 ? void 0 : options.skipActive) && this._activeGroup === group) {
|
|
1162
1404
|
var groups = Array.from(this._groups.values());
|
|
1163
|
-
this.
|
|
1405
|
+
this.doSetGroupAndPanelActive(groups.length > 0 ? groups[0].value : undefined);
|
|
1164
1406
|
}
|
|
1165
|
-
|
|
1407
|
+
this.updateWatermark();
|
|
1408
|
+
return selectedGroup.popoutGroup;
|
|
1166
1409
|
}
|
|
1167
1410
|
throw new Error('failed to find popout group');
|
|
1168
1411
|
}
|
|
1169
|
-
|
|
1412
|
+
var re = _super.prototype.doRemoveGroup.call(this, group, options);
|
|
1413
|
+
if (!(options === null || options === void 0 ? void 0 : options.skipActive)) {
|
|
1414
|
+
if (this.activePanel !== activePanel) {
|
|
1415
|
+
this._onDidActivePanelChange.fire(this.activePanel);
|
|
1416
|
+
}
|
|
1417
|
+
}
|
|
1418
|
+
return re;
|
|
1170
1419
|
};
|
|
1171
|
-
DockviewComponent.prototype.
|
|
1172
|
-
var
|
|
1420
|
+
DockviewComponent.prototype.movingLock = function (func) {
|
|
1421
|
+
var isMoving = this._moving;
|
|
1422
|
+
try {
|
|
1423
|
+
this._moving = true;
|
|
1424
|
+
return func();
|
|
1425
|
+
}
|
|
1426
|
+
finally {
|
|
1427
|
+
this._moving = isMoving;
|
|
1428
|
+
}
|
|
1429
|
+
};
|
|
1430
|
+
DockviewComponent.prototype.moveGroupOrPanel = function (options) {
|
|
1431
|
+
var _this = this;
|
|
1432
|
+
var _a;
|
|
1433
|
+
var destinationGroup = options.to.group;
|
|
1434
|
+
var sourceGroupId = options.from.groupId;
|
|
1435
|
+
var sourceItemId = options.from.panelId;
|
|
1436
|
+
var destinationTarget = options.to.position;
|
|
1437
|
+
var destinationIndex = options.to.index;
|
|
1173
1438
|
var sourceGroup = sourceGroupId
|
|
1174
1439
|
? (_a = this._groups.get(sourceGroupId)) === null || _a === void 0 ? void 0 : _a.value
|
|
1175
1440
|
: undefined;
|
|
1441
|
+
if (!sourceGroup) {
|
|
1442
|
+
throw new Error("Failed to find group id ".concat(sourceGroupId));
|
|
1443
|
+
}
|
|
1176
1444
|
if (sourceItemId === undefined) {
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1445
|
+
/**
|
|
1446
|
+
* Moving an entire group into another group
|
|
1447
|
+
*/
|
|
1448
|
+
this.moveGroup({
|
|
1449
|
+
from: { group: sourceGroup },
|
|
1450
|
+
to: {
|
|
1451
|
+
group: destinationGroup,
|
|
1452
|
+
position: destinationTarget,
|
|
1453
|
+
},
|
|
1454
|
+
});
|
|
1180
1455
|
return;
|
|
1181
1456
|
}
|
|
1182
1457
|
if (!destinationTarget || destinationTarget === 'center') {
|
|
1183
|
-
|
|
1184
|
-
|
|
1458
|
+
/**
|
|
1459
|
+
* Dropping a panel within another group
|
|
1460
|
+
*/
|
|
1461
|
+
var removedPanel_1 = this.movingLock(function () {
|
|
1462
|
+
return sourceGroup.model.removePanel(sourceItemId, {
|
|
1463
|
+
skipSetActive: false,
|
|
1464
|
+
skipSetActiveGroup: true,
|
|
1465
|
+
});
|
|
1466
|
+
});
|
|
1467
|
+
if (!removedPanel_1) {
|
|
1185
1468
|
throw new Error("No panel with id ".concat(sourceItemId));
|
|
1186
1469
|
}
|
|
1187
|
-
if (
|
|
1188
|
-
|
|
1470
|
+
if (sourceGroup.model.size === 0) {
|
|
1471
|
+
// remove the group and do not set a new group as active
|
|
1472
|
+
this.doRemoveGroup(sourceGroup, { skipActive: true });
|
|
1189
1473
|
}
|
|
1190
|
-
|
|
1191
|
-
|
|
1474
|
+
this.movingLock(function () {
|
|
1475
|
+
return destinationGroup.model.openPanel(removedPanel_1, {
|
|
1476
|
+
index: destinationIndex,
|
|
1477
|
+
skipSetGroupActive: true,
|
|
1478
|
+
});
|
|
1479
|
+
});
|
|
1480
|
+
this.doSetGroupAndPanelActive(destinationGroup);
|
|
1481
|
+
this._onDidMovePanel.fire({
|
|
1482
|
+
panel: removedPanel_1,
|
|
1192
1483
|
});
|
|
1193
1484
|
}
|
|
1194
1485
|
else {
|
|
1486
|
+
/**
|
|
1487
|
+
* Dropping a panel to the extremities of a group which will place that panel
|
|
1488
|
+
* into an adjacent group
|
|
1489
|
+
*/
|
|
1195
1490
|
var referenceLocation = (0, gridview_1.getGridLocation)(destinationGroup.element);
|
|
1196
1491
|
var targetLocation = (0, gridview_1.getRelativeLocation)(this.gridview.orientation, referenceLocation, destinationTarget);
|
|
1197
|
-
if (sourceGroup
|
|
1198
|
-
|
|
1199
|
-
|
|
1492
|
+
if (sourceGroup.size < 2) {
|
|
1493
|
+
/**
|
|
1494
|
+
* If we are moving from a group which only has one panel left we will consider
|
|
1495
|
+
* moving the group itself rather than moving the panel into a newly created group
|
|
1496
|
+
*/
|
|
1497
|
+
var _b = __read((0, array_1.tail)(targetLocation), 2), targetParentLocation = _b[0], to = _b[1];
|
|
1498
|
+
if (sourceGroup.api.location.type === 'grid') {
|
|
1200
1499
|
var sourceLocation = (0, gridview_1.getGridLocation)(sourceGroup.element);
|
|
1201
|
-
var
|
|
1500
|
+
var _c = __read((0, array_1.tail)(sourceLocation), 2), sourceParentLocation = _c[0], from = _c[1];
|
|
1202
1501
|
if ((0, array_1.sequenceEquals)(sourceParentLocation, targetParentLocation)) {
|
|
1203
1502
|
// special case when 'swapping' two views within same grid location
|
|
1204
1503
|
// if a group has one tab - we are essentially moving the 'group'
|
|
1205
1504
|
// which is equivalent to swapping two views in this case
|
|
1206
1505
|
this.gridview.moveView(sourceParentLocation, from, to);
|
|
1506
|
+
return;
|
|
1207
1507
|
}
|
|
1208
1508
|
}
|
|
1209
1509
|
// source group will become empty so delete the group
|
|
1210
|
-
var
|
|
1211
|
-
|
|
1212
|
-
|
|
1510
|
+
var targetGroup_1 = this.movingLock(function () {
|
|
1511
|
+
return _this.doRemoveGroup(sourceGroup, {
|
|
1512
|
+
skipActive: true,
|
|
1513
|
+
skipDispose: true,
|
|
1514
|
+
});
|
|
1213
1515
|
});
|
|
1214
1516
|
// after deleting the group we need to re-evaulate the ref location
|
|
1215
1517
|
var updatedReferenceLocation = (0, gridview_1.getGridLocation)(destinationGroup.element);
|
|
1216
1518
|
var location_3 = (0, gridview_1.getRelativeLocation)(this.gridview.orientation, updatedReferenceLocation, destinationTarget);
|
|
1217
|
-
this.doAddGroup(
|
|
1519
|
+
this.movingLock(function () { return _this.doAddGroup(targetGroup_1, location_3); });
|
|
1520
|
+
this.doSetGroupAndPanelActive(targetGroup_1);
|
|
1218
1521
|
}
|
|
1219
1522
|
else {
|
|
1220
|
-
|
|
1221
|
-
|
|
1523
|
+
/**
|
|
1524
|
+
* The group we are removing from has many panels, we need to remove the panels we are moving,
|
|
1525
|
+
* create a new group, add the panels to that new group and add the new group in an appropiate position
|
|
1526
|
+
*/
|
|
1527
|
+
var removedPanel_2 = this.movingLock(function () {
|
|
1528
|
+
return sourceGroup.model.removePanel(sourceItemId, {
|
|
1529
|
+
skipSetActive: false,
|
|
1530
|
+
skipSetActiveGroup: true,
|
|
1531
|
+
});
|
|
1532
|
+
});
|
|
1533
|
+
if (!removedPanel_2) {
|
|
1222
1534
|
throw new Error("No panel with id ".concat(sourceItemId));
|
|
1223
1535
|
}
|
|
1224
1536
|
var dropLocation = (0, gridview_1.getRelativeLocation)(this.gridview.orientation, referenceLocation, destinationTarget);
|
|
1225
|
-
var
|
|
1226
|
-
|
|
1537
|
+
var group_2 = this.createGroupAtLocation(dropLocation);
|
|
1538
|
+
this.movingLock(function () {
|
|
1539
|
+
return group_2.model.openPanel(removedPanel_2, {
|
|
1540
|
+
skipSetGroupActive: true,
|
|
1541
|
+
});
|
|
1542
|
+
});
|
|
1543
|
+
this.doSetGroupAndPanelActive(group_2);
|
|
1227
1544
|
}
|
|
1228
1545
|
}
|
|
1229
1546
|
};
|
|
1230
|
-
DockviewComponent.prototype.moveGroup = function (
|
|
1231
|
-
var
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1547
|
+
DockviewComponent.prototype.moveGroup = function (options) {
|
|
1548
|
+
var _this = this;
|
|
1549
|
+
var from = options.from.group;
|
|
1550
|
+
var to = options.to.group;
|
|
1551
|
+
var target = options.to.position;
|
|
1552
|
+
if (target === 'center') {
|
|
1553
|
+
var activePanel_1 = from.activePanel;
|
|
1554
|
+
var panels_2 = this.movingLock(function () {
|
|
1555
|
+
return __spreadArray([], __read(from.panels), false).map(function (p) {
|
|
1556
|
+
return from.model.removePanel(p.id, {
|
|
1557
|
+
skipSetActive: true,
|
|
1558
|
+
});
|
|
1237
1559
|
});
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
}
|
|
1560
|
+
});
|
|
1561
|
+
if ((from === null || from === void 0 ? void 0 : from.model.size) === 0) {
|
|
1562
|
+
this.doRemoveGroup(from, { skipActive: true });
|
|
1563
|
+
}
|
|
1564
|
+
this.movingLock(function () {
|
|
1565
|
+
var e_16, _a;
|
|
1241
1566
|
try {
|
|
1242
|
-
for (var
|
|
1243
|
-
var panel =
|
|
1244
|
-
|
|
1245
|
-
|
|
1567
|
+
for (var panels_3 = __values(panels_2), panels_3_1 = panels_3.next(); !panels_3_1.done; panels_3_1 = panels_3.next()) {
|
|
1568
|
+
var panel = panels_3_1.value;
|
|
1569
|
+
to.model.openPanel(panel, {
|
|
1570
|
+
skipSetActive: panel !== activePanel_1,
|
|
1571
|
+
skipSetGroupActive: true,
|
|
1246
1572
|
});
|
|
1247
1573
|
}
|
|
1248
1574
|
}
|
|
1249
1575
|
catch (e_16_1) { e_16 = { error: e_16_1 }; }
|
|
1250
1576
|
finally {
|
|
1251
1577
|
try {
|
|
1252
|
-
if (
|
|
1578
|
+
if (panels_3_1 && !panels_3_1.done && (_a = panels_3.return)) _a.call(panels_3);
|
|
1253
1579
|
}
|
|
1254
1580
|
finally { if (e_16) throw e_16.error; }
|
|
1255
1581
|
}
|
|
1256
|
-
}
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1582
|
+
});
|
|
1583
|
+
this.doSetGroupAndPanelActive(to);
|
|
1584
|
+
panels_2.forEach(function (panel) {
|
|
1585
|
+
_this._onDidMovePanel.fire({ panel: panel });
|
|
1586
|
+
});
|
|
1587
|
+
}
|
|
1588
|
+
else {
|
|
1589
|
+
switch (from.api.location.type) {
|
|
1590
|
+
case 'grid':
|
|
1591
|
+
this.gridview.removeView((0, gridview_1.getGridLocation)(from.element));
|
|
1592
|
+
break;
|
|
1593
|
+
case 'floating': {
|
|
1594
|
+
var selectedFloatingGroup = this._floatingGroups.find(function (x) { return x.group === from; });
|
|
1595
|
+
if (!selectedFloatingGroup) {
|
|
1596
|
+
throw new Error('failed to find floating group');
|
|
1269
1597
|
}
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1598
|
+
selectedFloatingGroup.dispose();
|
|
1599
|
+
break;
|
|
1600
|
+
}
|
|
1601
|
+
case 'popout': {
|
|
1602
|
+
var selectedPopoutGroup = this._popoutGroups.find(function (x) { return x.popoutGroup === from; });
|
|
1603
|
+
if (!selectedPopoutGroup) {
|
|
1604
|
+
throw new Error('failed to find popout group');
|
|
1276
1605
|
}
|
|
1606
|
+
selectedPopoutGroup.disposable.dispose();
|
|
1277
1607
|
}
|
|
1278
|
-
var referenceLocation = (0, gridview_1.getGridLocation)(referenceGroup.element);
|
|
1279
|
-
var dropLocation = (0, gridview_1.getRelativeLocation)(this.gridview.orientation, referenceLocation, target);
|
|
1280
|
-
this.gridview.addView(sourceGroup, splitview_1.Sizing.Distribute, dropLocation);
|
|
1281
1608
|
}
|
|
1609
|
+
var referenceLocation = (0, gridview_1.getGridLocation)(to.element);
|
|
1610
|
+
var dropLocation = (0, gridview_1.getRelativeLocation)(this.gridview.orientation, referenceLocation, target);
|
|
1611
|
+
this.gridview.addView(from, splitview_1.Sizing.Distribute, dropLocation);
|
|
1612
|
+
from.panels.forEach(function (panel) {
|
|
1613
|
+
_this._onDidMovePanel.fire({ panel: panel });
|
|
1614
|
+
});
|
|
1282
1615
|
}
|
|
1283
1616
|
};
|
|
1284
|
-
DockviewComponent.prototype.
|
|
1285
|
-
|
|
1617
|
+
DockviewComponent.prototype.doSetGroupActive = function (group) {
|
|
1618
|
+
_super.prototype.doSetGroupActive.call(this, group);
|
|
1286
1619
|
var activePanel = this.activePanel;
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
this._onDidActivePanelChange.fire(
|
|
1620
|
+
if (!this._moving &&
|
|
1621
|
+
activePanel !== this._onDidActivePanelChange.value) {
|
|
1622
|
+
this._onDidActivePanelChange.fire(activePanel);
|
|
1290
1623
|
}
|
|
1291
1624
|
};
|
|
1625
|
+
DockviewComponent.prototype.doSetGroupAndPanelActive = function (group) {
|
|
1626
|
+
_super.prototype.doSetGroupActive.call(this, group);
|
|
1627
|
+
var activePanel = this.activePanel;
|
|
1628
|
+
if (group &&
|
|
1629
|
+
this.hasMaximizedGroup() &&
|
|
1630
|
+
!this.isMaximizedGroup(group)) {
|
|
1631
|
+
this.exitMaximizedGroup();
|
|
1632
|
+
}
|
|
1633
|
+
if (!this._moving &&
|
|
1634
|
+
activePanel !== this._onDidActivePanelChange.value) {
|
|
1635
|
+
this._onDidActivePanelChange.fire(activePanel);
|
|
1636
|
+
}
|
|
1637
|
+
};
|
|
1638
|
+
DockviewComponent.prototype.getNextGroupId = function () {
|
|
1639
|
+
var id = this.nextGroupId.next();
|
|
1640
|
+
while (this._groups.has(id)) {
|
|
1641
|
+
id = this.nextGroupId.next();
|
|
1642
|
+
}
|
|
1643
|
+
return id;
|
|
1644
|
+
};
|
|
1292
1645
|
DockviewComponent.prototype.createGroup = function (options) {
|
|
1293
1646
|
var _this = this;
|
|
1294
1647
|
if (!options) {
|
|
@@ -1306,7 +1659,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1306
1659
|
}
|
|
1307
1660
|
}
|
|
1308
1661
|
var view = new dockviewGroupPanel_1.DockviewGroupPanel(this, id, options);
|
|
1309
|
-
view.init({ params: {}, accessor:
|
|
1662
|
+
view.init({ params: {}, accessor: this });
|
|
1310
1663
|
if (!this._groups.has(view.id)) {
|
|
1311
1664
|
var disposable = new lifecycle_1.CompositeDisposable(view.model.onTabDragStart(function (event) {
|
|
1312
1665
|
_this._onWillDragPanel.fire(event);
|
|
@@ -1314,20 +1667,48 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1314
1667
|
_this._onWillDragGroup.fire(event);
|
|
1315
1668
|
}), view.model.onMove(function (event) {
|
|
1316
1669
|
var groupId = event.groupId, itemId = event.itemId, target = event.target, index = event.index;
|
|
1317
|
-
_this.moveGroupOrPanel(
|
|
1670
|
+
_this.moveGroupOrPanel({
|
|
1671
|
+
from: { groupId: groupId, panelId: itemId },
|
|
1672
|
+
to: {
|
|
1673
|
+
group: view,
|
|
1674
|
+
position: target,
|
|
1675
|
+
index: index,
|
|
1676
|
+
},
|
|
1677
|
+
});
|
|
1318
1678
|
}), view.model.onDidDrop(function (event) {
|
|
1319
|
-
_this._onDidDrop.fire(
|
|
1679
|
+
_this._onDidDrop.fire(event);
|
|
1680
|
+
}), view.model.onWillDrop(function (event) {
|
|
1681
|
+
_this._onWillDrop.fire(event);
|
|
1682
|
+
}), view.model.onWillShowOverlay(function (event) {
|
|
1683
|
+
if (_this.options.disableDnd) {
|
|
1684
|
+
event.preventDefault();
|
|
1685
|
+
return;
|
|
1686
|
+
}
|
|
1687
|
+
_this._onWillShowOverlay.fire(event);
|
|
1320
1688
|
}), view.model.onDidAddPanel(function (event) {
|
|
1689
|
+
if (_this._moving) {
|
|
1690
|
+
return;
|
|
1691
|
+
}
|
|
1321
1692
|
_this._onDidAddPanel.fire(event.panel);
|
|
1322
1693
|
}), view.model.onDidRemovePanel(function (event) {
|
|
1694
|
+
if (_this._moving) {
|
|
1695
|
+
return;
|
|
1696
|
+
}
|
|
1323
1697
|
_this._onDidRemovePanel.fire(event.panel);
|
|
1324
1698
|
}), view.model.onDidActivePanelChange(function (event) {
|
|
1325
|
-
_this.
|
|
1699
|
+
if (_this._moving) {
|
|
1700
|
+
return;
|
|
1701
|
+
}
|
|
1702
|
+
if (event.panel !== _this.activePanel) {
|
|
1703
|
+
return;
|
|
1704
|
+
}
|
|
1705
|
+
if (_this._onDidActivePanelChange.value !== event.panel) {
|
|
1706
|
+
_this._onDidActivePanelChange.fire(event.panel);
|
|
1707
|
+
}
|
|
1326
1708
|
}));
|
|
1327
1709
|
this._groups.set(view.id, { value: view, disposable: disposable });
|
|
1328
1710
|
}
|
|
1329
|
-
// TODO: must be called after the above listeners have been setup,
|
|
1330
|
-
// not an ideal pattern
|
|
1711
|
+
// TODO: must be called after the above listeners have been setup, not an ideal pattern
|
|
1331
1712
|
view.initialize();
|
|
1332
1713
|
return view;
|
|
1333
1714
|
};
|
|
@@ -1358,4 +1739,3 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1358
1739
|
return DockviewComponent;
|
|
1359
1740
|
}(baseComponentGridview_1.BaseGrid));
|
|
1360
1741
|
exports.DockviewComponent = DockviewComponent;
|
|
1361
|
-
//# sourceMappingURL=dockviewComponent.js.map
|