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