dockview-core 1.14.1 → 1.15.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 +4 -5
- package/dist/cjs/api/component.api.js +12 -2
- package/dist/cjs/constants.d.ts +2 -0
- package/dist/cjs/constants.js +1 -1
- package/dist/cjs/dnd/overlay.d.ts +6 -4
- package/dist/cjs/dnd/overlay.js +119 -28
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts +1 -8
- package/dist/cjs/dockview/components/tab/defaultTab.js +16 -39
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +4 -2
- package/dist/cjs/dockview/dockviewComponent.d.ts +20 -17
- package/dist/cjs/dockview/dockviewComponent.js +92 -45
- package/dist/cjs/dockview/dockviewFloatingGroupPanel.d.ts +3 -12
- package/dist/cjs/dockview/options.d.ts +10 -6
- package/dist/cjs/dockview/options.js +1 -0
- package/dist/cjs/dom.d.ts +1 -0
- package/dist/cjs/dom.js +5 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts +3 -0
- package/dist/cjs/gridview/baseComponentGridview.js +8 -2
- package/dist/cjs/gridview/branchNode.d.ts +7 -3
- package/dist/cjs/gridview/branchNode.js +24 -29
- package/dist/cjs/gridview/gridview.d.ts +7 -1
- package/dist/cjs/gridview/gridview.js +31 -8
- package/dist/cjs/gridview/gridviewPanel.d.ts +1 -0
- package/dist/cjs/gridview/gridviewPanel.js +7 -0
- package/dist/cjs/math.js +5 -1
- package/dist/cjs/splitview/splitview.d.ts +13 -0
- package/dist/cjs/splitview/splitview.js +42 -12
- package/dist/cjs/types.d.ts +23 -0
- package/dist/dockview-core.amd.js +333 -138
- 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 +332 -137
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +333 -138
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +333 -138
- 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 +333 -138
- 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 +332 -137
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/component.api.d.ts +4 -5
- package/dist/esm/api/component.api.js +8 -2
- package/dist/esm/constants.d.ts +2 -0
- package/dist/esm/constants.js +1 -1
- package/dist/esm/dnd/overlay.d.ts +6 -4
- package/dist/esm/dnd/overlay.js +108 -28
- package/dist/esm/dockview/components/tab/defaultTab.d.ts +1 -8
- package/dist/esm/dockview/components/tab/defaultTab.js +16 -28
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +4 -2
- package/dist/esm/dockview/dockviewComponent.d.ts +20 -17
- package/dist/esm/dockview/dockviewComponent.js +93 -46
- package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +3 -12
- package/dist/esm/dockview/options.d.ts +10 -6
- package/dist/esm/dockview/options.js +1 -0
- package/dist/esm/dom.d.ts +1 -0
- package/dist/esm/dom.js +3 -0
- package/dist/esm/gridview/baseComponentGridview.d.ts +3 -0
- package/dist/esm/gridview/baseComponentGridview.js +6 -2
- package/dist/esm/gridview/branchNode.d.ts +7 -3
- package/dist/esm/gridview/branchNode.js +19 -7
- package/dist/esm/gridview/gridview.d.ts +7 -1
- package/dist/esm/gridview/gridview.js +27 -8
- package/dist/esm/gridview/gridviewPanel.d.ts +1 -0
- package/dist/esm/gridview/gridviewPanel.js +3 -0
- package/dist/esm/math.js +5 -1
- package/dist/esm/splitview/splitview.d.ts +13 -0
- package/dist/esm/splitview/splitview.js +38 -12
- package/dist/esm/types.d.ts +23 -0
- package/dist/styles/dockview.css +0 -13
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-core
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 1.15.0
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -31,7 +31,7 @@ function styleInject(css, ref) {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-gap-size: 3px;\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n.dv-dockview .split-view-container.horizontal > .view-container > .view:not(:last-child) .groupview {\n border-right: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.horizontal > .view-container > .view:not(:first-child) .groupview {\n border-left: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.vertical > .view-container > .view:not(:last-child) .groupview {\n border-bottom: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.vertical > .view-container > .view:not(:first-child) .groupview {\n border-top: var(--dv-group-gap-size) solid transparent;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
34
|
+
var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
35
35
|
styleInject(css_248z);
|
|
36
36
|
|
|
37
37
|
class TransferObject {
|
|
@@ -556,6 +556,9 @@ function isInDocument(element) {
|
|
|
556
556
|
}
|
|
557
557
|
return false;
|
|
558
558
|
}
|
|
559
|
+
function addTestId(element, id) {
|
|
560
|
+
element.setAttribute('data-testid', id);
|
|
561
|
+
}
|
|
559
562
|
|
|
560
563
|
function tail(arr) {
|
|
561
564
|
if (arr.length === 0) {
|
|
@@ -617,7 +620,11 @@ function remove(array, value) {
|
|
|
617
620
|
|
|
618
621
|
const clamp = (value, min, max) => {
|
|
619
622
|
if (min > max) {
|
|
620
|
-
|
|
623
|
+
/**
|
|
624
|
+
* caveat: an error should be thrown here if this was a proper `clamp` function but we need to handle
|
|
625
|
+
* cases where `min` > `max` and in those cases return `min`.
|
|
626
|
+
*/
|
|
627
|
+
return min;
|
|
621
628
|
}
|
|
622
629
|
return Math.min(max, Math.max(value, min));
|
|
623
630
|
};
|
|
@@ -822,7 +829,14 @@ class Splitview {
|
|
|
822
829
|
this._disabled = value;
|
|
823
830
|
toggleClass(this.element, 'dv-splitview-disabled', value);
|
|
824
831
|
}
|
|
832
|
+
get margin() {
|
|
833
|
+
return this._margin;
|
|
834
|
+
}
|
|
835
|
+
set margin(value) {
|
|
836
|
+
this._margin = value;
|
|
837
|
+
}
|
|
825
838
|
constructor(container, options) {
|
|
839
|
+
var _a;
|
|
826
840
|
this.container = container;
|
|
827
841
|
this.viewItems = [];
|
|
828
842
|
this.sashes = [];
|
|
@@ -833,6 +847,7 @@ class Splitview {
|
|
|
833
847
|
this._startSnappingEnabled = true;
|
|
834
848
|
this._endSnappingEnabled = true;
|
|
835
849
|
this._disabled = false;
|
|
850
|
+
this._margin = 0;
|
|
836
851
|
this._onDidSashEnd = new Emitter();
|
|
837
852
|
this.onDidSashEnd = this._onDidSashEnd.event;
|
|
838
853
|
this._onDidAddView = new Emitter();
|
|
@@ -921,6 +936,7 @@ class Splitview {
|
|
|
921
936
|
};
|
|
922
937
|
this._orientation = options.orientation;
|
|
923
938
|
this.element = this.createContainer();
|
|
939
|
+
this.margin = (_a = options.margin) !== null && _a !== void 0 ? _a : 0;
|
|
924
940
|
this.proportionalLayout =
|
|
925
941
|
options.proportionalLayout === undefined
|
|
926
942
|
? true
|
|
@@ -975,9 +991,7 @@ class Splitview {
|
|
|
975
991
|
if (index < 0 || index >= this.viewItems.length) {
|
|
976
992
|
throw new Error('Index out of bounds');
|
|
977
993
|
}
|
|
978
|
-
toggleClass(this.container, 'visible', visible);
|
|
979
994
|
const viewItem = this.viewItems[index];
|
|
980
|
-
toggleClass(this.container, 'visible', visible);
|
|
981
995
|
viewItem.setVisible(visible, viewItem.size);
|
|
982
996
|
this.distributeEmptySpace(index);
|
|
983
997
|
this.layoutViews();
|
|
@@ -1289,15 +1303,29 @@ class Splitview {
|
|
|
1289
1303
|
this._proportions = this.viewItems.map((i) => i.visible ? i.size / this._contentSize : undefined);
|
|
1290
1304
|
}
|
|
1291
1305
|
}
|
|
1306
|
+
/**
|
|
1307
|
+
* Margin explain:
|
|
1308
|
+
*
|
|
1309
|
+
* For `n` views in a splitview there will be `n-1` margins `m`.
|
|
1310
|
+
*
|
|
1311
|
+
* To fit the margins each view must reduce in size by `(m * (n - 1)) / n`.
|
|
1312
|
+
*
|
|
1313
|
+
* For each view `i` the offet must be adjusted by `m * i/(n - 1)`.
|
|
1314
|
+
*/
|
|
1292
1315
|
layoutViews() {
|
|
1293
1316
|
this._contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);
|
|
1294
|
-
let sum = 0;
|
|
1295
|
-
const x = [];
|
|
1296
1317
|
this.updateSashEnablement();
|
|
1318
|
+
if (this.viewItems.length === 0) {
|
|
1319
|
+
return;
|
|
1320
|
+
}
|
|
1321
|
+
const sashCount = this.viewItems.length - 1;
|
|
1322
|
+
const marginReducedSize = (this.margin * sashCount) / this.viewItems.length;
|
|
1323
|
+
let totalLeftOffset = 0;
|
|
1324
|
+
const viewLeftOffsets = [];
|
|
1297
1325
|
for (let i = 0; i < this.viewItems.length - 1; i++) {
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
const offset = Math.min(Math.max(0,
|
|
1326
|
+
totalLeftOffset += this.viewItems[i].size;
|
|
1327
|
+
viewLeftOffsets.push(totalLeftOffset);
|
|
1328
|
+
const offset = Math.min(Math.max(0, totalLeftOffset - 2), this.size - this.margin);
|
|
1301
1329
|
if (this._orientation === Orientation.HORIZONTAL) {
|
|
1302
1330
|
this.sashes[i].container.style.left = `${offset}px`;
|
|
1303
1331
|
this.sashes[i].container.style.top = `0px`;
|
|
@@ -1308,19 +1336,24 @@ class Splitview {
|
|
|
1308
1336
|
}
|
|
1309
1337
|
}
|
|
1310
1338
|
this.viewItems.forEach((view, i) => {
|
|
1339
|
+
const size = view.size - marginReducedSize;
|
|
1340
|
+
const offset = i === 0
|
|
1341
|
+
? 0
|
|
1342
|
+
: viewLeftOffsets[i - 1] +
|
|
1343
|
+
(i / sashCount) * marginReducedSize;
|
|
1311
1344
|
if (this._orientation === Orientation.HORIZONTAL) {
|
|
1312
|
-
view.container.style.width = `${
|
|
1313
|
-
view.container.style.left =
|
|
1345
|
+
view.container.style.width = `${size}px`;
|
|
1346
|
+
view.container.style.left = `${offset}px`;
|
|
1314
1347
|
view.container.style.top = '';
|
|
1315
1348
|
view.container.style.height = '';
|
|
1316
1349
|
}
|
|
1317
1350
|
if (this._orientation === Orientation.VERTICAL) {
|
|
1318
|
-
view.container.style.height = `${
|
|
1319
|
-
view.container.style.top =
|
|
1351
|
+
view.container.style.height = `${size}px`;
|
|
1352
|
+
view.container.style.top = `${offset}px`;
|
|
1320
1353
|
view.container.style.width = '';
|
|
1321
1354
|
view.container.style.left = '';
|
|
1322
1355
|
}
|
|
1323
|
-
view.view.layout(view.size, this._orthogonalSize);
|
|
1356
|
+
view.view.layout(view.size - marginReducedSize, this._orthogonalSize);
|
|
1324
1357
|
});
|
|
1325
1358
|
}
|
|
1326
1359
|
findFirstSnapIndex(indexes) {
|
|
@@ -1769,7 +1802,18 @@ class BranchNode extends CompositeDisposable {
|
|
|
1769
1802
|
set disabled(value) {
|
|
1770
1803
|
this.splitview.disabled = value;
|
|
1771
1804
|
}
|
|
1772
|
-
|
|
1805
|
+
get margin() {
|
|
1806
|
+
return this.splitview.margin;
|
|
1807
|
+
}
|
|
1808
|
+
set margin(value) {
|
|
1809
|
+
this.splitview.margin = value;
|
|
1810
|
+
this.children.forEach((child) => {
|
|
1811
|
+
if (child instanceof BranchNode) {
|
|
1812
|
+
child.margin = value;
|
|
1813
|
+
}
|
|
1814
|
+
});
|
|
1815
|
+
}
|
|
1816
|
+
constructor(orientation, proportionalLayout, styles, size, orthogonalSize, disabled, margin, childDescriptors) {
|
|
1773
1817
|
super();
|
|
1774
1818
|
this.orientation = orientation;
|
|
1775
1819
|
this.proportionalLayout = proportionalLayout;
|
|
@@ -1789,6 +1833,7 @@ class BranchNode extends CompositeDisposable {
|
|
|
1789
1833
|
orientation: this.orientation,
|
|
1790
1834
|
proportionalLayout,
|
|
1791
1835
|
styles,
|
|
1836
|
+
margin,
|
|
1792
1837
|
});
|
|
1793
1838
|
this.splitview.layout(this.size, this.orthogonalSize);
|
|
1794
1839
|
}
|
|
@@ -1812,6 +1857,7 @@ class BranchNode extends CompositeDisposable {
|
|
|
1812
1857
|
descriptor,
|
|
1813
1858
|
proportionalLayout,
|
|
1814
1859
|
styles,
|
|
1860
|
+
margin,
|
|
1815
1861
|
});
|
|
1816
1862
|
}
|
|
1817
1863
|
this.disabled = disabled;
|
|
@@ -1820,10 +1866,8 @@ class BranchNode extends CompositeDisposable {
|
|
|
1820
1866
|
}));
|
|
1821
1867
|
this.setupChildrenEvents();
|
|
1822
1868
|
}
|
|
1823
|
-
setVisible(
|
|
1824
|
-
|
|
1825
|
-
child.setVisible(visible);
|
|
1826
|
-
}
|
|
1869
|
+
setVisible(_visible) {
|
|
1870
|
+
// noop
|
|
1827
1871
|
}
|
|
1828
1872
|
isChildVisible(index) {
|
|
1829
1873
|
if (index < 0 || index >= this.children.length) {
|
|
@@ -1840,12 +1884,13 @@ class BranchNode extends CompositeDisposable {
|
|
|
1840
1884
|
}
|
|
1841
1885
|
const wereAllChildrenHidden = this.splitview.contentSize === 0;
|
|
1842
1886
|
this.splitview.setViewVisible(index, visible);
|
|
1887
|
+
// }
|
|
1843
1888
|
const areAllChildrenHidden = this.splitview.contentSize === 0;
|
|
1844
1889
|
// If all children are hidden then the parent should hide the entire splitview
|
|
1845
1890
|
// If the entire splitview is hidden then the parent should show the splitview when a child is shown
|
|
1846
1891
|
if ((visible && wereAllChildrenHidden) ||
|
|
1847
1892
|
(!visible && areAllChildrenHidden)) {
|
|
1848
|
-
this._onDidVisibilityChange.fire(visible);
|
|
1893
|
+
this._onDidVisibilityChange.fire({ visible });
|
|
1849
1894
|
}
|
|
1850
1895
|
}
|
|
1851
1896
|
moveChild(from, to) {
|
|
@@ -1918,7 +1963,7 @@ class BranchNode extends CompositeDisposable {
|
|
|
1918
1963
|
this._onDidChange.fire({ size: e.orthogonalSize });
|
|
1919
1964
|
}), ...this.children.map((c, i) => {
|
|
1920
1965
|
if (c instanceof BranchNode) {
|
|
1921
|
-
return c.onDidVisibilityChange((visible) => {
|
|
1966
|
+
return c.onDidVisibilityChange(({ visible }) => {
|
|
1922
1967
|
this.setChildVisible(i, visible);
|
|
1923
1968
|
});
|
|
1924
1969
|
}
|
|
@@ -1948,7 +1993,7 @@ function findLeaf(candiateNode, last) {
|
|
|
1948
1993
|
}
|
|
1949
1994
|
function flipNode(node, size, orthogonalSize) {
|
|
1950
1995
|
if (node instanceof BranchNode) {
|
|
1951
|
-
const result = new BranchNode(orthogonal(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize, node.disabled);
|
|
1996
|
+
const result = new BranchNode(orthogonal(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize, node.disabled, node.margin);
|
|
1952
1997
|
let totalSize = 0;
|
|
1953
1998
|
for (let i = node.children.length - 1; i >= 0; i--) {
|
|
1954
1999
|
const child = node.children[i];
|
|
@@ -2103,6 +2148,13 @@ class Gridview {
|
|
|
2103
2148
|
}
|
|
2104
2149
|
}
|
|
2105
2150
|
}
|
|
2151
|
+
get margin() {
|
|
2152
|
+
return this._margin;
|
|
2153
|
+
}
|
|
2154
|
+
set margin(value) {
|
|
2155
|
+
this._margin = value;
|
|
2156
|
+
this.root.margin = value;
|
|
2157
|
+
}
|
|
2106
2158
|
maximizedView() {
|
|
2107
2159
|
var _a;
|
|
2108
2160
|
return (_a = this._maximizedNode) === null || _a === void 0 ? void 0 : _a.leaf.view;
|
|
@@ -2188,13 +2240,14 @@ class Gridview {
|
|
|
2188
2240
|
this.disposable.dispose();
|
|
2189
2241
|
this._onDidChange.dispose();
|
|
2190
2242
|
this._onDidMaximizedNodeChange.dispose();
|
|
2243
|
+
this._onDidViewVisibilityChange.dispose();
|
|
2191
2244
|
this.root.dispose();
|
|
2192
2245
|
this._maximizedNode = undefined;
|
|
2193
2246
|
this.element.remove();
|
|
2194
2247
|
}
|
|
2195
2248
|
clear() {
|
|
2196
2249
|
const orientation = this.root.orientation;
|
|
2197
|
-
this.root = new BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize, this.
|
|
2250
|
+
this.root = new BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize, this.locked, this.margin);
|
|
2198
2251
|
}
|
|
2199
2252
|
deserialize(json, deserializer) {
|
|
2200
2253
|
const orientation = json.orientation;
|
|
@@ -2205,6 +2258,7 @@ class Gridview {
|
|
|
2205
2258
|
this.root = this._deserializeNode(root, orientation, deserializer, orthogonalSize);
|
|
2206
2259
|
}
|
|
2207
2260
|
_deserializeNode(node, orientation, deserializer, orthogonalSize) {
|
|
2261
|
+
var _a;
|
|
2208
2262
|
let result;
|
|
2209
2263
|
if (node.type === 'branch') {
|
|
2210
2264
|
const serializedChildren = node.data;
|
|
@@ -2216,10 +2270,14 @@ class Gridview {
|
|
|
2216
2270
|
});
|
|
2217
2271
|
result = new BranchNode(orientation, this.proportionalLayout, this.styles, node.size, // <- orthogonal size - flips at each depth
|
|
2218
2272
|
orthogonalSize, // <- size - flips at each depth,
|
|
2219
|
-
this.
|
|
2273
|
+
this.locked, this.margin, children);
|
|
2220
2274
|
}
|
|
2221
2275
|
else {
|
|
2222
|
-
|
|
2276
|
+
const view = deserializer.fromJSON(node);
|
|
2277
|
+
if (typeof node.visible === 'boolean') {
|
|
2278
|
+
(_a = view.setVisible) === null || _a === void 0 ? void 0 : _a.call(view, node.visible);
|
|
2279
|
+
}
|
|
2280
|
+
result = new LeafNode(view, orientation, orthogonalSize, node.size);
|
|
2223
2281
|
}
|
|
2224
2282
|
return result;
|
|
2225
2283
|
}
|
|
@@ -2249,7 +2307,7 @@ class Gridview {
|
|
|
2249
2307
|
}
|
|
2250
2308
|
const oldRoot = this.root;
|
|
2251
2309
|
oldRoot.element.remove();
|
|
2252
|
-
this._root = new BranchNode(orthogonal(oldRoot.orientation), this.proportionalLayout, this.styles, this.root.orthogonalSize, this.root.size, this.
|
|
2310
|
+
this._root = new BranchNode(orthogonal(oldRoot.orientation), this.proportionalLayout, this.styles, this.root.orthogonalSize, this.root.size, this.locked, this.margin);
|
|
2253
2311
|
if (oldRoot.children.length === 0) ;
|
|
2254
2312
|
else if (oldRoot.children.length === 1) {
|
|
2255
2313
|
// can remove one level of redundant branching if there is only a single child
|
|
@@ -2314,19 +2372,24 @@ class Gridview {
|
|
|
2314
2372
|
}
|
|
2315
2373
|
return findLeaf(this.root, reverse);
|
|
2316
2374
|
}
|
|
2317
|
-
constructor(proportionalLayout, styles, orientation) {
|
|
2375
|
+
constructor(proportionalLayout, styles, orientation, locked, margin) {
|
|
2318
2376
|
this.proportionalLayout = proportionalLayout;
|
|
2319
2377
|
this.styles = styles;
|
|
2320
2378
|
this._locked = false;
|
|
2379
|
+
this._margin = 0;
|
|
2321
2380
|
this._maximizedNode = undefined;
|
|
2322
2381
|
this.disposable = new MutableDisposable();
|
|
2323
2382
|
this._onDidChange = new Emitter();
|
|
2324
2383
|
this.onDidChange = this._onDidChange.event;
|
|
2384
|
+
this._onDidViewVisibilityChange = new Emitter();
|
|
2385
|
+
this.onDidViewVisibilityChange = this._onDidViewVisibilityChange.event;
|
|
2325
2386
|
this._onDidMaximizedNodeChange = new Emitter();
|
|
2326
2387
|
this.onDidMaximizedNodeChange = this._onDidMaximizedNodeChange.event;
|
|
2327
2388
|
this.element = document.createElement('div');
|
|
2328
2389
|
this.element.className = 'grid-view';
|
|
2329
|
-
this.
|
|
2390
|
+
this._locked = locked !== null && locked !== void 0 ? locked : false;
|
|
2391
|
+
this._margin = margin !== null && margin !== void 0 ? margin : 0;
|
|
2392
|
+
this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0, this.locked, this.margin);
|
|
2330
2393
|
}
|
|
2331
2394
|
isViewVisible(location) {
|
|
2332
2395
|
const [rest, index] = tail(location);
|
|
@@ -2345,6 +2408,7 @@ class Gridview {
|
|
|
2345
2408
|
if (!(parent instanceof BranchNode)) {
|
|
2346
2409
|
throw new Error('Invalid from location');
|
|
2347
2410
|
}
|
|
2411
|
+
this._onDidViewVisibilityChange.fire();
|
|
2348
2412
|
parent.setChildVisible(index, visible);
|
|
2349
2413
|
}
|
|
2350
2414
|
moveView(parentLocation, from, to) {
|
|
@@ -2377,7 +2441,7 @@ class Gridview {
|
|
|
2377
2441
|
}
|
|
2378
2442
|
const child = grandParent.removeChild(parentIndex);
|
|
2379
2443
|
child.dispose();
|
|
2380
|
-
const newParent = new BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize, this.
|
|
2444
|
+
const newParent = new BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize, this.locked, this.margin);
|
|
2381
2445
|
grandParent.addChild(newParent, parent.size, parentIndex);
|
|
2382
2446
|
const newSibling = new LeafNode(parent.view, grandParent.orientation, parent.size);
|
|
2383
2447
|
newParent.addChild(newSibling, newSiblingSize, 0);
|
|
@@ -2616,14 +2680,18 @@ class BaseGrid extends Resizable {
|
|
|
2616
2680
|
this.onDidActiveChange = this._onDidActiveChange.event;
|
|
2617
2681
|
this._bufferOnDidLayoutChange = new AsapEvent();
|
|
2618
2682
|
this.onDidLayoutChange = this._bufferOnDidLayoutChange.onEvent;
|
|
2683
|
+
this._onDidViewVisibilityChangeMicroTaskQueue = new AsapEvent();
|
|
2684
|
+
this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
|
|
2619
2685
|
this.element.style.height = '100%';
|
|
2620
2686
|
this.element.style.width = '100%';
|
|
2621
2687
|
options.parentElement.appendChild(this.element);
|
|
2622
|
-
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation);
|
|
2688
|
+
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
|
|
2623
2689
|
this.gridview.locked = !!options.locked;
|
|
2624
2690
|
this.element.appendChild(this.gridview.element);
|
|
2625
2691
|
this.layout(0, 0, true); // set some elements height/widths
|
|
2626
|
-
this.addDisposables(
|
|
2692
|
+
this.addDisposables(this.gridview.onDidViewVisibilityChange(() => this._onDidViewVisibilityChangeMicroTaskQueue.fire()), this.onDidViewVisibilityChangeMicroTaskQueue(() => {
|
|
2693
|
+
this.layout(this.width, this.height, true);
|
|
2694
|
+
}), Disposable.from(() => {
|
|
2627
2695
|
var _a;
|
|
2628
2696
|
(_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.element);
|
|
2629
2697
|
}), this.gridview.onDidChange(() => {
|
|
@@ -3237,6 +3305,9 @@ class DockviewApi {
|
|
|
3237
3305
|
get onDidRemovePanel() {
|
|
3238
3306
|
return this.component.onDidRemovePanel;
|
|
3239
3307
|
}
|
|
3308
|
+
get onDidMovePanel() {
|
|
3309
|
+
return this.component.onDidMovePanel;
|
|
3310
|
+
}
|
|
3240
3311
|
/**
|
|
3241
3312
|
* Invoked after a layout is deserialzied using the `fromJSON` method.
|
|
3242
3313
|
*/
|
|
@@ -3377,8 +3448,8 @@ class DockviewApi {
|
|
|
3377
3448
|
/**
|
|
3378
3449
|
* Add a floating group
|
|
3379
3450
|
*/
|
|
3380
|
-
addFloatingGroup(item,
|
|
3381
|
-
return this.component.addFloatingGroup(item,
|
|
3451
|
+
addFloatingGroup(item, options) {
|
|
3452
|
+
return this.component.addFloatingGroup(item, options);
|
|
3382
3453
|
}
|
|
3383
3454
|
/**
|
|
3384
3455
|
* Create a component from a serialized object.
|
|
@@ -3428,6 +3499,9 @@ class DockviewApi {
|
|
|
3428
3499
|
addPopoutGroup(item, options) {
|
|
3429
3500
|
return this.component.addPopoutGroup(item, options);
|
|
3430
3501
|
}
|
|
3502
|
+
setGap(gap) {
|
|
3503
|
+
this.component.updateOptions({ gap });
|
|
3504
|
+
}
|
|
3431
3505
|
}
|
|
3432
3506
|
|
|
3433
3507
|
class DragHandler extends CompositeDisposable {
|
|
@@ -4797,7 +4871,8 @@ class TabsContainer extends CompositeDisposable {
|
|
|
4797
4871
|
this.accessor.addFloatingGroup(this.group, {
|
|
4798
4872
|
x: left - rootLeft + 20,
|
|
4799
4873
|
y: top - rootTop + 20,
|
|
4800
|
-
|
|
4874
|
+
inDragMode: true,
|
|
4875
|
+
});
|
|
4801
4876
|
}
|
|
4802
4877
|
}), addDisposableListener(this.tabContainer, 'mousedown', (event) => {
|
|
4803
4878
|
if (event.defaultPrevented) {
|
|
@@ -4866,7 +4941,8 @@ class TabsContainer extends CompositeDisposable {
|
|
|
4866
4941
|
this.accessor.addFloatingGroup(panel, {
|
|
4867
4942
|
x: left - rootLeft,
|
|
4868
4943
|
y: top - rootTop,
|
|
4869
|
-
|
|
4944
|
+
inDragMode: true,
|
|
4945
|
+
});
|
|
4870
4946
|
return;
|
|
4871
4947
|
}
|
|
4872
4948
|
const isLeftClick = event.button === 0;
|
|
@@ -4939,6 +5015,7 @@ const PROPERTY_KEYS = (() => {
|
|
|
4939
5015
|
rootOverlayModel: undefined,
|
|
4940
5016
|
locked: undefined,
|
|
4941
5017
|
disableDnd: undefined,
|
|
5018
|
+
gap: undefined,
|
|
4942
5019
|
};
|
|
4943
5020
|
return Object.keys(properties);
|
|
4944
5021
|
})();
|
|
@@ -5669,6 +5746,9 @@ class GridviewPanel extends BasePanelView {
|
|
|
5669
5746
|
get isActive() {
|
|
5670
5747
|
return this.api.isActive;
|
|
5671
5748
|
}
|
|
5749
|
+
get isVisible() {
|
|
5750
|
+
return this.api.isVisible;
|
|
5751
|
+
}
|
|
5672
5752
|
constructor(id, component, options, api) {
|
|
5673
5753
|
super(id, component, api !== null && api !== void 0 ? api : new GridviewPanelApiImpl(id, component));
|
|
5674
5754
|
this._evaluatedMinimumWidth = 0;
|
|
@@ -6205,52 +6285,40 @@ class DefaultTab extends CompositeDisposable {
|
|
|
6205
6285
|
}
|
|
6206
6286
|
constructor() {
|
|
6207
6287
|
super();
|
|
6208
|
-
//
|
|
6209
|
-
this.params = {};
|
|
6210
6288
|
this._element = document.createElement('div');
|
|
6211
6289
|
this._element.className = 'dv-default-tab';
|
|
6212
|
-
//
|
|
6213
6290
|
this._content = document.createElement('div');
|
|
6214
6291
|
this._content.className = 'dv-default-tab-content';
|
|
6215
6292
|
this.action = document.createElement('div');
|
|
6216
6293
|
this.action.className = 'dv-default-tab-action';
|
|
6217
6294
|
this.action.appendChild(createCloseButton());
|
|
6218
|
-
//
|
|
6219
6295
|
this._element.appendChild(this._content);
|
|
6220
6296
|
this._element.appendChild(this.action);
|
|
6221
|
-
//
|
|
6222
6297
|
this.addDisposables(addDisposableListener(this.action, 'mousedown', (ev) => {
|
|
6223
6298
|
ev.preventDefault();
|
|
6224
6299
|
}));
|
|
6225
6300
|
this.render();
|
|
6226
6301
|
}
|
|
6227
|
-
update(event) {
|
|
6228
|
-
this.params = Object.assign(Object.assign({}, this.params), event.params);
|
|
6229
|
-
this.render();
|
|
6230
|
-
}
|
|
6231
|
-
focus() {
|
|
6232
|
-
//noop
|
|
6233
|
-
}
|
|
6234
6302
|
init(params) {
|
|
6235
|
-
this.
|
|
6236
|
-
this.
|
|
6237
|
-
|
|
6238
|
-
|
|
6239
|
-
|
|
6240
|
-
|
|
6241
|
-
|
|
6242
|
-
|
|
6243
|
-
|
|
6244
|
-
|
|
6245
|
-
|
|
6303
|
+
this._title = params.title;
|
|
6304
|
+
this.addDisposables(params.api.onDidTitleChange((event) => {
|
|
6305
|
+
this._title = event.title;
|
|
6306
|
+
this.render();
|
|
6307
|
+
}), addDisposableListener(this.action, 'mousedown', (ev) => {
|
|
6308
|
+
ev.preventDefault();
|
|
6309
|
+
}), addDisposableListener(this.action, 'click', (ev) => {
|
|
6310
|
+
if (ev.defaultPrevented) {
|
|
6311
|
+
return;
|
|
6312
|
+
}
|
|
6313
|
+
ev.preventDefault();
|
|
6314
|
+
params.api.close();
|
|
6315
|
+
}));
|
|
6246
6316
|
this.render();
|
|
6247
6317
|
}
|
|
6248
|
-
layout(_width, _height) {
|
|
6249
|
-
// noop
|
|
6250
|
-
}
|
|
6251
6318
|
render() {
|
|
6252
|
-
|
|
6253
|
-
|
|
6319
|
+
var _a;
|
|
6320
|
+
if (this._content.textContent !== this._title) {
|
|
6321
|
+
this._content.textContent = (_a = this._title) !== null && _a !== void 0 ? _a : '';
|
|
6254
6322
|
}
|
|
6255
6323
|
}
|
|
6256
6324
|
}
|
|
@@ -6443,12 +6511,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6443
6511
|
this._element.appendChild(this.options.content);
|
|
6444
6512
|
this.options.container.appendChild(this._element);
|
|
6445
6513
|
// if input bad resize within acceptable boundaries
|
|
6446
|
-
this.setBounds({
|
|
6447
|
-
height: this.options.height,
|
|
6448
|
-
width: this.options.width,
|
|
6449
|
-
top: this.options.top,
|
|
6450
|
-
left: this.options.left,
|
|
6451
|
-
});
|
|
6514
|
+
this.setBounds(Object.assign(Object.assign(Object.assign(Object.assign({ height: this.options.height, width: this.options.width }, ('top' in this.options && { top: this.options.top })), ('bottom' in this.options && { bottom: this.options.bottom })), ('left' in this.options && { left: this.options.left })), ('right' in this.options && { right: this.options.right })));
|
|
6452
6515
|
}
|
|
6453
6516
|
setBounds(bounds = {}) {
|
|
6454
6517
|
if (typeof bounds.height === 'number') {
|
|
@@ -6457,11 +6520,25 @@ class Overlay extends CompositeDisposable {
|
|
|
6457
6520
|
if (typeof bounds.width === 'number') {
|
|
6458
6521
|
this._element.style.width = `${bounds.width}px`;
|
|
6459
6522
|
}
|
|
6460
|
-
if (typeof bounds.top === 'number') {
|
|
6523
|
+
if ('top' in bounds && typeof bounds.top === 'number') {
|
|
6461
6524
|
this._element.style.top = `${bounds.top}px`;
|
|
6525
|
+
this._element.style.bottom = 'auto';
|
|
6526
|
+
this.verticalAlignment = 'top';
|
|
6527
|
+
}
|
|
6528
|
+
if ('bottom' in bounds && typeof bounds.bottom === 'number') {
|
|
6529
|
+
this._element.style.bottom = `${bounds.bottom}px`;
|
|
6530
|
+
this._element.style.top = 'auto';
|
|
6531
|
+
this.verticalAlignment = 'bottom';
|
|
6462
6532
|
}
|
|
6463
|
-
if (typeof bounds.left === 'number') {
|
|
6533
|
+
if ('left' in bounds && typeof bounds.left === 'number') {
|
|
6464
6534
|
this._element.style.left = `${bounds.left}px`;
|
|
6535
|
+
this._element.style.right = 'auto';
|
|
6536
|
+
this.horiziontalAlignment = 'left';
|
|
6537
|
+
}
|
|
6538
|
+
if ('right' in bounds && typeof bounds.right === 'number') {
|
|
6539
|
+
this._element.style.right = `${bounds.right}px`;
|
|
6540
|
+
this._element.style.left = 'auto';
|
|
6541
|
+
this.horiziontalAlignment = 'right';
|
|
6465
6542
|
}
|
|
6466
6543
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
6467
6544
|
const overlayRect = this._element.getBoundingClientRect();
|
|
@@ -6469,24 +6546,54 @@ class Overlay extends CompositeDisposable {
|
|
|
6469
6546
|
// a minimum width of minimumViewportWidth must be inside the viewport
|
|
6470
6547
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
6471
6548
|
// a minimum height of minimumViewportHeight must be inside the viewport
|
|
6472
|
-
const yOffset =
|
|
6473
|
-
|
|
6474
|
-
|
|
6475
|
-
|
|
6476
|
-
|
|
6477
|
-
|
|
6478
|
-
this.
|
|
6549
|
+
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
6550
|
+
if (this.verticalAlignment === 'top') {
|
|
6551
|
+
const top = clamp(overlayRect.top - containerRect.top, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6552
|
+
this._element.style.top = `${top}px`;
|
|
6553
|
+
this._element.style.bottom = 'auto';
|
|
6554
|
+
}
|
|
6555
|
+
if (this.verticalAlignment === 'bottom') {
|
|
6556
|
+
const bottom = clamp(containerRect.bottom - overlayRect.bottom, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6557
|
+
this._element.style.bottom = `${bottom}px`;
|
|
6558
|
+
this._element.style.top = 'auto';
|
|
6559
|
+
}
|
|
6560
|
+
if (this.horiziontalAlignment === 'left') {
|
|
6561
|
+
const left = clamp(overlayRect.left - containerRect.left, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6562
|
+
this._element.style.left = `${left}px`;
|
|
6563
|
+
this._element.style.right = 'auto';
|
|
6564
|
+
}
|
|
6565
|
+
if (this.horiziontalAlignment === 'right') {
|
|
6566
|
+
const right = clamp(containerRect.right - overlayRect.right, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6567
|
+
this._element.style.right = `${right}px`;
|
|
6568
|
+
this._element.style.left = 'auto';
|
|
6569
|
+
}
|
|
6479
6570
|
this._onDidChange.fire();
|
|
6480
6571
|
}
|
|
6481
6572
|
toJSON() {
|
|
6482
6573
|
const container = this.options.container.getBoundingClientRect();
|
|
6483
6574
|
const element = this._element.getBoundingClientRect();
|
|
6484
|
-
|
|
6485
|
-
|
|
6486
|
-
|
|
6487
|
-
|
|
6488
|
-
|
|
6489
|
-
|
|
6575
|
+
const result = {};
|
|
6576
|
+
if (this.verticalAlignment === 'top') {
|
|
6577
|
+
result.top = parseFloat(this._element.style.top);
|
|
6578
|
+
}
|
|
6579
|
+
else if (this.verticalAlignment === 'bottom') {
|
|
6580
|
+
result.bottom = parseFloat(this._element.style.bottom);
|
|
6581
|
+
}
|
|
6582
|
+
else {
|
|
6583
|
+
result.top = element.top - container.top;
|
|
6584
|
+
}
|
|
6585
|
+
if (this.horiziontalAlignment === 'left') {
|
|
6586
|
+
result.left = parseFloat(this._element.style.left);
|
|
6587
|
+
}
|
|
6588
|
+
else if (this.horiziontalAlignment === 'right') {
|
|
6589
|
+
result.right = parseFloat(this._element.style.right);
|
|
6590
|
+
}
|
|
6591
|
+
else {
|
|
6592
|
+
result.left = element.left - container.left;
|
|
6593
|
+
}
|
|
6594
|
+
result.width = element.width;
|
|
6595
|
+
result.height = element.height;
|
|
6596
|
+
return result;
|
|
6490
6597
|
}
|
|
6491
6598
|
setupDrag(dragTarget, options = { inDragMode: false }) {
|
|
6492
6599
|
const move = new MutableDisposable();
|
|
@@ -6518,12 +6625,30 @@ class Overlay extends CompositeDisposable {
|
|
|
6518
6625
|
};
|
|
6519
6626
|
}
|
|
6520
6627
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
6521
|
-
const yOffset = Math.max(0, this.
|
|
6522
|
-
? this.getMinimumHeight(overlayRect.height)
|
|
6523
|
-
: 0);
|
|
6524
|
-
const left = clamp(x - offset.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6628
|
+
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
6525
6629
|
const top = clamp(y - offset.y, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6526
|
-
|
|
6630
|
+
const bottom = clamp(offset.y -
|
|
6631
|
+
y +
|
|
6632
|
+
containerRect.height -
|
|
6633
|
+
overlayRect.height, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6634
|
+
const left = clamp(x - offset.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6635
|
+
const right = clamp(offset.x - x + containerRect.width - overlayRect.width, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6636
|
+
const bounds = {};
|
|
6637
|
+
// Anchor to top or to bottom depending on which one is closer
|
|
6638
|
+
if (top <= bottom) {
|
|
6639
|
+
bounds.top = top;
|
|
6640
|
+
}
|
|
6641
|
+
else {
|
|
6642
|
+
bounds.bottom = bottom;
|
|
6643
|
+
}
|
|
6644
|
+
// Anchor to left or to right depending on which one is closer
|
|
6645
|
+
if (left <= right) {
|
|
6646
|
+
bounds.left = left;
|
|
6647
|
+
}
|
|
6648
|
+
else {
|
|
6649
|
+
bounds.right = right;
|
|
6650
|
+
}
|
|
6651
|
+
this.setBounds(bounds);
|
|
6527
6652
|
}), addDisposableWindowListener(window, 'mouseup', () => {
|
|
6528
6653
|
toggleClass(this._element, 'dv-resize-container-dragging', false);
|
|
6529
6654
|
move.dispose();
|
|
@@ -6591,8 +6716,10 @@ class Overlay extends CompositeDisposable {
|
|
|
6591
6716
|
};
|
|
6592
6717
|
}
|
|
6593
6718
|
let top = undefined;
|
|
6719
|
+
let bottom = undefined;
|
|
6594
6720
|
let height = undefined;
|
|
6595
6721
|
let left = undefined;
|
|
6722
|
+
let right = undefined;
|
|
6596
6723
|
let width = undefined;
|
|
6597
6724
|
const moveTop = () => {
|
|
6598
6725
|
top = clamp(y, -Number.MAX_VALUE, startPosition.originalY +
|
|
@@ -6606,6 +6733,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6606
6733
|
startPosition.originalY +
|
|
6607
6734
|
startPosition.originalHeight -
|
|
6608
6735
|
top;
|
|
6736
|
+
bottom = containerRect.height - top - height;
|
|
6609
6737
|
};
|
|
6610
6738
|
const moveBottom = () => {
|
|
6611
6739
|
top =
|
|
@@ -6617,6 +6745,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6617
6745
|
? -top +
|
|
6618
6746
|
this.options.minimumInViewportHeight
|
|
6619
6747
|
: Overlay.MINIMUM_HEIGHT, Number.MAX_VALUE);
|
|
6748
|
+
bottom = containerRect.height - top - height;
|
|
6620
6749
|
};
|
|
6621
6750
|
const moveLeft = () => {
|
|
6622
6751
|
left = clamp(x, -Number.MAX_VALUE, startPosition.originalX +
|
|
@@ -6630,6 +6759,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6630
6759
|
startPosition.originalX +
|
|
6631
6760
|
startPosition.originalWidth -
|
|
6632
6761
|
left;
|
|
6762
|
+
right = containerRect.width - left - width;
|
|
6633
6763
|
};
|
|
6634
6764
|
const moveRight = () => {
|
|
6635
6765
|
left =
|
|
@@ -6641,6 +6771,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6641
6771
|
? -left +
|
|
6642
6772
|
this.options.minimumInViewportWidth
|
|
6643
6773
|
: Overlay.MINIMUM_WIDTH, Number.MAX_VALUE);
|
|
6774
|
+
right = containerRect.width - left - width;
|
|
6644
6775
|
};
|
|
6645
6776
|
switch (direction) {
|
|
6646
6777
|
case 'top':
|
|
@@ -6672,7 +6803,24 @@ class Overlay extends CompositeDisposable {
|
|
|
6672
6803
|
moveRight();
|
|
6673
6804
|
break;
|
|
6674
6805
|
}
|
|
6675
|
-
|
|
6806
|
+
const bounds = {};
|
|
6807
|
+
// Anchor to top or to bottom depending on which one is closer
|
|
6808
|
+
if (top <= bottom) {
|
|
6809
|
+
bounds.top = top;
|
|
6810
|
+
}
|
|
6811
|
+
else {
|
|
6812
|
+
bounds.bottom = bottom;
|
|
6813
|
+
}
|
|
6814
|
+
// Anchor to left or to right depending on which one is closer
|
|
6815
|
+
if (left <= right) {
|
|
6816
|
+
bounds.left = left;
|
|
6817
|
+
}
|
|
6818
|
+
else {
|
|
6819
|
+
bounds.right = right;
|
|
6820
|
+
}
|
|
6821
|
+
bounds.height = height;
|
|
6822
|
+
bounds.width = width;
|
|
6823
|
+
this.setBounds(bounds);
|
|
6676
6824
|
}), {
|
|
6677
6825
|
dispose: () => {
|
|
6678
6826
|
for (const iframe of iframes) {
|
|
@@ -6695,7 +6843,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6695
6843
|
if (typeof this.options.minimumInViewportHeight === 'number') {
|
|
6696
6844
|
return height - this.options.minimumInViewportHeight;
|
|
6697
6845
|
}
|
|
6698
|
-
return
|
|
6846
|
+
return 0;
|
|
6699
6847
|
}
|
|
6700
6848
|
dispose() {
|
|
6701
6849
|
this._element.remove();
|
|
@@ -6718,7 +6866,7 @@ class DockviewFloatingGroupPanel extends CompositeDisposable {
|
|
|
6718
6866
|
}
|
|
6719
6867
|
|
|
6720
6868
|
const DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE = 100;
|
|
6721
|
-
const DEFAULT_FLOATING_GROUP_POSITION = { left: 100, top: 100 };
|
|
6869
|
+
const DEFAULT_FLOATING_GROUP_POSITION = { left: 100, top: 100, width: 300, height: 300 };
|
|
6722
6870
|
|
|
6723
6871
|
function createFocusableElement() {
|
|
6724
6872
|
const element = document.createElement('div');
|
|
@@ -7084,6 +7232,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7084
7232
|
parentElement: options.parentElement,
|
|
7085
7233
|
disableAutoResizing: options.disableAutoResizing,
|
|
7086
7234
|
locked: options.locked,
|
|
7235
|
+
margin: options.gap,
|
|
7087
7236
|
});
|
|
7088
7237
|
this.nextGroupId = sequentialNumberGenerator();
|
|
7089
7238
|
this._deserializer = new DefaultDockviewDeserialzier(this);
|
|
@@ -7109,9 +7258,9 @@ class DockviewComponent extends BaseGrid {
|
|
|
7109
7258
|
this._onDidActivePanelChange = new Emitter();
|
|
7110
7259
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
7111
7260
|
this._onDidMovePanel = new Emitter();
|
|
7261
|
+
this.onDidMovePanel = this._onDidMovePanel.event;
|
|
7112
7262
|
this._floatingGroups = [];
|
|
7113
7263
|
this._popoutGroups = [];
|
|
7114
|
-
this._ignoreEvents = 0;
|
|
7115
7264
|
this._onDidRemoveGroup = new Emitter();
|
|
7116
7265
|
this.onDidRemoveGroup = this._onDidRemoveGroup.event;
|
|
7117
7266
|
this._onDidAddGroup = new Emitter();
|
|
@@ -7125,7 +7274,9 @@ class DockviewComponent extends BaseGrid {
|
|
|
7125
7274
|
this.overlayRenderContainer = new OverlayRenderContainer(gready);
|
|
7126
7275
|
toggleClass(this.gridview.element, 'dv-dockview', true);
|
|
7127
7276
|
toggleClass(this.element, 'dv-debug', !!options.debug);
|
|
7128
|
-
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._onUnhandledDragOverEvent, this.
|
|
7277
|
+
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._onUnhandledDragOverEvent, this.onDidViewVisibilityChangeMicroTaskQueue(() => {
|
|
7278
|
+
this.updateWatermark();
|
|
7279
|
+
}), this.onDidAdd((event) => {
|
|
7129
7280
|
if (!this._moving) {
|
|
7130
7281
|
this._onDidAddGroup.fire(event);
|
|
7131
7282
|
}
|
|
@@ -7139,7 +7290,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7139
7290
|
}
|
|
7140
7291
|
}), Event.any(this.onDidAdd, this.onDidRemove)(() => {
|
|
7141
7292
|
this.updateWatermark();
|
|
7142
|
-
}), Event.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
|
|
7293
|
+
}), Event.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidAddGroup, this.onDidRemove, this.onDidMovePanel, this.onDidActivePanelChange)(() => {
|
|
7143
7294
|
this._bufferOnDidLayoutChange.fire();
|
|
7144
7295
|
}), Disposable.from(() => {
|
|
7145
7296
|
// iterate over a copy of the array since .dispose() mutates the original array
|
|
@@ -7390,8 +7541,8 @@ class DockviewComponent extends BaseGrid {
|
|
|
7390
7541
|
console.error('dockview: failed to create popout window', err);
|
|
7391
7542
|
});
|
|
7392
7543
|
}
|
|
7393
|
-
addFloatingGroup(item,
|
|
7394
|
-
var _a, _b, _c, _d, _e
|
|
7544
|
+
addFloatingGroup(item, options) {
|
|
7545
|
+
var _a, _b, _c, _d, _e;
|
|
7395
7546
|
let group;
|
|
7396
7547
|
if (item instanceof DockviewPanel) {
|
|
7397
7548
|
group = this.createGroup();
|
|
@@ -7436,26 +7587,62 @@ class DockviewComponent extends BaseGrid {
|
|
|
7436
7587
|
}
|
|
7437
7588
|
}
|
|
7438
7589
|
group.model.location = { type: 'floating' };
|
|
7439
|
-
|
|
7440
|
-
|
|
7441
|
-
|
|
7442
|
-
|
|
7443
|
-
|
|
7444
|
-
|
|
7445
|
-
|
|
7446
|
-
|
|
7447
|
-
|
|
7448
|
-
|
|
7449
|
-
|
|
7450
|
-
|
|
7451
|
-
|
|
7452
|
-
|
|
7590
|
+
function getAnchoredBox() {
|
|
7591
|
+
if (options === null || options === void 0 ? void 0 : options.position) {
|
|
7592
|
+
const result = {};
|
|
7593
|
+
if ('left' in options.position) {
|
|
7594
|
+
result.left = Math.max(options.position.left, 0);
|
|
7595
|
+
}
|
|
7596
|
+
else if ('right' in options.position) {
|
|
7597
|
+
result.right = Math.max(options.position.right, 0);
|
|
7598
|
+
}
|
|
7599
|
+
else {
|
|
7600
|
+
result.left = DEFAULT_FLOATING_GROUP_POSITION.left;
|
|
7601
|
+
}
|
|
7602
|
+
if ('top' in options.position) {
|
|
7603
|
+
result.top = Math.max(options.position.top, 0);
|
|
7604
|
+
}
|
|
7605
|
+
else if ('bottom' in options.position) {
|
|
7606
|
+
result.bottom = Math.max(options.position.bottom, 0);
|
|
7607
|
+
}
|
|
7608
|
+
else {
|
|
7609
|
+
result.top = DEFAULT_FLOATING_GROUP_POSITION.top;
|
|
7610
|
+
}
|
|
7611
|
+
if ('width' in options.position) {
|
|
7612
|
+
result.width = Math.max(options.position.width, 0);
|
|
7613
|
+
}
|
|
7614
|
+
else {
|
|
7615
|
+
result.width = DEFAULT_FLOATING_GROUP_POSITION.width;
|
|
7616
|
+
}
|
|
7617
|
+
if ('height' in options.position) {
|
|
7618
|
+
result.height = Math.max(options.position.height, 0);
|
|
7619
|
+
}
|
|
7620
|
+
else {
|
|
7621
|
+
result.height = DEFAULT_FLOATING_GROUP_POSITION.height;
|
|
7622
|
+
}
|
|
7623
|
+
return result;
|
|
7624
|
+
}
|
|
7625
|
+
return {
|
|
7626
|
+
left: typeof (options === null || options === void 0 ? void 0 : options.x) === 'number'
|
|
7627
|
+
? Math.max(options.x, 0)
|
|
7628
|
+
: DEFAULT_FLOATING_GROUP_POSITION.left,
|
|
7629
|
+
top: typeof (options === null || options === void 0 ? void 0 : options.y) === 'number'
|
|
7630
|
+
? Math.max(options.y, 0)
|
|
7631
|
+
: DEFAULT_FLOATING_GROUP_POSITION.top,
|
|
7632
|
+
width: typeof (options === null || options === void 0 ? void 0 : options.width) === 'number'
|
|
7633
|
+
? Math.max(options.width, 0)
|
|
7634
|
+
: DEFAULT_FLOATING_GROUP_POSITION.width,
|
|
7635
|
+
height: typeof (options === null || options === void 0 ? void 0 : options.height) === 'number'
|
|
7636
|
+
? Math.max(options.height, 0)
|
|
7637
|
+
: DEFAULT_FLOATING_GROUP_POSITION.height,
|
|
7638
|
+
};
|
|
7639
|
+
}
|
|
7640
|
+
const anchoredBox = getAnchoredBox();
|
|
7641
|
+
const overlay = new Overlay(Object.assign(Object.assign({ container: this.gridview.element, content: group.element }, anchoredBox), { minimumInViewportWidth: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7453
7642
|
? undefined
|
|
7454
|
-
: (
|
|
7455
|
-
minimumInViewportHeight: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7643
|
+
: (_c = (_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport) !== null && _c !== void 0 ? _c : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE, minimumInViewportHeight: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7456
7644
|
? undefined
|
|
7457
|
-
: (
|
|
7458
|
-
});
|
|
7645
|
+
: (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumHeightWithinViewport) !== null && _e !== void 0 ? _e : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE }));
|
|
7459
7646
|
const el = group.element.querySelector('.void-container');
|
|
7460
7647
|
if (!el) {
|
|
7461
7648
|
throw new Error('failed to find drag handle');
|
|
@@ -7553,12 +7740,18 @@ class DockviewComponent extends BaseGrid {
|
|
|
7553
7740
|
group.overlay.minimumInViewportWidth =
|
|
7554
7741
|
(_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport;
|
|
7555
7742
|
}
|
|
7556
|
-
group.overlay.setBounds(
|
|
7743
|
+
group.overlay.setBounds();
|
|
7557
7744
|
}
|
|
7558
7745
|
}
|
|
7559
7746
|
if (changed_rootOverlayOptions) {
|
|
7560
7747
|
this._rootDropTarget.setOverlayModel(options.rootOverlayModel);
|
|
7561
7748
|
}
|
|
7749
|
+
if (this.gridview.margin !== 0 && options.gap === undefined) {
|
|
7750
|
+
this.gridview.margin = 0;
|
|
7751
|
+
}
|
|
7752
|
+
if (typeof options.gap === 'number') {
|
|
7753
|
+
this.gridview.margin = options.gap;
|
|
7754
|
+
}
|
|
7562
7755
|
this.layout(this.gridview.width, this.gridview.height, true);
|
|
7563
7756
|
}
|
|
7564
7757
|
layout(width, height, forceResize) {
|
|
@@ -7720,11 +7913,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
7720
7913
|
const { data, position } = serializedFloatingGroup;
|
|
7721
7914
|
const group = createGroupFromSerializedState(data);
|
|
7722
7915
|
this.addFloatingGroup(group, {
|
|
7723
|
-
|
|
7724
|
-
|
|
7725
|
-
|
|
7726
|
-
|
|
7727
|
-
}, { skipRemoveGroup: true, inDragMode: false });
|
|
7916
|
+
position: position,
|
|
7917
|
+
skipRemoveGroup: true,
|
|
7918
|
+
inDragMode: false,
|
|
7919
|
+
});
|
|
7728
7920
|
}
|
|
7729
7921
|
const serializedPopoutGroups = (_b = data.popoutGroups) !== null && _b !== void 0 ? _b : [];
|
|
7730
7922
|
for (const serializedPopoutGroup of serializedPopoutGroups) {
|
|
@@ -7859,11 +8051,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7859
8051
|
options.floating !== null
|
|
7860
8052
|
? options.floating
|
|
7861
8053
|
: {};
|
|
7862
|
-
this.addFloatingGroup(group, o, {
|
|
7863
|
-
inDragMode: false,
|
|
7864
|
-
skipRemoveGroup: true,
|
|
7865
|
-
skipActiveGroup: true,
|
|
7866
|
-
});
|
|
8054
|
+
this.addFloatingGroup(group, Object.assign(Object.assign({}, o), { inDragMode: false, skipRemoveGroup: true, skipActiveGroup: true }));
|
|
7867
8055
|
panel = this.createPanel(options, group);
|
|
7868
8056
|
group.model.openPanel(panel, {
|
|
7869
8057
|
skipSetActive: options.inactive,
|
|
@@ -7902,11 +8090,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7902
8090
|
options.floating !== null
|
|
7903
8091
|
? options.floating
|
|
7904
8092
|
: {};
|
|
7905
|
-
this.addFloatingGroup(group, coordinates, {
|
|
7906
|
-
inDragMode: false,
|
|
7907
|
-
skipRemoveGroup: true,
|
|
7908
|
-
skipActiveGroup: true,
|
|
7909
|
-
});
|
|
8093
|
+
this.addFloatingGroup(group, Object.assign(Object.assign({}, coordinates), { inDragMode: false, skipRemoveGroup: true, skipActiveGroup: true }));
|
|
7910
8094
|
panel = this.createPanel(options, group);
|
|
7911
8095
|
group.model.openPanel(panel, {
|
|
7912
8096
|
skipSetActive: options.inactive,
|
|
@@ -7961,6 +8145,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7961
8145
|
});
|
|
7962
8146
|
const watermarkContainer = document.createElement('div');
|
|
7963
8147
|
watermarkContainer.className = 'dv-watermark-container';
|
|
8148
|
+
addTestId(watermarkContainer, 'watermark-component');
|
|
7964
8149
|
watermarkContainer.appendChild(this.watermark.element);
|
|
7965
8150
|
this.gridview.element.appendChild(watermarkContainer);
|
|
7966
8151
|
}
|
|
@@ -8149,6 +8334,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8149
8334
|
this.doSetGroupAndPanelActive(destinationGroup);
|
|
8150
8335
|
this._onDidMovePanel.fire({
|
|
8151
8336
|
panel: removedPanel,
|
|
8337
|
+
from: sourceGroup,
|
|
8152
8338
|
});
|
|
8153
8339
|
}
|
|
8154
8340
|
else {
|
|
@@ -8172,6 +8358,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
8172
8358
|
// if a group has one tab - we are essentially moving the 'group'
|
|
8173
8359
|
// which is equivalent to swapping two views in this case
|
|
8174
8360
|
this.gridview.moveView(sourceParentLocation, from, to);
|
|
8361
|
+
this._onDidMovePanel.fire({
|
|
8362
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8363
|
+
from: sourceGroup,
|
|
8364
|
+
});
|
|
8175
8365
|
return;
|
|
8176
8366
|
}
|
|
8177
8367
|
}
|
|
@@ -8185,6 +8375,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
8185
8375
|
const location = getRelativeLocation(this.gridview.orientation, updatedReferenceLocation, destinationTarget);
|
|
8186
8376
|
this.movingLock(() => this.doAddGroup(targetGroup, location));
|
|
8187
8377
|
this.doSetGroupAndPanelActive(targetGroup);
|
|
8378
|
+
this._onDidMovePanel.fire({
|
|
8379
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8380
|
+
from: sourceGroup,
|
|
8381
|
+
});
|
|
8188
8382
|
}
|
|
8189
8383
|
else {
|
|
8190
8384
|
/**
|
|
@@ -8204,6 +8398,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
8204
8398
|
skipSetGroupActive: true,
|
|
8205
8399
|
}));
|
|
8206
8400
|
this.doSetGroupAndPanelActive(group);
|
|
8401
|
+
this._onDidMovePanel.fire({
|
|
8402
|
+
panel: removedPanel,
|
|
8403
|
+
from: sourceGroup,
|
|
8404
|
+
});
|
|
8207
8405
|
}
|
|
8208
8406
|
}
|
|
8209
8407
|
}
|
|
@@ -8228,9 +8426,6 @@ class DockviewComponent extends BaseGrid {
|
|
|
8228
8426
|
}
|
|
8229
8427
|
});
|
|
8230
8428
|
this.doSetGroupAndPanelActive(to);
|
|
8231
|
-
panels.forEach((panel) => {
|
|
8232
|
-
this._onDidMovePanel.fire({ panel });
|
|
8233
|
-
});
|
|
8234
8429
|
}
|
|
8235
8430
|
else {
|
|
8236
8431
|
switch (from.api.location.type) {
|
|
@@ -8256,10 +8451,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
8256
8451
|
const referenceLocation = getGridLocation(to.element);
|
|
8257
8452
|
const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
|
|
8258
8453
|
this.gridview.addView(from, Sizing.Distribute, dropLocation);
|
|
8259
|
-
from.panels.forEach((panel) => {
|
|
8260
|
-
this._onDidMovePanel.fire({ panel });
|
|
8261
|
-
});
|
|
8262
8454
|
}
|
|
8455
|
+
from.panels.forEach((panel) => {
|
|
8456
|
+
this._onDidMovePanel.fire({ panel, from });
|
|
8457
|
+
});
|
|
8263
8458
|
}
|
|
8264
8459
|
doSetGroupActive(group) {
|
|
8265
8460
|
super.doSetGroupActive(group);
|