dockview 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/dockview.amd.js +317 -110
- package/dist/dockview.amd.js.map +1 -1
- package/dist/dockview.amd.min.js +2 -2
- package/dist/dockview.amd.min.js.map +1 -1
- package/dist/dockview.amd.min.noStyle.js +2 -2
- package/dist/dockview.amd.min.noStyle.js.map +1 -1
- package/dist/dockview.amd.noStyle.js +316 -109
- package/dist/dockview.amd.noStyle.js.map +1 -1
- package/dist/dockview.cjs.js +317 -110
- package/dist/dockview.cjs.js.map +1 -1
- package/dist/dockview.esm.js +317 -110
- package/dist/dockview.esm.js.map +1 -1
- package/dist/dockview.esm.min.js +2 -2
- package/dist/dockview.esm.min.js.map +1 -1
- package/dist/dockview.js +317 -110
- package/dist/dockview.js.map +1 -1
- package/dist/dockview.min.js +2 -2
- package/dist/dockview.min.js.map +1 -1
- package/dist/dockview.min.noStyle.js +2 -2
- package/dist/dockview.min.noStyle.js.map +1 -1
- package/dist/dockview.noStyle.js +316 -109
- package/dist/dockview.noStyle.js.map +1 -1
- package/dist/styles/dockview.css +0 -13
- package/package.json +2 -2
package/dist/dockview.amd.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 1.15.0
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -33,7 +33,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
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}";
|
|
36
|
+
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}";
|
|
37
37
|
styleInject(css_248z);
|
|
38
38
|
|
|
39
39
|
class TransferObject {
|
|
@@ -558,6 +558,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
558
558
|
}
|
|
559
559
|
return false;
|
|
560
560
|
}
|
|
561
|
+
function addTestId(element, id) {
|
|
562
|
+
element.setAttribute('data-testid', id);
|
|
563
|
+
}
|
|
561
564
|
|
|
562
565
|
function tail(arr) {
|
|
563
566
|
if (arr.length === 0) {
|
|
@@ -619,7 +622,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
619
622
|
|
|
620
623
|
const clamp = (value, min, max) => {
|
|
621
624
|
if (min > max) {
|
|
622
|
-
|
|
625
|
+
/**
|
|
626
|
+
* caveat: an error should be thrown here if this was a proper `clamp` function but we need to handle
|
|
627
|
+
* cases where `min` > `max` and in those cases return `min`.
|
|
628
|
+
*/
|
|
629
|
+
return min;
|
|
623
630
|
}
|
|
624
631
|
return Math.min(max, Math.max(value, min));
|
|
625
632
|
};
|
|
@@ -824,7 +831,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
824
831
|
this._disabled = value;
|
|
825
832
|
toggleClass(this.element, 'dv-splitview-disabled', value);
|
|
826
833
|
}
|
|
834
|
+
get margin() {
|
|
835
|
+
return this._margin;
|
|
836
|
+
}
|
|
837
|
+
set margin(value) {
|
|
838
|
+
this._margin = value;
|
|
839
|
+
}
|
|
827
840
|
constructor(container, options) {
|
|
841
|
+
var _a;
|
|
828
842
|
this.container = container;
|
|
829
843
|
this.viewItems = [];
|
|
830
844
|
this.sashes = [];
|
|
@@ -835,6 +849,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
835
849
|
this._startSnappingEnabled = true;
|
|
836
850
|
this._endSnappingEnabled = true;
|
|
837
851
|
this._disabled = false;
|
|
852
|
+
this._margin = 0;
|
|
838
853
|
this._onDidSashEnd = new Emitter();
|
|
839
854
|
this.onDidSashEnd = this._onDidSashEnd.event;
|
|
840
855
|
this._onDidAddView = new Emitter();
|
|
@@ -923,6 +938,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
923
938
|
};
|
|
924
939
|
this._orientation = options.orientation;
|
|
925
940
|
this.element = this.createContainer();
|
|
941
|
+
this.margin = (_a = options.margin) !== null && _a !== void 0 ? _a : 0;
|
|
926
942
|
this.proportionalLayout =
|
|
927
943
|
options.proportionalLayout === undefined
|
|
928
944
|
? true
|
|
@@ -977,9 +993,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
977
993
|
if (index < 0 || index >= this.viewItems.length) {
|
|
978
994
|
throw new Error('Index out of bounds');
|
|
979
995
|
}
|
|
980
|
-
toggleClass(this.container, 'visible', visible);
|
|
981
996
|
const viewItem = this.viewItems[index];
|
|
982
|
-
toggleClass(this.container, 'visible', visible);
|
|
983
997
|
viewItem.setVisible(visible, viewItem.size);
|
|
984
998
|
this.distributeEmptySpace(index);
|
|
985
999
|
this.layoutViews();
|
|
@@ -1291,15 +1305,29 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1291
1305
|
this._proportions = this.viewItems.map((i) => i.visible ? i.size / this._contentSize : undefined);
|
|
1292
1306
|
}
|
|
1293
1307
|
}
|
|
1308
|
+
/**
|
|
1309
|
+
* Margin explain:
|
|
1310
|
+
*
|
|
1311
|
+
* For `n` views in a splitview there will be `n-1` margins `m`.
|
|
1312
|
+
*
|
|
1313
|
+
* To fit the margins each view must reduce in size by `(m * (n - 1)) / n`.
|
|
1314
|
+
*
|
|
1315
|
+
* For each view `i` the offet must be adjusted by `m * i/(n - 1)`.
|
|
1316
|
+
*/
|
|
1294
1317
|
layoutViews() {
|
|
1295
1318
|
this._contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);
|
|
1296
|
-
let sum = 0;
|
|
1297
|
-
const x = [];
|
|
1298
1319
|
this.updateSashEnablement();
|
|
1320
|
+
if (this.viewItems.length === 0) {
|
|
1321
|
+
return;
|
|
1322
|
+
}
|
|
1323
|
+
const sashCount = this.viewItems.length - 1;
|
|
1324
|
+
const marginReducedSize = (this.margin * sashCount) / this.viewItems.length;
|
|
1325
|
+
let totalLeftOffset = 0;
|
|
1326
|
+
const viewLeftOffsets = [];
|
|
1299
1327
|
for (let i = 0; i < this.viewItems.length - 1; i++) {
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
const offset = Math.min(Math.max(0,
|
|
1328
|
+
totalLeftOffset += this.viewItems[i].size;
|
|
1329
|
+
viewLeftOffsets.push(totalLeftOffset);
|
|
1330
|
+
const offset = Math.min(Math.max(0, totalLeftOffset - 2), this.size - this.margin);
|
|
1303
1331
|
if (this._orientation === exports.Orientation.HORIZONTAL) {
|
|
1304
1332
|
this.sashes[i].container.style.left = `${offset}px`;
|
|
1305
1333
|
this.sashes[i].container.style.top = `0px`;
|
|
@@ -1310,19 +1338,24 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1310
1338
|
}
|
|
1311
1339
|
}
|
|
1312
1340
|
this.viewItems.forEach((view, i) => {
|
|
1341
|
+
const size = view.size - marginReducedSize;
|
|
1342
|
+
const offset = i === 0
|
|
1343
|
+
? 0
|
|
1344
|
+
: viewLeftOffsets[i - 1] +
|
|
1345
|
+
(i / sashCount) * marginReducedSize;
|
|
1313
1346
|
if (this._orientation === exports.Orientation.HORIZONTAL) {
|
|
1314
|
-
view.container.style.width = `${
|
|
1315
|
-
view.container.style.left =
|
|
1347
|
+
view.container.style.width = `${size}px`;
|
|
1348
|
+
view.container.style.left = `${offset}px`;
|
|
1316
1349
|
view.container.style.top = '';
|
|
1317
1350
|
view.container.style.height = '';
|
|
1318
1351
|
}
|
|
1319
1352
|
if (this._orientation === exports.Orientation.VERTICAL) {
|
|
1320
|
-
view.container.style.height = `${
|
|
1321
|
-
view.container.style.top =
|
|
1353
|
+
view.container.style.height = `${size}px`;
|
|
1354
|
+
view.container.style.top = `${offset}px`;
|
|
1322
1355
|
view.container.style.width = '';
|
|
1323
1356
|
view.container.style.left = '';
|
|
1324
1357
|
}
|
|
1325
|
-
view.view.layout(view.size, this._orthogonalSize);
|
|
1358
|
+
view.view.layout(view.size - marginReducedSize, this._orthogonalSize);
|
|
1326
1359
|
});
|
|
1327
1360
|
}
|
|
1328
1361
|
findFirstSnapIndex(indexes) {
|
|
@@ -1771,7 +1804,18 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1771
1804
|
set disabled(value) {
|
|
1772
1805
|
this.splitview.disabled = value;
|
|
1773
1806
|
}
|
|
1774
|
-
|
|
1807
|
+
get margin() {
|
|
1808
|
+
return this.splitview.margin;
|
|
1809
|
+
}
|
|
1810
|
+
set margin(value) {
|
|
1811
|
+
this.splitview.margin = value;
|
|
1812
|
+
this.children.forEach((child) => {
|
|
1813
|
+
if (child instanceof BranchNode) {
|
|
1814
|
+
child.margin = value;
|
|
1815
|
+
}
|
|
1816
|
+
});
|
|
1817
|
+
}
|
|
1818
|
+
constructor(orientation, proportionalLayout, styles, size, orthogonalSize, disabled, margin, childDescriptors) {
|
|
1775
1819
|
super();
|
|
1776
1820
|
this.orientation = orientation;
|
|
1777
1821
|
this.proportionalLayout = proportionalLayout;
|
|
@@ -1791,6 +1835,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1791
1835
|
orientation: this.orientation,
|
|
1792
1836
|
proportionalLayout,
|
|
1793
1837
|
styles,
|
|
1838
|
+
margin,
|
|
1794
1839
|
});
|
|
1795
1840
|
this.splitview.layout(this.size, this.orthogonalSize);
|
|
1796
1841
|
}
|
|
@@ -1814,6 +1859,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1814
1859
|
descriptor,
|
|
1815
1860
|
proportionalLayout,
|
|
1816
1861
|
styles,
|
|
1862
|
+
margin,
|
|
1817
1863
|
});
|
|
1818
1864
|
}
|
|
1819
1865
|
this.disabled = disabled;
|
|
@@ -1822,10 +1868,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1822
1868
|
}));
|
|
1823
1869
|
this.setupChildrenEvents();
|
|
1824
1870
|
}
|
|
1825
|
-
setVisible(
|
|
1826
|
-
|
|
1827
|
-
child.setVisible(visible);
|
|
1828
|
-
}
|
|
1871
|
+
setVisible(_visible) {
|
|
1872
|
+
// noop
|
|
1829
1873
|
}
|
|
1830
1874
|
isChildVisible(index) {
|
|
1831
1875
|
if (index < 0 || index >= this.children.length) {
|
|
@@ -1842,12 +1886,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1842
1886
|
}
|
|
1843
1887
|
const wereAllChildrenHidden = this.splitview.contentSize === 0;
|
|
1844
1888
|
this.splitview.setViewVisible(index, visible);
|
|
1889
|
+
// }
|
|
1845
1890
|
const areAllChildrenHidden = this.splitview.contentSize === 0;
|
|
1846
1891
|
// If all children are hidden then the parent should hide the entire splitview
|
|
1847
1892
|
// If the entire splitview is hidden then the parent should show the splitview when a child is shown
|
|
1848
1893
|
if ((visible && wereAllChildrenHidden) ||
|
|
1849
1894
|
(!visible && areAllChildrenHidden)) {
|
|
1850
|
-
this._onDidVisibilityChange.fire(visible);
|
|
1895
|
+
this._onDidVisibilityChange.fire({ visible });
|
|
1851
1896
|
}
|
|
1852
1897
|
}
|
|
1853
1898
|
moveChild(from, to) {
|
|
@@ -1920,7 +1965,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1920
1965
|
this._onDidChange.fire({ size: e.orthogonalSize });
|
|
1921
1966
|
}), ...this.children.map((c, i) => {
|
|
1922
1967
|
if (c instanceof BranchNode) {
|
|
1923
|
-
return c.onDidVisibilityChange((visible) => {
|
|
1968
|
+
return c.onDidVisibilityChange(({ visible }) => {
|
|
1924
1969
|
this.setChildVisible(i, visible);
|
|
1925
1970
|
});
|
|
1926
1971
|
}
|
|
@@ -1950,7 +1995,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1950
1995
|
}
|
|
1951
1996
|
function flipNode(node, size, orthogonalSize) {
|
|
1952
1997
|
if (node instanceof BranchNode) {
|
|
1953
|
-
const result = new BranchNode(orthogonal(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize, node.disabled);
|
|
1998
|
+
const result = new BranchNode(orthogonal(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize, node.disabled, node.margin);
|
|
1954
1999
|
let totalSize = 0;
|
|
1955
2000
|
for (let i = node.children.length - 1; i >= 0; i--) {
|
|
1956
2001
|
const child = node.children[i];
|
|
@@ -2105,6 +2150,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2105
2150
|
}
|
|
2106
2151
|
}
|
|
2107
2152
|
}
|
|
2153
|
+
get margin() {
|
|
2154
|
+
return this._margin;
|
|
2155
|
+
}
|
|
2156
|
+
set margin(value) {
|
|
2157
|
+
this._margin = value;
|
|
2158
|
+
this.root.margin = value;
|
|
2159
|
+
}
|
|
2108
2160
|
maximizedView() {
|
|
2109
2161
|
var _a;
|
|
2110
2162
|
return (_a = this._maximizedNode) === null || _a === void 0 ? void 0 : _a.leaf.view;
|
|
@@ -2190,13 +2242,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2190
2242
|
this.disposable.dispose();
|
|
2191
2243
|
this._onDidChange.dispose();
|
|
2192
2244
|
this._onDidMaximizedNodeChange.dispose();
|
|
2245
|
+
this._onDidViewVisibilityChange.dispose();
|
|
2193
2246
|
this.root.dispose();
|
|
2194
2247
|
this._maximizedNode = undefined;
|
|
2195
2248
|
this.element.remove();
|
|
2196
2249
|
}
|
|
2197
2250
|
clear() {
|
|
2198
2251
|
const orientation = this.root.orientation;
|
|
2199
|
-
this.root = new BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize, this.
|
|
2252
|
+
this.root = new BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize, this.locked, this.margin);
|
|
2200
2253
|
}
|
|
2201
2254
|
deserialize(json, deserializer) {
|
|
2202
2255
|
const orientation = json.orientation;
|
|
@@ -2207,6 +2260,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2207
2260
|
this.root = this._deserializeNode(root, orientation, deserializer, orthogonalSize);
|
|
2208
2261
|
}
|
|
2209
2262
|
_deserializeNode(node, orientation, deserializer, orthogonalSize) {
|
|
2263
|
+
var _a;
|
|
2210
2264
|
let result;
|
|
2211
2265
|
if (node.type === 'branch') {
|
|
2212
2266
|
const serializedChildren = node.data;
|
|
@@ -2218,10 +2272,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2218
2272
|
});
|
|
2219
2273
|
result = new BranchNode(orientation, this.proportionalLayout, this.styles, node.size, // <- orthogonal size - flips at each depth
|
|
2220
2274
|
orthogonalSize, // <- size - flips at each depth,
|
|
2221
|
-
this.
|
|
2275
|
+
this.locked, this.margin, children);
|
|
2222
2276
|
}
|
|
2223
2277
|
else {
|
|
2224
|
-
|
|
2278
|
+
const view = deserializer.fromJSON(node);
|
|
2279
|
+
if (typeof node.visible === 'boolean') {
|
|
2280
|
+
(_a = view.setVisible) === null || _a === void 0 ? void 0 : _a.call(view, node.visible);
|
|
2281
|
+
}
|
|
2282
|
+
result = new LeafNode(view, orientation, orthogonalSize, node.size);
|
|
2225
2283
|
}
|
|
2226
2284
|
return result;
|
|
2227
2285
|
}
|
|
@@ -2251,7 +2309,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2251
2309
|
}
|
|
2252
2310
|
const oldRoot = this.root;
|
|
2253
2311
|
oldRoot.element.remove();
|
|
2254
|
-
this._root = new BranchNode(orthogonal(oldRoot.orientation), this.proportionalLayout, this.styles, this.root.orthogonalSize, this.root.size, this.
|
|
2312
|
+
this._root = new BranchNode(orthogonal(oldRoot.orientation), this.proportionalLayout, this.styles, this.root.orthogonalSize, this.root.size, this.locked, this.margin);
|
|
2255
2313
|
if (oldRoot.children.length === 0) ;
|
|
2256
2314
|
else if (oldRoot.children.length === 1) {
|
|
2257
2315
|
// can remove one level of redundant branching if there is only a single child
|
|
@@ -2316,19 +2374,24 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2316
2374
|
}
|
|
2317
2375
|
return findLeaf(this.root, reverse);
|
|
2318
2376
|
}
|
|
2319
|
-
constructor(proportionalLayout, styles, orientation) {
|
|
2377
|
+
constructor(proportionalLayout, styles, orientation, locked, margin) {
|
|
2320
2378
|
this.proportionalLayout = proportionalLayout;
|
|
2321
2379
|
this.styles = styles;
|
|
2322
2380
|
this._locked = false;
|
|
2381
|
+
this._margin = 0;
|
|
2323
2382
|
this._maximizedNode = undefined;
|
|
2324
2383
|
this.disposable = new MutableDisposable();
|
|
2325
2384
|
this._onDidChange = new Emitter();
|
|
2326
2385
|
this.onDidChange = this._onDidChange.event;
|
|
2386
|
+
this._onDidViewVisibilityChange = new Emitter();
|
|
2387
|
+
this.onDidViewVisibilityChange = this._onDidViewVisibilityChange.event;
|
|
2327
2388
|
this._onDidMaximizedNodeChange = new Emitter();
|
|
2328
2389
|
this.onDidMaximizedNodeChange = this._onDidMaximizedNodeChange.event;
|
|
2329
2390
|
this.element = document.createElement('div');
|
|
2330
2391
|
this.element.className = 'grid-view';
|
|
2331
|
-
this.
|
|
2392
|
+
this._locked = locked !== null && locked !== void 0 ? locked : false;
|
|
2393
|
+
this._margin = margin !== null && margin !== void 0 ? margin : 0;
|
|
2394
|
+
this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0, this.locked, this.margin);
|
|
2332
2395
|
}
|
|
2333
2396
|
isViewVisible(location) {
|
|
2334
2397
|
const [rest, index] = tail(location);
|
|
@@ -2347,6 +2410,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2347
2410
|
if (!(parent instanceof BranchNode)) {
|
|
2348
2411
|
throw new Error('Invalid from location');
|
|
2349
2412
|
}
|
|
2413
|
+
this._onDidViewVisibilityChange.fire();
|
|
2350
2414
|
parent.setChildVisible(index, visible);
|
|
2351
2415
|
}
|
|
2352
2416
|
moveView(parentLocation, from, to) {
|
|
@@ -2379,7 +2443,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2379
2443
|
}
|
|
2380
2444
|
const child = grandParent.removeChild(parentIndex);
|
|
2381
2445
|
child.dispose();
|
|
2382
|
-
const newParent = new BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize, this.
|
|
2446
|
+
const newParent = new BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize, this.locked, this.margin);
|
|
2383
2447
|
grandParent.addChild(newParent, parent.size, parentIndex);
|
|
2384
2448
|
const newSibling = new LeafNode(parent.view, grandParent.orientation, parent.size);
|
|
2385
2449
|
newParent.addChild(newSibling, newSiblingSize, 0);
|
|
@@ -2618,14 +2682,18 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2618
2682
|
this.onDidActiveChange = this._onDidActiveChange.event;
|
|
2619
2683
|
this._bufferOnDidLayoutChange = new AsapEvent();
|
|
2620
2684
|
this.onDidLayoutChange = this._bufferOnDidLayoutChange.onEvent;
|
|
2685
|
+
this._onDidViewVisibilityChangeMicroTaskQueue = new AsapEvent();
|
|
2686
|
+
this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
|
|
2621
2687
|
this.element.style.height = '100%';
|
|
2622
2688
|
this.element.style.width = '100%';
|
|
2623
2689
|
options.parentElement.appendChild(this.element);
|
|
2624
|
-
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation);
|
|
2690
|
+
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
|
|
2625
2691
|
this.gridview.locked = !!options.locked;
|
|
2626
2692
|
this.element.appendChild(this.gridview.element);
|
|
2627
2693
|
this.layout(0, 0, true); // set some elements height/widths
|
|
2628
|
-
this.addDisposables(
|
|
2694
|
+
this.addDisposables(this.gridview.onDidViewVisibilityChange(() => this._onDidViewVisibilityChangeMicroTaskQueue.fire()), this.onDidViewVisibilityChangeMicroTaskQueue(() => {
|
|
2695
|
+
this.layout(this.width, this.height, true);
|
|
2696
|
+
}), exports.DockviewDisposable.from(() => {
|
|
2629
2697
|
var _a;
|
|
2630
2698
|
(_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.element);
|
|
2631
2699
|
}), this.gridview.onDidChange(() => {
|
|
@@ -3239,6 +3307,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3239
3307
|
get onDidRemovePanel() {
|
|
3240
3308
|
return this.component.onDidRemovePanel;
|
|
3241
3309
|
}
|
|
3310
|
+
get onDidMovePanel() {
|
|
3311
|
+
return this.component.onDidMovePanel;
|
|
3312
|
+
}
|
|
3242
3313
|
/**
|
|
3243
3314
|
* Invoked after a layout is deserialzied using the `fromJSON` method.
|
|
3244
3315
|
*/
|
|
@@ -3379,8 +3450,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3379
3450
|
/**
|
|
3380
3451
|
* Add a floating group
|
|
3381
3452
|
*/
|
|
3382
|
-
addFloatingGroup(item,
|
|
3383
|
-
return this.component.addFloatingGroup(item,
|
|
3453
|
+
addFloatingGroup(item, options) {
|
|
3454
|
+
return this.component.addFloatingGroup(item, options);
|
|
3384
3455
|
}
|
|
3385
3456
|
/**
|
|
3386
3457
|
* Create a component from a serialized object.
|
|
@@ -3430,6 +3501,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3430
3501
|
addPopoutGroup(item, options) {
|
|
3431
3502
|
return this.component.addPopoutGroup(item, options);
|
|
3432
3503
|
}
|
|
3504
|
+
setGap(gap) {
|
|
3505
|
+
this.component.updateOptions({ gap });
|
|
3506
|
+
}
|
|
3433
3507
|
}
|
|
3434
3508
|
|
|
3435
3509
|
class DragHandler extends CompositeDisposable {
|
|
@@ -4799,7 +4873,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4799
4873
|
this.accessor.addFloatingGroup(this.group, {
|
|
4800
4874
|
x: left - rootLeft + 20,
|
|
4801
4875
|
y: top - rootTop + 20,
|
|
4802
|
-
|
|
4876
|
+
inDragMode: true,
|
|
4877
|
+
});
|
|
4803
4878
|
}
|
|
4804
4879
|
}), addDisposableListener(this.tabContainer, 'mousedown', (event) => {
|
|
4805
4880
|
if (event.defaultPrevented) {
|
|
@@ -4868,7 +4943,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4868
4943
|
this.accessor.addFloatingGroup(panel, {
|
|
4869
4944
|
x: left - rootLeft,
|
|
4870
4945
|
y: top - rootTop,
|
|
4871
|
-
|
|
4946
|
+
inDragMode: true,
|
|
4947
|
+
});
|
|
4872
4948
|
return;
|
|
4873
4949
|
}
|
|
4874
4950
|
const isLeftClick = event.button === 0;
|
|
@@ -4941,6 +5017,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4941
5017
|
rootOverlayModel: undefined,
|
|
4942
5018
|
locked: undefined,
|
|
4943
5019
|
disableDnd: undefined,
|
|
5020
|
+
gap: undefined,
|
|
4944
5021
|
};
|
|
4945
5022
|
return Object.keys(properties);
|
|
4946
5023
|
})();
|
|
@@ -5671,6 +5748,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5671
5748
|
get isActive() {
|
|
5672
5749
|
return this.api.isActive;
|
|
5673
5750
|
}
|
|
5751
|
+
get isVisible() {
|
|
5752
|
+
return this.api.isVisible;
|
|
5753
|
+
}
|
|
5674
5754
|
constructor(id, component, options, api) {
|
|
5675
5755
|
super(id, component, api !== null && api !== void 0 ? api : new GridviewPanelApiImpl(id, component));
|
|
5676
5756
|
this._evaluatedMinimumWidth = 0;
|
|
@@ -6433,12 +6513,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6433
6513
|
this._element.appendChild(this.options.content);
|
|
6434
6514
|
this.options.container.appendChild(this._element);
|
|
6435
6515
|
// if input bad resize within acceptable boundaries
|
|
6436
|
-
this.setBounds({
|
|
6437
|
-
height: this.options.height,
|
|
6438
|
-
width: this.options.width,
|
|
6439
|
-
top: this.options.top,
|
|
6440
|
-
left: this.options.left,
|
|
6441
|
-
});
|
|
6516
|
+
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 })));
|
|
6442
6517
|
}
|
|
6443
6518
|
setBounds(bounds = {}) {
|
|
6444
6519
|
if (typeof bounds.height === 'number') {
|
|
@@ -6447,11 +6522,25 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6447
6522
|
if (typeof bounds.width === 'number') {
|
|
6448
6523
|
this._element.style.width = `${bounds.width}px`;
|
|
6449
6524
|
}
|
|
6450
|
-
if (typeof bounds.top === 'number') {
|
|
6525
|
+
if ('top' in bounds && typeof bounds.top === 'number') {
|
|
6451
6526
|
this._element.style.top = `${bounds.top}px`;
|
|
6527
|
+
this._element.style.bottom = 'auto';
|
|
6528
|
+
this.verticalAlignment = 'top';
|
|
6529
|
+
}
|
|
6530
|
+
if ('bottom' in bounds && typeof bounds.bottom === 'number') {
|
|
6531
|
+
this._element.style.bottom = `${bounds.bottom}px`;
|
|
6532
|
+
this._element.style.top = 'auto';
|
|
6533
|
+
this.verticalAlignment = 'bottom';
|
|
6452
6534
|
}
|
|
6453
|
-
if (typeof bounds.left === 'number') {
|
|
6535
|
+
if ('left' in bounds && typeof bounds.left === 'number') {
|
|
6454
6536
|
this._element.style.left = `${bounds.left}px`;
|
|
6537
|
+
this._element.style.right = 'auto';
|
|
6538
|
+
this.horiziontalAlignment = 'left';
|
|
6539
|
+
}
|
|
6540
|
+
if ('right' in bounds && typeof bounds.right === 'number') {
|
|
6541
|
+
this._element.style.right = `${bounds.right}px`;
|
|
6542
|
+
this._element.style.left = 'auto';
|
|
6543
|
+
this.horiziontalAlignment = 'right';
|
|
6455
6544
|
}
|
|
6456
6545
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
6457
6546
|
const overlayRect = this._element.getBoundingClientRect();
|
|
@@ -6459,24 +6548,54 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6459
6548
|
// a minimum width of minimumViewportWidth must be inside the viewport
|
|
6460
6549
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
6461
6550
|
// a minimum height of minimumViewportHeight must be inside the viewport
|
|
6462
|
-
const yOffset =
|
|
6463
|
-
|
|
6464
|
-
|
|
6465
|
-
|
|
6466
|
-
|
|
6467
|
-
|
|
6468
|
-
this.
|
|
6551
|
+
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
6552
|
+
if (this.verticalAlignment === 'top') {
|
|
6553
|
+
const top = clamp(overlayRect.top - containerRect.top, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6554
|
+
this._element.style.top = `${top}px`;
|
|
6555
|
+
this._element.style.bottom = 'auto';
|
|
6556
|
+
}
|
|
6557
|
+
if (this.verticalAlignment === 'bottom') {
|
|
6558
|
+
const bottom = clamp(containerRect.bottom - overlayRect.bottom, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6559
|
+
this._element.style.bottom = `${bottom}px`;
|
|
6560
|
+
this._element.style.top = 'auto';
|
|
6561
|
+
}
|
|
6562
|
+
if (this.horiziontalAlignment === 'left') {
|
|
6563
|
+
const left = clamp(overlayRect.left - containerRect.left, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6564
|
+
this._element.style.left = `${left}px`;
|
|
6565
|
+
this._element.style.right = 'auto';
|
|
6566
|
+
}
|
|
6567
|
+
if (this.horiziontalAlignment === 'right') {
|
|
6568
|
+
const right = clamp(containerRect.right - overlayRect.right, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6569
|
+
this._element.style.right = `${right}px`;
|
|
6570
|
+
this._element.style.left = 'auto';
|
|
6571
|
+
}
|
|
6469
6572
|
this._onDidChange.fire();
|
|
6470
6573
|
}
|
|
6471
6574
|
toJSON() {
|
|
6472
6575
|
const container = this.options.container.getBoundingClientRect();
|
|
6473
6576
|
const element = this._element.getBoundingClientRect();
|
|
6474
|
-
|
|
6475
|
-
|
|
6476
|
-
|
|
6477
|
-
|
|
6478
|
-
|
|
6479
|
-
|
|
6577
|
+
const result = {};
|
|
6578
|
+
if (this.verticalAlignment === 'top') {
|
|
6579
|
+
result.top = parseFloat(this._element.style.top);
|
|
6580
|
+
}
|
|
6581
|
+
else if (this.verticalAlignment === 'bottom') {
|
|
6582
|
+
result.bottom = parseFloat(this._element.style.bottom);
|
|
6583
|
+
}
|
|
6584
|
+
else {
|
|
6585
|
+
result.top = element.top - container.top;
|
|
6586
|
+
}
|
|
6587
|
+
if (this.horiziontalAlignment === 'left') {
|
|
6588
|
+
result.left = parseFloat(this._element.style.left);
|
|
6589
|
+
}
|
|
6590
|
+
else if (this.horiziontalAlignment === 'right') {
|
|
6591
|
+
result.right = parseFloat(this._element.style.right);
|
|
6592
|
+
}
|
|
6593
|
+
else {
|
|
6594
|
+
result.left = element.left - container.left;
|
|
6595
|
+
}
|
|
6596
|
+
result.width = element.width;
|
|
6597
|
+
result.height = element.height;
|
|
6598
|
+
return result;
|
|
6480
6599
|
}
|
|
6481
6600
|
setupDrag(dragTarget, options = { inDragMode: false }) {
|
|
6482
6601
|
const move = new MutableDisposable();
|
|
@@ -6508,12 +6627,30 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6508
6627
|
};
|
|
6509
6628
|
}
|
|
6510
6629
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
6511
|
-
const yOffset = Math.max(0, this.
|
|
6512
|
-
? this.getMinimumHeight(overlayRect.height)
|
|
6513
|
-
: 0);
|
|
6514
|
-
const left = clamp(x - offset.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6630
|
+
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
6515
6631
|
const top = clamp(y - offset.y, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6516
|
-
|
|
6632
|
+
const bottom = clamp(offset.y -
|
|
6633
|
+
y +
|
|
6634
|
+
containerRect.height -
|
|
6635
|
+
overlayRect.height, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6636
|
+
const left = clamp(x - offset.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6637
|
+
const right = clamp(offset.x - x + containerRect.width - overlayRect.width, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6638
|
+
const bounds = {};
|
|
6639
|
+
// Anchor to top or to bottom depending on which one is closer
|
|
6640
|
+
if (top <= bottom) {
|
|
6641
|
+
bounds.top = top;
|
|
6642
|
+
}
|
|
6643
|
+
else {
|
|
6644
|
+
bounds.bottom = bottom;
|
|
6645
|
+
}
|
|
6646
|
+
// Anchor to left or to right depending on which one is closer
|
|
6647
|
+
if (left <= right) {
|
|
6648
|
+
bounds.left = left;
|
|
6649
|
+
}
|
|
6650
|
+
else {
|
|
6651
|
+
bounds.right = right;
|
|
6652
|
+
}
|
|
6653
|
+
this.setBounds(bounds);
|
|
6517
6654
|
}), addDisposableWindowListener(window, 'mouseup', () => {
|
|
6518
6655
|
toggleClass(this._element, 'dv-resize-container-dragging', false);
|
|
6519
6656
|
move.dispose();
|
|
@@ -6581,8 +6718,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6581
6718
|
};
|
|
6582
6719
|
}
|
|
6583
6720
|
let top = undefined;
|
|
6721
|
+
let bottom = undefined;
|
|
6584
6722
|
let height = undefined;
|
|
6585
6723
|
let left = undefined;
|
|
6724
|
+
let right = undefined;
|
|
6586
6725
|
let width = undefined;
|
|
6587
6726
|
const moveTop = () => {
|
|
6588
6727
|
top = clamp(y, -Number.MAX_VALUE, startPosition.originalY +
|
|
@@ -6596,6 +6735,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6596
6735
|
startPosition.originalY +
|
|
6597
6736
|
startPosition.originalHeight -
|
|
6598
6737
|
top;
|
|
6738
|
+
bottom = containerRect.height - top - height;
|
|
6599
6739
|
};
|
|
6600
6740
|
const moveBottom = () => {
|
|
6601
6741
|
top =
|
|
@@ -6607,6 +6747,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6607
6747
|
? -top +
|
|
6608
6748
|
this.options.minimumInViewportHeight
|
|
6609
6749
|
: Overlay.MINIMUM_HEIGHT, Number.MAX_VALUE);
|
|
6750
|
+
bottom = containerRect.height - top - height;
|
|
6610
6751
|
};
|
|
6611
6752
|
const moveLeft = () => {
|
|
6612
6753
|
left = clamp(x, -Number.MAX_VALUE, startPosition.originalX +
|
|
@@ -6620,6 +6761,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6620
6761
|
startPosition.originalX +
|
|
6621
6762
|
startPosition.originalWidth -
|
|
6622
6763
|
left;
|
|
6764
|
+
right = containerRect.width - left - width;
|
|
6623
6765
|
};
|
|
6624
6766
|
const moveRight = () => {
|
|
6625
6767
|
left =
|
|
@@ -6631,6 +6773,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6631
6773
|
? -left +
|
|
6632
6774
|
this.options.minimumInViewportWidth
|
|
6633
6775
|
: Overlay.MINIMUM_WIDTH, Number.MAX_VALUE);
|
|
6776
|
+
right = containerRect.width - left - width;
|
|
6634
6777
|
};
|
|
6635
6778
|
switch (direction) {
|
|
6636
6779
|
case 'top':
|
|
@@ -6662,7 +6805,24 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6662
6805
|
moveRight();
|
|
6663
6806
|
break;
|
|
6664
6807
|
}
|
|
6665
|
-
|
|
6808
|
+
const bounds = {};
|
|
6809
|
+
// Anchor to top or to bottom depending on which one is closer
|
|
6810
|
+
if (top <= bottom) {
|
|
6811
|
+
bounds.top = top;
|
|
6812
|
+
}
|
|
6813
|
+
else {
|
|
6814
|
+
bounds.bottom = bottom;
|
|
6815
|
+
}
|
|
6816
|
+
// Anchor to left or to right depending on which one is closer
|
|
6817
|
+
if (left <= right) {
|
|
6818
|
+
bounds.left = left;
|
|
6819
|
+
}
|
|
6820
|
+
else {
|
|
6821
|
+
bounds.right = right;
|
|
6822
|
+
}
|
|
6823
|
+
bounds.height = height;
|
|
6824
|
+
bounds.width = width;
|
|
6825
|
+
this.setBounds(bounds);
|
|
6666
6826
|
}), {
|
|
6667
6827
|
dispose: () => {
|
|
6668
6828
|
for (const iframe of iframes) {
|
|
@@ -6685,7 +6845,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6685
6845
|
if (typeof this.options.minimumInViewportHeight === 'number') {
|
|
6686
6846
|
return height - this.options.minimumInViewportHeight;
|
|
6687
6847
|
}
|
|
6688
|
-
return
|
|
6848
|
+
return 0;
|
|
6689
6849
|
}
|
|
6690
6850
|
dispose() {
|
|
6691
6851
|
this._element.remove();
|
|
@@ -6708,7 +6868,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6708
6868
|
}
|
|
6709
6869
|
|
|
6710
6870
|
const DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE = 100;
|
|
6711
|
-
const DEFAULT_FLOATING_GROUP_POSITION = { left: 100, top: 100 };
|
|
6871
|
+
const DEFAULT_FLOATING_GROUP_POSITION = { left: 100, top: 100, width: 300, height: 300 };
|
|
6712
6872
|
|
|
6713
6873
|
function createFocusableElement() {
|
|
6714
6874
|
const element = document.createElement('div');
|
|
@@ -7051,6 +7211,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7051
7211
|
parentElement: options.parentElement,
|
|
7052
7212
|
disableAutoResizing: options.disableAutoResizing,
|
|
7053
7213
|
locked: options.locked,
|
|
7214
|
+
margin: options.gap,
|
|
7054
7215
|
});
|
|
7055
7216
|
this.nextGroupId = sequentialNumberGenerator();
|
|
7056
7217
|
this._deserializer = new DefaultDockviewDeserialzier(this);
|
|
@@ -7076,9 +7237,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7076
7237
|
this._onDidActivePanelChange = new Emitter();
|
|
7077
7238
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
7078
7239
|
this._onDidMovePanel = new Emitter();
|
|
7240
|
+
this.onDidMovePanel = this._onDidMovePanel.event;
|
|
7079
7241
|
this._floatingGroups = [];
|
|
7080
7242
|
this._popoutGroups = [];
|
|
7081
|
-
this._ignoreEvents = 0;
|
|
7082
7243
|
this._onDidRemoveGroup = new Emitter();
|
|
7083
7244
|
this.onDidRemoveGroup = this._onDidRemoveGroup.event;
|
|
7084
7245
|
this._onDidAddGroup = new Emitter();
|
|
@@ -7092,7 +7253,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7092
7253
|
this.overlayRenderContainer = new OverlayRenderContainer(gready);
|
|
7093
7254
|
toggleClass(this.gridview.element, 'dv-dockview', true);
|
|
7094
7255
|
toggleClass(this.element, 'dv-debug', !!options.debug);
|
|
7095
|
-
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.
|
|
7256
|
+
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(() => {
|
|
7257
|
+
this.updateWatermark();
|
|
7258
|
+
}), this.onDidAdd((event) => {
|
|
7096
7259
|
if (!this._moving) {
|
|
7097
7260
|
this._onDidAddGroup.fire(event);
|
|
7098
7261
|
}
|
|
@@ -7106,7 +7269,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7106
7269
|
}
|
|
7107
7270
|
}), exports.DockviewEvent.any(this.onDidAdd, this.onDidRemove)(() => {
|
|
7108
7271
|
this.updateWatermark();
|
|
7109
|
-
}), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
|
|
7272
|
+
}), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidAddGroup, this.onDidRemove, this.onDidMovePanel, this.onDidActivePanelChange)(() => {
|
|
7110
7273
|
this._bufferOnDidLayoutChange.fire();
|
|
7111
7274
|
}), exports.DockviewDisposable.from(() => {
|
|
7112
7275
|
// iterate over a copy of the array since .dispose() mutates the original array
|
|
@@ -7357,8 +7520,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7357
7520
|
console.error('dockview: failed to create popout window', err);
|
|
7358
7521
|
});
|
|
7359
7522
|
}
|
|
7360
|
-
addFloatingGroup(item,
|
|
7361
|
-
var _a, _b, _c, _d, _e
|
|
7523
|
+
addFloatingGroup(item, options) {
|
|
7524
|
+
var _a, _b, _c, _d, _e;
|
|
7362
7525
|
let group;
|
|
7363
7526
|
if (item instanceof DockviewPanel) {
|
|
7364
7527
|
group = this.createGroup();
|
|
@@ -7403,26 +7566,62 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7403
7566
|
}
|
|
7404
7567
|
}
|
|
7405
7568
|
group.model.location = { type: 'floating' };
|
|
7406
|
-
|
|
7407
|
-
|
|
7408
|
-
|
|
7409
|
-
|
|
7410
|
-
|
|
7411
|
-
|
|
7412
|
-
|
|
7413
|
-
|
|
7414
|
-
|
|
7415
|
-
|
|
7416
|
-
|
|
7417
|
-
|
|
7418
|
-
|
|
7419
|
-
|
|
7569
|
+
function getAnchoredBox() {
|
|
7570
|
+
if (options === null || options === void 0 ? void 0 : options.position) {
|
|
7571
|
+
const result = {};
|
|
7572
|
+
if ('left' in options.position) {
|
|
7573
|
+
result.left = Math.max(options.position.left, 0);
|
|
7574
|
+
}
|
|
7575
|
+
else if ('right' in options.position) {
|
|
7576
|
+
result.right = Math.max(options.position.right, 0);
|
|
7577
|
+
}
|
|
7578
|
+
else {
|
|
7579
|
+
result.left = DEFAULT_FLOATING_GROUP_POSITION.left;
|
|
7580
|
+
}
|
|
7581
|
+
if ('top' in options.position) {
|
|
7582
|
+
result.top = Math.max(options.position.top, 0);
|
|
7583
|
+
}
|
|
7584
|
+
else if ('bottom' in options.position) {
|
|
7585
|
+
result.bottom = Math.max(options.position.bottom, 0);
|
|
7586
|
+
}
|
|
7587
|
+
else {
|
|
7588
|
+
result.top = DEFAULT_FLOATING_GROUP_POSITION.top;
|
|
7589
|
+
}
|
|
7590
|
+
if ('width' in options.position) {
|
|
7591
|
+
result.width = Math.max(options.position.width, 0);
|
|
7592
|
+
}
|
|
7593
|
+
else {
|
|
7594
|
+
result.width = DEFAULT_FLOATING_GROUP_POSITION.width;
|
|
7595
|
+
}
|
|
7596
|
+
if ('height' in options.position) {
|
|
7597
|
+
result.height = Math.max(options.position.height, 0);
|
|
7598
|
+
}
|
|
7599
|
+
else {
|
|
7600
|
+
result.height = DEFAULT_FLOATING_GROUP_POSITION.height;
|
|
7601
|
+
}
|
|
7602
|
+
return result;
|
|
7603
|
+
}
|
|
7604
|
+
return {
|
|
7605
|
+
left: typeof (options === null || options === void 0 ? void 0 : options.x) === 'number'
|
|
7606
|
+
? Math.max(options.x, 0)
|
|
7607
|
+
: DEFAULT_FLOATING_GROUP_POSITION.left,
|
|
7608
|
+
top: typeof (options === null || options === void 0 ? void 0 : options.y) === 'number'
|
|
7609
|
+
? Math.max(options.y, 0)
|
|
7610
|
+
: DEFAULT_FLOATING_GROUP_POSITION.top,
|
|
7611
|
+
width: typeof (options === null || options === void 0 ? void 0 : options.width) === 'number'
|
|
7612
|
+
? Math.max(options.width, 0)
|
|
7613
|
+
: DEFAULT_FLOATING_GROUP_POSITION.width,
|
|
7614
|
+
height: typeof (options === null || options === void 0 ? void 0 : options.height) === 'number'
|
|
7615
|
+
? Math.max(options.height, 0)
|
|
7616
|
+
: DEFAULT_FLOATING_GROUP_POSITION.height,
|
|
7617
|
+
};
|
|
7618
|
+
}
|
|
7619
|
+
const anchoredBox = getAnchoredBox();
|
|
7620
|
+
const overlay = new Overlay(Object.assign(Object.assign({ container: this.gridview.element, content: group.element }, anchoredBox), { minimumInViewportWidth: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7420
7621
|
? undefined
|
|
7421
|
-
: (
|
|
7422
|
-
minimumInViewportHeight: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7622
|
+
: (_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'
|
|
7423
7623
|
? undefined
|
|
7424
|
-
: (
|
|
7425
|
-
});
|
|
7624
|
+
: (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumHeightWithinViewport) !== null && _e !== void 0 ? _e : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE }));
|
|
7426
7625
|
const el = group.element.querySelector('.void-container');
|
|
7427
7626
|
if (!el) {
|
|
7428
7627
|
throw new Error('failed to find drag handle');
|
|
@@ -7520,12 +7719,18 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7520
7719
|
group.overlay.minimumInViewportWidth =
|
|
7521
7720
|
(_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport;
|
|
7522
7721
|
}
|
|
7523
|
-
group.overlay.setBounds(
|
|
7722
|
+
group.overlay.setBounds();
|
|
7524
7723
|
}
|
|
7525
7724
|
}
|
|
7526
7725
|
if (changed_rootOverlayOptions) {
|
|
7527
7726
|
this._rootDropTarget.setOverlayModel(options.rootOverlayModel);
|
|
7528
7727
|
}
|
|
7728
|
+
if (this.gridview.margin !== 0 && options.gap === undefined) {
|
|
7729
|
+
this.gridview.margin = 0;
|
|
7730
|
+
}
|
|
7731
|
+
if (typeof options.gap === 'number') {
|
|
7732
|
+
this.gridview.margin = options.gap;
|
|
7733
|
+
}
|
|
7529
7734
|
this.layout(this.gridview.width, this.gridview.height, true);
|
|
7530
7735
|
}
|
|
7531
7736
|
layout(width, height, forceResize) {
|
|
@@ -7687,11 +7892,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7687
7892
|
const { data, position } = serializedFloatingGroup;
|
|
7688
7893
|
const group = createGroupFromSerializedState(data);
|
|
7689
7894
|
this.addFloatingGroup(group, {
|
|
7690
|
-
|
|
7691
|
-
|
|
7692
|
-
|
|
7693
|
-
|
|
7694
|
-
}, { skipRemoveGroup: true, inDragMode: false });
|
|
7895
|
+
position: position,
|
|
7896
|
+
skipRemoveGroup: true,
|
|
7897
|
+
inDragMode: false,
|
|
7898
|
+
});
|
|
7695
7899
|
}
|
|
7696
7900
|
const serializedPopoutGroups = (_b = data.popoutGroups) !== null && _b !== void 0 ? _b : [];
|
|
7697
7901
|
for (const serializedPopoutGroup of serializedPopoutGroups) {
|
|
@@ -7826,11 +8030,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7826
8030
|
options.floating !== null
|
|
7827
8031
|
? options.floating
|
|
7828
8032
|
: {};
|
|
7829
|
-
this.addFloatingGroup(group, o, {
|
|
7830
|
-
inDragMode: false,
|
|
7831
|
-
skipRemoveGroup: true,
|
|
7832
|
-
skipActiveGroup: true,
|
|
7833
|
-
});
|
|
8033
|
+
this.addFloatingGroup(group, Object.assign(Object.assign({}, o), { inDragMode: false, skipRemoveGroup: true, skipActiveGroup: true }));
|
|
7834
8034
|
panel = this.createPanel(options, group);
|
|
7835
8035
|
group.model.openPanel(panel, {
|
|
7836
8036
|
skipSetActive: options.inactive,
|
|
@@ -7869,11 +8069,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7869
8069
|
options.floating !== null
|
|
7870
8070
|
? options.floating
|
|
7871
8071
|
: {};
|
|
7872
|
-
this.addFloatingGroup(group, coordinates, {
|
|
7873
|
-
inDragMode: false,
|
|
7874
|
-
skipRemoveGroup: true,
|
|
7875
|
-
skipActiveGroup: true,
|
|
7876
|
-
});
|
|
8072
|
+
this.addFloatingGroup(group, Object.assign(Object.assign({}, coordinates), { inDragMode: false, skipRemoveGroup: true, skipActiveGroup: true }));
|
|
7877
8073
|
panel = this.createPanel(options, group);
|
|
7878
8074
|
group.model.openPanel(panel, {
|
|
7879
8075
|
skipSetActive: options.inactive,
|
|
@@ -7928,6 +8124,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7928
8124
|
});
|
|
7929
8125
|
const watermarkContainer = document.createElement('div');
|
|
7930
8126
|
watermarkContainer.className = 'dv-watermark-container';
|
|
8127
|
+
addTestId(watermarkContainer, 'watermark-component');
|
|
7931
8128
|
watermarkContainer.appendChild(this.watermark.element);
|
|
7932
8129
|
this.gridview.element.appendChild(watermarkContainer);
|
|
7933
8130
|
}
|
|
@@ -8116,6 +8313,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
8116
8313
|
this.doSetGroupAndPanelActive(destinationGroup);
|
|
8117
8314
|
this._onDidMovePanel.fire({
|
|
8118
8315
|
panel: removedPanel,
|
|
8316
|
+
from: sourceGroup,
|
|
8119
8317
|
});
|
|
8120
8318
|
}
|
|
8121
8319
|
else {
|
|
@@ -8139,6 +8337,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
8139
8337
|
// if a group has one tab - we are essentially moving the 'group'
|
|
8140
8338
|
// which is equivalent to swapping two views in this case
|
|
8141
8339
|
this.gridview.moveView(sourceParentLocation, from, to);
|
|
8340
|
+
this._onDidMovePanel.fire({
|
|
8341
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8342
|
+
from: sourceGroup,
|
|
8343
|
+
});
|
|
8142
8344
|
return;
|
|
8143
8345
|
}
|
|
8144
8346
|
}
|
|
@@ -8152,6 +8354,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
8152
8354
|
const location = getRelativeLocation(this.gridview.orientation, updatedReferenceLocation, destinationTarget);
|
|
8153
8355
|
this.movingLock(() => this.doAddGroup(targetGroup, location));
|
|
8154
8356
|
this.doSetGroupAndPanelActive(targetGroup);
|
|
8357
|
+
this._onDidMovePanel.fire({
|
|
8358
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8359
|
+
from: sourceGroup,
|
|
8360
|
+
});
|
|
8155
8361
|
}
|
|
8156
8362
|
else {
|
|
8157
8363
|
/**
|
|
@@ -8171,6 +8377,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
8171
8377
|
skipSetGroupActive: true,
|
|
8172
8378
|
}));
|
|
8173
8379
|
this.doSetGroupAndPanelActive(group);
|
|
8380
|
+
this._onDidMovePanel.fire({
|
|
8381
|
+
panel: removedPanel,
|
|
8382
|
+
from: sourceGroup,
|
|
8383
|
+
});
|
|
8174
8384
|
}
|
|
8175
8385
|
}
|
|
8176
8386
|
}
|
|
@@ -8195,9 +8405,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
8195
8405
|
}
|
|
8196
8406
|
});
|
|
8197
8407
|
this.doSetGroupAndPanelActive(to);
|
|
8198
|
-
panels.forEach((panel) => {
|
|
8199
|
-
this._onDidMovePanel.fire({ panel });
|
|
8200
|
-
});
|
|
8201
8408
|
}
|
|
8202
8409
|
else {
|
|
8203
8410
|
switch (from.api.location.type) {
|
|
@@ -8223,10 +8430,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
8223
8430
|
const referenceLocation = getGridLocation(to.element);
|
|
8224
8431
|
const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
|
|
8225
8432
|
this.gridview.addView(from, exports.Sizing.Distribute, dropLocation);
|
|
8226
|
-
from.panels.forEach((panel) => {
|
|
8227
|
-
this._onDidMovePanel.fire({ panel });
|
|
8228
|
-
});
|
|
8229
8433
|
}
|
|
8434
|
+
from.panels.forEach((panel) => {
|
|
8435
|
+
this._onDidMovePanel.fire({ panel, from });
|
|
8436
|
+
});
|
|
8230
8437
|
}
|
|
8231
8438
|
doSetGroupActive(group) {
|
|
8232
8439
|
super.doSetGroupActive(group);
|