dockview 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/component.api.d.ts +1 -3
- package/dist/cjs/api/component.api.js +0 -14
- package/dist/cjs/api/component.api.js.map +1 -1
- package/dist/cjs/dnd/abstractDragHandler.d.ts +1 -1
- package/dist/cjs/dnd/abstractDragHandler.js +1 -2
- package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
- package/dist/cjs/dockview/deserializer.js.map +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +5 -3
- package/dist/cjs/dockview/dockviewComponent.js +45 -38
- package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts +1 -0
- package/dist/cjs/dockview/dockviewGroupPanel.js +8 -0
- package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts +3 -20
- package/dist/cjs/gridview/baseComponentGridview.js +9 -43
- package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
- package/dist/cjs/gridview/branchNode.js +1 -1
- package/dist/cjs/gridview/branchNode.js.map +1 -1
- package/dist/cjs/gridview/gridview.js +1 -0
- package/dist/cjs/gridview/gridview.js.map +1 -1
- package/dist/cjs/gridview/gridviewComponent.js +0 -1
- package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
- package/dist/cjs/gridview/leafNode.js +1 -1
- package/dist/cjs/gridview/leafNode.js.map +1 -1
- package/dist/cjs/groupview/groupPanel.d.ts +1 -0
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +8 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/paneview/paneview.js +3 -2
- package/dist/cjs/paneview/paneview.js.map +1 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts +1 -0
- package/dist/cjs/paneview/paneviewComponent.js +4 -0
- package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
- package/dist/cjs/react/dockview/components.js +5 -1
- package/dist/cjs/react/dockview/components.js.map +1 -1
- package/dist/cjs/react/dockview/dockview.js +14 -1
- package/dist/cjs/react/dockview/dockview.js.map +1 -1
- package/dist/cjs/react/gridview/gridview.js +9 -2
- package/dist/cjs/react/gridview/gridview.js.map +1 -1
- package/dist/cjs/react/index.js +5 -1
- package/dist/cjs/react/index.js.map +1 -1
- package/dist/cjs/react/paneview/paneview.js +5 -1
- package/dist/cjs/react/paneview/paneview.js.map +1 -1
- package/dist/cjs/react/react.js +5 -1
- package/dist/cjs/react/react.js.map +1 -1
- package/dist/cjs/react/splitview/splitview.js +8 -2
- package/dist/cjs/react/splitview/splitview.js.map +1 -1
- package/dist/cjs/splitview/core/splitview.js +1 -1
- package/dist/cjs/splitview/core/splitview.js.map +1 -1
- package/dist/cjs/splitview/splitviewComponent.js +1 -0
- package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
- package/dist/dockview.amd.js +168 -207
- package/dist/dockview.amd.min.js +2 -2
- package/dist/dockview.amd.min.noStyle.js +2 -2
- package/dist/dockview.amd.noStyle.js +167 -206
- package/dist/dockview.cjs.js +168 -207
- package/dist/dockview.esm.js +168 -201
- package/dist/dockview.esm.min.js +2 -2
- package/dist/dockview.js +168 -207
- package/dist/dockview.min.js +2 -2
- package/dist/dockview.min.noStyle.js +2 -2
- package/dist/dockview.noStyle.js +167 -206
- package/dist/esm/api/component.api.d.ts +1 -3
- package/dist/esm/api/component.api.js +0 -6
- package/dist/esm/dnd/abstractDragHandler.d.ts +1 -1
- package/dist/esm/dnd/abstractDragHandler.js +1 -2
- package/dist/esm/dockview/dockviewComponent.d.ts +5 -3
- package/dist/esm/dockview/dockviewComponent.js +20 -36
- package/dist/esm/dockview/dockviewGroupPanel.d.ts +1 -0
- package/dist/esm/dockview/dockviewGroupPanel.js +4 -0
- package/dist/esm/gridview/baseComponentGridview.d.ts +3 -20
- package/dist/esm/gridview/baseComponentGridview.js +9 -43
- package/dist/esm/gridview/branchNode.js +1 -1
- package/dist/esm/gridview/gridview.js +1 -0
- package/dist/esm/gridview/gridviewComponent.js +1 -2
- package/dist/esm/groupview/groupPanel.d.ts +1 -0
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +1 -2
- package/dist/esm/paneview/paneview.js +1 -1
- package/dist/esm/paneview/paneviewComponent.d.ts +1 -0
- package/dist/esm/paneview/paneviewComponent.js +4 -0
- package/dist/esm/react/dockview/dockview.js +9 -0
- package/dist/esm/react/gridview/gridview.js +4 -1
- package/dist/esm/react/splitview/splitview.js +3 -1
- package/dist/esm/splitview/core/splitview.js +1 -1
- package/dist/esm/splitview/splitviewComponent.js +1 -0
- package/dist/styles/dockview.css +9 -8
- package/package.json +11 -11
package/dist/dockview.amd.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 1.2.0
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -54,9 +54,79 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
var css_248z = ".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-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\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-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-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\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-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-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\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-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-activegroup-visiblepanel-tab-background-color: dodgerblue;\n --dv-tabs-and-actions-container-height: 18px;\n --dv-tabs-and-actions-container-font-size: 11px;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.actions-bar {\n text-align: right;\n width: 28px;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.actions-bar .actions-container {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.actions-bar .actions-container a:active {\n -webkit-mask-size: 100% 100% !important;\n mask-size: 100% 100% !important;\n}\n.actions-bar .actions-container .close-action {\n background-color: white;\n height: 16px;\n width: 16px;\n display: block;\n -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n margin-right: \"0.5em\";\n cursor: pointer;\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: 10000;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n pointer-events: none;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.left, .drop-target > .drop-target-dropzone > .drop-target-selection.right {\n width: 50%;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.right {\n transform: translate(100%, 0%);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.bottom {\n transform: translate(0%, 100%);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.top, .drop-target > .drop-target-dropzone > .drop-target-selection.bottom {\n height: 50%;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-top {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-bottom {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-left {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-right {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.custom-dragging {\n height: 24px;\n line-height: 24px;\n font-size: 11px;\n width: 100px;\n background-color: dodgerblue;\n color: ghostwhite;\n border-radius: 11px;\n position: absolute;\n padding-left: 10px;\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.active-tab .tab-action {\n background-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.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {\n background-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.active-tab .tab-action {\n background-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.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {\n background-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.dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\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 overflow: hidden;\n outline: none;\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}\n.pane-container .view .default-header > span {\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.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 .void-container {\n display: flex;\n flex-grow: 1;\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.dockview-react-part {\n height: 100%;\n width: 100%;\n}\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\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}\n.split-view-container .sash-container .sash: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: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}\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.dragged {\n transform: translate3d(0px, 0px, 0px);\n /* 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.dragging .tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab > .default-tab .tab-action {\n visibility: visible;\n}\n.tab.inactive-tab > .default-tab .tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab > .default-tab:hover .tab-action {\n visibility: visible;\n}\n.tab .default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding-left: 10px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .default-tab .tab-content {\n flex-grow: 1;\n}\n.tab .default-tab .action-container {\n text-align: right;\n width: 28px;\n display: flex;\n}\n.tab .default-tab .action-container .tab-list {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.tab .default-tab .action-container .tab-list a:active:hover {\n -webkit-mask-size: 100% 100% !important;\n mask-size: 100% 100% !important;\n}\n.tab .default-tab .action-container .tab-list .tab-action {\n height: 16px;\n width: 16px;\n display: block;\n -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n margin-right: \"0.5em\";\n}\n.tab .default-tab .action-container .tab-list .tab-action.disable-close {\n display: none;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-bar {\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}";
|
|
57
|
+
var css_248z = ".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-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\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-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-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\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-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-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\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-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-activegroup-visiblepanel-tab-background-color: dodgerblue;\n --dv-tabs-and-actions-container-height: 18px;\n --dv-tabs-and-actions-container-font-size: 11px;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.actions-bar {\n text-align: right;\n width: 28px;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.actions-bar .actions-container {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.actions-bar .actions-container a:active {\n -webkit-mask-size: 100% 100% !important;\n mask-size: 100% 100% !important;\n}\n.actions-bar .actions-container .close-action {\n background-color: white;\n height: 16px;\n width: 16px;\n display: block;\n -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n margin-right: \"0.5em\";\n cursor: pointer;\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: 10000;\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-duration: 0.15s;\n transition-timing-function: ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.left {\n transform: translateX(-25%) scaleX(50%);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.right {\n transform: translateX(25%) scaleX(50%);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.top {\n transform: translateY(-25%) scaleY(50%);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.bottom {\n transform: translateY(25%) scaleY(50%);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-top {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-bottom {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-left {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-right {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.custom-dragging {\n height: 24px;\n line-height: 24px;\n font-size: 11px;\n width: 100px;\n background-color: dodgerblue;\n color: ghostwhite;\n border-radius: 11px;\n position: absolute;\n padding-left: 10px;\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.active-tab .tab-action {\n background-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.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {\n background-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.active-tab .tab-action {\n background-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.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {\n background-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.dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\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 overflow: hidden;\n outline: none;\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}\n.pane-container .view .default-header > span {\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.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 .void-container {\n display: flex;\n flex-grow: 1;\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.dockview-react-part {\n height: 100%;\n width: 100%;\n}\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\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}\n.split-view-container .sash-container .sash: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: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}\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.dragged {\n transform: translate3d(0px, 0px, 0px);\n /* 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.dragging .tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab > .default-tab .tab-action {\n visibility: visible;\n}\n.tab.inactive-tab > .default-tab .tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab > .default-tab:hover .tab-action {\n visibility: visible;\n}\n.tab .default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding-left: 10px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .default-tab .tab-content {\n flex-grow: 1;\n}\n.tab .default-tab .action-container {\n text-align: right;\n width: 28px;\n display: flex;\n}\n.tab .default-tab .action-container .tab-list {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.tab .default-tab .action-container .tab-list a:active:hover {\n -webkit-mask-size: 100% 100% !important;\n mask-size: 100% 100% !important;\n}\n.tab .default-tab .action-container .tab-list .tab-action {\n height: 16px;\n width: 16px;\n display: block;\n -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n margin-right: \"0.5em\";\n}\n.tab .default-tab .action-container .tab-list .tab-action.disable-close {\n display: none;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-bar {\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}";
|
|
58
58
|
styleInject(css_248z);
|
|
59
59
|
|
|
60
|
+
class TransferObject {
|
|
61
|
+
constructor() {
|
|
62
|
+
//
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
class PanelTransfer extends TransferObject {
|
|
66
|
+
constructor(viewId, groupId, panelId) {
|
|
67
|
+
super();
|
|
68
|
+
this.viewId = viewId;
|
|
69
|
+
this.groupId = groupId;
|
|
70
|
+
this.panelId = panelId;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
class PaneTransfer extends TransferObject {
|
|
74
|
+
constructor(viewId, paneId) {
|
|
75
|
+
super();
|
|
76
|
+
this.viewId = viewId;
|
|
77
|
+
this.paneId = paneId;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* A singleton to store transfer data during drag & drop operations that are only valid within the application.
|
|
82
|
+
*/
|
|
83
|
+
class LocalSelectionTransfer {
|
|
84
|
+
constructor() {
|
|
85
|
+
// protect against external instantiation
|
|
86
|
+
}
|
|
87
|
+
static getInstance() {
|
|
88
|
+
return LocalSelectionTransfer.INSTANCE;
|
|
89
|
+
}
|
|
90
|
+
hasData(proto) {
|
|
91
|
+
return proto && proto === this.proto;
|
|
92
|
+
}
|
|
93
|
+
clearData(proto) {
|
|
94
|
+
if (this.hasData(proto)) {
|
|
95
|
+
this.proto = undefined;
|
|
96
|
+
this.data = undefined;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
getData(proto) {
|
|
100
|
+
if (this.hasData(proto)) {
|
|
101
|
+
return this.data;
|
|
102
|
+
}
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
setData(data, proto) {
|
|
106
|
+
if (proto) {
|
|
107
|
+
this.data = data;
|
|
108
|
+
this.proto = proto;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
LocalSelectionTransfer.INSTANCE = new LocalSelectionTransfer();
|
|
113
|
+
function getPanelData() {
|
|
114
|
+
const panelTransfer = LocalSelectionTransfer.getInstance();
|
|
115
|
+
const isPanelEvent = panelTransfer.hasData(PanelTransfer.prototype);
|
|
116
|
+
if (!isPanelEvent) {
|
|
117
|
+
return undefined;
|
|
118
|
+
}
|
|
119
|
+
return panelTransfer.getData(PanelTransfer.prototype)[0];
|
|
120
|
+
}
|
|
121
|
+
function getPaneData() {
|
|
122
|
+
const paneTransfer = LocalSelectionTransfer.getInstance();
|
|
123
|
+
const isPanelEvent = paneTransfer.hasData(PaneTransfer.prototype);
|
|
124
|
+
if (!isPanelEvent) {
|
|
125
|
+
return undefined;
|
|
126
|
+
}
|
|
127
|
+
return paneTransfer.getData(PaneTransfer.prototype)[0];
|
|
128
|
+
}
|
|
129
|
+
|
|
60
130
|
exports.Event = void 0;
|
|
61
131
|
(function (Event) {
|
|
62
132
|
Event.any = (...children) => {
|
|
@@ -146,116 +216,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
146
216
|
}
|
|
147
217
|
}
|
|
148
218
|
|
|
149
|
-
exports.Disposable = void 0;
|
|
150
|
-
(function (Disposable) {
|
|
151
|
-
Disposable.NONE = {
|
|
152
|
-
dispose: () => {
|
|
153
|
-
// noop
|
|
154
|
-
},
|
|
155
|
-
};
|
|
156
|
-
})(exports.Disposable || (exports.Disposable = {}));
|
|
157
|
-
class CompositeDisposable {
|
|
158
|
-
constructor(...args) {
|
|
159
|
-
this.disposables = args;
|
|
160
|
-
}
|
|
161
|
-
static from(...args) {
|
|
162
|
-
return new CompositeDisposable(...args);
|
|
163
|
-
}
|
|
164
|
-
addDisposables(...args) {
|
|
165
|
-
args.forEach((arg) => this.disposables.push(arg));
|
|
166
|
-
}
|
|
167
|
-
dispose() {
|
|
168
|
-
this.disposables.forEach((arg) => arg.dispose());
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
class MutableDisposable {
|
|
172
|
-
constructor() {
|
|
173
|
-
this._disposable = exports.Disposable.NONE;
|
|
174
|
-
}
|
|
175
|
-
set value(disposable) {
|
|
176
|
-
if (this._disposable) {
|
|
177
|
-
this._disposable.dispose();
|
|
178
|
-
}
|
|
179
|
-
this._disposable = disposable;
|
|
180
|
-
}
|
|
181
|
-
dispose() {
|
|
182
|
-
if (this._disposable) {
|
|
183
|
-
this._disposable.dispose();
|
|
184
|
-
this._disposable = exports.Disposable.NONE;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
class TransferObject {
|
|
190
|
-
constructor() {
|
|
191
|
-
//
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
class PanelTransfer extends TransferObject {
|
|
195
|
-
constructor(viewId, groupId, panelId) {
|
|
196
|
-
super();
|
|
197
|
-
this.viewId = viewId;
|
|
198
|
-
this.groupId = groupId;
|
|
199
|
-
this.panelId = panelId;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
class PaneTransfer extends TransferObject {
|
|
203
|
-
constructor(viewId, paneId) {
|
|
204
|
-
super();
|
|
205
|
-
this.viewId = viewId;
|
|
206
|
-
this.paneId = paneId;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* A singleton to store transfer data during drag & drop operations that are only valid within the application.
|
|
211
|
-
*/
|
|
212
|
-
class LocalSelectionTransfer {
|
|
213
|
-
constructor() {
|
|
214
|
-
// protect against external instantiation
|
|
215
|
-
}
|
|
216
|
-
static getInstance() {
|
|
217
|
-
return LocalSelectionTransfer.INSTANCE;
|
|
218
|
-
}
|
|
219
|
-
hasData(proto) {
|
|
220
|
-
return proto && proto === this.proto;
|
|
221
|
-
}
|
|
222
|
-
clearData(proto) {
|
|
223
|
-
if (this.hasData(proto)) {
|
|
224
|
-
this.proto = undefined;
|
|
225
|
-
this.data = undefined;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
getData(proto) {
|
|
229
|
-
if (this.hasData(proto)) {
|
|
230
|
-
return this.data;
|
|
231
|
-
}
|
|
232
|
-
return undefined;
|
|
233
|
-
}
|
|
234
|
-
setData(data, proto) {
|
|
235
|
-
if (proto) {
|
|
236
|
-
this.data = data;
|
|
237
|
-
this.proto = proto;
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
LocalSelectionTransfer.INSTANCE = new LocalSelectionTransfer();
|
|
242
|
-
function getPanelData() {
|
|
243
|
-
const panelTransfer = LocalSelectionTransfer.getInstance();
|
|
244
|
-
const isPanelEvent = panelTransfer.hasData(PanelTransfer.prototype);
|
|
245
|
-
if (!isPanelEvent) {
|
|
246
|
-
return undefined;
|
|
247
|
-
}
|
|
248
|
-
return panelTransfer.getData(PanelTransfer.prototype)[0];
|
|
249
|
-
}
|
|
250
|
-
function getPaneData() {
|
|
251
|
-
const paneTransfer = LocalSelectionTransfer.getInstance();
|
|
252
|
-
const isPanelEvent = paneTransfer.hasData(PaneTransfer.prototype);
|
|
253
|
-
if (!isPanelEvent) {
|
|
254
|
-
return undefined;
|
|
255
|
-
}
|
|
256
|
-
return paneTransfer.getData(PaneTransfer.prototype)[0];
|
|
257
|
-
}
|
|
258
|
-
|
|
259
219
|
class SplitviewApi {
|
|
260
220
|
constructor(component) {
|
|
261
221
|
this.component = component;
|
|
@@ -416,9 +376,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
416
376
|
get height() {
|
|
417
377
|
return this.component.height;
|
|
418
378
|
}
|
|
419
|
-
get onGridEvent() {
|
|
420
|
-
return this.component.onGridEvent;
|
|
421
|
-
}
|
|
422
379
|
get onDidLayoutChange() {
|
|
423
380
|
return this.component.onDidLayoutChange;
|
|
424
381
|
}
|
|
@@ -508,9 +465,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
508
465
|
get totalPanels() {
|
|
509
466
|
return this.component.totalPanels;
|
|
510
467
|
}
|
|
511
|
-
get onGridEvent() {
|
|
512
|
-
return this.component.onGridEvent;
|
|
513
|
-
}
|
|
514
468
|
get onDidActiveGroupChange() {
|
|
515
469
|
return this.component.onDidActiveGroupChange;
|
|
516
470
|
}
|
|
@@ -594,6 +548,46 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
594
548
|
}
|
|
595
549
|
}
|
|
596
550
|
|
|
551
|
+
var Disposable;
|
|
552
|
+
(function (Disposable) {
|
|
553
|
+
Disposable.NONE = {
|
|
554
|
+
dispose: () => {
|
|
555
|
+
// noop
|
|
556
|
+
},
|
|
557
|
+
};
|
|
558
|
+
})(Disposable || (Disposable = {}));
|
|
559
|
+
class CompositeDisposable {
|
|
560
|
+
constructor(...args) {
|
|
561
|
+
this.disposables = args;
|
|
562
|
+
}
|
|
563
|
+
static from(...args) {
|
|
564
|
+
return new CompositeDisposable(...args);
|
|
565
|
+
}
|
|
566
|
+
addDisposables(...args) {
|
|
567
|
+
args.forEach((arg) => this.disposables.push(arg));
|
|
568
|
+
}
|
|
569
|
+
dispose() {
|
|
570
|
+
this.disposables.forEach((arg) => arg.dispose());
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
class MutableDisposable {
|
|
574
|
+
constructor() {
|
|
575
|
+
this._disposable = Disposable.NONE;
|
|
576
|
+
}
|
|
577
|
+
set value(disposable) {
|
|
578
|
+
if (this._disposable) {
|
|
579
|
+
this._disposable.dispose();
|
|
580
|
+
}
|
|
581
|
+
this._disposable = disposable;
|
|
582
|
+
}
|
|
583
|
+
dispose() {
|
|
584
|
+
if (this._disposable) {
|
|
585
|
+
this._disposable.dispose();
|
|
586
|
+
this._disposable = Disposable.NONE;
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
|
|
597
591
|
function watchElementResize(element, cb) {
|
|
598
592
|
const observer = new ResizeObserver((entires) => {
|
|
599
593
|
const firstEntry = entires[0];
|
|
@@ -1539,13 +1533,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1539
1533
|
this._onDidSashEnd.dispose();
|
|
1540
1534
|
this._onDidAddView.dispose();
|
|
1541
1535
|
this._onDidRemoveView.dispose();
|
|
1542
|
-
this.element.remove();
|
|
1543
1536
|
for (let i = 0; i < this.element.children.length; i++) {
|
|
1544
1537
|
if (this.element.children.item(i) === this.element) {
|
|
1545
1538
|
this.element.removeChild(this.element);
|
|
1546
1539
|
break;
|
|
1547
1540
|
}
|
|
1548
1541
|
}
|
|
1542
|
+
this.element.remove();
|
|
1549
1543
|
}
|
|
1550
1544
|
}
|
|
1551
1545
|
|
|
@@ -1674,7 +1668,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1674
1668
|
}
|
|
1675
1669
|
dispose() {
|
|
1676
1670
|
super.dispose();
|
|
1677
|
-
this.splitview.dispose();
|
|
1678
1671
|
if (this.animationTimer) {
|
|
1679
1672
|
clearTimeout(this.animationTimer);
|
|
1680
1673
|
this.animationTimer = undefined;
|
|
@@ -1683,6 +1676,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1683
1676
|
paneItem.disposable.dispose();
|
|
1684
1677
|
});
|
|
1685
1678
|
this.paneItems = [];
|
|
1679
|
+
this.splitview.dispose();
|
|
1686
1680
|
this.element.remove();
|
|
1687
1681
|
}
|
|
1688
1682
|
}
|
|
@@ -2001,7 +1995,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2001
1995
|
this.children = [];
|
|
2002
1996
|
this._onDidChange = new Emitter();
|
|
2003
1997
|
this.onDidChange = this._onDidChange.event;
|
|
2004
|
-
this._childrenDisposable =
|
|
1998
|
+
this._childrenDisposable = Disposable.NONE;
|
|
2005
1999
|
this._orthogonalSize = orthogonalSize;
|
|
2006
2000
|
this._size = size;
|
|
2007
2001
|
this.element = document.createElement('div');
|
|
@@ -2026,7 +2020,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2026
2020
|
: true,
|
|
2027
2021
|
};
|
|
2028
2022
|
}),
|
|
2029
|
-
size: this.
|
|
2023
|
+
size: this.size,
|
|
2030
2024
|
};
|
|
2031
2025
|
this.children = childDescriptors.map((c) => c.node);
|
|
2032
2026
|
this.splitview = new Splitview(this.element, {
|
|
@@ -2347,6 +2341,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2347
2341
|
this.disposable.dispose();
|
|
2348
2342
|
this._onDidChange.dispose();
|
|
2349
2343
|
this.root.dispose();
|
|
2344
|
+
this.element.remove();
|
|
2350
2345
|
}
|
|
2351
2346
|
clear() {
|
|
2352
2347
|
const orientation = this.root.orientation;
|
|
@@ -3377,19 +3372,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3377
3372
|
}
|
|
3378
3373
|
}
|
|
3379
3374
|
|
|
3380
|
-
exports.GroupChangeKind = void 0;
|
|
3381
|
-
(function (GroupChangeKind) {
|
|
3382
|
-
GroupChangeKind["ADD_PANEL"] = "ADD_PANEL";
|
|
3383
|
-
GroupChangeKind["REMOVE_PANEL"] = "REMOVE_PANEL";
|
|
3384
|
-
GroupChangeKind["PANEL_ACTIVE"] = "PANEL_ACTIVE";
|
|
3385
|
-
//
|
|
3386
|
-
GroupChangeKind["GROUP_ACTIVE"] = "GROUP_ACTIVE";
|
|
3387
|
-
GroupChangeKind["ADD_GROUP"] = "ADD_GROUP";
|
|
3388
|
-
GroupChangeKind["REMOVE_GROUP"] = "REMOVE_GROUP";
|
|
3389
|
-
//
|
|
3390
|
-
GroupChangeKind["LAYOUT_FROM_JSON"] = "LAYOUT_FROM_JSON";
|
|
3391
|
-
GroupChangeKind["LAYOUT"] = "LAYOUT";
|
|
3392
|
-
})(exports.GroupChangeKind || (exports.GroupChangeKind = {}));
|
|
3393
3375
|
const nextLayoutId = sequentialNumberGenerator();
|
|
3394
3376
|
function toTarget(direction) {
|
|
3395
3377
|
switch (direction) {
|
|
@@ -3412,9 +3394,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3412
3394
|
this._element = _element;
|
|
3413
3395
|
this._id = nextLayoutId.next();
|
|
3414
3396
|
this._groups = new Map();
|
|
3415
|
-
//
|
|
3416
|
-
this._onGridEvent = new Emitter();
|
|
3417
|
-
this.onGridEvent = this._onGridEvent.event;
|
|
3418
3397
|
this._onDidLayoutChange = new Emitter();
|
|
3419
3398
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
3420
3399
|
this._onDidRemoveGroup = new Emitter();
|
|
@@ -3423,30 +3402,18 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3423
3402
|
this.onDidAddGroup = this._onDidAddGroup.event;
|
|
3424
3403
|
this._onDidActiveGroupChange = new Emitter();
|
|
3425
3404
|
this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
|
|
3405
|
+
this._bufferOnDidLayoutChange = new TickDelayedEvent();
|
|
3426
3406
|
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation);
|
|
3427
3407
|
this.element.appendChild(this.gridview.element);
|
|
3428
3408
|
this.layout(0, 0, true); // set some elements height/widths
|
|
3429
3409
|
this.addDisposables(this.gridview.onDidChange(() => {
|
|
3430
|
-
this.
|
|
3410
|
+
this._onDidLayoutChange.fire();
|
|
3431
3411
|
}));
|
|
3432
|
-
this.addDisposables((() => {
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
|
|
3436
|
-
|
|
3437
|
-
exports.GroupChangeKind.REMOVE_GROUP,
|
|
3438
|
-
exports.GroupChangeKind.ADD_PANEL,
|
|
3439
|
-
exports.GroupChangeKind.REMOVE_PANEL,
|
|
3440
|
-
exports.GroupChangeKind.GROUP_ACTIVE,
|
|
3441
|
-
exports.GroupChangeKind.PANEL_ACTIVE,
|
|
3442
|
-
exports.GroupChangeKind.LAYOUT,
|
|
3443
|
-
].includes(event.kind)) {
|
|
3444
|
-
tickDelayedEvent.fire();
|
|
3445
|
-
}
|
|
3446
|
-
}), tickDelayedEvent.onEvent(() => {
|
|
3447
|
-
this._onDidLayoutChange.fire();
|
|
3448
|
-
}), tickDelayedEvent);
|
|
3449
|
-
})());
|
|
3412
|
+
this.addDisposables(exports.Event.any(this.onDidAddGroup, this.onDidRemoveGroup, this.onDidActiveGroupChange)(() => {
|
|
3413
|
+
this._bufferOnDidLayoutChange.fire();
|
|
3414
|
+
}), this._bufferOnDidLayoutChange.onEvent(() => {
|
|
3415
|
+
this._onDidLayoutChange.fire();
|
|
3416
|
+
}), this._bufferOnDidLayoutChange);
|
|
3450
3417
|
}
|
|
3451
3418
|
get id() {
|
|
3452
3419
|
return this._id;
|
|
@@ -3483,14 +3450,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3483
3450
|
}
|
|
3484
3451
|
setVisible(panel, visible) {
|
|
3485
3452
|
this.gridview.setViewVisible(getGridLocation(panel.element), visible);
|
|
3486
|
-
this.
|
|
3453
|
+
this._onDidLayoutChange.fire();
|
|
3487
3454
|
}
|
|
3488
3455
|
isVisible(panel) {
|
|
3489
3456
|
return this.gridview.isViewVisible(getGridLocation(panel.element));
|
|
3490
3457
|
}
|
|
3491
3458
|
doAddGroup(group, location = [0], size) {
|
|
3492
3459
|
this.gridview.addView(group, size !== null && size !== void 0 ? size : exports.Sizing.Distribute, location);
|
|
3493
|
-
this._onGridEvent.fire({ kind: exports.GroupChangeKind.ADD_GROUP });
|
|
3494
3460
|
this._onDidAddGroup.fire(group);
|
|
3495
3461
|
this.doSetGroupActive(group);
|
|
3496
3462
|
}
|
|
@@ -3504,7 +3470,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3504
3470
|
item.disposable.dispose();
|
|
3505
3471
|
this._groups.delete(group.id);
|
|
3506
3472
|
}
|
|
3507
|
-
this._onGridEvent.fire({ kind: exports.GroupChangeKind.REMOVE_GROUP });
|
|
3508
3473
|
this._onDidRemoveGroup.fire(group);
|
|
3509
3474
|
if (!(options === null || options === void 0 ? void 0 : options.skipActive) && this._activeGroup === group) {
|
|
3510
3475
|
const groups = Array.from(this._groups.values());
|
|
@@ -3533,9 +3498,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3533
3498
|
}
|
|
3534
3499
|
}
|
|
3535
3500
|
this._activeGroup = group;
|
|
3536
|
-
this._onGridEvent.fire({
|
|
3537
|
-
kind: exports.GroupChangeKind.GROUP_ACTIVE,
|
|
3538
|
-
});
|
|
3539
3501
|
this._onDidActiveGroupChange.fire(group);
|
|
3540
3502
|
}
|
|
3541
3503
|
removeGroup(group) {
|
|
@@ -3592,7 +3554,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3592
3554
|
}
|
|
3593
3555
|
dispose() {
|
|
3594
3556
|
super.dispose();
|
|
3595
|
-
this._onGridEvent.dispose();
|
|
3596
3557
|
this._onDidActiveGroupChange.dispose();
|
|
3597
3558
|
this._onDidAddGroup.dispose();
|
|
3598
3559
|
this._onDidRemoveGroup.dispose();
|
|
@@ -3774,6 +3735,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3774
3735
|
this.update({ params: { title } });
|
|
3775
3736
|
}));
|
|
3776
3737
|
}
|
|
3738
|
+
get params() {
|
|
3739
|
+
var _a;
|
|
3740
|
+
return (_a = this._params) === null || _a === void 0 ? void 0 : _a.params;
|
|
3741
|
+
}
|
|
3777
3742
|
get title() {
|
|
3778
3743
|
return this._title;
|
|
3779
3744
|
}
|
|
@@ -4450,7 +4415,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4450
4415
|
this.onDidLayoutfromJSON = this._onDidLayoutfromJSON.event;
|
|
4451
4416
|
this._onDidActivePanelChange = new Emitter();
|
|
4452
4417
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
4453
|
-
this.addDisposables(this._onTabInteractionEvent, this._onTabContextMenu, this._onDidDrop)
|
|
4418
|
+
this.addDisposables(this._onTabInteractionEvent, this._onTabContextMenu, this._onDidDrop, exports.Event.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
|
|
4419
|
+
this._bufferOnDidLayoutChange.fire();
|
|
4420
|
+
}));
|
|
4454
4421
|
this._options = options;
|
|
4455
4422
|
if (!this.options.components) {
|
|
4456
4423
|
this.options.components = {};
|
|
@@ -4584,11 +4551,12 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4584
4551
|
};
|
|
4585
4552
|
}
|
|
4586
4553
|
fromJSON(data) {
|
|
4554
|
+
const groups = Array.from(this._groups.values()).map((_) => _.value);
|
|
4555
|
+
for (const group of groups) {
|
|
4556
|
+
// remove the group will automatically remove the panels
|
|
4557
|
+
this.removeGroup(group, true);
|
|
4558
|
+
}
|
|
4587
4559
|
this.gridview.clear();
|
|
4588
|
-
this.panels.forEach((panel) => {
|
|
4589
|
-
panel.dispose();
|
|
4590
|
-
});
|
|
4591
|
-
this._groups.clear();
|
|
4592
4560
|
if (!this.deserializer) {
|
|
4593
4561
|
throw new Error('invalid deserializer');
|
|
4594
4562
|
}
|
|
@@ -4612,7 +4580,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4612
4580
|
}
|
|
4613
4581
|
}
|
|
4614
4582
|
this.gridview.layout(this.width, this.height);
|
|
4615
|
-
this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT_FROM_JSON });
|
|
4616
4583
|
this._onDidLayoutfromJSON.fire();
|
|
4617
4584
|
}
|
|
4618
4585
|
closeAllGroups() {
|
|
@@ -4662,13 +4629,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4662
4629
|
}
|
|
4663
4630
|
return panel;
|
|
4664
4631
|
}
|
|
4665
|
-
removePanel(panel) {
|
|
4632
|
+
removePanel(panel, options = { removeEmptyGroup: true }) {
|
|
4666
4633
|
const group = panel.group;
|
|
4667
4634
|
if (!group) {
|
|
4668
4635
|
throw new Error(`cannot remove panel ${panel.id}. it's missing a group.`);
|
|
4669
4636
|
}
|
|
4670
4637
|
group.model.removePanel(panel);
|
|
4671
|
-
if (group.model.size === 0) {
|
|
4638
|
+
if (group.model.size === 0 && options.removeEmptyGroup) {
|
|
4672
4639
|
this.removeGroup(group);
|
|
4673
4640
|
}
|
|
4674
4641
|
}
|
|
@@ -4700,16 +4667,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4700
4667
|
this.doAddGroup(group);
|
|
4701
4668
|
}
|
|
4702
4669
|
}
|
|
4703
|
-
removeGroup(group) {
|
|
4670
|
+
removeGroup(group, skipActive = false) {
|
|
4704
4671
|
const panels = [...group.model.panels]; // reassign since group panels will mutate
|
|
4705
|
-
|
|
4706
|
-
this.removePanel(panel
|
|
4707
|
-
|
|
4708
|
-
|
|
4709
|
-
this._activeGroup = group;
|
|
4710
|
-
return;
|
|
4672
|
+
for (const panel of panels) {
|
|
4673
|
+
this.removePanel(panel, {
|
|
4674
|
+
removeEmptyGroup: false,
|
|
4675
|
+
});
|
|
4711
4676
|
}
|
|
4712
|
-
super.
|
|
4677
|
+
super.doRemoveGroup(group, { skipActive });
|
|
4713
4678
|
}
|
|
4714
4679
|
moveGroupOrPanel(referenceGroup, groupId, itemId, target, index) {
|
|
4715
4680
|
var _a;
|
|
@@ -4764,15 +4729,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4764
4729
|
}
|
|
4765
4730
|
}
|
|
4766
4731
|
doSetGroupActive(group, skipFocus) {
|
|
4767
|
-
var _a, _b
|
|
4732
|
+
var _a, _b;
|
|
4768
4733
|
const isGroupAlreadyFocused = this._activeGroup === group;
|
|
4769
4734
|
super.doSetGroupActive(group, skipFocus);
|
|
4770
4735
|
if (!isGroupAlreadyFocused && ((_a = this._activeGroup) === null || _a === void 0 ? void 0 : _a.model.activePanel)) {
|
|
4771
|
-
this.
|
|
4772
|
-
kind: exports.GroupChangeKind.PANEL_ACTIVE,
|
|
4773
|
-
panel: (_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.model.activePanel,
|
|
4774
|
-
});
|
|
4775
|
-
this._onDidActivePanelChange.fire((_c = this._activeGroup) === null || _c === void 0 ? void 0 : _c.model.activePanel);
|
|
4736
|
+
this._onDidActivePanelChange.fire((_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.model.activePanel);
|
|
4776
4737
|
}
|
|
4777
4738
|
}
|
|
4778
4739
|
createGroup(options) {
|
|
@@ -4803,28 +4764,16 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4803
4764
|
}), view.model.onDidGroupChange((event) => {
|
|
4804
4765
|
switch (event.kind) {
|
|
4805
4766
|
case exports.GroupChangeKind2.ADD_PANEL:
|
|
4806
|
-
this._onGridEvent.fire({
|
|
4807
|
-
kind: exports.GroupChangeKind.ADD_PANEL,
|
|
4808
|
-
panel: event.panel,
|
|
4809
|
-
});
|
|
4810
4767
|
if (event.panel) {
|
|
4811
4768
|
this._onDidAddPanel.fire(event.panel);
|
|
4812
4769
|
}
|
|
4813
4770
|
break;
|
|
4814
4771
|
case exports.GroupChangeKind2.REMOVE_PANEL:
|
|
4815
|
-
this._onGridEvent.fire({
|
|
4816
|
-
kind: exports.GroupChangeKind.REMOVE_PANEL,
|
|
4817
|
-
panel: event.panel,
|
|
4818
|
-
});
|
|
4819
4772
|
if (event.panel) {
|
|
4820
4773
|
this._onDidRemovePanel.fire(event.panel);
|
|
4821
4774
|
}
|
|
4822
4775
|
break;
|
|
4823
4776
|
case exports.GroupChangeKind2.PANEL_ACTIVE:
|
|
4824
|
-
this._onGridEvent.fire({
|
|
4825
|
-
kind: exports.GroupChangeKind.PANEL_ACTIVE,
|
|
4826
|
-
panel: event.panel,
|
|
4827
|
-
});
|
|
4828
4777
|
this._onDidActivePanelChange.fire(event.panel);
|
|
4829
4778
|
break;
|
|
4830
4779
|
}
|
|
@@ -4995,7 +4944,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4995
4944
|
this.doSetGroupActive(panel);
|
|
4996
4945
|
}
|
|
4997
4946
|
}
|
|
4998
|
-
this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT_FROM_JSON });
|
|
4999
4947
|
this._onDidLayoutfromJSON.fire();
|
|
5000
4948
|
}
|
|
5001
4949
|
movePanel(panel, options) {
|
|
@@ -5356,6 +5304,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5356
5304
|
value.dispose();
|
|
5357
5305
|
});
|
|
5358
5306
|
this.panels.clear();
|
|
5307
|
+
this.splitview.dispose();
|
|
5359
5308
|
super.dispose();
|
|
5360
5309
|
}
|
|
5361
5310
|
}
|
|
@@ -5945,6 +5894,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5945
5894
|
queue.forEach((f) => f());
|
|
5946
5895
|
}
|
|
5947
5896
|
}
|
|
5897
|
+
dispose() {
|
|
5898
|
+
super.dispose();
|
|
5899
|
+
this.paneview.dispose();
|
|
5900
|
+
}
|
|
5948
5901
|
}
|
|
5949
5902
|
|
|
5950
5903
|
class SplitviewPanel extends BasePanelView {
|
|
@@ -6438,6 +6391,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6438
6391
|
return () => {
|
|
6439
6392
|
disposable.dispose();
|
|
6440
6393
|
dockview.dispose();
|
|
6394
|
+
element.remove();
|
|
6441
6395
|
};
|
|
6442
6396
|
}, []);
|
|
6443
6397
|
React__namespace.useEffect(() => {
|
|
@@ -6448,6 +6402,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6448
6402
|
frameworkComponents: props.components,
|
|
6449
6403
|
});
|
|
6450
6404
|
}, [props.components]);
|
|
6405
|
+
React__namespace.useEffect(() => {
|
|
6406
|
+
if (!dockviewRef.current) {
|
|
6407
|
+
return;
|
|
6408
|
+
}
|
|
6409
|
+
dockviewRef.current.updateOptions({
|
|
6410
|
+
watermarkFrameworkComponent: props.watermarkComponent,
|
|
6411
|
+
});
|
|
6412
|
+
}, [props.watermarkComponent]);
|
|
6451
6413
|
React__namespace.useEffect(() => {
|
|
6452
6414
|
if (!dockviewRef.current) {
|
|
6453
6415
|
return;
|
|
@@ -6583,7 +6545,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6583
6545
|
});
|
|
6584
6546
|
},
|
|
6585
6547
|
},
|
|
6586
|
-
proportionalLayout: props.proportionalLayout
|
|
6548
|
+
proportionalLayout: typeof props.proportionalLayout === 'boolean'
|
|
6549
|
+
? props.proportionalLayout
|
|
6550
|
+
: true,
|
|
6587
6551
|
styles: props.hideBorders
|
|
6588
6552
|
? { separatorBorder: 'transparent' }
|
|
6589
6553
|
: undefined,
|
|
@@ -6651,7 +6615,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6651
6615
|
var _a;
|
|
6652
6616
|
const element = document.createElement('div');
|
|
6653
6617
|
const gridview = new GridviewComponent(element, {
|
|
6654
|
-
proportionalLayout:
|
|
6618
|
+
proportionalLayout: typeof props.proportionalLayout === 'boolean'
|
|
6619
|
+
? props.proportionalLayout
|
|
6620
|
+
: true,
|
|
6655
6621
|
orientation: props.orientation,
|
|
6656
6622
|
frameworkComponents: props.components,
|
|
6657
6623
|
frameworkComponentFactory: {
|
|
@@ -6674,6 +6640,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6674
6640
|
gridviewRef.current = gridview;
|
|
6675
6641
|
return () => {
|
|
6676
6642
|
gridview.dispose();
|
|
6643
|
+
element.remove();
|
|
6677
6644
|
};
|
|
6678
6645
|
}, []);
|
|
6679
6646
|
React__namespace.useEffect(() => {
|
|
@@ -6810,13 +6777,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6810
6777
|
PaneviewReact.displayName = 'PaneviewComponent';
|
|
6811
6778
|
|
|
6812
6779
|
exports.BaseGrid = BaseGrid;
|
|
6813
|
-
exports.CompositeDisposable = CompositeDisposable;
|
|
6814
6780
|
exports.ContentContainer = ContentContainer;
|
|
6815
6781
|
exports.DockviewApi = DockviewApi;
|
|
6816
6782
|
exports.DockviewComponent = DockviewComponent;
|
|
6817
6783
|
exports.DockviewComponents = DockviewComponents;
|
|
6818
6784
|
exports.DockviewReact = DockviewReact;
|
|
6819
|
-
exports.Emitter = Emitter;
|
|
6820
6785
|
exports.Gridview = Gridview;
|
|
6821
6786
|
exports.GridviewApi = GridviewApi;
|
|
6822
6787
|
exports.GridviewComponent = GridviewComponent;
|
|
@@ -6824,7 +6789,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6824
6789
|
exports.GridviewReact = GridviewReact;
|
|
6825
6790
|
exports.Groupview = Groupview;
|
|
6826
6791
|
exports.LocalSelectionTransfer = LocalSelectionTransfer;
|
|
6827
|
-
exports.MutableDisposable = MutableDisposable;
|
|
6828
6792
|
exports.PaneFramework = PaneFramework;
|
|
6829
6793
|
exports.PaneTransfer = PaneTransfer;
|
|
6830
6794
|
exports.PanelTransfer = PanelTransfer;
|
|
@@ -6843,9 +6807,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6843
6807
|
exports.SplitviewPanel = SplitviewPanel;
|
|
6844
6808
|
exports.SplitviewReact = SplitviewReact;
|
|
6845
6809
|
exports.Tab = Tab$1;
|
|
6846
|
-
exports.TickDelayedEvent = TickDelayedEvent;
|
|
6847
|
-
exports.addDisposableListener = addDisposableListener;
|
|
6848
|
-
exports.addDisposableWindowListener = addDisposableWindowListener;
|
|
6849
6810
|
exports.getDirectionOrientation = getDirectionOrientation;
|
|
6850
6811
|
exports.getGridLocation = getGridLocation;
|
|
6851
6812
|
exports.getLocationOrientation = getLocationOrientation;
|