dockview-react 1.17.2 → 2.1.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-react.amd.js +346 -226
- package/dist/dockview-react.amd.js.map +1 -1
- package/dist/dockview-react.amd.min.js +2 -2
- package/dist/dockview-react.amd.min.js.map +1 -1
- package/dist/dockview-react.amd.min.noStyle.js +2 -2
- package/dist/dockview-react.amd.min.noStyle.js.map +1 -1
- package/dist/dockview-react.amd.noStyle.js +345 -225
- package/dist/dockview-react.amd.noStyle.js.map +1 -1
- package/dist/dockview-react.cjs.js +346 -226
- package/dist/dockview-react.cjs.js.map +1 -1
- package/dist/dockview-react.esm.js +347 -225
- package/dist/dockview-react.esm.js.map +1 -1
- package/dist/dockview-react.esm.min.js +2 -2
- package/dist/dockview-react.esm.min.js.map +1 -1
- package/dist/dockview-react.js +346 -226
- package/dist/dockview-react.js.map +1 -1
- package/dist/dockview-react.min.js +2 -2
- package/dist/dockview-react.min.js.map +1 -1
- package/dist/dockview-react.min.noStyle.js +2 -2
- package/dist/dockview-react.min.noStyle.js.map +1 -1
- package/dist/dockview-react.noStyle.js +345 -225
- package/dist/dockview-react.noStyle.js.map +1 -1
- package/dist/styles/dockview.css +111 -151
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-react
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 2.1.0
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -36,7 +36,7 @@ function styleInject(css, ref) {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
var css_248z = ".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-overlay-z-index: 999;\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-overlay-z-index: 999;\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-overlay-z-index: 999;\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-overlay-z-index: 999;\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-overlay-z-index: 999;\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-overlay-z-index: 999;\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:not(.disabled)::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:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled)::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:not(.disabled):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-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.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 --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: calc(var(--dv-overlay-z-index) - 2);\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: calc(var(--dv-overlay-z-index) - 1);\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\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: ellipsis;\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}";
|
|
39
|
+
var css_248z = ".dv-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-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-overlay-z-index: 999;\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-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-overlay-z-index: 999;\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-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-overlay-z-index: 999;\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 .dv-groupview.dv-active-group > .dv-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 .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tab.dv-active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tab.dv-inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-inactive-group > .dv-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 .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tab.dv-active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tab.dv-inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\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-overlay-z-index: 999;\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-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-overlay-z-index: 999;\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 .dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n position: relative;\n}\n.dockview-theme-dracula .dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-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 .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n position: relative;\n}\n.dockview-theme-dracula .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-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-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-overlay-z-index: 999;\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-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .dv-groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .dv-groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab .dv-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .dv-groupview .dv-content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .dv-groupview.dv-active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .dv-groupview.dv-inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled)::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:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .dv-horizontal > .dv-sash-container > .dv-sash:not(.disabled)::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 .dv-horizontal > .dv-sash-container > .dv-sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dv-drop-target {\n position: relative;\n}\n.dv-drop-target > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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-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.dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-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.dv-tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-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.dv-groupview:focus {\n outline: none;\n}\n.dv-groupview > .dv-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.dv-grid-view,\n.dv-branch-node {\n height: 100%;\n width: 100%;\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 --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: calc(var(--dv-overlay-z-index) - 2);\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-hidden {\n display: none;\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: calc(var(--dv-overlay-z-index) - 1);\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dv-pane-container {\n height: 100%;\n width: 100%;\n}\n.dv-pane-container.dv-animated .dv-view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.dv-pane-container .dv-view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.dv-pane-container .dv-view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.dv-pane-container .dv-view:not(:first-child) .dv-pane > .dv-pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.dv-pane-container .dv-view .dv-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.dv-pane-container .dv-view .dv-default-header .dv-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.dv-pane-container .dv-view .dv-default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.dv-pane-container:first-of-type > .dv-pane > .dv-pane-header {\n border-top: none !important;\n}\n.dv-pane-container .dv-pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.dv-pane-container .dv-pane .dv-pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.dv-pane-container .dv-pane .dv-pane-header.dv-pane-draggable {\n cursor: pointer;\n}\n.dv-pane-container .dv-pane .dv-pane-header:focus:before, .dv-pane-container .dv-pane .dv-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.dv-pane-container .dv-pane .dv-pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.dv-pane-container .dv-pane .dv-pane-body:focus:before, .dv-pane-container .dv-pane .dv-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 .dv-split-view-container .dv-sash-container .dv-sash.dv-enabled {\n background-color: black;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-disabled {\n background-color: orange;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-maximum {\n background-color: green;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-minimum {\n background-color: red;\n}\n\n.dv-split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.dv-split-view-container.dv-splitview-disabled > .dv-sash-container > .dv-sash {\n pointer-events: none;\n}\n.dv-split-view-container.dv-animation .dv-view,\n.dv-split-view-container.dv-animation .dv-sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.dv-split-view-container.dv-horizontal {\n height: 100%;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash {\n height: 100%;\n width: 4px;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-enabled {\n cursor: ew-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-disabled {\n cursor: default;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-maximum {\n cursor: w-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-minimum {\n cursor: e-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-view-container > .dv-view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.dv-split-view-container.dv-vertical {\n width: 100%;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash {\n width: 100%;\n height: 4px;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-enabled {\n cursor: ns-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-disabled {\n cursor: default;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-maximum {\n cursor: n-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-minimum {\n cursor: s-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-view-container > .dv-view {\n width: 100%;\n}\n.dv-split-view-container.dv-vertical > .dv-view-container > .dv-view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.dv-split-view-container .dv-sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.dv-split-view-container .dv-sash-container .dv-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.dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.dv-split-view-container .dv-sash-container .dv-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.dv-split-view-container .dv-view-container {\n position: relative;\n height: 100%;\n width: 100%;\n}\n.dv-split-view-container .dv-view-container .dv-view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.dv-split-view-container.dv-separator-border .dv-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.dv-tab {\n flex-shrink: 0;\n}\n.dv-tab:focus-within, .dv-tab:focus {\n position: relative;\n}\n.dv-tab:focus-within::after, .dv-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.dv-tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-tab.dv-active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.dv-tab.dv-inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.dv-tab.dv-inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.dv-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: ellipsis;\n}\n.dv-tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.dv-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.dv-tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.dv-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.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container {\n flex-grow: 1;\n}\n.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container .dv-tab {\n flex-grow: 1;\n}\n.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-void-container {\n flex-grow: 0;\n}\n.dv-tabs-and-actions-container .dv-void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.dv-tabs-and-actions-container .dv-tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.dv-tabs-and-actions-container .dv-tabs-container .dv-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.dv-tabs-and-actions-container .dv-tabs-container .dv-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.dv-watermark {\n display: flex;\n height: 100%;\n}";
|
|
40
40
|
styleInject(css_248z);
|
|
41
41
|
|
|
42
42
|
class TransferObject {
|
|
@@ -357,31 +357,6 @@ class MutableDisposable {
|
|
|
357
357
|
}
|
|
358
358
|
}
|
|
359
359
|
|
|
360
|
-
function createComponent(id, componentName, components = {}, frameworkComponents = {}, createFrameworkComponent, fallback) {
|
|
361
|
-
const Component = typeof componentName === 'string'
|
|
362
|
-
? components[componentName]
|
|
363
|
-
: undefined;
|
|
364
|
-
const FrameworkComponent = typeof componentName === 'string'
|
|
365
|
-
? frameworkComponents[componentName]
|
|
366
|
-
: undefined;
|
|
367
|
-
if (Component && FrameworkComponent) {
|
|
368
|
-
throw new Error(`Cannot create '${id}'. component '${componentName}' registered as both a component and frameworkComponent`);
|
|
369
|
-
}
|
|
370
|
-
if (FrameworkComponent) {
|
|
371
|
-
if (!createFrameworkComponent) {
|
|
372
|
-
throw new Error(`Cannot create '${id}' for framework component '${componentName}'. you must register a frameworkPanelWrapper to use framework components`);
|
|
373
|
-
}
|
|
374
|
-
return createFrameworkComponent.createComponent(id, componentName, FrameworkComponent);
|
|
375
|
-
}
|
|
376
|
-
if (!Component) {
|
|
377
|
-
if (fallback) {
|
|
378
|
-
return fallback();
|
|
379
|
-
}
|
|
380
|
-
throw new Error(`Cannot create '${id}', no component '${componentName}' provided`);
|
|
381
|
-
}
|
|
382
|
-
return new Component(id, componentName);
|
|
383
|
-
}
|
|
384
|
-
|
|
385
360
|
function watchElementResize(element, cb) {
|
|
386
361
|
const observer = new ResizeObserver((entires) => {
|
|
387
362
|
/**
|
|
@@ -850,10 +825,10 @@ class Splitview {
|
|
|
850
825
|
const tmp = this.size;
|
|
851
826
|
this.size = this.orthogonalSize;
|
|
852
827
|
this.orthogonalSize = tmp;
|
|
853
|
-
removeClasses(this.element, 'horizontal', 'vertical');
|
|
828
|
+
removeClasses(this.element, 'dv-horizontal', 'dv-vertical');
|
|
854
829
|
this.element.classList.add(this.orientation == exports.Orientation.HORIZONTAL
|
|
855
|
-
? 'horizontal'
|
|
856
|
-
: 'vertical');
|
|
830
|
+
? 'dv-horizontal'
|
|
831
|
+
: 'dv-vertical');
|
|
857
832
|
}
|
|
858
833
|
get minimumSize() {
|
|
859
834
|
return this.viewItems.reduce((r, item) => r + item.minimumSize, 0);
|
|
@@ -1031,11 +1006,11 @@ class Splitview {
|
|
|
1031
1006
|
}
|
|
1032
1007
|
style(styles) {
|
|
1033
1008
|
if ((styles === null || styles === void 0 ? void 0 : styles.separatorBorder) === 'transparent') {
|
|
1034
|
-
removeClasses(this.element, 'separator-border');
|
|
1009
|
+
removeClasses(this.element, 'dv-separator-border');
|
|
1035
1010
|
this.element.style.removeProperty('--dv-separator-border');
|
|
1036
1011
|
}
|
|
1037
1012
|
else {
|
|
1038
|
-
addClasses(this.element, 'separator-border');
|
|
1013
|
+
addClasses(this.element, 'dv-separator-border');
|
|
1039
1014
|
if (styles === null || styles === void 0 ? void 0 : styles.separatorBorder) {
|
|
1040
1015
|
this.element.style.setProperty('--dv-separator-border', styles.separatorBorder);
|
|
1041
1016
|
}
|
|
@@ -1105,7 +1080,7 @@ class Splitview {
|
|
|
1105
1080
|
}
|
|
1106
1081
|
addView(view, size = { type: 'distribute' }, index = this.viewItems.length, skipLayout) {
|
|
1107
1082
|
const container = document.createElement('div');
|
|
1108
|
-
container.className = 'view';
|
|
1083
|
+
container.className = 'dv-view';
|
|
1109
1084
|
container.appendChild(view.element);
|
|
1110
1085
|
let viewSize;
|
|
1111
1086
|
if (typeof size === 'number') {
|
|
@@ -1137,7 +1112,7 @@ class Splitview {
|
|
|
1137
1112
|
if (this.viewItems.length > 1) {
|
|
1138
1113
|
//add sash
|
|
1139
1114
|
const sash = document.createElement('div');
|
|
1140
|
-
sash.className = 'sash';
|
|
1115
|
+
sash.className = 'dv-sash';
|
|
1141
1116
|
const onPointerStart = (event) => {
|
|
1142
1117
|
for (const item of this.viewItems) {
|
|
1143
1118
|
item.enabled = false;
|
|
@@ -1396,7 +1371,8 @@ class Splitview {
|
|
|
1396
1371
|
const offset = i === 0 || visiblePanelsBeforeThisView === 0
|
|
1397
1372
|
? 0
|
|
1398
1373
|
: viewLeftOffsets[i - 1] +
|
|
1399
|
-
(visiblePanelsBeforeThisView / sashCount) *
|
|
1374
|
+
(visiblePanelsBeforeThisView / sashCount) *
|
|
1375
|
+
marginReducedSize;
|
|
1400
1376
|
if (i < this.viewItems.length - 1) {
|
|
1401
1377
|
// calculate sash position
|
|
1402
1378
|
const newSize = view.visible
|
|
@@ -1507,27 +1483,27 @@ class Splitview {
|
|
|
1507
1483
|
}
|
|
1508
1484
|
}
|
|
1509
1485
|
updateSash(sash, state) {
|
|
1510
|
-
toggleClass(sash.container, 'disabled', state === exports.SashState.DISABLED);
|
|
1511
|
-
toggleClass(sash.container, 'enabled', state === exports.SashState.ENABLED);
|
|
1512
|
-
toggleClass(sash.container, 'maximum', state === exports.SashState.MAXIMUM);
|
|
1513
|
-
toggleClass(sash.container, 'minimum', state === exports.SashState.MINIMUM);
|
|
1486
|
+
toggleClass(sash.container, 'dv-disabled', state === exports.SashState.DISABLED);
|
|
1487
|
+
toggleClass(sash.container, 'dv-enabled', state === exports.SashState.ENABLED);
|
|
1488
|
+
toggleClass(sash.container, 'dv-maximum', state === exports.SashState.MAXIMUM);
|
|
1489
|
+
toggleClass(sash.container, 'dv-minimum', state === exports.SashState.MINIMUM);
|
|
1514
1490
|
}
|
|
1515
1491
|
createViewContainer() {
|
|
1516
1492
|
const element = document.createElement('div');
|
|
1517
|
-
element.className = 'view-container';
|
|
1493
|
+
element.className = 'dv-view-container';
|
|
1518
1494
|
return element;
|
|
1519
1495
|
}
|
|
1520
1496
|
createSashContainer() {
|
|
1521
1497
|
const element = document.createElement('div');
|
|
1522
|
-
element.className = 'sash-container';
|
|
1498
|
+
element.className = 'dv-sash-container';
|
|
1523
1499
|
return element;
|
|
1524
1500
|
}
|
|
1525
1501
|
createContainer() {
|
|
1526
1502
|
const element = document.createElement('div');
|
|
1527
1503
|
const orientationClassname = this._orientation === exports.Orientation.HORIZONTAL
|
|
1528
|
-
? 'horizontal'
|
|
1529
|
-
: 'vertical';
|
|
1530
|
-
element.className = `split-view-container ${orientationClassname}`;
|
|
1504
|
+
? 'dv-horizontal'
|
|
1505
|
+
: 'dv-vertical';
|
|
1506
|
+
element.className = `dv-split-view-container ${orientationClassname}`;
|
|
1531
1507
|
return element;
|
|
1532
1508
|
}
|
|
1533
1509
|
dispose() {
|
|
@@ -1578,7 +1554,7 @@ class Paneview extends CompositeDisposable {
|
|
|
1578
1554
|
this.onDidChange = this._onDidChange.event;
|
|
1579
1555
|
this._orientation = (_a = options.orientation) !== null && _a !== void 0 ? _a : exports.Orientation.VERTICAL;
|
|
1580
1556
|
this.element = document.createElement('div');
|
|
1581
|
-
this.element.className = 'pane-container';
|
|
1557
|
+
this.element.className = 'dv-pane-container';
|
|
1582
1558
|
container.appendChild(this.element);
|
|
1583
1559
|
this.splitview = new Splitview(this.element, {
|
|
1584
1560
|
orientation: this._orientation,
|
|
@@ -1670,10 +1646,10 @@ class Paneview extends CompositeDisposable {
|
|
|
1670
1646
|
clearTimeout(this.animationTimer);
|
|
1671
1647
|
this.animationTimer = undefined;
|
|
1672
1648
|
}
|
|
1673
|
-
addClasses(this.element, 'animated');
|
|
1649
|
+
addClasses(this.element, 'dv-animated');
|
|
1674
1650
|
this.animationTimer = setTimeout(() => {
|
|
1675
1651
|
this.animationTimer = undefined;
|
|
1676
|
-
removeClasses(this.element, 'animated');
|
|
1652
|
+
removeClasses(this.element, 'dv-animated');
|
|
1677
1653
|
}, 200);
|
|
1678
1654
|
}
|
|
1679
1655
|
dispose() {
|
|
@@ -1898,7 +1874,7 @@ class BranchNode extends CompositeDisposable {
|
|
|
1898
1874
|
this._orthogonalSize = orthogonalSize;
|
|
1899
1875
|
this._size = size;
|
|
1900
1876
|
this.element = document.createElement('div');
|
|
1901
|
-
this.element.className = 'branch-node';
|
|
1877
|
+
this.element.className = 'dv-branch-node';
|
|
1902
1878
|
if (!childDescriptors) {
|
|
1903
1879
|
this.splitview = new Splitview(this.element, {
|
|
1904
1880
|
orientation: this.orientation,
|
|
@@ -2109,7 +2085,7 @@ function getGridLocation(element) {
|
|
|
2109
2085
|
if (!parentElement) {
|
|
2110
2086
|
throw new Error('Invalid grid element');
|
|
2111
2087
|
}
|
|
2112
|
-
if (/\
|
|
2088
|
+
if (/\bdv-grid-view\b/.test(parentElement.className)) {
|
|
2113
2089
|
return [];
|
|
2114
2090
|
}
|
|
2115
2091
|
const index = indexInParent(parentElement);
|
|
@@ -2246,6 +2222,7 @@ class Gridview {
|
|
|
2246
2222
|
if (this.hasMaximizedView()) {
|
|
2247
2223
|
this.exitMaximizedView();
|
|
2248
2224
|
}
|
|
2225
|
+
serializeBranchNode(this.getView(), this.orientation);
|
|
2249
2226
|
const hiddenOnMaximize = [];
|
|
2250
2227
|
function hideAllViewsBut(parent, exclude) {
|
|
2251
2228
|
for (let i = 0; i < parent.children.length; i++) {
|
|
@@ -2267,7 +2244,10 @@ class Gridview {
|
|
|
2267
2244
|
}
|
|
2268
2245
|
hideAllViewsBut(this.root, node);
|
|
2269
2246
|
this._maximizedNode = { leaf: node, hiddenOnMaximize };
|
|
2270
|
-
this._onDidMaximizedNodeChange.fire(
|
|
2247
|
+
this._onDidMaximizedNodeChange.fire({
|
|
2248
|
+
view: node.view,
|
|
2249
|
+
isMaximized: true,
|
|
2250
|
+
});
|
|
2271
2251
|
}
|
|
2272
2252
|
exitMaximizedView() {
|
|
2273
2253
|
if (!this._maximizedNode) {
|
|
@@ -2288,24 +2268,51 @@ class Gridview {
|
|
|
2288
2268
|
}
|
|
2289
2269
|
}
|
|
2290
2270
|
showViewsInReverseOrder(this.root);
|
|
2271
|
+
const tmp = this._maximizedNode.leaf;
|
|
2291
2272
|
this._maximizedNode = undefined;
|
|
2292
|
-
this._onDidMaximizedNodeChange.fire(
|
|
2273
|
+
this._onDidMaximizedNodeChange.fire({
|
|
2274
|
+
view: tmp.view,
|
|
2275
|
+
isMaximized: false,
|
|
2276
|
+
});
|
|
2293
2277
|
}
|
|
2294
2278
|
serialize() {
|
|
2279
|
+
const maximizedView = this.maximizedView();
|
|
2280
|
+
let maxmizedViewLocation;
|
|
2281
|
+
if (maximizedView) {
|
|
2282
|
+
/**
|
|
2283
|
+
* The minimum information we can get away with in order to serialize a maxmized view is it's location within the grid
|
|
2284
|
+
* which is represented as a branch of indices
|
|
2285
|
+
*/
|
|
2286
|
+
maxmizedViewLocation = getGridLocation(maximizedView.element);
|
|
2287
|
+
}
|
|
2295
2288
|
if (this.hasMaximizedView()) {
|
|
2296
2289
|
/**
|
|
2297
|
-
*
|
|
2298
|
-
*
|
|
2290
|
+
* the saved layout cannot be in its maxmized state otherwise all of the underlying
|
|
2291
|
+
* view dimensions will be wrong
|
|
2292
|
+
*
|
|
2293
|
+
* To counteract this we temporaily remove the maximized view to compute the serialized output
|
|
2294
|
+
* of the grid before adding back the maxmized view as to not alter the layout from the users
|
|
2295
|
+
* perspective when `.toJSON()` is called
|
|
2299
2296
|
*/
|
|
2300
2297
|
this.exitMaximizedView();
|
|
2301
2298
|
}
|
|
2302
2299
|
const root = serializeBranchNode(this.getView(), this.orientation);
|
|
2303
|
-
|
|
2300
|
+
const resullt = {
|
|
2304
2301
|
root,
|
|
2305
2302
|
width: this.width,
|
|
2306
2303
|
height: this.height,
|
|
2307
2304
|
orientation: this.orientation,
|
|
2308
2305
|
};
|
|
2306
|
+
if (maxmizedViewLocation) {
|
|
2307
|
+
resullt.maximizedNode = {
|
|
2308
|
+
location: maxmizedViewLocation,
|
|
2309
|
+
};
|
|
2310
|
+
}
|
|
2311
|
+
if (maximizedView) {
|
|
2312
|
+
// replace any maximzied view that was removed for serialization purposes
|
|
2313
|
+
this.maximizeView(maximizedView);
|
|
2314
|
+
}
|
|
2315
|
+
return resullt;
|
|
2309
2316
|
}
|
|
2310
2317
|
dispose() {
|
|
2311
2318
|
this.disposable.dispose();
|
|
@@ -2324,6 +2331,19 @@ class Gridview {
|
|
|
2324
2331
|
const orientation = json.orientation;
|
|
2325
2332
|
const height = orientation === exports.Orientation.VERTICAL ? json.height : json.width;
|
|
2326
2333
|
this._deserialize(json.root, orientation, deserializer, height);
|
|
2334
|
+
/**
|
|
2335
|
+
* The deserialied layout must be positioned through this.layout(...)
|
|
2336
|
+
* before any maximizedNode can be positioned
|
|
2337
|
+
*/
|
|
2338
|
+
this.layout(json.width, json.height);
|
|
2339
|
+
if (json.maximizedNode) {
|
|
2340
|
+
const location = json.maximizedNode.location;
|
|
2341
|
+
const [_, node] = this.getNode(location);
|
|
2342
|
+
if (!(node instanceof LeafNode)) {
|
|
2343
|
+
return;
|
|
2344
|
+
}
|
|
2345
|
+
this.maximizeView(node.view);
|
|
2346
|
+
}
|
|
2327
2347
|
}
|
|
2328
2348
|
_deserialize(root, orientation, deserializer, orthogonalSize) {
|
|
2329
2349
|
this.root = this._deserializeNode(root, orientation, deserializer, orthogonalSize);
|
|
@@ -2457,7 +2477,7 @@ class Gridview {
|
|
|
2457
2477
|
this._onDidMaximizedNodeChange = new Emitter();
|
|
2458
2478
|
this.onDidMaximizedNodeChange = this._onDidMaximizedNodeChange.event;
|
|
2459
2479
|
this.element = document.createElement('div');
|
|
2460
|
-
this.element.className = 'grid-view';
|
|
2480
|
+
this.element.className = 'dv-grid-view';
|
|
2461
2481
|
this._locked = locked !== null && locked !== void 0 ? locked : false;
|
|
2462
2482
|
this._margin = margin !== null && margin !== void 0 ? margin : 0;
|
|
2463
2483
|
this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0, this.locked, this.margin);
|
|
@@ -2748,6 +2768,8 @@ class BaseGrid extends Resizable {
|
|
|
2748
2768
|
this.onDidRemove = this._onDidRemove.event;
|
|
2749
2769
|
this._onDidAdd = new Emitter();
|
|
2750
2770
|
this.onDidAdd = this._onDidAdd.event;
|
|
2771
|
+
this._onDidMaximizedChange = new Emitter();
|
|
2772
|
+
this.onDidMaximizedChange = this._onDidMaximizedChange.event;
|
|
2751
2773
|
this._onDidActiveChange = new Emitter();
|
|
2752
2774
|
this.onDidActiveChange = this._onDidActiveChange.event;
|
|
2753
2775
|
this._bufferOnDidLayoutChange = new AsapEvent();
|
|
@@ -2763,7 +2785,12 @@ class BaseGrid extends Resizable {
|
|
|
2763
2785
|
this.gridview.locked = !!options.locked;
|
|
2764
2786
|
this.element.appendChild(this.gridview.element);
|
|
2765
2787
|
this.layout(0, 0, true); // set some elements height/widths
|
|
2766
|
-
this.addDisposables(this.gridview.
|
|
2788
|
+
this.addDisposables(this.gridview.onDidMaximizedNodeChange((event) => {
|
|
2789
|
+
this._onDidMaximizedChange.fire({
|
|
2790
|
+
panel: event.view,
|
|
2791
|
+
isMaximized: event.isMaximized,
|
|
2792
|
+
});
|
|
2793
|
+
}), this.gridview.onDidViewVisibilityChange(() => this._onDidViewVisibilityChangeMicroTaskQueue.fire()), this.onDidViewVisibilityChangeMicroTaskQueue(() => {
|
|
2767
2794
|
this.layout(this.width, this.height, true);
|
|
2768
2795
|
}), exports.DockviewDisposable.from(() => {
|
|
2769
2796
|
var _a;
|
|
@@ -2813,9 +2840,6 @@ class BaseGrid extends Resizable {
|
|
|
2813
2840
|
hasMaximizedGroup() {
|
|
2814
2841
|
return this.gridview.hasMaximizedView();
|
|
2815
2842
|
}
|
|
2816
|
-
get onDidMaximizedGroupChange() {
|
|
2817
|
-
return this.gridview.onDidMaximizedNodeChange;
|
|
2818
|
-
}
|
|
2819
2843
|
doAddGroup(group, location = [0], size) {
|
|
2820
2844
|
this.gridview.addView(group, size !== null && size !== void 0 ? size : exports.Sizing.Distribute, location);
|
|
2821
2845
|
this._onDidAdd.fire(group);
|
|
@@ -3679,7 +3703,7 @@ class DragHandler extends CompositeDisposable {
|
|
|
3679
3703
|
* dnd logic. You can see the code at
|
|
3680
3704
|
* https://github.com/react-dnd/react-dnd/blob/main/packages/backend-html5/src/HTML5BackendImpl.ts#L542
|
|
3681
3705
|
*/
|
|
3682
|
-
event.dataTransfer.setData('text/plain', '
|
|
3706
|
+
event.dataTransfer.setData('text/plain', '');
|
|
3683
3707
|
}
|
|
3684
3708
|
}
|
|
3685
3709
|
}), addDisposableListener(this.el, 'dragend', () => {
|
|
@@ -3853,12 +3877,12 @@ class Droptarget extends CompositeDisposable {
|
|
|
3853
3877
|
this.markAsUsed(e);
|
|
3854
3878
|
if (!this.targetElement) {
|
|
3855
3879
|
this.targetElement = document.createElement('div');
|
|
3856
|
-
this.targetElement.className = 'drop-target-dropzone';
|
|
3880
|
+
this.targetElement.className = 'dv-drop-target-dropzone';
|
|
3857
3881
|
this.overlayElement = document.createElement('div');
|
|
3858
|
-
this.overlayElement.className = 'drop-target-selection';
|
|
3882
|
+
this.overlayElement.className = 'dv-drop-target-selection';
|
|
3859
3883
|
this._state = 'center';
|
|
3860
3884
|
this.targetElement.appendChild(this.overlayElement);
|
|
3861
|
-
this.element.classList.add('drop-target');
|
|
3885
|
+
this.element.classList.add('dv-drop-target');
|
|
3862
3886
|
this.element.append(this.targetElement);
|
|
3863
3887
|
}
|
|
3864
3888
|
this.toggleClasses(quadrant, width, height);
|
|
@@ -3996,7 +4020,7 @@ class Droptarget extends CompositeDisposable {
|
|
|
3996
4020
|
this.element.removeChild(this.targetElement);
|
|
3997
4021
|
this.targetElement = undefined;
|
|
3998
4022
|
this.overlayElement = undefined;
|
|
3999
|
-
this.element.classList.remove('drop-target');
|
|
4023
|
+
this.element.classList.remove('dv-drop-target');
|
|
4000
4024
|
}
|
|
4001
4025
|
}
|
|
4002
4026
|
}
|
|
@@ -4333,7 +4357,7 @@ class PaneviewPanel extends BasePanelView {
|
|
|
4333
4357
|
this._headerVisible = isHeaderVisible;
|
|
4334
4358
|
this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
|
|
4335
4359
|
this._orientation = orientation;
|
|
4336
|
-
this.element.classList.add('pane');
|
|
4360
|
+
this.element.classList.add('dv-pane');
|
|
4337
4361
|
this.addDisposables(this.api.onWillVisibilityChange((event) => {
|
|
4338
4362
|
const { isVisible } = event;
|
|
4339
4363
|
const { accessor } = this._params;
|
|
@@ -4430,14 +4454,14 @@ class PaneviewPanel extends BasePanelView {
|
|
|
4430
4454
|
renderOnce() {
|
|
4431
4455
|
this.header = document.createElement('div');
|
|
4432
4456
|
this.header.tabIndex = 0;
|
|
4433
|
-
this.header.className = 'pane-header';
|
|
4457
|
+
this.header.className = 'dv-pane-header';
|
|
4434
4458
|
this.header.style.height = `${this.headerSize}px`;
|
|
4435
4459
|
this.header.style.lineHeight = `${this.headerSize}px`;
|
|
4436
4460
|
this.header.style.minHeight = `${this.headerSize}px`;
|
|
4437
4461
|
this.header.style.maxHeight = `${this.headerSize}px`;
|
|
4438
4462
|
this.element.appendChild(this.header);
|
|
4439
4463
|
this.body = document.createElement('div');
|
|
4440
|
-
this.body.className = 'pane-body';
|
|
4464
|
+
this.body.className = 'dv-pane-body';
|
|
4441
4465
|
this.element.appendChild(this.body);
|
|
4442
4466
|
}
|
|
4443
4467
|
// TODO slightly hacky by-pass of the component to create a body and header component
|
|
@@ -4558,7 +4582,7 @@ class ContentContainer extends CompositeDisposable {
|
|
|
4558
4582
|
this._onDidBlur = new Emitter();
|
|
4559
4583
|
this.onDidBlur = this._onDidBlur.event;
|
|
4560
4584
|
this._element = document.createElement('div');
|
|
4561
|
-
this._element.className = 'content-container';
|
|
4585
|
+
this._element.className = 'dv-content-container';
|
|
4562
4586
|
this._element.tabIndex = -1;
|
|
4563
4587
|
this.addDisposables(this._onDidFocus, this._onDidBlur);
|
|
4564
4588
|
this.dropTarget = new Droptarget(this.element, {
|
|
@@ -4631,6 +4655,8 @@ class ContentContainer extends CompositeDisposable {
|
|
|
4631
4655
|
referenceContainer: this,
|
|
4632
4656
|
});
|
|
4633
4657
|
break;
|
|
4658
|
+
default:
|
|
4659
|
+
throw new Error(`dockview: invalid renderer type '${panel.api.renderer}'`);
|
|
4634
4660
|
}
|
|
4635
4661
|
if (doRender) {
|
|
4636
4662
|
const focusTracker = trackFocus(container);
|
|
@@ -4697,10 +4723,10 @@ class Tab extends CompositeDisposable {
|
|
|
4697
4723
|
this._onDragStart = new Emitter();
|
|
4698
4724
|
this.onDragStart = this._onDragStart.event;
|
|
4699
4725
|
this._element = document.createElement('div');
|
|
4700
|
-
this._element.className = 'tab';
|
|
4726
|
+
this._element.className = 'dv-tab';
|
|
4701
4727
|
this._element.tabIndex = 0;
|
|
4702
4728
|
this._element.draggable = true;
|
|
4703
|
-
toggleClass(this.element, 'inactive-tab', true);
|
|
4729
|
+
toggleClass(this.element, 'dv-inactive-tab', true);
|
|
4704
4730
|
const dragHandler = new TabDragHandler(this._element, this.accessor, this.group, this.panel);
|
|
4705
4731
|
this.dropTarget = new Droptarget(this._element, {
|
|
4706
4732
|
acceptedTargetZones: ['center'],
|
|
@@ -4733,8 +4759,8 @@ class Tab extends CompositeDisposable {
|
|
|
4733
4759
|
}), this.dropTarget);
|
|
4734
4760
|
}
|
|
4735
4761
|
setActive(isActive) {
|
|
4736
|
-
toggleClass(this.element, 'active-tab', isActive);
|
|
4737
|
-
toggleClass(this.element, 'inactive-tab', !isActive);
|
|
4762
|
+
toggleClass(this.element, 'dv-active-tab', isActive);
|
|
4763
|
+
toggleClass(this.element, 'dv-inactive-tab', !isActive);
|
|
4738
4764
|
}
|
|
4739
4765
|
setContent(part) {
|
|
4740
4766
|
if (this.content) {
|
|
@@ -4822,8 +4848,7 @@ class VoidContainer extends CompositeDisposable {
|
|
|
4822
4848
|
this._onDragStart = new Emitter();
|
|
4823
4849
|
this.onDragStart = this._onDragStart.event;
|
|
4824
4850
|
this._element = document.createElement('div');
|
|
4825
|
-
this._element.className = 'void-container';
|
|
4826
|
-
this._element.tabIndex = 0;
|
|
4851
|
+
this._element.className = 'dv-void-container';
|
|
4827
4852
|
this._element.draggable = true;
|
|
4828
4853
|
this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
|
|
4829
4854
|
this.accessor.doSetGroupActive(this.group);
|
|
@@ -4942,16 +4967,16 @@ class TabsContainer extends CompositeDisposable {
|
|
|
4942
4967
|
this._onWillShowOverlay = new Emitter();
|
|
4943
4968
|
this.onWillShowOverlay = this._onWillShowOverlay.event;
|
|
4944
4969
|
this._element = document.createElement('div');
|
|
4945
|
-
this._element.className = 'tabs-and-actions-container';
|
|
4970
|
+
this._element.className = 'dv-tabs-and-actions-container';
|
|
4946
4971
|
toggleClass(this._element, 'dv-full-width-single-tab', this.accessor.options.singleTabMode === 'fullwidth');
|
|
4947
4972
|
this.rightActionsContainer = document.createElement('div');
|
|
4948
|
-
this.rightActionsContainer.className = 'right-actions-container';
|
|
4973
|
+
this.rightActionsContainer.className = 'dv-right-actions-container';
|
|
4949
4974
|
this.leftActionsContainer = document.createElement('div');
|
|
4950
|
-
this.leftActionsContainer.className = 'left-actions-container';
|
|
4975
|
+
this.leftActionsContainer.className = 'dv-left-actions-container';
|
|
4951
4976
|
this.preActionsContainer = document.createElement('div');
|
|
4952
|
-
this.preActionsContainer.className = 'pre-actions-container';
|
|
4977
|
+
this.preActionsContainer.className = 'dv-pre-actions-container';
|
|
4953
4978
|
this.tabContainer = document.createElement('div');
|
|
4954
|
-
this.tabContainer.className = 'tabs-container';
|
|
4979
|
+
this.tabContainer.className = 'dv-tabs-container';
|
|
4955
4980
|
this.voidContainer = new VoidContainer(this.accessor, this.group);
|
|
4956
4981
|
this._element.appendChild(this.preActionsContainer);
|
|
4957
4982
|
this._element.appendChild(this.tabContainer);
|
|
@@ -5040,14 +5065,10 @@ class TabsContainer extends CompositeDisposable {
|
|
|
5040
5065
|
});
|
|
5041
5066
|
}
|
|
5042
5067
|
openPanel(panel, index = this.tabs.length) {
|
|
5043
|
-
var _a;
|
|
5044
5068
|
if (this.tabs.find((tab) => tab.value.panel.id === panel.id)) {
|
|
5045
5069
|
return;
|
|
5046
5070
|
}
|
|
5047
5071
|
const tab = new Tab(panel, this.accessor, this.group);
|
|
5048
|
-
if (!((_a = panel.view) === null || _a === void 0 ? void 0 : _a.tab)) {
|
|
5049
|
-
throw new Error('invalid header component');
|
|
5050
|
-
}
|
|
5051
5072
|
tab.setContent(panel.view.tab);
|
|
5052
5073
|
const disposable = new CompositeDisposable(tab.onDragStart((event) => {
|
|
5053
5074
|
this._onTabDragStart.fire({ nativeEvent: event, panel });
|
|
@@ -5141,6 +5162,7 @@ const PROPERTY_KEYS = (() => {
|
|
|
5141
5162
|
disableDnd: undefined,
|
|
5142
5163
|
gap: undefined,
|
|
5143
5164
|
className: undefined,
|
|
5165
|
+
noPanelsOverlay: undefined,
|
|
5144
5166
|
};
|
|
5145
5167
|
return Object.keys(properties);
|
|
5146
5168
|
})();
|
|
@@ -5237,7 +5259,7 @@ class WillShowOverlayLocationEvent {
|
|
|
5237
5259
|
}
|
|
5238
5260
|
class DockviewGroupPanelModel extends CompositeDisposable {
|
|
5239
5261
|
get element() {
|
|
5240
|
-
throw new Error('not supported');
|
|
5262
|
+
throw new Error('dockview: not supported');
|
|
5241
5263
|
}
|
|
5242
5264
|
get activePanel() {
|
|
5243
5265
|
return this._activePanel;
|
|
@@ -5247,7 +5269,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5247
5269
|
}
|
|
5248
5270
|
set locked(value) {
|
|
5249
5271
|
this._locked = value;
|
|
5250
|
-
toggleClass(this.container, 'locked-groupview', value === 'no-drop-target' || value);
|
|
5272
|
+
toggleClass(this.container, 'dv-locked-groupview', value === 'no-drop-target' || value);
|
|
5251
5273
|
}
|
|
5252
5274
|
get isActive() {
|
|
5253
5275
|
return this._isGroupActive;
|
|
@@ -5318,6 +5340,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5318
5340
|
this._locked = false;
|
|
5319
5341
|
this._location = { type: 'grid' };
|
|
5320
5342
|
this.mostRecentlyUsed = [];
|
|
5343
|
+
this._overwriteRenderContainer = null;
|
|
5321
5344
|
this._onDidChange = new Emitter();
|
|
5322
5345
|
this.onDidChange = this._onDidChange.event;
|
|
5323
5346
|
this._width = 0;
|
|
@@ -5348,8 +5371,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5348
5371
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
5349
5372
|
this._onUnhandledDragOverEvent = new Emitter();
|
|
5350
5373
|
this.onUnhandledDragOverEvent = this._onUnhandledDragOverEvent.event;
|
|
5351
|
-
this.
|
|
5352
|
-
toggleClass(this.container, 'groupview', true);
|
|
5374
|
+
toggleClass(this.container, 'dv-groupview', true);
|
|
5353
5375
|
this._api = new DockviewApi(this.accessor);
|
|
5354
5376
|
this.tabsContainer = new TabsContainer(this.accessor, this.groupPanel);
|
|
5355
5377
|
this.contentContainer = new ContentContainer(this.accessor, this);
|
|
@@ -5581,7 +5603,10 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5581
5603
|
this.doClose(panel);
|
|
5582
5604
|
}
|
|
5583
5605
|
doClose(panel) {
|
|
5584
|
-
this.accessor.
|
|
5606
|
+
const isLast = this.panels.length === 1 && this.accessor.groups.length === 1;
|
|
5607
|
+
this.accessor.removePanel(panel, isLast && this.accessor.options.noPanelsOverlay === 'emptyGroup'
|
|
5608
|
+
? { removeEmptyGroup: false }
|
|
5609
|
+
: undefined);
|
|
5585
5610
|
}
|
|
5586
5611
|
isPanelActive(panel) {
|
|
5587
5612
|
return this._activePanel === panel;
|
|
@@ -5594,8 +5619,8 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5594
5619
|
return;
|
|
5595
5620
|
}
|
|
5596
5621
|
this._isGroupActive = isGroupActive;
|
|
5597
|
-
toggleClass(this.container, 'active-group', isGroupActive);
|
|
5598
|
-
toggleClass(this.container, 'inactive-group', !isGroupActive);
|
|
5622
|
+
toggleClass(this.container, 'dv-active-group', isGroupActive);
|
|
5623
|
+
toggleClass(this.container, 'dv-inactive-group', !isGroupActive);
|
|
5599
5624
|
this.tabsContainer.setActive(this.isActive);
|
|
5600
5625
|
if (!this._activePanel && this.panels.length > 0) {
|
|
5601
5626
|
this.doSetActivePanel(this.panels[0]);
|
|
@@ -5687,7 +5712,6 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5687
5712
|
}
|
|
5688
5713
|
updateContainer() {
|
|
5689
5714
|
var _a, _b;
|
|
5690
|
-
toggleClass(this.container, 'empty', this.isEmpty);
|
|
5691
5715
|
this.panels.forEach((panel) => panel.runEvents());
|
|
5692
5716
|
if (this.isEmpty && !this.watermark) {
|
|
5693
5717
|
const watermark = this.accessor.createWatermarkComponent();
|
|
@@ -5701,14 +5725,12 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5701
5725
|
this.accessor.doSetGroupActive(this.groupPanel);
|
|
5702
5726
|
}
|
|
5703
5727
|
});
|
|
5704
|
-
this.tabsContainer.hide();
|
|
5705
5728
|
this.contentContainer.element.appendChild(this.watermark.element);
|
|
5706
5729
|
}
|
|
5707
5730
|
if (!this.isEmpty && this.watermark) {
|
|
5708
5731
|
this.watermark.element.remove();
|
|
5709
5732
|
(_b = (_a = this.watermark).dispose) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
5710
5733
|
this.watermark = undefined;
|
|
5711
|
-
this.tabsContainer.show();
|
|
5712
5734
|
}
|
|
5713
5735
|
}
|
|
5714
5736
|
canDisplayOverlay(event, position, target) {
|
|
@@ -5828,6 +5850,34 @@ class GridviewPanel extends BasePanelView {
|
|
|
5828
5850
|
return this._snap;
|
|
5829
5851
|
}
|
|
5830
5852
|
get minimumWidth() {
|
|
5853
|
+
/**
|
|
5854
|
+
* defer to protected function to allow subclasses to override easily.
|
|
5855
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
5856
|
+
*/
|
|
5857
|
+
return this.__minimumWidth();
|
|
5858
|
+
}
|
|
5859
|
+
get minimumHeight() {
|
|
5860
|
+
/**
|
|
5861
|
+
* defer to protected function to allow subclasses to override easily.
|
|
5862
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
5863
|
+
*/
|
|
5864
|
+
return this.__minimumHeight();
|
|
5865
|
+
}
|
|
5866
|
+
get maximumHeight() {
|
|
5867
|
+
/**
|
|
5868
|
+
* defer to protected function to allow subclasses to override easily.
|
|
5869
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
5870
|
+
*/
|
|
5871
|
+
return this.__maximumHeight();
|
|
5872
|
+
}
|
|
5873
|
+
get maximumWidth() {
|
|
5874
|
+
/**
|
|
5875
|
+
* defer to protected function to allow subclasses to override easily.
|
|
5876
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
5877
|
+
*/
|
|
5878
|
+
return this.__maximumWidth();
|
|
5879
|
+
}
|
|
5880
|
+
__minimumWidth() {
|
|
5831
5881
|
const width = typeof this._minimumWidth === 'function'
|
|
5832
5882
|
? this._minimumWidth()
|
|
5833
5883
|
: this._minimumWidth;
|
|
@@ -5837,7 +5887,17 @@ class GridviewPanel extends BasePanelView {
|
|
|
5837
5887
|
}
|
|
5838
5888
|
return width;
|
|
5839
5889
|
}
|
|
5840
|
-
|
|
5890
|
+
__maximumWidth() {
|
|
5891
|
+
const width = typeof this._maximumWidth === 'function'
|
|
5892
|
+
? this._maximumWidth()
|
|
5893
|
+
: this._maximumWidth;
|
|
5894
|
+
if (width !== this._evaluatedMaximumWidth) {
|
|
5895
|
+
this._evaluatedMaximumWidth = width;
|
|
5896
|
+
this.updateConstraints();
|
|
5897
|
+
}
|
|
5898
|
+
return width;
|
|
5899
|
+
}
|
|
5900
|
+
__minimumHeight() {
|
|
5841
5901
|
const height = typeof this._minimumHeight === 'function'
|
|
5842
5902
|
? this._minimumHeight()
|
|
5843
5903
|
: this._minimumHeight;
|
|
@@ -5847,7 +5907,7 @@ class GridviewPanel extends BasePanelView {
|
|
|
5847
5907
|
}
|
|
5848
5908
|
return height;
|
|
5849
5909
|
}
|
|
5850
|
-
|
|
5910
|
+
__maximumHeight() {
|
|
5851
5911
|
const height = typeof this._maximumHeight === 'function'
|
|
5852
5912
|
? this._maximumHeight()
|
|
5853
5913
|
: this._maximumHeight;
|
|
@@ -5857,16 +5917,6 @@ class GridviewPanel extends BasePanelView {
|
|
|
5857
5917
|
}
|
|
5858
5918
|
return height;
|
|
5859
5919
|
}
|
|
5860
|
-
get maximumWidth() {
|
|
5861
|
-
const width = typeof this._maximumWidth === 'function'
|
|
5862
|
-
? this._maximumWidth()
|
|
5863
|
-
: this._maximumWidth;
|
|
5864
|
-
if (width !== this._evaluatedMaximumWidth) {
|
|
5865
|
-
this._evaluatedMaximumWidth = width;
|
|
5866
|
-
this.updateConstraints();
|
|
5867
|
-
}
|
|
5868
|
-
return width;
|
|
5869
|
-
}
|
|
5870
5920
|
get isActive() {
|
|
5871
5921
|
return this.api.isActive;
|
|
5872
5922
|
}
|
|
@@ -6017,6 +6067,7 @@ class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
|
|
|
6017
6067
|
position: options.group
|
|
6018
6068
|
? (_c = options.position) !== null && _c !== void 0 ? _c : 'center'
|
|
6019
6069
|
: 'center',
|
|
6070
|
+
index: options.index,
|
|
6020
6071
|
},
|
|
6021
6072
|
});
|
|
6022
6073
|
}
|
|
@@ -6068,30 +6119,34 @@ class DockviewGroupPanel extends GridviewPanel {
|
|
|
6068
6119
|
get minimumWidth() {
|
|
6069
6120
|
var _a;
|
|
6070
6121
|
const activePanelMinimumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumWidth;
|
|
6071
|
-
|
|
6072
|
-
|
|
6073
|
-
|
|
6122
|
+
if (typeof activePanelMinimumWidth === 'number') {
|
|
6123
|
+
return activePanelMinimumWidth;
|
|
6124
|
+
}
|
|
6125
|
+
return super.__minimumWidth();
|
|
6074
6126
|
}
|
|
6075
6127
|
get minimumHeight() {
|
|
6076
6128
|
var _a;
|
|
6077
6129
|
const activePanelMinimumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumHeight;
|
|
6078
|
-
|
|
6079
|
-
|
|
6080
|
-
|
|
6130
|
+
if (typeof activePanelMinimumHeight === 'number') {
|
|
6131
|
+
return activePanelMinimumHeight;
|
|
6132
|
+
}
|
|
6133
|
+
return super.__minimumHeight();
|
|
6081
6134
|
}
|
|
6082
6135
|
get maximumWidth() {
|
|
6083
6136
|
var _a;
|
|
6084
6137
|
const activePanelMaximumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumWidth;
|
|
6085
|
-
|
|
6086
|
-
|
|
6087
|
-
|
|
6138
|
+
if (typeof activePanelMaximumWidth === 'number') {
|
|
6139
|
+
return activePanelMaximumWidth;
|
|
6140
|
+
}
|
|
6141
|
+
return super.__maximumWidth();
|
|
6088
6142
|
}
|
|
6089
6143
|
get maximumHeight() {
|
|
6090
6144
|
var _a;
|
|
6091
6145
|
const activePanelMaximumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumHeight;
|
|
6092
|
-
|
|
6093
|
-
|
|
6094
|
-
|
|
6146
|
+
if (typeof activePanelMaximumHeight === 'number') {
|
|
6147
|
+
return activePanelMaximumHeight;
|
|
6148
|
+
}
|
|
6149
|
+
return super.__maximumHeight();
|
|
6095
6150
|
}
|
|
6096
6151
|
get panels() {
|
|
6097
6152
|
return this._model.panels;
|
|
@@ -6205,12 +6260,14 @@ class DockviewPanelApiImpl extends GridviewPanelApiImpl {
|
|
|
6205
6260
|
return this.group.api.getWindow();
|
|
6206
6261
|
}
|
|
6207
6262
|
moveTo(options) {
|
|
6208
|
-
var _a;
|
|
6263
|
+
var _a, _b;
|
|
6209
6264
|
this.accessor.moveGroupOrPanel({
|
|
6210
6265
|
from: { groupId: this._group.id, panelId: this.panel.id },
|
|
6211
6266
|
to: {
|
|
6212
|
-
group: options.group,
|
|
6213
|
-
position:
|
|
6267
|
+
group: (_a = options.group) !== null && _a !== void 0 ? _a : this._group,
|
|
6268
|
+
position: options.group
|
|
6269
|
+
? (_b = options.position) !== null && _b !== void 0 ? _b : 'center'
|
|
6270
|
+
: 'center',
|
|
6214
6271
|
index: options.index,
|
|
6215
6272
|
},
|
|
6216
6273
|
});
|
|
@@ -6429,7 +6486,7 @@ const createSvgElementFromPath = (params) => {
|
|
|
6429
6486
|
svg.setAttributeNS(null, 'viewBox', params.viewbox);
|
|
6430
6487
|
svg.setAttributeNS(null, 'aria-hidden', 'false');
|
|
6431
6488
|
svg.setAttributeNS(null, 'focusable', 'false');
|
|
6432
|
-
svg.classList.add('
|
|
6489
|
+
svg.classList.add('dv-svg');
|
|
6433
6490
|
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
|
|
6434
6491
|
path.setAttributeNS(null, 'd', params.path);
|
|
6435
6492
|
svg.appendChild(path);
|
|
@@ -6600,39 +6657,10 @@ class Watermark extends CompositeDisposable {
|
|
|
6600
6657
|
constructor() {
|
|
6601
6658
|
super();
|
|
6602
6659
|
this._element = document.createElement('div');
|
|
6603
|
-
this._element.className = 'watermark';
|
|
6604
|
-
const title = document.createElement('div');
|
|
6605
|
-
title.className = 'watermark-title';
|
|
6606
|
-
const emptySpace = document.createElement('span');
|
|
6607
|
-
emptySpace.style.flexGrow = '1';
|
|
6608
|
-
const content = document.createElement('div');
|
|
6609
|
-
content.className = 'watermark-content';
|
|
6610
|
-
this._element.appendChild(title);
|
|
6611
|
-
this._element.appendChild(content);
|
|
6612
|
-
const actionsContainer = document.createElement('div');
|
|
6613
|
-
actionsContainer.className = 'actions-container';
|
|
6614
|
-
const closeAnchor = document.createElement('div');
|
|
6615
|
-
closeAnchor.className = 'close-action';
|
|
6616
|
-
closeAnchor.appendChild(createCloseButton());
|
|
6617
|
-
actionsContainer.appendChild(closeAnchor);
|
|
6618
|
-
title.appendChild(emptySpace);
|
|
6619
|
-
title.appendChild(actionsContainer);
|
|
6620
|
-
this.addDisposables(addDisposableListener(closeAnchor, 'click', (event) => {
|
|
6621
|
-
var _a;
|
|
6622
|
-
event.preventDefault();
|
|
6623
|
-
if (this._group) {
|
|
6624
|
-
(_a = this._api) === null || _a === void 0 ? void 0 : _a.removeGroup(this._group);
|
|
6625
|
-
}
|
|
6626
|
-
}));
|
|
6660
|
+
this._element.className = 'dv-watermark';
|
|
6627
6661
|
}
|
|
6628
6662
|
init(_params) {
|
|
6629
|
-
|
|
6630
|
-
this._group = _params.group;
|
|
6631
|
-
this.render();
|
|
6632
|
-
}
|
|
6633
|
-
render() {
|
|
6634
|
-
const isOneGroup = !!(this._api && this._api.size <= 1);
|
|
6635
|
-
toggleClass(this.element, 'has-actions', isOneGroup);
|
|
6663
|
+
// noop
|
|
6636
6664
|
}
|
|
6637
6665
|
}
|
|
6638
6666
|
|
|
@@ -6669,6 +6697,9 @@ class Overlay extends CompositeDisposable {
|
|
|
6669
6697
|
get element() {
|
|
6670
6698
|
return this._element;
|
|
6671
6699
|
}
|
|
6700
|
+
get isVisible() {
|
|
6701
|
+
return this._isVisible;
|
|
6702
|
+
}
|
|
6672
6703
|
constructor(options) {
|
|
6673
6704
|
super();
|
|
6674
6705
|
this.options = options;
|
|
@@ -6679,6 +6710,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6679
6710
|
this.onDidChangeEnd = this._onDidChangeEnd.event;
|
|
6680
6711
|
this.addDisposables(this._onDidChange, this._onDidChangeEnd);
|
|
6681
6712
|
this._element.className = 'dv-resize-container';
|
|
6713
|
+
this._isVisible = true;
|
|
6682
6714
|
this.setupResize('top');
|
|
6683
6715
|
this.setupResize('bottom');
|
|
6684
6716
|
this.setupResize('left');
|
|
@@ -6693,6 +6725,13 @@ class Overlay extends CompositeDisposable {
|
|
|
6693
6725
|
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 })));
|
|
6694
6726
|
arialLevelTracker.push(this._element);
|
|
6695
6727
|
}
|
|
6728
|
+
setVisible(isVisible) {
|
|
6729
|
+
if (isVisible === this.isVisible) {
|
|
6730
|
+
return;
|
|
6731
|
+
}
|
|
6732
|
+
this._isVisible = isVisible;
|
|
6733
|
+
toggleClass(this.element, 'dv-hidden', !this.isVisible);
|
|
6734
|
+
}
|
|
6696
6735
|
bringToFront() {
|
|
6697
6736
|
arialLevelTracker.push(this._element);
|
|
6698
6737
|
}
|
|
@@ -7243,7 +7282,6 @@ class PopoutWindow extends CompositeDisposable {
|
|
|
7243
7282
|
window: this._window.value,
|
|
7244
7283
|
});
|
|
7245
7284
|
this._window.disposable.dispose();
|
|
7246
|
-
this._window.value.close();
|
|
7247
7285
|
this._window = null;
|
|
7248
7286
|
this._onDidClose.fire();
|
|
7249
7287
|
}
|
|
@@ -7275,7 +7313,9 @@ class PopoutWindow extends CompositeDisposable {
|
|
|
7275
7313
|
}
|
|
7276
7314
|
const disposable = new CompositeDisposable();
|
|
7277
7315
|
this._window = { value: externalWindow, disposable };
|
|
7278
|
-
disposable.addDisposables(
|
|
7316
|
+
disposable.addDisposables(exports.DockviewDisposable.from(() => {
|
|
7317
|
+
externalWindow.close();
|
|
7318
|
+
}), addDisposableWindowListener(window, 'beforeunload', () => {
|
|
7279
7319
|
/**
|
|
7280
7320
|
* before the main window closes we should close this popup too
|
|
7281
7321
|
* to be good citizens
|
|
@@ -7292,7 +7332,7 @@ class PopoutWindow extends CompositeDisposable {
|
|
|
7292
7332
|
id: this.target,
|
|
7293
7333
|
window: externalWindow,
|
|
7294
7334
|
});
|
|
7295
|
-
return new Promise((resolve) => {
|
|
7335
|
+
return new Promise((resolve, reject) => {
|
|
7296
7336
|
externalWindow.addEventListener('unload', (e) => {
|
|
7297
7337
|
// if page fails to load before unloading
|
|
7298
7338
|
// this.close();
|
|
@@ -7301,21 +7341,27 @@ class PopoutWindow extends CompositeDisposable {
|
|
|
7301
7341
|
/**
|
|
7302
7342
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event
|
|
7303
7343
|
*/
|
|
7304
|
-
|
|
7305
|
-
|
|
7306
|
-
|
|
7307
|
-
|
|
7308
|
-
|
|
7309
|
-
* beforeunload must be registered after load for reasons I could not determine
|
|
7310
|
-
* otherwise the beforeunload event will not fire when the window is closed
|
|
7311
|
-
*/
|
|
7312
|
-
addDisposableWindowListener(externalWindow, 'beforeunload', () => {
|
|
7344
|
+
try {
|
|
7345
|
+
const externalDocument = externalWindow.document;
|
|
7346
|
+
externalDocument.title = document.title;
|
|
7347
|
+
externalDocument.body.appendChild(container);
|
|
7348
|
+
addStyles(externalDocument, window.document.styleSheets);
|
|
7313
7349
|
/**
|
|
7314
|
-
*
|
|
7350
|
+
* beforeunload must be registered after load for reasons I could not determine
|
|
7351
|
+
* otherwise the beforeunload event will not fire when the window is closed
|
|
7315
7352
|
*/
|
|
7316
|
-
|
|
7317
|
-
|
|
7318
|
-
|
|
7353
|
+
addDisposableWindowListener(externalWindow, 'beforeunload', () => {
|
|
7354
|
+
/**
|
|
7355
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
|
|
7356
|
+
*/
|
|
7357
|
+
this.close();
|
|
7358
|
+
});
|
|
7359
|
+
resolve(container);
|
|
7360
|
+
}
|
|
7361
|
+
catch (err) {
|
|
7362
|
+
// only except this is the DOM isn't setup. e.g. in a in correctly configured test
|
|
7363
|
+
reject(err);
|
|
7364
|
+
}
|
|
7319
7365
|
});
|
|
7320
7366
|
});
|
|
7321
7367
|
});
|
|
@@ -7422,6 +7468,8 @@ class DockviewComponent extends BaseGrid {
|
|
|
7422
7468
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
7423
7469
|
this._onDidMovePanel = new Emitter();
|
|
7424
7470
|
this.onDidMovePanel = this._onDidMovePanel.event;
|
|
7471
|
+
this._onDidMaximizedGroupChange = new Emitter();
|
|
7472
|
+
this.onDidMaximizedGroupChange = this._onDidMaximizedGroupChange.event;
|
|
7425
7473
|
this._floatingGroups = [];
|
|
7426
7474
|
this._popoutGroups = [];
|
|
7427
7475
|
this._onDidRemoveGroup = new Emitter();
|
|
@@ -7448,6 +7496,11 @@ class DockviewComponent extends BaseGrid {
|
|
|
7448
7496
|
if (!this._moving) {
|
|
7449
7497
|
this._onDidActiveGroupChange.fire(event);
|
|
7450
7498
|
}
|
|
7499
|
+
}), this.onDidMaximizedChange((event) => {
|
|
7500
|
+
this._onDidMaximizedGroupChange.fire({
|
|
7501
|
+
group: event.panel,
|
|
7502
|
+
isMaximized: event.isMaximized,
|
|
7503
|
+
});
|
|
7451
7504
|
}), exports.DockviewEvent.any(this.onDidAdd, this.onDidRemove)(() => {
|
|
7452
7505
|
this.updateWatermark();
|
|
7453
7506
|
}), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidAddGroup, this.onDidRemove, this.onDidMovePanel, this.onDidActivePanelChange)(() => {
|
|
@@ -7546,8 +7599,28 @@ class DockviewComponent extends BaseGrid {
|
|
|
7546
7599
|
this._api = new DockviewApi(this);
|
|
7547
7600
|
this.updateWatermark();
|
|
7548
7601
|
}
|
|
7602
|
+
setVisible(panel, visible) {
|
|
7603
|
+
switch (panel.api.location.type) {
|
|
7604
|
+
case 'grid':
|
|
7605
|
+
super.setVisible(panel, visible);
|
|
7606
|
+
break;
|
|
7607
|
+
case 'floating': {
|
|
7608
|
+
const item = this.floatingGroups.find((floatingGroup) => floatingGroup.group === panel);
|
|
7609
|
+
if (item) {
|
|
7610
|
+
item.overlay.setVisible(visible);
|
|
7611
|
+
panel.api._onDidVisibilityChange.fire({
|
|
7612
|
+
isVisible: visible,
|
|
7613
|
+
});
|
|
7614
|
+
}
|
|
7615
|
+
break;
|
|
7616
|
+
}
|
|
7617
|
+
case 'popout':
|
|
7618
|
+
console.warn('dockview: You cannot hide a group that is in a popout window');
|
|
7619
|
+
break;
|
|
7620
|
+
}
|
|
7621
|
+
}
|
|
7549
7622
|
addPopoutGroup(itemToPopout, options) {
|
|
7550
|
-
var _a, _b, _c;
|
|
7623
|
+
var _a, _b, _c, _d, _e;
|
|
7551
7624
|
if (itemToPopout instanceof DockviewPanel &&
|
|
7552
7625
|
itemToPopout.group.size === 1) {
|
|
7553
7626
|
return this.addPopoutGroup(itemToPopout.group, options);
|
|
@@ -7568,12 +7641,9 @@ class DockviewComponent extends BaseGrid {
|
|
|
7568
7641
|
}
|
|
7569
7642
|
const box = getBox();
|
|
7570
7643
|
const groupId = (_b = (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : this.getNextGroupId();
|
|
7571
|
-
if (itemToPopout.api.location.type === 'grid') {
|
|
7572
|
-
itemToPopout.api.setVisible(false);
|
|
7573
|
-
}
|
|
7574
7644
|
const _window = new PopoutWindow(`${this.id}-${groupId}`, // unique id
|
|
7575
7645
|
theme !== null && theme !== void 0 ? theme : '', {
|
|
7576
|
-
url: (_c = options === null || options === void 0 ? void 0 : options.popoutUrl) !== null && _c !== void 0 ? _c : '/popout.html',
|
|
7646
|
+
url: (_e = (_c = options === null || options === void 0 ? void 0 : options.popoutUrl) !== null && _c !== void 0 ? _c : (_d = this.options) === null || _d === void 0 ? void 0 : _d.popoutUrl) !== null && _e !== void 0 ? _e : '/popout.html',
|
|
7577
7647
|
left: window.screenX + box.left,
|
|
7578
7648
|
top: window.screenY + box.top,
|
|
7579
7649
|
width: box.width,
|
|
@@ -7587,13 +7657,12 @@ class DockviewComponent extends BaseGrid {
|
|
|
7587
7657
|
return _window
|
|
7588
7658
|
.open()
|
|
7589
7659
|
.then((popoutContainer) => {
|
|
7590
|
-
var _a;
|
|
7591
7660
|
if (_window.isDisposed) {
|
|
7592
|
-
return;
|
|
7661
|
+
return false;
|
|
7593
7662
|
}
|
|
7594
7663
|
if (popoutContainer === null) {
|
|
7595
7664
|
popoutWindowDisposable.dispose();
|
|
7596
|
-
return;
|
|
7665
|
+
return false;
|
|
7597
7666
|
}
|
|
7598
7667
|
const gready = document.createElement('div');
|
|
7599
7668
|
gready.className = 'dv-overlay-render-container';
|
|
@@ -7602,30 +7671,45 @@ class DockviewComponent extends BaseGrid {
|
|
|
7602
7671
|
? itemToPopout.group
|
|
7603
7672
|
: itemToPopout;
|
|
7604
7673
|
const referenceLocation = itemToPopout.api.location.type;
|
|
7605
|
-
|
|
7606
|
-
|
|
7607
|
-
|
|
7608
|
-
|
|
7674
|
+
/**
|
|
7675
|
+
* The group that is being added doesn't already exist within the DOM, the most likely occurance
|
|
7676
|
+
* of this case is when being called from the `fromJSON(...)` method
|
|
7677
|
+
*/
|
|
7678
|
+
const isGroupAddedToDom = referenceGroup.element.parentElement !== null;
|
|
7679
|
+
let group;
|
|
7680
|
+
if (!isGroupAddedToDom) {
|
|
7681
|
+
group = referenceGroup;
|
|
7609
7682
|
}
|
|
7610
|
-
if (
|
|
7611
|
-
|
|
7612
|
-
const panel = referenceGroup.model.removePanel(itemToPopout);
|
|
7613
|
-
group.model.openPanel(panel);
|
|
7614
|
-
});
|
|
7683
|
+
else if (options === null || options === void 0 ? void 0 : options.overridePopoutGroup) {
|
|
7684
|
+
group = options.overridePopoutGroup;
|
|
7615
7685
|
}
|
|
7616
7686
|
else {
|
|
7617
|
-
this.
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
|
-
|
|
7621
|
-
|
|
7622
|
-
|
|
7623
|
-
|
|
7624
|
-
|
|
7625
|
-
|
|
7626
|
-
|
|
7627
|
-
|
|
7628
|
-
|
|
7687
|
+
group = this.createGroup({ id: groupId });
|
|
7688
|
+
this._onDidAddGroup.fire(group);
|
|
7689
|
+
}
|
|
7690
|
+
group.model.renderContainer = overlayRenderContainer;
|
|
7691
|
+
group.layout(_window.window.innerWidth, _window.window.innerHeight);
|
|
7692
|
+
if (!(options === null || options === void 0 ? void 0 : options.overridePopoutGroup) && isGroupAddedToDom) {
|
|
7693
|
+
if (itemToPopout instanceof DockviewPanel) {
|
|
7694
|
+
this.movingLock(() => {
|
|
7695
|
+
const panel = referenceGroup.model.removePanel(itemToPopout);
|
|
7696
|
+
group.model.openPanel(panel);
|
|
7697
|
+
});
|
|
7698
|
+
}
|
|
7699
|
+
else {
|
|
7700
|
+
this.movingLock(() => moveGroupWithoutDestroying({
|
|
7701
|
+
from: referenceGroup,
|
|
7702
|
+
to: group,
|
|
7703
|
+
}));
|
|
7704
|
+
switch (referenceLocation) {
|
|
7705
|
+
case 'grid':
|
|
7706
|
+
referenceGroup.api.setVisible(false);
|
|
7707
|
+
break;
|
|
7708
|
+
case 'floating':
|
|
7709
|
+
case 'popout':
|
|
7710
|
+
this.removeGroup(referenceGroup);
|
|
7711
|
+
break;
|
|
7712
|
+
}
|
|
7629
7713
|
}
|
|
7630
7714
|
}
|
|
7631
7715
|
popoutContainer.classList.add('dv-dockview');
|
|
@@ -7635,7 +7719,12 @@ class DockviewComponent extends BaseGrid {
|
|
|
7635
7719
|
group.model.location = {
|
|
7636
7720
|
type: 'popout',
|
|
7637
7721
|
getWindow: () => _window.window,
|
|
7722
|
+
popoutUrl: options === null || options === void 0 ? void 0 : options.popoutUrl,
|
|
7638
7723
|
};
|
|
7724
|
+
if (isGroupAddedToDom &&
|
|
7725
|
+
itemToPopout.api.location.type === 'grid') {
|
|
7726
|
+
itemToPopout.api.setVisible(false);
|
|
7727
|
+
}
|
|
7639
7728
|
this.doSetGroupAndPanelActive(group);
|
|
7640
7729
|
popoutWindowDisposable.addDisposables(group.api.onDidActiveChange((event) => {
|
|
7641
7730
|
var _a;
|
|
@@ -7647,10 +7736,13 @@ class DockviewComponent extends BaseGrid {
|
|
|
7647
7736
|
(_a = _window.window) === null || _a === void 0 ? void 0 : _a.focus();
|
|
7648
7737
|
}));
|
|
7649
7738
|
let returnedGroup;
|
|
7739
|
+
const isValidReferenceGroup = isGroupAddedToDom &&
|
|
7740
|
+
referenceGroup &&
|
|
7741
|
+
this.getPanel(referenceGroup.id);
|
|
7650
7742
|
const value = {
|
|
7651
7743
|
window: _window,
|
|
7652
7744
|
popoutGroup: group,
|
|
7653
|
-
referenceGroup:
|
|
7745
|
+
referenceGroup: isValidReferenceGroup
|
|
7654
7746
|
? referenceGroup.id
|
|
7655
7747
|
: undefined,
|
|
7656
7748
|
disposable: {
|
|
@@ -7667,9 +7759,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
7667
7759
|
* window dimensions
|
|
7668
7760
|
*/
|
|
7669
7761
|
addDisposableWindowListener(_window.window, 'resize', () => {
|
|
7670
|
-
group.layout(window.innerWidth, window.innerHeight);
|
|
7762
|
+
group.layout(_window.window.innerWidth, _window.window.innerHeight);
|
|
7671
7763
|
}), overlayRenderContainer, exports.DockviewDisposable.from(() => {
|
|
7672
|
-
if (
|
|
7764
|
+
if (isGroupAddedToDom &&
|
|
7765
|
+
this.getPanel(referenceGroup.id)) {
|
|
7673
7766
|
this.movingLock(() => moveGroupWithoutDestroying({
|
|
7674
7767
|
from: group,
|
|
7675
7768
|
to: referenceGroup,
|
|
@@ -7684,21 +7777,27 @@ class DockviewComponent extends BaseGrid {
|
|
|
7684
7777
|
}
|
|
7685
7778
|
}
|
|
7686
7779
|
else if (this.getPanel(group.id)) {
|
|
7687
|
-
|
|
7780
|
+
this.doRemoveGroup(group, {
|
|
7688
7781
|
skipDispose: true,
|
|
7689
7782
|
skipActive: true,
|
|
7783
|
+
skipPopoutReturn: true,
|
|
7690
7784
|
});
|
|
7785
|
+
const removedGroup = group;
|
|
7691
7786
|
removedGroup.model.renderContainer =
|
|
7692
7787
|
this.overlayRenderContainer;
|
|
7693
7788
|
removedGroup.model.location = { type: 'grid' };
|
|
7694
7789
|
returnedGroup = removedGroup;
|
|
7790
|
+
this.doAddGroup(removedGroup, [0]);
|
|
7791
|
+
this.doSetGroupAndPanelActive(removedGroup);
|
|
7695
7792
|
}
|
|
7696
7793
|
}));
|
|
7697
7794
|
this._popoutGroups.push(value);
|
|
7698
7795
|
this.updateWatermark();
|
|
7796
|
+
return true;
|
|
7699
7797
|
})
|
|
7700
7798
|
.catch((err) => {
|
|
7701
7799
|
console.error('dockview: failed to create popout window', err);
|
|
7800
|
+
return false;
|
|
7702
7801
|
});
|
|
7703
7802
|
}
|
|
7704
7803
|
addFloatingGroup(item, options) {
|
|
@@ -7802,7 +7901,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7802
7901
|
: (_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'
|
|
7803
7902
|
? undefined
|
|
7804
7903
|
: (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumHeightWithinViewport) !== null && _e !== void 0 ? _e : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE }));
|
|
7805
|
-
const el = group.element.querySelector('.void-container');
|
|
7904
|
+
const el = group.element.querySelector('.dv-void-container');
|
|
7806
7905
|
if (!el) {
|
|
7807
7906
|
throw new Error('failed to find drag handle');
|
|
7808
7907
|
}
|
|
@@ -7994,6 +8093,9 @@ class DockviewComponent extends BaseGrid {
|
|
|
7994
8093
|
data: group.popoutGroup.toJSON(),
|
|
7995
8094
|
gridReferenceGroup: group.referenceGroup,
|
|
7996
8095
|
position: group.window.dimensions(),
|
|
8096
|
+
url: group.popoutGroup.api.location.type === 'popout'
|
|
8097
|
+
? group.popoutGroup.api.location.popoutUrl
|
|
8098
|
+
: undefined,
|
|
7997
8099
|
};
|
|
7998
8100
|
});
|
|
7999
8101
|
const result = {
|
|
@@ -8080,16 +8182,16 @@ class DockviewComponent extends BaseGrid {
|
|
|
8080
8182
|
}
|
|
8081
8183
|
const serializedPopoutGroups = (_b = data.popoutGroups) !== null && _b !== void 0 ? _b : [];
|
|
8082
8184
|
for (const serializedPopoutGroup of serializedPopoutGroups) {
|
|
8083
|
-
const { data, position, gridReferenceGroup } = serializedPopoutGroup;
|
|
8185
|
+
const { data, position, gridReferenceGroup, url } = serializedPopoutGroup;
|
|
8084
8186
|
const group = createGroupFromSerializedState(data);
|
|
8085
8187
|
this.addPopoutGroup((_c = (gridReferenceGroup
|
|
8086
8188
|
? this.getPanel(gridReferenceGroup)
|
|
8087
8189
|
: undefined)) !== null && _c !== void 0 ? _c : group, {
|
|
8088
|
-
skipRemoveGroup: true,
|
|
8089
8190
|
position: position !== null && position !== void 0 ? position : undefined,
|
|
8090
8191
|
overridePopoutGroup: gridReferenceGroup
|
|
8091
8192
|
? group
|
|
8092
8193
|
: undefined,
|
|
8194
|
+
popoutUrl: url,
|
|
8093
8195
|
});
|
|
8094
8196
|
}
|
|
8095
8197
|
for (const floatingGroup of this._floatingGroups) {
|
|
@@ -8103,6 +8205,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8103
8205
|
}
|
|
8104
8206
|
}
|
|
8105
8207
|
catch (err) {
|
|
8208
|
+
console.error('dockview: failed to deserialize layout. Reverting changes', err);
|
|
8106
8209
|
/**
|
|
8107
8210
|
* Takes all the successfully created groups and remove all of their panels.
|
|
8108
8211
|
*/
|
|
@@ -8170,11 +8273,13 @@ class DockviewComponent extends BaseGrid {
|
|
|
8170
8273
|
width: options.initialWidth,
|
|
8171
8274
|
height: options.initialHeight,
|
|
8172
8275
|
};
|
|
8276
|
+
let index;
|
|
8173
8277
|
if (options.position) {
|
|
8174
8278
|
if (isPanelOptionsWithPanel(options.position)) {
|
|
8175
8279
|
const referencePanel = typeof options.position.referencePanel === 'string'
|
|
8176
8280
|
? this.getGroupPanel(options.position.referencePanel)
|
|
8177
8281
|
: options.position.referencePanel;
|
|
8282
|
+
index = options.position.index;
|
|
8178
8283
|
if (!referencePanel) {
|
|
8179
8284
|
throw new Error(`referencePanel '${options.position.referencePanel}' does not exist`);
|
|
8180
8285
|
}
|
|
@@ -8185,6 +8290,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8185
8290
|
typeof options.position.referenceGroup === 'string'
|
|
8186
8291
|
? (_a = this._groups.get(options.position.referenceGroup)) === null || _a === void 0 ? void 0 : _a.value
|
|
8187
8292
|
: options.position.referenceGroup;
|
|
8293
|
+
index = options.position.index;
|
|
8188
8294
|
if (!referenceGroup) {
|
|
8189
8295
|
throw new Error(`referenceGroup '${options.position.referenceGroup}' does not exist`);
|
|
8190
8296
|
}
|
|
@@ -8195,6 +8301,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8195
8301
|
group.model.openPanel(panel, {
|
|
8196
8302
|
skipSetActive: options.inactive,
|
|
8197
8303
|
skipSetGroupActive: options.inactive,
|
|
8304
|
+
index,
|
|
8198
8305
|
});
|
|
8199
8306
|
if (!options.inactive) {
|
|
8200
8307
|
this.doSetGroupAndPanelActive(group);
|
|
@@ -8224,6 +8331,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8224
8331
|
group.model.openPanel(panel, {
|
|
8225
8332
|
skipSetActive: options.inactive,
|
|
8226
8333
|
skipSetGroupActive: options.inactive,
|
|
8334
|
+
index,
|
|
8227
8335
|
});
|
|
8228
8336
|
}
|
|
8229
8337
|
else if (referenceGroup.api.location.type === 'floating' ||
|
|
@@ -8232,6 +8340,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8232
8340
|
referenceGroup.model.openPanel(panel, {
|
|
8233
8341
|
skipSetActive: options.inactive,
|
|
8234
8342
|
skipSetGroupActive: options.inactive,
|
|
8343
|
+
index,
|
|
8235
8344
|
});
|
|
8236
8345
|
referenceGroup.api.setSize({
|
|
8237
8346
|
width: initial === null || initial === void 0 ? void 0 : initial.width,
|
|
@@ -8252,6 +8361,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8252
8361
|
group.model.openPanel(panel, {
|
|
8253
8362
|
skipSetActive: options.inactive,
|
|
8254
8363
|
skipSetGroupActive: options.inactive,
|
|
8364
|
+
index,
|
|
8255
8365
|
});
|
|
8256
8366
|
if (!options.inactive) {
|
|
8257
8367
|
this.doSetGroupAndPanelActive(group);
|
|
@@ -8270,6 +8380,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8270
8380
|
group.model.openPanel(panel, {
|
|
8271
8381
|
skipSetActive: options.inactive,
|
|
8272
8382
|
skipSetGroupActive: options.inactive,
|
|
8383
|
+
index,
|
|
8273
8384
|
});
|
|
8274
8385
|
}
|
|
8275
8386
|
else {
|
|
@@ -8280,6 +8391,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8280
8391
|
group.model.openPanel(panel, {
|
|
8281
8392
|
skipSetActive: options.inactive,
|
|
8282
8393
|
skipSetGroupActive: options.inactive,
|
|
8394
|
+
index,
|
|
8283
8395
|
});
|
|
8284
8396
|
if (!options.inactive) {
|
|
8285
8397
|
this.doSetGroupAndPanelActive(group);
|
|
@@ -8289,7 +8401,6 @@ class DockviewComponent extends BaseGrid {
|
|
|
8289
8401
|
}
|
|
8290
8402
|
removePanel(panel, options = {
|
|
8291
8403
|
removeEmptyGroup: true,
|
|
8292
|
-
skipDispose: false,
|
|
8293
8404
|
}) {
|
|
8294
8405
|
const group = panel.group;
|
|
8295
8406
|
if (!group) {
|
|
@@ -8820,6 +8931,31 @@ class DockviewComponent extends BaseGrid {
|
|
|
8820
8931
|
}
|
|
8821
8932
|
}
|
|
8822
8933
|
|
|
8934
|
+
function createComponent(id, componentName, components = {}, frameworkComponents = {}, createFrameworkComponent, fallback) {
|
|
8935
|
+
const Component = typeof componentName === 'string'
|
|
8936
|
+
? components[componentName]
|
|
8937
|
+
: undefined;
|
|
8938
|
+
const FrameworkComponent = typeof componentName === 'string'
|
|
8939
|
+
? frameworkComponents[componentName]
|
|
8940
|
+
: undefined;
|
|
8941
|
+
if (Component && FrameworkComponent) {
|
|
8942
|
+
throw new Error(`Cannot create '${id}'. component '${componentName}' registered as both a component and frameworkComponent`);
|
|
8943
|
+
}
|
|
8944
|
+
if (FrameworkComponent) {
|
|
8945
|
+
if (!createFrameworkComponent) {
|
|
8946
|
+
throw new Error(`Cannot create '${id}' for framework component '${componentName}'. you must register a frameworkPanelWrapper to use framework components`);
|
|
8947
|
+
}
|
|
8948
|
+
return createFrameworkComponent.createComponent(id, componentName, FrameworkComponent);
|
|
8949
|
+
}
|
|
8950
|
+
if (!Component) {
|
|
8951
|
+
if (fallback) {
|
|
8952
|
+
return fallback();
|
|
8953
|
+
}
|
|
8954
|
+
throw new Error(`Cannot create '${id}', no component '${componentName}' provided`);
|
|
8955
|
+
}
|
|
8956
|
+
return new Component(id, componentName);
|
|
8957
|
+
}
|
|
8958
|
+
|
|
8823
8959
|
class GridviewComponent extends BaseGrid {
|
|
8824
8960
|
get orientation() {
|
|
8825
8961
|
return this.gridview.orientation;
|
|
@@ -9368,12 +9504,14 @@ class DefaultHeader extends CompositeDisposable {
|
|
|
9368
9504
|
this._expandedIcon = createExpandMoreButton();
|
|
9369
9505
|
this._collapsedIcon = createChevronRightButton();
|
|
9370
9506
|
this.disposable = new MutableDisposable();
|
|
9371
|
-
this.apiRef = {
|
|
9507
|
+
this.apiRef = {
|
|
9508
|
+
api: null,
|
|
9509
|
+
};
|
|
9372
9510
|
this._element = document.createElement('div');
|
|
9373
|
-
this.element.className = 'default-header';
|
|
9511
|
+
this.element.className = 'dv-default-header';
|
|
9374
9512
|
this._content = document.createElement('span');
|
|
9375
9513
|
this._expander = document.createElement('div');
|
|
9376
|
-
this._expander.className = '
|
|
9514
|
+
this._expander.className = 'dv-pane-header-icon';
|
|
9377
9515
|
this.element.appendChild(this._expander);
|
|
9378
9516
|
this.element.appendChild(this._content);
|
|
9379
9517
|
this.addDisposables(addDisposableListener(this._element, 'click', () => {
|
|
@@ -10230,22 +10368,6 @@ const DockviewReact = React.forwardRef((props, ref) => {
|
|
|
10230
10368
|
disposable.dispose();
|
|
10231
10369
|
};
|
|
10232
10370
|
}, [props.onDidDrop]);
|
|
10233
|
-
React.useEffect(() => {
|
|
10234
|
-
if (!dockviewRef.current) {
|
|
10235
|
-
return () => {
|
|
10236
|
-
// noop
|
|
10237
|
-
};
|
|
10238
|
-
}
|
|
10239
|
-
const disposable = dockviewRef.current.onUnhandledDragOverEvent((event) => {
|
|
10240
|
-
var _a;
|
|
10241
|
-
if ((_a = props.showDndOverlay) === null || _a === void 0 ? void 0 : _a.call(props, event)) {
|
|
10242
|
-
event.accept();
|
|
10243
|
-
}
|
|
10244
|
-
});
|
|
10245
|
-
return () => {
|
|
10246
|
-
disposable.dispose();
|
|
10247
|
-
};
|
|
10248
|
-
}, [props.showDndOverlay]);
|
|
10249
10371
|
React.useEffect(() => {
|
|
10250
10372
|
if (!dockviewRef.current) {
|
|
10251
10373
|
return () => {
|
|
@@ -10663,7 +10785,6 @@ exports.GridviewApi = GridviewApi;
|
|
|
10663
10785
|
exports.GridviewComponent = GridviewComponent;
|
|
10664
10786
|
exports.GridviewPanel = GridviewPanel;
|
|
10665
10787
|
exports.GridviewReact = GridviewReact;
|
|
10666
|
-
exports.LocalSelectionTransfer = LocalSelectionTransfer;
|
|
10667
10788
|
exports.PROPERTY_KEYS = PROPERTY_KEYS;
|
|
10668
10789
|
exports.PaneFramework = PaneFramework;
|
|
10669
10790
|
exports.PaneTransfer = PaneTransfer;
|
|
@@ -10682,7 +10803,6 @@ exports.SplitviewPanel = SplitviewPanel;
|
|
|
10682
10803
|
exports.SplitviewReact = SplitviewReact;
|
|
10683
10804
|
exports.Tab = Tab;
|
|
10684
10805
|
exports.WillShowOverlayLocationEvent = WillShowOverlayLocationEvent;
|
|
10685
|
-
exports.createComponent = createComponent;
|
|
10686
10806
|
exports.createDockview = createDockview;
|
|
10687
10807
|
exports.createGridview = createGridview;
|
|
10688
10808
|
exports.createPaneview = createPaneview;
|