dockview-core 1.14.2 → 1.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/component.api.d.ts +5 -5
- package/dist/cjs/api/component.api.js +19 -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/titlebar/tabsContainer.js +4 -2
- package/dist/cjs/dockview/dockviewComponent.d.ts +24 -17
- package/dist/cjs/dockview/dockviewComponent.js +104 -47
- 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 +328 -112
- 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 +327 -111
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +328 -112
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +328 -112
- 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 +328 -112
- 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 +327 -111
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/component.api.d.ts +5 -5
- package/dist/esm/api/component.api.js +11 -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/titlebar/tabsContainer.js +4 -2
- package/dist/esm/dockview/dockviewComponent.d.ts +24 -17
- package/dist/esm/dockview/dockviewComponent.js +101 -48
- 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
package/dist/dockview-core.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-core
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 1.15.1
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
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}";
|
|
40
|
+
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}";
|
|
41
41
|
styleInject(css_248z);
|
|
42
42
|
|
|
43
43
|
class TransferObject {
|
|
@@ -562,6 +562,9 @@
|
|
|
562
562
|
}
|
|
563
563
|
return false;
|
|
564
564
|
}
|
|
565
|
+
function addTestId(element, id) {
|
|
566
|
+
element.setAttribute('data-testid', id);
|
|
567
|
+
}
|
|
565
568
|
|
|
566
569
|
function tail(arr) {
|
|
567
570
|
if (arr.length === 0) {
|
|
@@ -623,7 +626,11 @@
|
|
|
623
626
|
|
|
624
627
|
const clamp = (value, min, max) => {
|
|
625
628
|
if (min > max) {
|
|
626
|
-
|
|
629
|
+
/**
|
|
630
|
+
* caveat: an error should be thrown here if this was a proper `clamp` function but we need to handle
|
|
631
|
+
* cases where `min` > `max` and in those cases return `min`.
|
|
632
|
+
*/
|
|
633
|
+
return min;
|
|
627
634
|
}
|
|
628
635
|
return Math.min(max, Math.max(value, min));
|
|
629
636
|
};
|
|
@@ -828,7 +835,14 @@
|
|
|
828
835
|
this._disabled = value;
|
|
829
836
|
toggleClass(this.element, 'dv-splitview-disabled', value);
|
|
830
837
|
}
|
|
838
|
+
get margin() {
|
|
839
|
+
return this._margin;
|
|
840
|
+
}
|
|
841
|
+
set margin(value) {
|
|
842
|
+
this._margin = value;
|
|
843
|
+
}
|
|
831
844
|
constructor(container, options) {
|
|
845
|
+
var _a;
|
|
832
846
|
this.container = container;
|
|
833
847
|
this.viewItems = [];
|
|
834
848
|
this.sashes = [];
|
|
@@ -839,6 +853,7 @@
|
|
|
839
853
|
this._startSnappingEnabled = true;
|
|
840
854
|
this._endSnappingEnabled = true;
|
|
841
855
|
this._disabled = false;
|
|
856
|
+
this._margin = 0;
|
|
842
857
|
this._onDidSashEnd = new Emitter();
|
|
843
858
|
this.onDidSashEnd = this._onDidSashEnd.event;
|
|
844
859
|
this._onDidAddView = new Emitter();
|
|
@@ -927,6 +942,7 @@
|
|
|
927
942
|
};
|
|
928
943
|
this._orientation = options.orientation;
|
|
929
944
|
this.element = this.createContainer();
|
|
945
|
+
this.margin = (_a = options.margin) !== null && _a !== void 0 ? _a : 0;
|
|
930
946
|
this.proportionalLayout =
|
|
931
947
|
options.proportionalLayout === undefined
|
|
932
948
|
? true
|
|
@@ -981,9 +997,7 @@
|
|
|
981
997
|
if (index < 0 || index >= this.viewItems.length) {
|
|
982
998
|
throw new Error('Index out of bounds');
|
|
983
999
|
}
|
|
984
|
-
toggleClass(this.container, 'visible', visible);
|
|
985
1000
|
const viewItem = this.viewItems[index];
|
|
986
|
-
toggleClass(this.container, 'visible', visible);
|
|
987
1001
|
viewItem.setVisible(visible, viewItem.size);
|
|
988
1002
|
this.distributeEmptySpace(index);
|
|
989
1003
|
this.layoutViews();
|
|
@@ -1295,15 +1309,29 @@
|
|
|
1295
1309
|
this._proportions = this.viewItems.map((i) => i.visible ? i.size / this._contentSize : undefined);
|
|
1296
1310
|
}
|
|
1297
1311
|
}
|
|
1312
|
+
/**
|
|
1313
|
+
* Margin explain:
|
|
1314
|
+
*
|
|
1315
|
+
* For `n` views in a splitview there will be `n-1` margins `m`.
|
|
1316
|
+
*
|
|
1317
|
+
* To fit the margins each view must reduce in size by `(m * (n - 1)) / n`.
|
|
1318
|
+
*
|
|
1319
|
+
* For each view `i` the offet must be adjusted by `m * i/(n - 1)`.
|
|
1320
|
+
*/
|
|
1298
1321
|
layoutViews() {
|
|
1299
1322
|
this._contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);
|
|
1300
|
-
let sum = 0;
|
|
1301
|
-
const x = [];
|
|
1302
1323
|
this.updateSashEnablement();
|
|
1324
|
+
if (this.viewItems.length === 0) {
|
|
1325
|
+
return;
|
|
1326
|
+
}
|
|
1327
|
+
const sashCount = this.viewItems.length - 1;
|
|
1328
|
+
const marginReducedSize = (this.margin * sashCount) / this.viewItems.length;
|
|
1329
|
+
let totalLeftOffset = 0;
|
|
1330
|
+
const viewLeftOffsets = [];
|
|
1303
1331
|
for (let i = 0; i < this.viewItems.length - 1; i++) {
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
const offset = Math.min(Math.max(0,
|
|
1332
|
+
totalLeftOffset += this.viewItems[i].size;
|
|
1333
|
+
viewLeftOffsets.push(totalLeftOffset);
|
|
1334
|
+
const offset = Math.min(Math.max(0, totalLeftOffset - 2), this.size - this.margin);
|
|
1307
1335
|
if (this._orientation === exports.Orientation.HORIZONTAL) {
|
|
1308
1336
|
this.sashes[i].container.style.left = `${offset}px`;
|
|
1309
1337
|
this.sashes[i].container.style.top = `0px`;
|
|
@@ -1314,19 +1342,24 @@
|
|
|
1314
1342
|
}
|
|
1315
1343
|
}
|
|
1316
1344
|
this.viewItems.forEach((view, i) => {
|
|
1345
|
+
const size = view.size - marginReducedSize;
|
|
1346
|
+
const offset = i === 0
|
|
1347
|
+
? 0
|
|
1348
|
+
: viewLeftOffsets[i - 1] +
|
|
1349
|
+
(i / sashCount) * marginReducedSize;
|
|
1317
1350
|
if (this._orientation === exports.Orientation.HORIZONTAL) {
|
|
1318
|
-
view.container.style.width = `${
|
|
1319
|
-
view.container.style.left =
|
|
1351
|
+
view.container.style.width = `${size}px`;
|
|
1352
|
+
view.container.style.left = `${offset}px`;
|
|
1320
1353
|
view.container.style.top = '';
|
|
1321
1354
|
view.container.style.height = '';
|
|
1322
1355
|
}
|
|
1323
1356
|
if (this._orientation === exports.Orientation.VERTICAL) {
|
|
1324
|
-
view.container.style.height = `${
|
|
1325
|
-
view.container.style.top =
|
|
1357
|
+
view.container.style.height = `${size}px`;
|
|
1358
|
+
view.container.style.top = `${offset}px`;
|
|
1326
1359
|
view.container.style.width = '';
|
|
1327
1360
|
view.container.style.left = '';
|
|
1328
1361
|
}
|
|
1329
|
-
view.view.layout(view.size, this._orthogonalSize);
|
|
1362
|
+
view.view.layout(view.size - marginReducedSize, this._orthogonalSize);
|
|
1330
1363
|
});
|
|
1331
1364
|
}
|
|
1332
1365
|
findFirstSnapIndex(indexes) {
|
|
@@ -1775,7 +1808,18 @@
|
|
|
1775
1808
|
set disabled(value) {
|
|
1776
1809
|
this.splitview.disabled = value;
|
|
1777
1810
|
}
|
|
1778
|
-
|
|
1811
|
+
get margin() {
|
|
1812
|
+
return this.splitview.margin;
|
|
1813
|
+
}
|
|
1814
|
+
set margin(value) {
|
|
1815
|
+
this.splitview.margin = value;
|
|
1816
|
+
this.children.forEach((child) => {
|
|
1817
|
+
if (child instanceof BranchNode) {
|
|
1818
|
+
child.margin = value;
|
|
1819
|
+
}
|
|
1820
|
+
});
|
|
1821
|
+
}
|
|
1822
|
+
constructor(orientation, proportionalLayout, styles, size, orthogonalSize, disabled, margin, childDescriptors) {
|
|
1779
1823
|
super();
|
|
1780
1824
|
this.orientation = orientation;
|
|
1781
1825
|
this.proportionalLayout = proportionalLayout;
|
|
@@ -1795,6 +1839,7 @@
|
|
|
1795
1839
|
orientation: this.orientation,
|
|
1796
1840
|
proportionalLayout,
|
|
1797
1841
|
styles,
|
|
1842
|
+
margin,
|
|
1798
1843
|
});
|
|
1799
1844
|
this.splitview.layout(this.size, this.orthogonalSize);
|
|
1800
1845
|
}
|
|
@@ -1818,6 +1863,7 @@
|
|
|
1818
1863
|
descriptor,
|
|
1819
1864
|
proportionalLayout,
|
|
1820
1865
|
styles,
|
|
1866
|
+
margin,
|
|
1821
1867
|
});
|
|
1822
1868
|
}
|
|
1823
1869
|
this.disabled = disabled;
|
|
@@ -1826,10 +1872,8 @@
|
|
|
1826
1872
|
}));
|
|
1827
1873
|
this.setupChildrenEvents();
|
|
1828
1874
|
}
|
|
1829
|
-
setVisible(
|
|
1830
|
-
|
|
1831
|
-
child.setVisible(visible);
|
|
1832
|
-
}
|
|
1875
|
+
setVisible(_visible) {
|
|
1876
|
+
// noop
|
|
1833
1877
|
}
|
|
1834
1878
|
isChildVisible(index) {
|
|
1835
1879
|
if (index < 0 || index >= this.children.length) {
|
|
@@ -1846,12 +1890,13 @@
|
|
|
1846
1890
|
}
|
|
1847
1891
|
const wereAllChildrenHidden = this.splitview.contentSize === 0;
|
|
1848
1892
|
this.splitview.setViewVisible(index, visible);
|
|
1893
|
+
// }
|
|
1849
1894
|
const areAllChildrenHidden = this.splitview.contentSize === 0;
|
|
1850
1895
|
// If all children are hidden then the parent should hide the entire splitview
|
|
1851
1896
|
// If the entire splitview is hidden then the parent should show the splitview when a child is shown
|
|
1852
1897
|
if ((visible && wereAllChildrenHidden) ||
|
|
1853
1898
|
(!visible && areAllChildrenHidden)) {
|
|
1854
|
-
this._onDidVisibilityChange.fire(visible);
|
|
1899
|
+
this._onDidVisibilityChange.fire({ visible });
|
|
1855
1900
|
}
|
|
1856
1901
|
}
|
|
1857
1902
|
moveChild(from, to) {
|
|
@@ -1924,7 +1969,7 @@
|
|
|
1924
1969
|
this._onDidChange.fire({ size: e.orthogonalSize });
|
|
1925
1970
|
}), ...this.children.map((c, i) => {
|
|
1926
1971
|
if (c instanceof BranchNode) {
|
|
1927
|
-
return c.onDidVisibilityChange((visible) => {
|
|
1972
|
+
return c.onDidVisibilityChange(({ visible }) => {
|
|
1928
1973
|
this.setChildVisible(i, visible);
|
|
1929
1974
|
});
|
|
1930
1975
|
}
|
|
@@ -1954,7 +1999,7 @@
|
|
|
1954
1999
|
}
|
|
1955
2000
|
function flipNode(node, size, orthogonalSize) {
|
|
1956
2001
|
if (node instanceof BranchNode) {
|
|
1957
|
-
const result = new BranchNode(orthogonal(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize, node.disabled);
|
|
2002
|
+
const result = new BranchNode(orthogonal(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize, node.disabled, node.margin);
|
|
1958
2003
|
let totalSize = 0;
|
|
1959
2004
|
for (let i = node.children.length - 1; i >= 0; i--) {
|
|
1960
2005
|
const child = node.children[i];
|
|
@@ -2109,6 +2154,13 @@
|
|
|
2109
2154
|
}
|
|
2110
2155
|
}
|
|
2111
2156
|
}
|
|
2157
|
+
get margin() {
|
|
2158
|
+
return this._margin;
|
|
2159
|
+
}
|
|
2160
|
+
set margin(value) {
|
|
2161
|
+
this._margin = value;
|
|
2162
|
+
this.root.margin = value;
|
|
2163
|
+
}
|
|
2112
2164
|
maximizedView() {
|
|
2113
2165
|
var _a;
|
|
2114
2166
|
return (_a = this._maximizedNode) === null || _a === void 0 ? void 0 : _a.leaf.view;
|
|
@@ -2194,13 +2246,14 @@
|
|
|
2194
2246
|
this.disposable.dispose();
|
|
2195
2247
|
this._onDidChange.dispose();
|
|
2196
2248
|
this._onDidMaximizedNodeChange.dispose();
|
|
2249
|
+
this._onDidViewVisibilityChange.dispose();
|
|
2197
2250
|
this.root.dispose();
|
|
2198
2251
|
this._maximizedNode = undefined;
|
|
2199
2252
|
this.element.remove();
|
|
2200
2253
|
}
|
|
2201
2254
|
clear() {
|
|
2202
2255
|
const orientation = this.root.orientation;
|
|
2203
|
-
this.root = new BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize, this.
|
|
2256
|
+
this.root = new BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize, this.locked, this.margin);
|
|
2204
2257
|
}
|
|
2205
2258
|
deserialize(json, deserializer) {
|
|
2206
2259
|
const orientation = json.orientation;
|
|
@@ -2211,6 +2264,7 @@
|
|
|
2211
2264
|
this.root = this._deserializeNode(root, orientation, deserializer, orthogonalSize);
|
|
2212
2265
|
}
|
|
2213
2266
|
_deserializeNode(node, orientation, deserializer, orthogonalSize) {
|
|
2267
|
+
var _a;
|
|
2214
2268
|
let result;
|
|
2215
2269
|
if (node.type === 'branch') {
|
|
2216
2270
|
const serializedChildren = node.data;
|
|
@@ -2222,10 +2276,14 @@
|
|
|
2222
2276
|
});
|
|
2223
2277
|
result = new BranchNode(orientation, this.proportionalLayout, this.styles, node.size, // <- orthogonal size - flips at each depth
|
|
2224
2278
|
orthogonalSize, // <- size - flips at each depth,
|
|
2225
|
-
this.
|
|
2279
|
+
this.locked, this.margin, children);
|
|
2226
2280
|
}
|
|
2227
2281
|
else {
|
|
2228
|
-
|
|
2282
|
+
const view = deserializer.fromJSON(node);
|
|
2283
|
+
if (typeof node.visible === 'boolean') {
|
|
2284
|
+
(_a = view.setVisible) === null || _a === void 0 ? void 0 : _a.call(view, node.visible);
|
|
2285
|
+
}
|
|
2286
|
+
result = new LeafNode(view, orientation, orthogonalSize, node.size);
|
|
2229
2287
|
}
|
|
2230
2288
|
return result;
|
|
2231
2289
|
}
|
|
@@ -2255,7 +2313,7 @@
|
|
|
2255
2313
|
}
|
|
2256
2314
|
const oldRoot = this.root;
|
|
2257
2315
|
oldRoot.element.remove();
|
|
2258
|
-
this._root = new BranchNode(orthogonal(oldRoot.orientation), this.proportionalLayout, this.styles, this.root.orthogonalSize, this.root.size, this.
|
|
2316
|
+
this._root = new BranchNode(orthogonal(oldRoot.orientation), this.proportionalLayout, this.styles, this.root.orthogonalSize, this.root.size, this.locked, this.margin);
|
|
2259
2317
|
if (oldRoot.children.length === 0) ;
|
|
2260
2318
|
else if (oldRoot.children.length === 1) {
|
|
2261
2319
|
// can remove one level of redundant branching if there is only a single child
|
|
@@ -2320,19 +2378,24 @@
|
|
|
2320
2378
|
}
|
|
2321
2379
|
return findLeaf(this.root, reverse);
|
|
2322
2380
|
}
|
|
2323
|
-
constructor(proportionalLayout, styles, orientation) {
|
|
2381
|
+
constructor(proportionalLayout, styles, orientation, locked, margin) {
|
|
2324
2382
|
this.proportionalLayout = proportionalLayout;
|
|
2325
2383
|
this.styles = styles;
|
|
2326
2384
|
this._locked = false;
|
|
2385
|
+
this._margin = 0;
|
|
2327
2386
|
this._maximizedNode = undefined;
|
|
2328
2387
|
this.disposable = new MutableDisposable();
|
|
2329
2388
|
this._onDidChange = new Emitter();
|
|
2330
2389
|
this.onDidChange = this._onDidChange.event;
|
|
2390
|
+
this._onDidViewVisibilityChange = new Emitter();
|
|
2391
|
+
this.onDidViewVisibilityChange = this._onDidViewVisibilityChange.event;
|
|
2331
2392
|
this._onDidMaximizedNodeChange = new Emitter();
|
|
2332
2393
|
this.onDidMaximizedNodeChange = this._onDidMaximizedNodeChange.event;
|
|
2333
2394
|
this.element = document.createElement('div');
|
|
2334
2395
|
this.element.className = 'grid-view';
|
|
2335
|
-
this.
|
|
2396
|
+
this._locked = locked !== null && locked !== void 0 ? locked : false;
|
|
2397
|
+
this._margin = margin !== null && margin !== void 0 ? margin : 0;
|
|
2398
|
+
this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0, this.locked, this.margin);
|
|
2336
2399
|
}
|
|
2337
2400
|
isViewVisible(location) {
|
|
2338
2401
|
const [rest, index] = tail(location);
|
|
@@ -2351,6 +2414,7 @@
|
|
|
2351
2414
|
if (!(parent instanceof BranchNode)) {
|
|
2352
2415
|
throw new Error('Invalid from location');
|
|
2353
2416
|
}
|
|
2417
|
+
this._onDidViewVisibilityChange.fire();
|
|
2354
2418
|
parent.setChildVisible(index, visible);
|
|
2355
2419
|
}
|
|
2356
2420
|
moveView(parentLocation, from, to) {
|
|
@@ -2383,7 +2447,7 @@
|
|
|
2383
2447
|
}
|
|
2384
2448
|
const child = grandParent.removeChild(parentIndex);
|
|
2385
2449
|
child.dispose();
|
|
2386
|
-
const newParent = new BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize, this.
|
|
2450
|
+
const newParent = new BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize, this.locked, this.margin);
|
|
2387
2451
|
grandParent.addChild(newParent, parent.size, parentIndex);
|
|
2388
2452
|
const newSibling = new LeafNode(parent.view, grandParent.orientation, parent.size);
|
|
2389
2453
|
newParent.addChild(newSibling, newSiblingSize, 0);
|
|
@@ -2622,14 +2686,18 @@
|
|
|
2622
2686
|
this.onDidActiveChange = this._onDidActiveChange.event;
|
|
2623
2687
|
this._bufferOnDidLayoutChange = new AsapEvent();
|
|
2624
2688
|
this.onDidLayoutChange = this._bufferOnDidLayoutChange.onEvent;
|
|
2689
|
+
this._onDidViewVisibilityChangeMicroTaskQueue = new AsapEvent();
|
|
2690
|
+
this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
|
|
2625
2691
|
this.element.style.height = '100%';
|
|
2626
2692
|
this.element.style.width = '100%';
|
|
2627
2693
|
options.parentElement.appendChild(this.element);
|
|
2628
|
-
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation);
|
|
2694
|
+
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
|
|
2629
2695
|
this.gridview.locked = !!options.locked;
|
|
2630
2696
|
this.element.appendChild(this.gridview.element);
|
|
2631
2697
|
this.layout(0, 0, true); // set some elements height/widths
|
|
2632
|
-
this.addDisposables(
|
|
2698
|
+
this.addDisposables(this.gridview.onDidViewVisibilityChange(() => this._onDidViewVisibilityChangeMicroTaskQueue.fire()), this.onDidViewVisibilityChangeMicroTaskQueue(() => {
|
|
2699
|
+
this.layout(this.width, this.height, true);
|
|
2700
|
+
}), exports.DockviewDisposable.from(() => {
|
|
2633
2701
|
var _a;
|
|
2634
2702
|
(_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.element);
|
|
2635
2703
|
}), this.gridview.onDidChange(() => {
|
|
@@ -3207,6 +3275,9 @@
|
|
|
3207
3275
|
get totalPanels() {
|
|
3208
3276
|
return this.component.totalPanels;
|
|
3209
3277
|
}
|
|
3278
|
+
get gap() {
|
|
3279
|
+
return this.component.gap;
|
|
3280
|
+
}
|
|
3210
3281
|
/**
|
|
3211
3282
|
* Invoked when the active group changes. May be undefined if no group is active.
|
|
3212
3283
|
*/
|
|
@@ -3243,6 +3314,9 @@
|
|
|
3243
3314
|
get onDidRemovePanel() {
|
|
3244
3315
|
return this.component.onDidRemovePanel;
|
|
3245
3316
|
}
|
|
3317
|
+
get onDidMovePanel() {
|
|
3318
|
+
return this.component.onDidMovePanel;
|
|
3319
|
+
}
|
|
3246
3320
|
/**
|
|
3247
3321
|
* Invoked after a layout is deserialzied using the `fromJSON` method.
|
|
3248
3322
|
*/
|
|
@@ -3383,8 +3457,8 @@
|
|
|
3383
3457
|
/**
|
|
3384
3458
|
* Add a floating group
|
|
3385
3459
|
*/
|
|
3386
|
-
addFloatingGroup(item,
|
|
3387
|
-
return this.component.addFloatingGroup(item,
|
|
3460
|
+
addFloatingGroup(item, options) {
|
|
3461
|
+
return this.component.addFloatingGroup(item, options);
|
|
3388
3462
|
}
|
|
3389
3463
|
/**
|
|
3390
3464
|
* Create a component from a serialized object.
|
|
@@ -3434,6 +3508,9 @@
|
|
|
3434
3508
|
addPopoutGroup(item, options) {
|
|
3435
3509
|
return this.component.addPopoutGroup(item, options);
|
|
3436
3510
|
}
|
|
3511
|
+
setGap(gap) {
|
|
3512
|
+
this.component.updateOptions({ gap });
|
|
3513
|
+
}
|
|
3437
3514
|
}
|
|
3438
3515
|
|
|
3439
3516
|
class DragHandler extends CompositeDisposable {
|
|
@@ -4803,7 +4880,8 @@
|
|
|
4803
4880
|
this.accessor.addFloatingGroup(this.group, {
|
|
4804
4881
|
x: left - rootLeft + 20,
|
|
4805
4882
|
y: top - rootTop + 20,
|
|
4806
|
-
|
|
4883
|
+
inDragMode: true,
|
|
4884
|
+
});
|
|
4807
4885
|
}
|
|
4808
4886
|
}), addDisposableListener(this.tabContainer, 'mousedown', (event) => {
|
|
4809
4887
|
if (event.defaultPrevented) {
|
|
@@ -4872,7 +4950,8 @@
|
|
|
4872
4950
|
this.accessor.addFloatingGroup(panel, {
|
|
4873
4951
|
x: left - rootLeft,
|
|
4874
4952
|
y: top - rootTop,
|
|
4875
|
-
|
|
4953
|
+
inDragMode: true,
|
|
4954
|
+
});
|
|
4876
4955
|
return;
|
|
4877
4956
|
}
|
|
4878
4957
|
const isLeftClick = event.button === 0;
|
|
@@ -4945,6 +5024,7 @@
|
|
|
4945
5024
|
rootOverlayModel: undefined,
|
|
4946
5025
|
locked: undefined,
|
|
4947
5026
|
disableDnd: undefined,
|
|
5027
|
+
gap: undefined,
|
|
4948
5028
|
};
|
|
4949
5029
|
return Object.keys(properties);
|
|
4950
5030
|
})();
|
|
@@ -5675,6 +5755,9 @@
|
|
|
5675
5755
|
get isActive() {
|
|
5676
5756
|
return this.api.isActive;
|
|
5677
5757
|
}
|
|
5758
|
+
get isVisible() {
|
|
5759
|
+
return this.api.isVisible;
|
|
5760
|
+
}
|
|
5678
5761
|
constructor(id, component, options, api) {
|
|
5679
5762
|
super(id, component, api !== null && api !== void 0 ? api : new GridviewPanelApiImpl(id, component));
|
|
5680
5763
|
this._evaluatedMinimumWidth = 0;
|
|
@@ -6437,12 +6520,7 @@
|
|
|
6437
6520
|
this._element.appendChild(this.options.content);
|
|
6438
6521
|
this.options.container.appendChild(this._element);
|
|
6439
6522
|
// if input bad resize within acceptable boundaries
|
|
6440
|
-
this.setBounds({
|
|
6441
|
-
height: this.options.height,
|
|
6442
|
-
width: this.options.width,
|
|
6443
|
-
top: this.options.top,
|
|
6444
|
-
left: this.options.left,
|
|
6445
|
-
});
|
|
6523
|
+
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 })));
|
|
6446
6524
|
}
|
|
6447
6525
|
setBounds(bounds = {}) {
|
|
6448
6526
|
if (typeof bounds.height === 'number') {
|
|
@@ -6451,11 +6529,25 @@
|
|
|
6451
6529
|
if (typeof bounds.width === 'number') {
|
|
6452
6530
|
this._element.style.width = `${bounds.width}px`;
|
|
6453
6531
|
}
|
|
6454
|
-
if (typeof bounds.top === 'number') {
|
|
6532
|
+
if ('top' in bounds && typeof bounds.top === 'number') {
|
|
6455
6533
|
this._element.style.top = `${bounds.top}px`;
|
|
6534
|
+
this._element.style.bottom = 'auto';
|
|
6535
|
+
this.verticalAlignment = 'top';
|
|
6536
|
+
}
|
|
6537
|
+
if ('bottom' in bounds && typeof bounds.bottom === 'number') {
|
|
6538
|
+
this._element.style.bottom = `${bounds.bottom}px`;
|
|
6539
|
+
this._element.style.top = 'auto';
|
|
6540
|
+
this.verticalAlignment = 'bottom';
|
|
6456
6541
|
}
|
|
6457
|
-
if (typeof bounds.left === 'number') {
|
|
6542
|
+
if ('left' in bounds && typeof bounds.left === 'number') {
|
|
6458
6543
|
this._element.style.left = `${bounds.left}px`;
|
|
6544
|
+
this._element.style.right = 'auto';
|
|
6545
|
+
this.horiziontalAlignment = 'left';
|
|
6546
|
+
}
|
|
6547
|
+
if ('right' in bounds && typeof bounds.right === 'number') {
|
|
6548
|
+
this._element.style.right = `${bounds.right}px`;
|
|
6549
|
+
this._element.style.left = 'auto';
|
|
6550
|
+
this.horiziontalAlignment = 'right';
|
|
6459
6551
|
}
|
|
6460
6552
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
6461
6553
|
const overlayRect = this._element.getBoundingClientRect();
|
|
@@ -6463,24 +6555,54 @@
|
|
|
6463
6555
|
// a minimum width of minimumViewportWidth must be inside the viewport
|
|
6464
6556
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
6465
6557
|
// a minimum height of minimumViewportHeight must be inside the viewport
|
|
6466
|
-
const yOffset =
|
|
6467
|
-
|
|
6468
|
-
|
|
6469
|
-
|
|
6470
|
-
|
|
6471
|
-
|
|
6472
|
-
this.
|
|
6558
|
+
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
6559
|
+
if (this.verticalAlignment === 'top') {
|
|
6560
|
+
const top = clamp(overlayRect.top - containerRect.top, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6561
|
+
this._element.style.top = `${top}px`;
|
|
6562
|
+
this._element.style.bottom = 'auto';
|
|
6563
|
+
}
|
|
6564
|
+
if (this.verticalAlignment === 'bottom') {
|
|
6565
|
+
const bottom = clamp(containerRect.bottom - overlayRect.bottom, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6566
|
+
this._element.style.bottom = `${bottom}px`;
|
|
6567
|
+
this._element.style.top = 'auto';
|
|
6568
|
+
}
|
|
6569
|
+
if (this.horiziontalAlignment === 'left') {
|
|
6570
|
+
const left = clamp(overlayRect.left - containerRect.left, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6571
|
+
this._element.style.left = `${left}px`;
|
|
6572
|
+
this._element.style.right = 'auto';
|
|
6573
|
+
}
|
|
6574
|
+
if (this.horiziontalAlignment === 'right') {
|
|
6575
|
+
const right = clamp(containerRect.right - overlayRect.right, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6576
|
+
this._element.style.right = `${right}px`;
|
|
6577
|
+
this._element.style.left = 'auto';
|
|
6578
|
+
}
|
|
6473
6579
|
this._onDidChange.fire();
|
|
6474
6580
|
}
|
|
6475
6581
|
toJSON() {
|
|
6476
6582
|
const container = this.options.container.getBoundingClientRect();
|
|
6477
6583
|
const element = this._element.getBoundingClientRect();
|
|
6478
|
-
|
|
6479
|
-
|
|
6480
|
-
|
|
6481
|
-
|
|
6482
|
-
|
|
6483
|
-
|
|
6584
|
+
const result = {};
|
|
6585
|
+
if (this.verticalAlignment === 'top') {
|
|
6586
|
+
result.top = parseFloat(this._element.style.top);
|
|
6587
|
+
}
|
|
6588
|
+
else if (this.verticalAlignment === 'bottom') {
|
|
6589
|
+
result.bottom = parseFloat(this._element.style.bottom);
|
|
6590
|
+
}
|
|
6591
|
+
else {
|
|
6592
|
+
result.top = element.top - container.top;
|
|
6593
|
+
}
|
|
6594
|
+
if (this.horiziontalAlignment === 'left') {
|
|
6595
|
+
result.left = parseFloat(this._element.style.left);
|
|
6596
|
+
}
|
|
6597
|
+
else if (this.horiziontalAlignment === 'right') {
|
|
6598
|
+
result.right = parseFloat(this._element.style.right);
|
|
6599
|
+
}
|
|
6600
|
+
else {
|
|
6601
|
+
result.left = element.left - container.left;
|
|
6602
|
+
}
|
|
6603
|
+
result.width = element.width;
|
|
6604
|
+
result.height = element.height;
|
|
6605
|
+
return result;
|
|
6484
6606
|
}
|
|
6485
6607
|
setupDrag(dragTarget, options = { inDragMode: false }) {
|
|
6486
6608
|
const move = new MutableDisposable();
|
|
@@ -6512,12 +6634,30 @@
|
|
|
6512
6634
|
};
|
|
6513
6635
|
}
|
|
6514
6636
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
6515
|
-
const yOffset = Math.max(0, this.
|
|
6516
|
-
? this.getMinimumHeight(overlayRect.height)
|
|
6517
|
-
: 0);
|
|
6518
|
-
const left = clamp(x - offset.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6637
|
+
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
6519
6638
|
const top = clamp(y - offset.y, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6520
|
-
|
|
6639
|
+
const bottom = clamp(offset.y -
|
|
6640
|
+
y +
|
|
6641
|
+
containerRect.height -
|
|
6642
|
+
overlayRect.height, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6643
|
+
const left = clamp(x - offset.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6644
|
+
const right = clamp(offset.x - x + containerRect.width - overlayRect.width, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6645
|
+
const bounds = {};
|
|
6646
|
+
// Anchor to top or to bottom depending on which one is closer
|
|
6647
|
+
if (top <= bottom) {
|
|
6648
|
+
bounds.top = top;
|
|
6649
|
+
}
|
|
6650
|
+
else {
|
|
6651
|
+
bounds.bottom = bottom;
|
|
6652
|
+
}
|
|
6653
|
+
// Anchor to left or to right depending on which one is closer
|
|
6654
|
+
if (left <= right) {
|
|
6655
|
+
bounds.left = left;
|
|
6656
|
+
}
|
|
6657
|
+
else {
|
|
6658
|
+
bounds.right = right;
|
|
6659
|
+
}
|
|
6660
|
+
this.setBounds(bounds);
|
|
6521
6661
|
}), addDisposableWindowListener(window, 'mouseup', () => {
|
|
6522
6662
|
toggleClass(this._element, 'dv-resize-container-dragging', false);
|
|
6523
6663
|
move.dispose();
|
|
@@ -6585,8 +6725,10 @@
|
|
|
6585
6725
|
};
|
|
6586
6726
|
}
|
|
6587
6727
|
let top = undefined;
|
|
6728
|
+
let bottom = undefined;
|
|
6588
6729
|
let height = undefined;
|
|
6589
6730
|
let left = undefined;
|
|
6731
|
+
let right = undefined;
|
|
6590
6732
|
let width = undefined;
|
|
6591
6733
|
const moveTop = () => {
|
|
6592
6734
|
top = clamp(y, -Number.MAX_VALUE, startPosition.originalY +
|
|
@@ -6600,6 +6742,7 @@
|
|
|
6600
6742
|
startPosition.originalY +
|
|
6601
6743
|
startPosition.originalHeight -
|
|
6602
6744
|
top;
|
|
6745
|
+
bottom = containerRect.height - top - height;
|
|
6603
6746
|
};
|
|
6604
6747
|
const moveBottom = () => {
|
|
6605
6748
|
top =
|
|
@@ -6611,6 +6754,7 @@
|
|
|
6611
6754
|
? -top +
|
|
6612
6755
|
this.options.minimumInViewportHeight
|
|
6613
6756
|
: Overlay.MINIMUM_HEIGHT, Number.MAX_VALUE);
|
|
6757
|
+
bottom = containerRect.height - top - height;
|
|
6614
6758
|
};
|
|
6615
6759
|
const moveLeft = () => {
|
|
6616
6760
|
left = clamp(x, -Number.MAX_VALUE, startPosition.originalX +
|
|
@@ -6624,6 +6768,7 @@
|
|
|
6624
6768
|
startPosition.originalX +
|
|
6625
6769
|
startPosition.originalWidth -
|
|
6626
6770
|
left;
|
|
6771
|
+
right = containerRect.width - left - width;
|
|
6627
6772
|
};
|
|
6628
6773
|
const moveRight = () => {
|
|
6629
6774
|
left =
|
|
@@ -6635,6 +6780,7 @@
|
|
|
6635
6780
|
? -left +
|
|
6636
6781
|
this.options.minimumInViewportWidth
|
|
6637
6782
|
: Overlay.MINIMUM_WIDTH, Number.MAX_VALUE);
|
|
6783
|
+
right = containerRect.width - left - width;
|
|
6638
6784
|
};
|
|
6639
6785
|
switch (direction) {
|
|
6640
6786
|
case 'top':
|
|
@@ -6666,7 +6812,24 @@
|
|
|
6666
6812
|
moveRight();
|
|
6667
6813
|
break;
|
|
6668
6814
|
}
|
|
6669
|
-
|
|
6815
|
+
const bounds = {};
|
|
6816
|
+
// Anchor to top or to bottom depending on which one is closer
|
|
6817
|
+
if (top <= bottom) {
|
|
6818
|
+
bounds.top = top;
|
|
6819
|
+
}
|
|
6820
|
+
else {
|
|
6821
|
+
bounds.bottom = bottom;
|
|
6822
|
+
}
|
|
6823
|
+
// Anchor to left or to right depending on which one is closer
|
|
6824
|
+
if (left <= right) {
|
|
6825
|
+
bounds.left = left;
|
|
6826
|
+
}
|
|
6827
|
+
else {
|
|
6828
|
+
bounds.right = right;
|
|
6829
|
+
}
|
|
6830
|
+
bounds.height = height;
|
|
6831
|
+
bounds.width = width;
|
|
6832
|
+
this.setBounds(bounds);
|
|
6670
6833
|
}), {
|
|
6671
6834
|
dispose: () => {
|
|
6672
6835
|
for (const iframe of iframes) {
|
|
@@ -6689,7 +6852,7 @@
|
|
|
6689
6852
|
if (typeof this.options.minimumInViewportHeight === 'number') {
|
|
6690
6853
|
return height - this.options.minimumInViewportHeight;
|
|
6691
6854
|
}
|
|
6692
|
-
return
|
|
6855
|
+
return 0;
|
|
6693
6856
|
}
|
|
6694
6857
|
dispose() {
|
|
6695
6858
|
this._element.remove();
|
|
@@ -6712,7 +6875,7 @@
|
|
|
6712
6875
|
}
|
|
6713
6876
|
|
|
6714
6877
|
const DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE = 100;
|
|
6715
|
-
const DEFAULT_FLOATING_GROUP_POSITION = { left: 100, top: 100 };
|
|
6878
|
+
const DEFAULT_FLOATING_GROUP_POSITION = { left: 100, top: 100, width: 300, height: 300 };
|
|
6716
6879
|
|
|
6717
6880
|
function createFocusableElement() {
|
|
6718
6881
|
const element = document.createElement('div');
|
|
@@ -7067,6 +7230,9 @@
|
|
|
7067
7230
|
get api() {
|
|
7068
7231
|
return this._api;
|
|
7069
7232
|
}
|
|
7233
|
+
get gap() {
|
|
7234
|
+
return this.gridview.margin;
|
|
7235
|
+
}
|
|
7070
7236
|
constructor(options) {
|
|
7071
7237
|
var _a;
|
|
7072
7238
|
super({
|
|
@@ -7078,6 +7244,7 @@
|
|
|
7078
7244
|
parentElement: options.parentElement,
|
|
7079
7245
|
disableAutoResizing: options.disableAutoResizing,
|
|
7080
7246
|
locked: options.locked,
|
|
7247
|
+
margin: options.gap,
|
|
7081
7248
|
});
|
|
7082
7249
|
this.nextGroupId = sequentialNumberGenerator();
|
|
7083
7250
|
this._deserializer = new DefaultDockviewDeserialzier(this);
|
|
@@ -7103,9 +7270,9 @@
|
|
|
7103
7270
|
this._onDidActivePanelChange = new Emitter();
|
|
7104
7271
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
7105
7272
|
this._onDidMovePanel = new Emitter();
|
|
7273
|
+
this.onDidMovePanel = this._onDidMovePanel.event;
|
|
7106
7274
|
this._floatingGroups = [];
|
|
7107
7275
|
this._popoutGroups = [];
|
|
7108
|
-
this._ignoreEvents = 0;
|
|
7109
7276
|
this._onDidRemoveGroup = new Emitter();
|
|
7110
7277
|
this.onDidRemoveGroup = this._onDidRemoveGroup.event;
|
|
7111
7278
|
this._onDidAddGroup = new Emitter();
|
|
@@ -7119,7 +7286,9 @@
|
|
|
7119
7286
|
this.overlayRenderContainer = new OverlayRenderContainer(gready);
|
|
7120
7287
|
toggleClass(this.gridview.element, 'dv-dockview', true);
|
|
7121
7288
|
toggleClass(this.element, 'dv-debug', !!options.debug);
|
|
7122
|
-
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.
|
|
7289
|
+
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(() => {
|
|
7290
|
+
this.updateWatermark();
|
|
7291
|
+
}), this.onDidAdd((event) => {
|
|
7123
7292
|
if (!this._moving) {
|
|
7124
7293
|
this._onDidAddGroup.fire(event);
|
|
7125
7294
|
}
|
|
@@ -7133,7 +7302,7 @@
|
|
|
7133
7302
|
}
|
|
7134
7303
|
}), exports.DockviewEvent.any(this.onDidAdd, this.onDidRemove)(() => {
|
|
7135
7304
|
this.updateWatermark();
|
|
7136
|
-
}), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
|
|
7305
|
+
}), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidAddGroup, this.onDidRemove, this.onDidMovePanel, this.onDidActivePanelChange)(() => {
|
|
7137
7306
|
this._bufferOnDidLayoutChange.fire();
|
|
7138
7307
|
}), exports.DockviewDisposable.from(() => {
|
|
7139
7308
|
// iterate over a copy of the array since .dispose() mutates the original array
|
|
@@ -7233,7 +7402,7 @@
|
|
|
7233
7402
|
var _a, _b, _c;
|
|
7234
7403
|
if (itemToPopout instanceof DockviewPanel &&
|
|
7235
7404
|
itemToPopout.group.size === 1) {
|
|
7236
|
-
return this.addPopoutGroup(itemToPopout.group);
|
|
7405
|
+
return this.addPopoutGroup(itemToPopout.group, options);
|
|
7237
7406
|
}
|
|
7238
7407
|
const theme = getDockviewTheme(this.gridview.element);
|
|
7239
7408
|
const element = this.element;
|
|
@@ -7384,8 +7553,8 @@
|
|
|
7384
7553
|
console.error('dockview: failed to create popout window', err);
|
|
7385
7554
|
});
|
|
7386
7555
|
}
|
|
7387
|
-
addFloatingGroup(item,
|
|
7388
|
-
var _a, _b, _c, _d, _e
|
|
7556
|
+
addFloatingGroup(item, options) {
|
|
7557
|
+
var _a, _b, _c, _d, _e;
|
|
7389
7558
|
let group;
|
|
7390
7559
|
if (item instanceof DockviewPanel) {
|
|
7391
7560
|
group = this.createGroup();
|
|
@@ -7430,26 +7599,62 @@
|
|
|
7430
7599
|
}
|
|
7431
7600
|
}
|
|
7432
7601
|
group.model.location = { type: 'floating' };
|
|
7433
|
-
|
|
7434
|
-
|
|
7435
|
-
|
|
7436
|
-
|
|
7437
|
-
|
|
7438
|
-
|
|
7439
|
-
|
|
7440
|
-
|
|
7441
|
-
|
|
7442
|
-
|
|
7443
|
-
|
|
7444
|
-
|
|
7445
|
-
|
|
7446
|
-
|
|
7602
|
+
function getAnchoredBox() {
|
|
7603
|
+
if (options === null || options === void 0 ? void 0 : options.position) {
|
|
7604
|
+
const result = {};
|
|
7605
|
+
if ('left' in options.position) {
|
|
7606
|
+
result.left = Math.max(options.position.left, 0);
|
|
7607
|
+
}
|
|
7608
|
+
else if ('right' in options.position) {
|
|
7609
|
+
result.right = Math.max(options.position.right, 0);
|
|
7610
|
+
}
|
|
7611
|
+
else {
|
|
7612
|
+
result.left = DEFAULT_FLOATING_GROUP_POSITION.left;
|
|
7613
|
+
}
|
|
7614
|
+
if ('top' in options.position) {
|
|
7615
|
+
result.top = Math.max(options.position.top, 0);
|
|
7616
|
+
}
|
|
7617
|
+
else if ('bottom' in options.position) {
|
|
7618
|
+
result.bottom = Math.max(options.position.bottom, 0);
|
|
7619
|
+
}
|
|
7620
|
+
else {
|
|
7621
|
+
result.top = DEFAULT_FLOATING_GROUP_POSITION.top;
|
|
7622
|
+
}
|
|
7623
|
+
if (typeof options.width === 'number') {
|
|
7624
|
+
result.width = Math.max(options.width, 0);
|
|
7625
|
+
}
|
|
7626
|
+
else {
|
|
7627
|
+
result.width = DEFAULT_FLOATING_GROUP_POSITION.width;
|
|
7628
|
+
}
|
|
7629
|
+
if (typeof options.height === 'number') {
|
|
7630
|
+
result.height = Math.max(options.height, 0);
|
|
7631
|
+
}
|
|
7632
|
+
else {
|
|
7633
|
+
result.height = DEFAULT_FLOATING_GROUP_POSITION.height;
|
|
7634
|
+
}
|
|
7635
|
+
return result;
|
|
7636
|
+
}
|
|
7637
|
+
return {
|
|
7638
|
+
left: typeof (options === null || options === void 0 ? void 0 : options.x) === 'number'
|
|
7639
|
+
? Math.max(options.x, 0)
|
|
7640
|
+
: DEFAULT_FLOATING_GROUP_POSITION.left,
|
|
7641
|
+
top: typeof (options === null || options === void 0 ? void 0 : options.y) === 'number'
|
|
7642
|
+
? Math.max(options.y, 0)
|
|
7643
|
+
: DEFAULT_FLOATING_GROUP_POSITION.top,
|
|
7644
|
+
width: typeof (options === null || options === void 0 ? void 0 : options.width) === 'number'
|
|
7645
|
+
? Math.max(options.width, 0)
|
|
7646
|
+
: DEFAULT_FLOATING_GROUP_POSITION.width,
|
|
7647
|
+
height: typeof (options === null || options === void 0 ? void 0 : options.height) === 'number'
|
|
7648
|
+
? Math.max(options.height, 0)
|
|
7649
|
+
: DEFAULT_FLOATING_GROUP_POSITION.height,
|
|
7650
|
+
};
|
|
7651
|
+
}
|
|
7652
|
+
const anchoredBox = getAnchoredBox();
|
|
7653
|
+
const overlay = new Overlay(Object.assign(Object.assign({ container: this.gridview.element, content: group.element }, anchoredBox), { minimumInViewportWidth: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7447
7654
|
? undefined
|
|
7448
|
-
: (
|
|
7449
|
-
minimumInViewportHeight: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7655
|
+
: (_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'
|
|
7450
7656
|
? undefined
|
|
7451
|
-
: (
|
|
7452
|
-
});
|
|
7657
|
+
: (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumHeightWithinViewport) !== null && _e !== void 0 ? _e : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE }));
|
|
7453
7658
|
const el = group.element.querySelector('.void-container');
|
|
7454
7659
|
if (!el) {
|
|
7455
7660
|
throw new Error('failed to find drag handle');
|
|
@@ -7547,12 +7752,21 @@
|
|
|
7547
7752
|
group.overlay.minimumInViewportWidth =
|
|
7548
7753
|
(_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport;
|
|
7549
7754
|
}
|
|
7550
|
-
group.overlay.setBounds(
|
|
7755
|
+
group.overlay.setBounds();
|
|
7551
7756
|
}
|
|
7552
7757
|
}
|
|
7553
7758
|
if (changed_rootOverlayOptions) {
|
|
7554
7759
|
this._rootDropTarget.setOverlayModel(options.rootOverlayModel);
|
|
7555
7760
|
}
|
|
7761
|
+
if (
|
|
7762
|
+
// if explicitly set as `undefined`
|
|
7763
|
+
'gap' in options &&
|
|
7764
|
+
options.gap === undefined) {
|
|
7765
|
+
this.gridview.margin = 0;
|
|
7766
|
+
}
|
|
7767
|
+
if (typeof options.gap === 'number') {
|
|
7768
|
+
this.gridview.margin = options.gap;
|
|
7769
|
+
}
|
|
7556
7770
|
this.layout(this.gridview.width, this.gridview.height, true);
|
|
7557
7771
|
}
|
|
7558
7772
|
layout(width, height, forceResize) {
|
|
@@ -7714,11 +7928,10 @@
|
|
|
7714
7928
|
const { data, position } = serializedFloatingGroup;
|
|
7715
7929
|
const group = createGroupFromSerializedState(data);
|
|
7716
7930
|
this.addFloatingGroup(group, {
|
|
7717
|
-
|
|
7718
|
-
|
|
7719
|
-
|
|
7720
|
-
|
|
7721
|
-
}, { skipRemoveGroup: true, inDragMode: false });
|
|
7931
|
+
position: position,
|
|
7932
|
+
skipRemoveGroup: true,
|
|
7933
|
+
inDragMode: false,
|
|
7934
|
+
});
|
|
7722
7935
|
}
|
|
7723
7936
|
const serializedPopoutGroups = (_b = data.popoutGroups) !== null && _b !== void 0 ? _b : [];
|
|
7724
7937
|
for (const serializedPopoutGroup of serializedPopoutGroups) {
|
|
@@ -7849,15 +8062,11 @@
|
|
|
7849
8062
|
if (options.floating) {
|
|
7850
8063
|
const group = this.createGroup();
|
|
7851
8064
|
this._onDidAddGroup.fire(group);
|
|
7852
|
-
const
|
|
8065
|
+
const floatingGroupOptions = typeof options.floating === 'object' &&
|
|
7853
8066
|
options.floating !== null
|
|
7854
8067
|
? options.floating
|
|
7855
8068
|
: {};
|
|
7856
|
-
this.addFloatingGroup(group,
|
|
7857
|
-
inDragMode: false,
|
|
7858
|
-
skipRemoveGroup: true,
|
|
7859
|
-
skipActiveGroup: true,
|
|
7860
|
-
});
|
|
8069
|
+
this.addFloatingGroup(group, Object.assign(Object.assign({}, floatingGroupOptions), { inDragMode: false, skipRemoveGroup: true, skipActiveGroup: true }));
|
|
7861
8070
|
panel = this.createPanel(options, group);
|
|
7862
8071
|
group.model.openPanel(panel, {
|
|
7863
8072
|
skipSetActive: options.inactive,
|
|
@@ -7896,11 +8105,7 @@
|
|
|
7896
8105
|
options.floating !== null
|
|
7897
8106
|
? options.floating
|
|
7898
8107
|
: {};
|
|
7899
|
-
this.addFloatingGroup(group, coordinates, {
|
|
7900
|
-
inDragMode: false,
|
|
7901
|
-
skipRemoveGroup: true,
|
|
7902
|
-
skipActiveGroup: true,
|
|
7903
|
-
});
|
|
8108
|
+
this.addFloatingGroup(group, Object.assign(Object.assign({}, coordinates), { inDragMode: false, skipRemoveGroup: true, skipActiveGroup: true }));
|
|
7904
8109
|
panel = this.createPanel(options, group);
|
|
7905
8110
|
group.model.openPanel(panel, {
|
|
7906
8111
|
skipSetActive: options.inactive,
|
|
@@ -7955,6 +8160,7 @@
|
|
|
7955
8160
|
});
|
|
7956
8161
|
const watermarkContainer = document.createElement('div');
|
|
7957
8162
|
watermarkContainer.className = 'dv-watermark-container';
|
|
8163
|
+
addTestId(watermarkContainer, 'watermark-component');
|
|
7958
8164
|
watermarkContainer.appendChild(this.watermark.element);
|
|
7959
8165
|
this.gridview.element.appendChild(watermarkContainer);
|
|
7960
8166
|
}
|
|
@@ -8143,6 +8349,7 @@
|
|
|
8143
8349
|
this.doSetGroupAndPanelActive(destinationGroup);
|
|
8144
8350
|
this._onDidMovePanel.fire({
|
|
8145
8351
|
panel: removedPanel,
|
|
8352
|
+
from: sourceGroup,
|
|
8146
8353
|
});
|
|
8147
8354
|
}
|
|
8148
8355
|
else {
|
|
@@ -8166,6 +8373,10 @@
|
|
|
8166
8373
|
// if a group has one tab - we are essentially moving the 'group'
|
|
8167
8374
|
// which is equivalent to swapping two views in this case
|
|
8168
8375
|
this.gridview.moveView(sourceParentLocation, from, to);
|
|
8376
|
+
this._onDidMovePanel.fire({
|
|
8377
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8378
|
+
from: sourceGroup,
|
|
8379
|
+
});
|
|
8169
8380
|
return;
|
|
8170
8381
|
}
|
|
8171
8382
|
}
|
|
@@ -8179,6 +8390,10 @@
|
|
|
8179
8390
|
const location = getRelativeLocation(this.gridview.orientation, updatedReferenceLocation, destinationTarget);
|
|
8180
8391
|
this.movingLock(() => this.doAddGroup(targetGroup, location));
|
|
8181
8392
|
this.doSetGroupAndPanelActive(targetGroup);
|
|
8393
|
+
this._onDidMovePanel.fire({
|
|
8394
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8395
|
+
from: sourceGroup,
|
|
8396
|
+
});
|
|
8182
8397
|
}
|
|
8183
8398
|
else {
|
|
8184
8399
|
/**
|
|
@@ -8198,6 +8413,10 @@
|
|
|
8198
8413
|
skipSetGroupActive: true,
|
|
8199
8414
|
}));
|
|
8200
8415
|
this.doSetGroupAndPanelActive(group);
|
|
8416
|
+
this._onDidMovePanel.fire({
|
|
8417
|
+
panel: removedPanel,
|
|
8418
|
+
from: sourceGroup,
|
|
8419
|
+
});
|
|
8201
8420
|
}
|
|
8202
8421
|
}
|
|
8203
8422
|
}
|
|
@@ -8222,9 +8441,6 @@
|
|
|
8222
8441
|
}
|
|
8223
8442
|
});
|
|
8224
8443
|
this.doSetGroupAndPanelActive(to);
|
|
8225
|
-
panels.forEach((panel) => {
|
|
8226
|
-
this._onDidMovePanel.fire({ panel });
|
|
8227
|
-
});
|
|
8228
8444
|
}
|
|
8229
8445
|
else {
|
|
8230
8446
|
switch (from.api.location.type) {
|
|
@@ -8250,10 +8466,10 @@
|
|
|
8250
8466
|
const referenceLocation = getGridLocation(to.element);
|
|
8251
8467
|
const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
|
|
8252
8468
|
this.gridview.addView(from, exports.Sizing.Distribute, dropLocation);
|
|
8253
|
-
from.panels.forEach((panel) => {
|
|
8254
|
-
this._onDidMovePanel.fire({ panel });
|
|
8255
|
-
});
|
|
8256
8469
|
}
|
|
8470
|
+
from.panels.forEach((panel) => {
|
|
8471
|
+
this._onDidMovePanel.fire({ panel, from });
|
|
8472
|
+
});
|
|
8257
8473
|
}
|
|
8258
8474
|
doSetGroupActive(group) {
|
|
8259
8475
|
super.doSetGroupActive(group);
|