dockview-core 1.14.2 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/component.api.d.ts +4 -5
- package/dist/cjs/api/component.api.js +12 -2
- package/dist/cjs/constants.d.ts +2 -0
- package/dist/cjs/constants.js +1 -1
- package/dist/cjs/dnd/overlay.d.ts +6 -4
- package/dist/cjs/dnd/overlay.js +119 -28
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +4 -2
- package/dist/cjs/dockview/dockviewComponent.d.ts +20 -17
- package/dist/cjs/dockview/dockviewComponent.js +92 -45
- package/dist/cjs/dockview/dockviewFloatingGroupPanel.d.ts +3 -12
- package/dist/cjs/dockview/options.d.ts +10 -6
- package/dist/cjs/dockview/options.js +1 -0
- package/dist/cjs/dom.d.ts +1 -0
- package/dist/cjs/dom.js +5 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts +3 -0
- package/dist/cjs/gridview/baseComponentGridview.js +8 -2
- package/dist/cjs/gridview/branchNode.d.ts +7 -3
- package/dist/cjs/gridview/branchNode.js +24 -29
- package/dist/cjs/gridview/gridview.d.ts +7 -1
- package/dist/cjs/gridview/gridview.js +31 -8
- package/dist/cjs/gridview/gridviewPanel.d.ts +1 -0
- package/dist/cjs/gridview/gridviewPanel.js +7 -0
- package/dist/cjs/math.js +5 -1
- package/dist/cjs/splitview/splitview.d.ts +13 -0
- package/dist/cjs/splitview/splitview.js +42 -12
- package/dist/cjs/types.d.ts +23 -0
- package/dist/dockview-core.amd.js +317 -110
- 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 +316 -109
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +317 -110
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +317 -110
- 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 +317 -110
- 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 +316 -109
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/component.api.d.ts +4 -5
- package/dist/esm/api/component.api.js +8 -2
- package/dist/esm/constants.d.ts +2 -0
- package/dist/esm/constants.js +1 -1
- package/dist/esm/dnd/overlay.d.ts +6 -4
- package/dist/esm/dnd/overlay.js +108 -28
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +4 -2
- package/dist/esm/dockview/dockviewComponent.d.ts +20 -17
- package/dist/esm/dockview/dockviewComponent.js +93 -46
- package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +3 -12
- package/dist/esm/dockview/options.d.ts +10 -6
- package/dist/esm/dockview/options.js +1 -0
- package/dist/esm/dom.d.ts +1 -0
- package/dist/esm/dom.js +3 -0
- package/dist/esm/gridview/baseComponentGridview.d.ts +3 -0
- package/dist/esm/gridview/baseComponentGridview.js +6 -2
- package/dist/esm/gridview/branchNode.d.ts +7 -3
- package/dist/esm/gridview/branchNode.js +19 -7
- package/dist/esm/gridview/gridview.d.ts +7 -1
- package/dist/esm/gridview/gridview.js +27 -8
- package/dist/esm/gridview/gridviewPanel.d.ts +1 -0
- package/dist/esm/gridview/gridviewPanel.js +3 -0
- package/dist/esm/math.js +5 -1
- package/dist/esm/splitview/splitview.d.ts +13 -0
- package/dist/esm/splitview/splitview.js +38 -12
- package/dist/esm/types.d.ts +23 -0
- package/dist/styles/dockview.css +0 -13
- package/package.json +1 -1
package/dist/dockview-core.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-core
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 1.15.0
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -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(() => {
|
|
@@ -3243,6 +3311,9 @@
|
|
|
3243
3311
|
get onDidRemovePanel() {
|
|
3244
3312
|
return this.component.onDidRemovePanel;
|
|
3245
3313
|
}
|
|
3314
|
+
get onDidMovePanel() {
|
|
3315
|
+
return this.component.onDidMovePanel;
|
|
3316
|
+
}
|
|
3246
3317
|
/**
|
|
3247
3318
|
* Invoked after a layout is deserialzied using the `fromJSON` method.
|
|
3248
3319
|
*/
|
|
@@ -3383,8 +3454,8 @@
|
|
|
3383
3454
|
/**
|
|
3384
3455
|
* Add a floating group
|
|
3385
3456
|
*/
|
|
3386
|
-
addFloatingGroup(item,
|
|
3387
|
-
return this.component.addFloatingGroup(item,
|
|
3457
|
+
addFloatingGroup(item, options) {
|
|
3458
|
+
return this.component.addFloatingGroup(item, options);
|
|
3388
3459
|
}
|
|
3389
3460
|
/**
|
|
3390
3461
|
* Create a component from a serialized object.
|
|
@@ -3434,6 +3505,9 @@
|
|
|
3434
3505
|
addPopoutGroup(item, options) {
|
|
3435
3506
|
return this.component.addPopoutGroup(item, options);
|
|
3436
3507
|
}
|
|
3508
|
+
setGap(gap) {
|
|
3509
|
+
this.component.updateOptions({ gap });
|
|
3510
|
+
}
|
|
3437
3511
|
}
|
|
3438
3512
|
|
|
3439
3513
|
class DragHandler extends CompositeDisposable {
|
|
@@ -4803,7 +4877,8 @@
|
|
|
4803
4877
|
this.accessor.addFloatingGroup(this.group, {
|
|
4804
4878
|
x: left - rootLeft + 20,
|
|
4805
4879
|
y: top - rootTop + 20,
|
|
4806
|
-
|
|
4880
|
+
inDragMode: true,
|
|
4881
|
+
});
|
|
4807
4882
|
}
|
|
4808
4883
|
}), addDisposableListener(this.tabContainer, 'mousedown', (event) => {
|
|
4809
4884
|
if (event.defaultPrevented) {
|
|
@@ -4872,7 +4947,8 @@
|
|
|
4872
4947
|
this.accessor.addFloatingGroup(panel, {
|
|
4873
4948
|
x: left - rootLeft,
|
|
4874
4949
|
y: top - rootTop,
|
|
4875
|
-
|
|
4950
|
+
inDragMode: true,
|
|
4951
|
+
});
|
|
4876
4952
|
return;
|
|
4877
4953
|
}
|
|
4878
4954
|
const isLeftClick = event.button === 0;
|
|
@@ -4945,6 +5021,7 @@
|
|
|
4945
5021
|
rootOverlayModel: undefined,
|
|
4946
5022
|
locked: undefined,
|
|
4947
5023
|
disableDnd: undefined,
|
|
5024
|
+
gap: undefined,
|
|
4948
5025
|
};
|
|
4949
5026
|
return Object.keys(properties);
|
|
4950
5027
|
})();
|
|
@@ -5675,6 +5752,9 @@
|
|
|
5675
5752
|
get isActive() {
|
|
5676
5753
|
return this.api.isActive;
|
|
5677
5754
|
}
|
|
5755
|
+
get isVisible() {
|
|
5756
|
+
return this.api.isVisible;
|
|
5757
|
+
}
|
|
5678
5758
|
constructor(id, component, options, api) {
|
|
5679
5759
|
super(id, component, api !== null && api !== void 0 ? api : new GridviewPanelApiImpl(id, component));
|
|
5680
5760
|
this._evaluatedMinimumWidth = 0;
|
|
@@ -6437,12 +6517,7 @@
|
|
|
6437
6517
|
this._element.appendChild(this.options.content);
|
|
6438
6518
|
this.options.container.appendChild(this._element);
|
|
6439
6519
|
// 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
|
-
});
|
|
6520
|
+
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
6521
|
}
|
|
6447
6522
|
setBounds(bounds = {}) {
|
|
6448
6523
|
if (typeof bounds.height === 'number') {
|
|
@@ -6451,11 +6526,25 @@
|
|
|
6451
6526
|
if (typeof bounds.width === 'number') {
|
|
6452
6527
|
this._element.style.width = `${bounds.width}px`;
|
|
6453
6528
|
}
|
|
6454
|
-
if (typeof bounds.top === 'number') {
|
|
6529
|
+
if ('top' in bounds && typeof bounds.top === 'number') {
|
|
6455
6530
|
this._element.style.top = `${bounds.top}px`;
|
|
6531
|
+
this._element.style.bottom = 'auto';
|
|
6532
|
+
this.verticalAlignment = 'top';
|
|
6533
|
+
}
|
|
6534
|
+
if ('bottom' in bounds && typeof bounds.bottom === 'number') {
|
|
6535
|
+
this._element.style.bottom = `${bounds.bottom}px`;
|
|
6536
|
+
this._element.style.top = 'auto';
|
|
6537
|
+
this.verticalAlignment = 'bottom';
|
|
6456
6538
|
}
|
|
6457
|
-
if (typeof bounds.left === 'number') {
|
|
6539
|
+
if ('left' in bounds && typeof bounds.left === 'number') {
|
|
6458
6540
|
this._element.style.left = `${bounds.left}px`;
|
|
6541
|
+
this._element.style.right = 'auto';
|
|
6542
|
+
this.horiziontalAlignment = 'left';
|
|
6543
|
+
}
|
|
6544
|
+
if ('right' in bounds && typeof bounds.right === 'number') {
|
|
6545
|
+
this._element.style.right = `${bounds.right}px`;
|
|
6546
|
+
this._element.style.left = 'auto';
|
|
6547
|
+
this.horiziontalAlignment = 'right';
|
|
6459
6548
|
}
|
|
6460
6549
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
6461
6550
|
const overlayRect = this._element.getBoundingClientRect();
|
|
@@ -6463,24 +6552,54 @@
|
|
|
6463
6552
|
// a minimum width of minimumViewportWidth must be inside the viewport
|
|
6464
6553
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
6465
6554
|
// a minimum height of minimumViewportHeight must be inside the viewport
|
|
6466
|
-
const yOffset =
|
|
6467
|
-
|
|
6468
|
-
|
|
6469
|
-
|
|
6470
|
-
|
|
6471
|
-
|
|
6472
|
-
this.
|
|
6555
|
+
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
6556
|
+
if (this.verticalAlignment === 'top') {
|
|
6557
|
+
const top = clamp(overlayRect.top - containerRect.top, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6558
|
+
this._element.style.top = `${top}px`;
|
|
6559
|
+
this._element.style.bottom = 'auto';
|
|
6560
|
+
}
|
|
6561
|
+
if (this.verticalAlignment === 'bottom') {
|
|
6562
|
+
const bottom = clamp(containerRect.bottom - overlayRect.bottom, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6563
|
+
this._element.style.bottom = `${bottom}px`;
|
|
6564
|
+
this._element.style.top = 'auto';
|
|
6565
|
+
}
|
|
6566
|
+
if (this.horiziontalAlignment === 'left') {
|
|
6567
|
+
const left = clamp(overlayRect.left - containerRect.left, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6568
|
+
this._element.style.left = `${left}px`;
|
|
6569
|
+
this._element.style.right = 'auto';
|
|
6570
|
+
}
|
|
6571
|
+
if (this.horiziontalAlignment === 'right') {
|
|
6572
|
+
const right = clamp(containerRect.right - overlayRect.right, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6573
|
+
this._element.style.right = `${right}px`;
|
|
6574
|
+
this._element.style.left = 'auto';
|
|
6575
|
+
}
|
|
6473
6576
|
this._onDidChange.fire();
|
|
6474
6577
|
}
|
|
6475
6578
|
toJSON() {
|
|
6476
6579
|
const container = this.options.container.getBoundingClientRect();
|
|
6477
6580
|
const element = this._element.getBoundingClientRect();
|
|
6478
|
-
|
|
6479
|
-
|
|
6480
|
-
|
|
6481
|
-
|
|
6482
|
-
|
|
6483
|
-
|
|
6581
|
+
const result = {};
|
|
6582
|
+
if (this.verticalAlignment === 'top') {
|
|
6583
|
+
result.top = parseFloat(this._element.style.top);
|
|
6584
|
+
}
|
|
6585
|
+
else if (this.verticalAlignment === 'bottom') {
|
|
6586
|
+
result.bottom = parseFloat(this._element.style.bottom);
|
|
6587
|
+
}
|
|
6588
|
+
else {
|
|
6589
|
+
result.top = element.top - container.top;
|
|
6590
|
+
}
|
|
6591
|
+
if (this.horiziontalAlignment === 'left') {
|
|
6592
|
+
result.left = parseFloat(this._element.style.left);
|
|
6593
|
+
}
|
|
6594
|
+
else if (this.horiziontalAlignment === 'right') {
|
|
6595
|
+
result.right = parseFloat(this._element.style.right);
|
|
6596
|
+
}
|
|
6597
|
+
else {
|
|
6598
|
+
result.left = element.left - container.left;
|
|
6599
|
+
}
|
|
6600
|
+
result.width = element.width;
|
|
6601
|
+
result.height = element.height;
|
|
6602
|
+
return result;
|
|
6484
6603
|
}
|
|
6485
6604
|
setupDrag(dragTarget, options = { inDragMode: false }) {
|
|
6486
6605
|
const move = new MutableDisposable();
|
|
@@ -6512,12 +6631,30 @@
|
|
|
6512
6631
|
};
|
|
6513
6632
|
}
|
|
6514
6633
|
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));
|
|
6634
|
+
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
6519
6635
|
const top = clamp(y - offset.y, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6520
|
-
|
|
6636
|
+
const bottom = clamp(offset.y -
|
|
6637
|
+
y +
|
|
6638
|
+
containerRect.height -
|
|
6639
|
+
overlayRect.height, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6640
|
+
const left = clamp(x - offset.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6641
|
+
const right = clamp(offset.x - x + containerRect.width - overlayRect.width, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6642
|
+
const bounds = {};
|
|
6643
|
+
// Anchor to top or to bottom depending on which one is closer
|
|
6644
|
+
if (top <= bottom) {
|
|
6645
|
+
bounds.top = top;
|
|
6646
|
+
}
|
|
6647
|
+
else {
|
|
6648
|
+
bounds.bottom = bottom;
|
|
6649
|
+
}
|
|
6650
|
+
// Anchor to left or to right depending on which one is closer
|
|
6651
|
+
if (left <= right) {
|
|
6652
|
+
bounds.left = left;
|
|
6653
|
+
}
|
|
6654
|
+
else {
|
|
6655
|
+
bounds.right = right;
|
|
6656
|
+
}
|
|
6657
|
+
this.setBounds(bounds);
|
|
6521
6658
|
}), addDisposableWindowListener(window, 'mouseup', () => {
|
|
6522
6659
|
toggleClass(this._element, 'dv-resize-container-dragging', false);
|
|
6523
6660
|
move.dispose();
|
|
@@ -6585,8 +6722,10 @@
|
|
|
6585
6722
|
};
|
|
6586
6723
|
}
|
|
6587
6724
|
let top = undefined;
|
|
6725
|
+
let bottom = undefined;
|
|
6588
6726
|
let height = undefined;
|
|
6589
6727
|
let left = undefined;
|
|
6728
|
+
let right = undefined;
|
|
6590
6729
|
let width = undefined;
|
|
6591
6730
|
const moveTop = () => {
|
|
6592
6731
|
top = clamp(y, -Number.MAX_VALUE, startPosition.originalY +
|
|
@@ -6600,6 +6739,7 @@
|
|
|
6600
6739
|
startPosition.originalY +
|
|
6601
6740
|
startPosition.originalHeight -
|
|
6602
6741
|
top;
|
|
6742
|
+
bottom = containerRect.height - top - height;
|
|
6603
6743
|
};
|
|
6604
6744
|
const moveBottom = () => {
|
|
6605
6745
|
top =
|
|
@@ -6611,6 +6751,7 @@
|
|
|
6611
6751
|
? -top +
|
|
6612
6752
|
this.options.minimumInViewportHeight
|
|
6613
6753
|
: Overlay.MINIMUM_HEIGHT, Number.MAX_VALUE);
|
|
6754
|
+
bottom = containerRect.height - top - height;
|
|
6614
6755
|
};
|
|
6615
6756
|
const moveLeft = () => {
|
|
6616
6757
|
left = clamp(x, -Number.MAX_VALUE, startPosition.originalX +
|
|
@@ -6624,6 +6765,7 @@
|
|
|
6624
6765
|
startPosition.originalX +
|
|
6625
6766
|
startPosition.originalWidth -
|
|
6626
6767
|
left;
|
|
6768
|
+
right = containerRect.width - left - width;
|
|
6627
6769
|
};
|
|
6628
6770
|
const moveRight = () => {
|
|
6629
6771
|
left =
|
|
@@ -6635,6 +6777,7 @@
|
|
|
6635
6777
|
? -left +
|
|
6636
6778
|
this.options.minimumInViewportWidth
|
|
6637
6779
|
: Overlay.MINIMUM_WIDTH, Number.MAX_VALUE);
|
|
6780
|
+
right = containerRect.width - left - width;
|
|
6638
6781
|
};
|
|
6639
6782
|
switch (direction) {
|
|
6640
6783
|
case 'top':
|
|
@@ -6666,7 +6809,24 @@
|
|
|
6666
6809
|
moveRight();
|
|
6667
6810
|
break;
|
|
6668
6811
|
}
|
|
6669
|
-
|
|
6812
|
+
const bounds = {};
|
|
6813
|
+
// Anchor to top or to bottom depending on which one is closer
|
|
6814
|
+
if (top <= bottom) {
|
|
6815
|
+
bounds.top = top;
|
|
6816
|
+
}
|
|
6817
|
+
else {
|
|
6818
|
+
bounds.bottom = bottom;
|
|
6819
|
+
}
|
|
6820
|
+
// Anchor to left or to right depending on which one is closer
|
|
6821
|
+
if (left <= right) {
|
|
6822
|
+
bounds.left = left;
|
|
6823
|
+
}
|
|
6824
|
+
else {
|
|
6825
|
+
bounds.right = right;
|
|
6826
|
+
}
|
|
6827
|
+
bounds.height = height;
|
|
6828
|
+
bounds.width = width;
|
|
6829
|
+
this.setBounds(bounds);
|
|
6670
6830
|
}), {
|
|
6671
6831
|
dispose: () => {
|
|
6672
6832
|
for (const iframe of iframes) {
|
|
@@ -6689,7 +6849,7 @@
|
|
|
6689
6849
|
if (typeof this.options.minimumInViewportHeight === 'number') {
|
|
6690
6850
|
return height - this.options.minimumInViewportHeight;
|
|
6691
6851
|
}
|
|
6692
|
-
return
|
|
6852
|
+
return 0;
|
|
6693
6853
|
}
|
|
6694
6854
|
dispose() {
|
|
6695
6855
|
this._element.remove();
|
|
@@ -6712,7 +6872,7 @@
|
|
|
6712
6872
|
}
|
|
6713
6873
|
|
|
6714
6874
|
const DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE = 100;
|
|
6715
|
-
const DEFAULT_FLOATING_GROUP_POSITION = { left: 100, top: 100 };
|
|
6875
|
+
const DEFAULT_FLOATING_GROUP_POSITION = { left: 100, top: 100, width: 300, height: 300 };
|
|
6716
6876
|
|
|
6717
6877
|
function createFocusableElement() {
|
|
6718
6878
|
const element = document.createElement('div');
|
|
@@ -7078,6 +7238,7 @@
|
|
|
7078
7238
|
parentElement: options.parentElement,
|
|
7079
7239
|
disableAutoResizing: options.disableAutoResizing,
|
|
7080
7240
|
locked: options.locked,
|
|
7241
|
+
margin: options.gap,
|
|
7081
7242
|
});
|
|
7082
7243
|
this.nextGroupId = sequentialNumberGenerator();
|
|
7083
7244
|
this._deserializer = new DefaultDockviewDeserialzier(this);
|
|
@@ -7103,9 +7264,9 @@
|
|
|
7103
7264
|
this._onDidActivePanelChange = new Emitter();
|
|
7104
7265
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
7105
7266
|
this._onDidMovePanel = new Emitter();
|
|
7267
|
+
this.onDidMovePanel = this._onDidMovePanel.event;
|
|
7106
7268
|
this._floatingGroups = [];
|
|
7107
7269
|
this._popoutGroups = [];
|
|
7108
|
-
this._ignoreEvents = 0;
|
|
7109
7270
|
this._onDidRemoveGroup = new Emitter();
|
|
7110
7271
|
this.onDidRemoveGroup = this._onDidRemoveGroup.event;
|
|
7111
7272
|
this._onDidAddGroup = new Emitter();
|
|
@@ -7119,7 +7280,9 @@
|
|
|
7119
7280
|
this.overlayRenderContainer = new OverlayRenderContainer(gready);
|
|
7120
7281
|
toggleClass(this.gridview.element, 'dv-dockview', true);
|
|
7121
7282
|
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.
|
|
7283
|
+
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(() => {
|
|
7284
|
+
this.updateWatermark();
|
|
7285
|
+
}), this.onDidAdd((event) => {
|
|
7123
7286
|
if (!this._moving) {
|
|
7124
7287
|
this._onDidAddGroup.fire(event);
|
|
7125
7288
|
}
|
|
@@ -7133,7 +7296,7 @@
|
|
|
7133
7296
|
}
|
|
7134
7297
|
}), exports.DockviewEvent.any(this.onDidAdd, this.onDidRemove)(() => {
|
|
7135
7298
|
this.updateWatermark();
|
|
7136
|
-
}), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
|
|
7299
|
+
}), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidAddGroup, this.onDidRemove, this.onDidMovePanel, this.onDidActivePanelChange)(() => {
|
|
7137
7300
|
this._bufferOnDidLayoutChange.fire();
|
|
7138
7301
|
}), exports.DockviewDisposable.from(() => {
|
|
7139
7302
|
// iterate over a copy of the array since .dispose() mutates the original array
|
|
@@ -7384,8 +7547,8 @@
|
|
|
7384
7547
|
console.error('dockview: failed to create popout window', err);
|
|
7385
7548
|
});
|
|
7386
7549
|
}
|
|
7387
|
-
addFloatingGroup(item,
|
|
7388
|
-
var _a, _b, _c, _d, _e
|
|
7550
|
+
addFloatingGroup(item, options) {
|
|
7551
|
+
var _a, _b, _c, _d, _e;
|
|
7389
7552
|
let group;
|
|
7390
7553
|
if (item instanceof DockviewPanel) {
|
|
7391
7554
|
group = this.createGroup();
|
|
@@ -7430,26 +7593,62 @@
|
|
|
7430
7593
|
}
|
|
7431
7594
|
}
|
|
7432
7595
|
group.model.location = { type: 'floating' };
|
|
7433
|
-
|
|
7434
|
-
|
|
7435
|
-
|
|
7436
|
-
|
|
7437
|
-
|
|
7438
|
-
|
|
7439
|
-
|
|
7440
|
-
|
|
7441
|
-
|
|
7442
|
-
|
|
7443
|
-
|
|
7444
|
-
|
|
7445
|
-
|
|
7446
|
-
|
|
7596
|
+
function getAnchoredBox() {
|
|
7597
|
+
if (options === null || options === void 0 ? void 0 : options.position) {
|
|
7598
|
+
const result = {};
|
|
7599
|
+
if ('left' in options.position) {
|
|
7600
|
+
result.left = Math.max(options.position.left, 0);
|
|
7601
|
+
}
|
|
7602
|
+
else if ('right' in options.position) {
|
|
7603
|
+
result.right = Math.max(options.position.right, 0);
|
|
7604
|
+
}
|
|
7605
|
+
else {
|
|
7606
|
+
result.left = DEFAULT_FLOATING_GROUP_POSITION.left;
|
|
7607
|
+
}
|
|
7608
|
+
if ('top' in options.position) {
|
|
7609
|
+
result.top = Math.max(options.position.top, 0);
|
|
7610
|
+
}
|
|
7611
|
+
else if ('bottom' in options.position) {
|
|
7612
|
+
result.bottom = Math.max(options.position.bottom, 0);
|
|
7613
|
+
}
|
|
7614
|
+
else {
|
|
7615
|
+
result.top = DEFAULT_FLOATING_GROUP_POSITION.top;
|
|
7616
|
+
}
|
|
7617
|
+
if ('width' in options.position) {
|
|
7618
|
+
result.width = Math.max(options.position.width, 0);
|
|
7619
|
+
}
|
|
7620
|
+
else {
|
|
7621
|
+
result.width = DEFAULT_FLOATING_GROUP_POSITION.width;
|
|
7622
|
+
}
|
|
7623
|
+
if ('height' in options.position) {
|
|
7624
|
+
result.height = Math.max(options.position.height, 0);
|
|
7625
|
+
}
|
|
7626
|
+
else {
|
|
7627
|
+
result.height = DEFAULT_FLOATING_GROUP_POSITION.height;
|
|
7628
|
+
}
|
|
7629
|
+
return result;
|
|
7630
|
+
}
|
|
7631
|
+
return {
|
|
7632
|
+
left: typeof (options === null || options === void 0 ? void 0 : options.x) === 'number'
|
|
7633
|
+
? Math.max(options.x, 0)
|
|
7634
|
+
: DEFAULT_FLOATING_GROUP_POSITION.left,
|
|
7635
|
+
top: typeof (options === null || options === void 0 ? void 0 : options.y) === 'number'
|
|
7636
|
+
? Math.max(options.y, 0)
|
|
7637
|
+
: DEFAULT_FLOATING_GROUP_POSITION.top,
|
|
7638
|
+
width: typeof (options === null || options === void 0 ? void 0 : options.width) === 'number'
|
|
7639
|
+
? Math.max(options.width, 0)
|
|
7640
|
+
: DEFAULT_FLOATING_GROUP_POSITION.width,
|
|
7641
|
+
height: typeof (options === null || options === void 0 ? void 0 : options.height) === 'number'
|
|
7642
|
+
? Math.max(options.height, 0)
|
|
7643
|
+
: DEFAULT_FLOATING_GROUP_POSITION.height,
|
|
7644
|
+
};
|
|
7645
|
+
}
|
|
7646
|
+
const anchoredBox = getAnchoredBox();
|
|
7647
|
+
const overlay = new Overlay(Object.assign(Object.assign({ container: this.gridview.element, content: group.element }, anchoredBox), { minimumInViewportWidth: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7447
7648
|
? undefined
|
|
7448
|
-
: (
|
|
7449
|
-
minimumInViewportHeight: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7649
|
+
: (_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
7650
|
? undefined
|
|
7451
|
-
: (
|
|
7452
|
-
});
|
|
7651
|
+
: (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumHeightWithinViewport) !== null && _e !== void 0 ? _e : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE }));
|
|
7453
7652
|
const el = group.element.querySelector('.void-container');
|
|
7454
7653
|
if (!el) {
|
|
7455
7654
|
throw new Error('failed to find drag handle');
|
|
@@ -7547,12 +7746,18 @@
|
|
|
7547
7746
|
group.overlay.minimumInViewportWidth =
|
|
7548
7747
|
(_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport;
|
|
7549
7748
|
}
|
|
7550
|
-
group.overlay.setBounds(
|
|
7749
|
+
group.overlay.setBounds();
|
|
7551
7750
|
}
|
|
7552
7751
|
}
|
|
7553
7752
|
if (changed_rootOverlayOptions) {
|
|
7554
7753
|
this._rootDropTarget.setOverlayModel(options.rootOverlayModel);
|
|
7555
7754
|
}
|
|
7755
|
+
if (this.gridview.margin !== 0 && options.gap === undefined) {
|
|
7756
|
+
this.gridview.margin = 0;
|
|
7757
|
+
}
|
|
7758
|
+
if (typeof options.gap === 'number') {
|
|
7759
|
+
this.gridview.margin = options.gap;
|
|
7760
|
+
}
|
|
7556
7761
|
this.layout(this.gridview.width, this.gridview.height, true);
|
|
7557
7762
|
}
|
|
7558
7763
|
layout(width, height, forceResize) {
|
|
@@ -7714,11 +7919,10 @@
|
|
|
7714
7919
|
const { data, position } = serializedFloatingGroup;
|
|
7715
7920
|
const group = createGroupFromSerializedState(data);
|
|
7716
7921
|
this.addFloatingGroup(group, {
|
|
7717
|
-
|
|
7718
|
-
|
|
7719
|
-
|
|
7720
|
-
|
|
7721
|
-
}, { skipRemoveGroup: true, inDragMode: false });
|
|
7922
|
+
position: position,
|
|
7923
|
+
skipRemoveGroup: true,
|
|
7924
|
+
inDragMode: false,
|
|
7925
|
+
});
|
|
7722
7926
|
}
|
|
7723
7927
|
const serializedPopoutGroups = (_b = data.popoutGroups) !== null && _b !== void 0 ? _b : [];
|
|
7724
7928
|
for (const serializedPopoutGroup of serializedPopoutGroups) {
|
|
@@ -7853,11 +8057,7 @@
|
|
|
7853
8057
|
options.floating !== null
|
|
7854
8058
|
? options.floating
|
|
7855
8059
|
: {};
|
|
7856
|
-
this.addFloatingGroup(group, o, {
|
|
7857
|
-
inDragMode: false,
|
|
7858
|
-
skipRemoveGroup: true,
|
|
7859
|
-
skipActiveGroup: true,
|
|
7860
|
-
});
|
|
8060
|
+
this.addFloatingGroup(group, Object.assign(Object.assign({}, o), { inDragMode: false, skipRemoveGroup: true, skipActiveGroup: true }));
|
|
7861
8061
|
panel = this.createPanel(options, group);
|
|
7862
8062
|
group.model.openPanel(panel, {
|
|
7863
8063
|
skipSetActive: options.inactive,
|
|
@@ -7896,11 +8096,7 @@
|
|
|
7896
8096
|
options.floating !== null
|
|
7897
8097
|
? options.floating
|
|
7898
8098
|
: {};
|
|
7899
|
-
this.addFloatingGroup(group, coordinates, {
|
|
7900
|
-
inDragMode: false,
|
|
7901
|
-
skipRemoveGroup: true,
|
|
7902
|
-
skipActiveGroup: true,
|
|
7903
|
-
});
|
|
8099
|
+
this.addFloatingGroup(group, Object.assign(Object.assign({}, coordinates), { inDragMode: false, skipRemoveGroup: true, skipActiveGroup: true }));
|
|
7904
8100
|
panel = this.createPanel(options, group);
|
|
7905
8101
|
group.model.openPanel(panel, {
|
|
7906
8102
|
skipSetActive: options.inactive,
|
|
@@ -7955,6 +8151,7 @@
|
|
|
7955
8151
|
});
|
|
7956
8152
|
const watermarkContainer = document.createElement('div');
|
|
7957
8153
|
watermarkContainer.className = 'dv-watermark-container';
|
|
8154
|
+
addTestId(watermarkContainer, 'watermark-component');
|
|
7958
8155
|
watermarkContainer.appendChild(this.watermark.element);
|
|
7959
8156
|
this.gridview.element.appendChild(watermarkContainer);
|
|
7960
8157
|
}
|
|
@@ -8143,6 +8340,7 @@
|
|
|
8143
8340
|
this.doSetGroupAndPanelActive(destinationGroup);
|
|
8144
8341
|
this._onDidMovePanel.fire({
|
|
8145
8342
|
panel: removedPanel,
|
|
8343
|
+
from: sourceGroup,
|
|
8146
8344
|
});
|
|
8147
8345
|
}
|
|
8148
8346
|
else {
|
|
@@ -8166,6 +8364,10 @@
|
|
|
8166
8364
|
// if a group has one tab - we are essentially moving the 'group'
|
|
8167
8365
|
// which is equivalent to swapping two views in this case
|
|
8168
8366
|
this.gridview.moveView(sourceParentLocation, from, to);
|
|
8367
|
+
this._onDidMovePanel.fire({
|
|
8368
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8369
|
+
from: sourceGroup,
|
|
8370
|
+
});
|
|
8169
8371
|
return;
|
|
8170
8372
|
}
|
|
8171
8373
|
}
|
|
@@ -8179,6 +8381,10 @@
|
|
|
8179
8381
|
const location = getRelativeLocation(this.gridview.orientation, updatedReferenceLocation, destinationTarget);
|
|
8180
8382
|
this.movingLock(() => this.doAddGroup(targetGroup, location));
|
|
8181
8383
|
this.doSetGroupAndPanelActive(targetGroup);
|
|
8384
|
+
this._onDidMovePanel.fire({
|
|
8385
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8386
|
+
from: sourceGroup,
|
|
8387
|
+
});
|
|
8182
8388
|
}
|
|
8183
8389
|
else {
|
|
8184
8390
|
/**
|
|
@@ -8198,6 +8404,10 @@
|
|
|
8198
8404
|
skipSetGroupActive: true,
|
|
8199
8405
|
}));
|
|
8200
8406
|
this.doSetGroupAndPanelActive(group);
|
|
8407
|
+
this._onDidMovePanel.fire({
|
|
8408
|
+
panel: removedPanel,
|
|
8409
|
+
from: sourceGroup,
|
|
8410
|
+
});
|
|
8201
8411
|
}
|
|
8202
8412
|
}
|
|
8203
8413
|
}
|
|
@@ -8222,9 +8432,6 @@
|
|
|
8222
8432
|
}
|
|
8223
8433
|
});
|
|
8224
8434
|
this.doSetGroupAndPanelActive(to);
|
|
8225
|
-
panels.forEach((panel) => {
|
|
8226
|
-
this._onDidMovePanel.fire({ panel });
|
|
8227
|
-
});
|
|
8228
8435
|
}
|
|
8229
8436
|
else {
|
|
8230
8437
|
switch (from.api.location.type) {
|
|
@@ -8250,10 +8457,10 @@
|
|
|
8250
8457
|
const referenceLocation = getGridLocation(to.element);
|
|
8251
8458
|
const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
|
|
8252
8459
|
this.gridview.addView(from, exports.Sizing.Distribute, dropLocation);
|
|
8253
|
-
from.panels.forEach((panel) => {
|
|
8254
|
-
this._onDidMovePanel.fire({ panel });
|
|
8255
|
-
});
|
|
8256
8460
|
}
|
|
8461
|
+
from.panels.forEach((panel) => {
|
|
8462
|
+
this._onDidMovePanel.fire({ panel, from });
|
|
8463
|
+
});
|
|
8257
8464
|
}
|
|
8258
8465
|
doSetGroupActive(group) {
|
|
8259
8466
|
super.doSetGroupActive(group);
|