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.cjs.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
|
*/
|
|
@@ -59,9 +59,79 @@ function styleInject(css, ref) {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
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}";
|
|
62
|
+
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}";
|
|
63
63
|
styleInject(css_248z);
|
|
64
64
|
|
|
65
|
+
class TransferObject {
|
|
66
|
+
constructor() {
|
|
67
|
+
//
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
class PanelTransfer extends TransferObject {
|
|
71
|
+
constructor(viewId, groupId, panelId) {
|
|
72
|
+
super();
|
|
73
|
+
this.viewId = viewId;
|
|
74
|
+
this.groupId = groupId;
|
|
75
|
+
this.panelId = panelId;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
class PaneTransfer extends TransferObject {
|
|
79
|
+
constructor(viewId, paneId) {
|
|
80
|
+
super();
|
|
81
|
+
this.viewId = viewId;
|
|
82
|
+
this.paneId = paneId;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* A singleton to store transfer data during drag & drop operations that are only valid within the application.
|
|
87
|
+
*/
|
|
88
|
+
class LocalSelectionTransfer {
|
|
89
|
+
constructor() {
|
|
90
|
+
// protect against external instantiation
|
|
91
|
+
}
|
|
92
|
+
static getInstance() {
|
|
93
|
+
return LocalSelectionTransfer.INSTANCE;
|
|
94
|
+
}
|
|
95
|
+
hasData(proto) {
|
|
96
|
+
return proto && proto === this.proto;
|
|
97
|
+
}
|
|
98
|
+
clearData(proto) {
|
|
99
|
+
if (this.hasData(proto)) {
|
|
100
|
+
this.proto = undefined;
|
|
101
|
+
this.data = undefined;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
getData(proto) {
|
|
105
|
+
if (this.hasData(proto)) {
|
|
106
|
+
return this.data;
|
|
107
|
+
}
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
setData(data, proto) {
|
|
111
|
+
if (proto) {
|
|
112
|
+
this.data = data;
|
|
113
|
+
this.proto = proto;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
LocalSelectionTransfer.INSTANCE = new LocalSelectionTransfer();
|
|
118
|
+
function getPanelData() {
|
|
119
|
+
const panelTransfer = LocalSelectionTransfer.getInstance();
|
|
120
|
+
const isPanelEvent = panelTransfer.hasData(PanelTransfer.prototype);
|
|
121
|
+
if (!isPanelEvent) {
|
|
122
|
+
return undefined;
|
|
123
|
+
}
|
|
124
|
+
return panelTransfer.getData(PanelTransfer.prototype)[0];
|
|
125
|
+
}
|
|
126
|
+
function getPaneData() {
|
|
127
|
+
const paneTransfer = LocalSelectionTransfer.getInstance();
|
|
128
|
+
const isPanelEvent = paneTransfer.hasData(PaneTransfer.prototype);
|
|
129
|
+
if (!isPanelEvent) {
|
|
130
|
+
return undefined;
|
|
131
|
+
}
|
|
132
|
+
return paneTransfer.getData(PaneTransfer.prototype)[0];
|
|
133
|
+
}
|
|
134
|
+
|
|
65
135
|
exports.Event = void 0;
|
|
66
136
|
(function (Event) {
|
|
67
137
|
Event.any = (...children) => {
|
|
@@ -151,116 +221,6 @@ class TickDelayedEvent {
|
|
|
151
221
|
}
|
|
152
222
|
}
|
|
153
223
|
|
|
154
|
-
exports.Disposable = void 0;
|
|
155
|
-
(function (Disposable) {
|
|
156
|
-
Disposable.NONE = {
|
|
157
|
-
dispose: () => {
|
|
158
|
-
// noop
|
|
159
|
-
},
|
|
160
|
-
};
|
|
161
|
-
})(exports.Disposable || (exports.Disposable = {}));
|
|
162
|
-
class CompositeDisposable {
|
|
163
|
-
constructor(...args) {
|
|
164
|
-
this.disposables = args;
|
|
165
|
-
}
|
|
166
|
-
static from(...args) {
|
|
167
|
-
return new CompositeDisposable(...args);
|
|
168
|
-
}
|
|
169
|
-
addDisposables(...args) {
|
|
170
|
-
args.forEach((arg) => this.disposables.push(arg));
|
|
171
|
-
}
|
|
172
|
-
dispose() {
|
|
173
|
-
this.disposables.forEach((arg) => arg.dispose());
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
class MutableDisposable {
|
|
177
|
-
constructor() {
|
|
178
|
-
this._disposable = exports.Disposable.NONE;
|
|
179
|
-
}
|
|
180
|
-
set value(disposable) {
|
|
181
|
-
if (this._disposable) {
|
|
182
|
-
this._disposable.dispose();
|
|
183
|
-
}
|
|
184
|
-
this._disposable = disposable;
|
|
185
|
-
}
|
|
186
|
-
dispose() {
|
|
187
|
-
if (this._disposable) {
|
|
188
|
-
this._disposable.dispose();
|
|
189
|
-
this._disposable = exports.Disposable.NONE;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
class TransferObject {
|
|
195
|
-
constructor() {
|
|
196
|
-
//
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
class PanelTransfer extends TransferObject {
|
|
200
|
-
constructor(viewId, groupId, panelId) {
|
|
201
|
-
super();
|
|
202
|
-
this.viewId = viewId;
|
|
203
|
-
this.groupId = groupId;
|
|
204
|
-
this.panelId = panelId;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
class PaneTransfer extends TransferObject {
|
|
208
|
-
constructor(viewId, paneId) {
|
|
209
|
-
super();
|
|
210
|
-
this.viewId = viewId;
|
|
211
|
-
this.paneId = paneId;
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* A singleton to store transfer data during drag & drop operations that are only valid within the application.
|
|
216
|
-
*/
|
|
217
|
-
class LocalSelectionTransfer {
|
|
218
|
-
constructor() {
|
|
219
|
-
// protect against external instantiation
|
|
220
|
-
}
|
|
221
|
-
static getInstance() {
|
|
222
|
-
return LocalSelectionTransfer.INSTANCE;
|
|
223
|
-
}
|
|
224
|
-
hasData(proto) {
|
|
225
|
-
return proto && proto === this.proto;
|
|
226
|
-
}
|
|
227
|
-
clearData(proto) {
|
|
228
|
-
if (this.hasData(proto)) {
|
|
229
|
-
this.proto = undefined;
|
|
230
|
-
this.data = undefined;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
getData(proto) {
|
|
234
|
-
if (this.hasData(proto)) {
|
|
235
|
-
return this.data;
|
|
236
|
-
}
|
|
237
|
-
return undefined;
|
|
238
|
-
}
|
|
239
|
-
setData(data, proto) {
|
|
240
|
-
if (proto) {
|
|
241
|
-
this.data = data;
|
|
242
|
-
this.proto = proto;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
LocalSelectionTransfer.INSTANCE = new LocalSelectionTransfer();
|
|
247
|
-
function getPanelData() {
|
|
248
|
-
const panelTransfer = LocalSelectionTransfer.getInstance();
|
|
249
|
-
const isPanelEvent = panelTransfer.hasData(PanelTransfer.prototype);
|
|
250
|
-
if (!isPanelEvent) {
|
|
251
|
-
return undefined;
|
|
252
|
-
}
|
|
253
|
-
return panelTransfer.getData(PanelTransfer.prototype)[0];
|
|
254
|
-
}
|
|
255
|
-
function getPaneData() {
|
|
256
|
-
const paneTransfer = LocalSelectionTransfer.getInstance();
|
|
257
|
-
const isPanelEvent = paneTransfer.hasData(PaneTransfer.prototype);
|
|
258
|
-
if (!isPanelEvent) {
|
|
259
|
-
return undefined;
|
|
260
|
-
}
|
|
261
|
-
return paneTransfer.getData(PaneTransfer.prototype)[0];
|
|
262
|
-
}
|
|
263
|
-
|
|
264
224
|
class SplitviewApi {
|
|
265
225
|
constructor(component) {
|
|
266
226
|
this.component = component;
|
|
@@ -421,9 +381,6 @@ class GridviewApi {
|
|
|
421
381
|
get height() {
|
|
422
382
|
return this.component.height;
|
|
423
383
|
}
|
|
424
|
-
get onGridEvent() {
|
|
425
|
-
return this.component.onGridEvent;
|
|
426
|
-
}
|
|
427
384
|
get onDidLayoutChange() {
|
|
428
385
|
return this.component.onDidLayoutChange;
|
|
429
386
|
}
|
|
@@ -513,9 +470,6 @@ class DockviewApi {
|
|
|
513
470
|
get totalPanels() {
|
|
514
471
|
return this.component.totalPanels;
|
|
515
472
|
}
|
|
516
|
-
get onGridEvent() {
|
|
517
|
-
return this.component.onGridEvent;
|
|
518
|
-
}
|
|
519
473
|
get onDidActiveGroupChange() {
|
|
520
474
|
return this.component.onDidActiveGroupChange;
|
|
521
475
|
}
|
|
@@ -599,6 +553,46 @@ class DockviewApi {
|
|
|
599
553
|
}
|
|
600
554
|
}
|
|
601
555
|
|
|
556
|
+
var Disposable;
|
|
557
|
+
(function (Disposable) {
|
|
558
|
+
Disposable.NONE = {
|
|
559
|
+
dispose: () => {
|
|
560
|
+
// noop
|
|
561
|
+
},
|
|
562
|
+
};
|
|
563
|
+
})(Disposable || (Disposable = {}));
|
|
564
|
+
class CompositeDisposable {
|
|
565
|
+
constructor(...args) {
|
|
566
|
+
this.disposables = args;
|
|
567
|
+
}
|
|
568
|
+
static from(...args) {
|
|
569
|
+
return new CompositeDisposable(...args);
|
|
570
|
+
}
|
|
571
|
+
addDisposables(...args) {
|
|
572
|
+
args.forEach((arg) => this.disposables.push(arg));
|
|
573
|
+
}
|
|
574
|
+
dispose() {
|
|
575
|
+
this.disposables.forEach((arg) => arg.dispose());
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
class MutableDisposable {
|
|
579
|
+
constructor() {
|
|
580
|
+
this._disposable = Disposable.NONE;
|
|
581
|
+
}
|
|
582
|
+
set value(disposable) {
|
|
583
|
+
if (this._disposable) {
|
|
584
|
+
this._disposable.dispose();
|
|
585
|
+
}
|
|
586
|
+
this._disposable = disposable;
|
|
587
|
+
}
|
|
588
|
+
dispose() {
|
|
589
|
+
if (this._disposable) {
|
|
590
|
+
this._disposable.dispose();
|
|
591
|
+
this._disposable = Disposable.NONE;
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
|
|
602
596
|
function watchElementResize(element, cb) {
|
|
603
597
|
const observer = new ResizeObserver((entires) => {
|
|
604
598
|
const firstEntry = entires[0];
|
|
@@ -1544,13 +1538,13 @@ class Splitview {
|
|
|
1544
1538
|
this._onDidSashEnd.dispose();
|
|
1545
1539
|
this._onDidAddView.dispose();
|
|
1546
1540
|
this._onDidRemoveView.dispose();
|
|
1547
|
-
this.element.remove();
|
|
1548
1541
|
for (let i = 0; i < this.element.children.length; i++) {
|
|
1549
1542
|
if (this.element.children.item(i) === this.element) {
|
|
1550
1543
|
this.element.removeChild(this.element);
|
|
1551
1544
|
break;
|
|
1552
1545
|
}
|
|
1553
1546
|
}
|
|
1547
|
+
this.element.remove();
|
|
1554
1548
|
}
|
|
1555
1549
|
}
|
|
1556
1550
|
|
|
@@ -1679,7 +1673,6 @@ class Paneview extends CompositeDisposable {
|
|
|
1679
1673
|
}
|
|
1680
1674
|
dispose() {
|
|
1681
1675
|
super.dispose();
|
|
1682
|
-
this.splitview.dispose();
|
|
1683
1676
|
if (this.animationTimer) {
|
|
1684
1677
|
clearTimeout(this.animationTimer);
|
|
1685
1678
|
this.animationTimer = undefined;
|
|
@@ -1688,6 +1681,7 @@ class Paneview extends CompositeDisposable {
|
|
|
1688
1681
|
paneItem.disposable.dispose();
|
|
1689
1682
|
});
|
|
1690
1683
|
this.paneItems = [];
|
|
1684
|
+
this.splitview.dispose();
|
|
1691
1685
|
this.element.remove();
|
|
1692
1686
|
}
|
|
1693
1687
|
}
|
|
@@ -2006,7 +2000,7 @@ class BranchNode extends CompositeDisposable {
|
|
|
2006
2000
|
this.children = [];
|
|
2007
2001
|
this._onDidChange = new Emitter();
|
|
2008
2002
|
this.onDidChange = this._onDidChange.event;
|
|
2009
|
-
this._childrenDisposable =
|
|
2003
|
+
this._childrenDisposable = Disposable.NONE;
|
|
2010
2004
|
this._orthogonalSize = orthogonalSize;
|
|
2011
2005
|
this._size = size;
|
|
2012
2006
|
this.element = document.createElement('div');
|
|
@@ -2031,7 +2025,7 @@ class BranchNode extends CompositeDisposable {
|
|
|
2031
2025
|
: true,
|
|
2032
2026
|
};
|
|
2033
2027
|
}),
|
|
2034
|
-
size: this.
|
|
2028
|
+
size: this.size,
|
|
2035
2029
|
};
|
|
2036
2030
|
this.children = childDescriptors.map((c) => c.node);
|
|
2037
2031
|
this.splitview = new Splitview(this.element, {
|
|
@@ -2352,6 +2346,7 @@ class Gridview {
|
|
|
2352
2346
|
this.disposable.dispose();
|
|
2353
2347
|
this._onDidChange.dispose();
|
|
2354
2348
|
this.root.dispose();
|
|
2349
|
+
this.element.remove();
|
|
2355
2350
|
}
|
|
2356
2351
|
clear() {
|
|
2357
2352
|
const orientation = this.root.orientation;
|
|
@@ -3382,19 +3377,6 @@ class Groupview extends CompositeDisposable {
|
|
|
3382
3377
|
}
|
|
3383
3378
|
}
|
|
3384
3379
|
|
|
3385
|
-
exports.GroupChangeKind = void 0;
|
|
3386
|
-
(function (GroupChangeKind) {
|
|
3387
|
-
GroupChangeKind["ADD_PANEL"] = "ADD_PANEL";
|
|
3388
|
-
GroupChangeKind["REMOVE_PANEL"] = "REMOVE_PANEL";
|
|
3389
|
-
GroupChangeKind["PANEL_ACTIVE"] = "PANEL_ACTIVE";
|
|
3390
|
-
//
|
|
3391
|
-
GroupChangeKind["GROUP_ACTIVE"] = "GROUP_ACTIVE";
|
|
3392
|
-
GroupChangeKind["ADD_GROUP"] = "ADD_GROUP";
|
|
3393
|
-
GroupChangeKind["REMOVE_GROUP"] = "REMOVE_GROUP";
|
|
3394
|
-
//
|
|
3395
|
-
GroupChangeKind["LAYOUT_FROM_JSON"] = "LAYOUT_FROM_JSON";
|
|
3396
|
-
GroupChangeKind["LAYOUT"] = "LAYOUT";
|
|
3397
|
-
})(exports.GroupChangeKind || (exports.GroupChangeKind = {}));
|
|
3398
3380
|
const nextLayoutId = sequentialNumberGenerator();
|
|
3399
3381
|
function toTarget(direction) {
|
|
3400
3382
|
switch (direction) {
|
|
@@ -3417,9 +3399,6 @@ class BaseGrid extends CompositeDisposable {
|
|
|
3417
3399
|
this._element = _element;
|
|
3418
3400
|
this._id = nextLayoutId.next();
|
|
3419
3401
|
this._groups = new Map();
|
|
3420
|
-
//
|
|
3421
|
-
this._onGridEvent = new Emitter();
|
|
3422
|
-
this.onGridEvent = this._onGridEvent.event;
|
|
3423
3402
|
this._onDidLayoutChange = new Emitter();
|
|
3424
3403
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
3425
3404
|
this._onDidRemoveGroup = new Emitter();
|
|
@@ -3428,30 +3407,18 @@ class BaseGrid extends CompositeDisposable {
|
|
|
3428
3407
|
this.onDidAddGroup = this._onDidAddGroup.event;
|
|
3429
3408
|
this._onDidActiveGroupChange = new Emitter();
|
|
3430
3409
|
this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
|
|
3410
|
+
this._bufferOnDidLayoutChange = new TickDelayedEvent();
|
|
3431
3411
|
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation);
|
|
3432
3412
|
this.element.appendChild(this.gridview.element);
|
|
3433
3413
|
this.layout(0, 0, true); // set some elements height/widths
|
|
3434
3414
|
this.addDisposables(this.gridview.onDidChange(() => {
|
|
3435
|
-
this.
|
|
3415
|
+
this._onDidLayoutChange.fire();
|
|
3436
3416
|
}));
|
|
3437
|
-
this.addDisposables((() => {
|
|
3438
|
-
|
|
3439
|
-
|
|
3440
|
-
|
|
3441
|
-
|
|
3442
|
-
exports.GroupChangeKind.REMOVE_GROUP,
|
|
3443
|
-
exports.GroupChangeKind.ADD_PANEL,
|
|
3444
|
-
exports.GroupChangeKind.REMOVE_PANEL,
|
|
3445
|
-
exports.GroupChangeKind.GROUP_ACTIVE,
|
|
3446
|
-
exports.GroupChangeKind.PANEL_ACTIVE,
|
|
3447
|
-
exports.GroupChangeKind.LAYOUT,
|
|
3448
|
-
].includes(event.kind)) {
|
|
3449
|
-
tickDelayedEvent.fire();
|
|
3450
|
-
}
|
|
3451
|
-
}), tickDelayedEvent.onEvent(() => {
|
|
3452
|
-
this._onDidLayoutChange.fire();
|
|
3453
|
-
}), tickDelayedEvent);
|
|
3454
|
-
})());
|
|
3417
|
+
this.addDisposables(exports.Event.any(this.onDidAddGroup, this.onDidRemoveGroup, this.onDidActiveGroupChange)(() => {
|
|
3418
|
+
this._bufferOnDidLayoutChange.fire();
|
|
3419
|
+
}), this._bufferOnDidLayoutChange.onEvent(() => {
|
|
3420
|
+
this._onDidLayoutChange.fire();
|
|
3421
|
+
}), this._bufferOnDidLayoutChange);
|
|
3455
3422
|
}
|
|
3456
3423
|
get id() {
|
|
3457
3424
|
return this._id;
|
|
@@ -3488,14 +3455,13 @@ class BaseGrid extends CompositeDisposable {
|
|
|
3488
3455
|
}
|
|
3489
3456
|
setVisible(panel, visible) {
|
|
3490
3457
|
this.gridview.setViewVisible(getGridLocation(panel.element), visible);
|
|
3491
|
-
this.
|
|
3458
|
+
this._onDidLayoutChange.fire();
|
|
3492
3459
|
}
|
|
3493
3460
|
isVisible(panel) {
|
|
3494
3461
|
return this.gridview.isViewVisible(getGridLocation(panel.element));
|
|
3495
3462
|
}
|
|
3496
3463
|
doAddGroup(group, location = [0], size) {
|
|
3497
3464
|
this.gridview.addView(group, size !== null && size !== void 0 ? size : exports.Sizing.Distribute, location);
|
|
3498
|
-
this._onGridEvent.fire({ kind: exports.GroupChangeKind.ADD_GROUP });
|
|
3499
3465
|
this._onDidAddGroup.fire(group);
|
|
3500
3466
|
this.doSetGroupActive(group);
|
|
3501
3467
|
}
|
|
@@ -3509,7 +3475,6 @@ class BaseGrid extends CompositeDisposable {
|
|
|
3509
3475
|
item.disposable.dispose();
|
|
3510
3476
|
this._groups.delete(group.id);
|
|
3511
3477
|
}
|
|
3512
|
-
this._onGridEvent.fire({ kind: exports.GroupChangeKind.REMOVE_GROUP });
|
|
3513
3478
|
this._onDidRemoveGroup.fire(group);
|
|
3514
3479
|
if (!(options === null || options === void 0 ? void 0 : options.skipActive) && this._activeGroup === group) {
|
|
3515
3480
|
const groups = Array.from(this._groups.values());
|
|
@@ -3538,9 +3503,6 @@ class BaseGrid extends CompositeDisposable {
|
|
|
3538
3503
|
}
|
|
3539
3504
|
}
|
|
3540
3505
|
this._activeGroup = group;
|
|
3541
|
-
this._onGridEvent.fire({
|
|
3542
|
-
kind: exports.GroupChangeKind.GROUP_ACTIVE,
|
|
3543
|
-
});
|
|
3544
3506
|
this._onDidActiveGroupChange.fire(group);
|
|
3545
3507
|
}
|
|
3546
3508
|
removeGroup(group) {
|
|
@@ -3597,7 +3559,6 @@ class BaseGrid extends CompositeDisposable {
|
|
|
3597
3559
|
}
|
|
3598
3560
|
dispose() {
|
|
3599
3561
|
super.dispose();
|
|
3600
|
-
this._onGridEvent.dispose();
|
|
3601
3562
|
this._onDidActiveGroupChange.dispose();
|
|
3602
3563
|
this._onDidAddGroup.dispose();
|
|
3603
3564
|
this._onDidRemoveGroup.dispose();
|
|
@@ -3779,6 +3740,10 @@ class DockviewGroupPanel extends CompositeDisposable {
|
|
|
3779
3740
|
this.update({ params: { title } });
|
|
3780
3741
|
}));
|
|
3781
3742
|
}
|
|
3743
|
+
get params() {
|
|
3744
|
+
var _a;
|
|
3745
|
+
return (_a = this._params) === null || _a === void 0 ? void 0 : _a.params;
|
|
3746
|
+
}
|
|
3782
3747
|
get title() {
|
|
3783
3748
|
return this._title;
|
|
3784
3749
|
}
|
|
@@ -4455,7 +4420,9 @@ class DockviewComponent extends BaseGrid {
|
|
|
4455
4420
|
this.onDidLayoutfromJSON = this._onDidLayoutfromJSON.event;
|
|
4456
4421
|
this._onDidActivePanelChange = new Emitter();
|
|
4457
4422
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
4458
|
-
this.addDisposables(this._onTabInteractionEvent, this._onTabContextMenu, this._onDidDrop)
|
|
4423
|
+
this.addDisposables(this._onTabInteractionEvent, this._onTabContextMenu, this._onDidDrop, exports.Event.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
|
|
4424
|
+
this._bufferOnDidLayoutChange.fire();
|
|
4425
|
+
}));
|
|
4459
4426
|
this._options = options;
|
|
4460
4427
|
if (!this.options.components) {
|
|
4461
4428
|
this.options.components = {};
|
|
@@ -4589,11 +4556,12 @@ class DockviewComponent extends BaseGrid {
|
|
|
4589
4556
|
};
|
|
4590
4557
|
}
|
|
4591
4558
|
fromJSON(data) {
|
|
4559
|
+
const groups = Array.from(this._groups.values()).map((_) => _.value);
|
|
4560
|
+
for (const group of groups) {
|
|
4561
|
+
// remove the group will automatically remove the panels
|
|
4562
|
+
this.removeGroup(group, true);
|
|
4563
|
+
}
|
|
4592
4564
|
this.gridview.clear();
|
|
4593
|
-
this.panels.forEach((panel) => {
|
|
4594
|
-
panel.dispose();
|
|
4595
|
-
});
|
|
4596
|
-
this._groups.clear();
|
|
4597
4565
|
if (!this.deserializer) {
|
|
4598
4566
|
throw new Error('invalid deserializer');
|
|
4599
4567
|
}
|
|
@@ -4617,7 +4585,6 @@ class DockviewComponent extends BaseGrid {
|
|
|
4617
4585
|
}
|
|
4618
4586
|
}
|
|
4619
4587
|
this.gridview.layout(this.width, this.height);
|
|
4620
|
-
this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT_FROM_JSON });
|
|
4621
4588
|
this._onDidLayoutfromJSON.fire();
|
|
4622
4589
|
}
|
|
4623
4590
|
closeAllGroups() {
|
|
@@ -4667,13 +4634,13 @@ class DockviewComponent extends BaseGrid {
|
|
|
4667
4634
|
}
|
|
4668
4635
|
return panel;
|
|
4669
4636
|
}
|
|
4670
|
-
removePanel(panel) {
|
|
4637
|
+
removePanel(panel, options = { removeEmptyGroup: true }) {
|
|
4671
4638
|
const group = panel.group;
|
|
4672
4639
|
if (!group) {
|
|
4673
4640
|
throw new Error(`cannot remove panel ${panel.id}. it's missing a group.`);
|
|
4674
4641
|
}
|
|
4675
4642
|
group.model.removePanel(panel);
|
|
4676
|
-
if (group.model.size === 0) {
|
|
4643
|
+
if (group.model.size === 0 && options.removeEmptyGroup) {
|
|
4677
4644
|
this.removeGroup(group);
|
|
4678
4645
|
}
|
|
4679
4646
|
}
|
|
@@ -4705,16 +4672,14 @@ class DockviewComponent extends BaseGrid {
|
|
|
4705
4672
|
this.doAddGroup(group);
|
|
4706
4673
|
}
|
|
4707
4674
|
}
|
|
4708
|
-
removeGroup(group) {
|
|
4675
|
+
removeGroup(group, skipActive = false) {
|
|
4709
4676
|
const panels = [...group.model.panels]; // reassign since group panels will mutate
|
|
4710
|
-
|
|
4711
|
-
this.removePanel(panel
|
|
4712
|
-
|
|
4713
|
-
|
|
4714
|
-
this._activeGroup = group;
|
|
4715
|
-
return;
|
|
4677
|
+
for (const panel of panels) {
|
|
4678
|
+
this.removePanel(panel, {
|
|
4679
|
+
removeEmptyGroup: false,
|
|
4680
|
+
});
|
|
4716
4681
|
}
|
|
4717
|
-
super.
|
|
4682
|
+
super.doRemoveGroup(group, { skipActive });
|
|
4718
4683
|
}
|
|
4719
4684
|
moveGroupOrPanel(referenceGroup, groupId, itemId, target, index) {
|
|
4720
4685
|
var _a;
|
|
@@ -4769,15 +4734,11 @@ class DockviewComponent extends BaseGrid {
|
|
|
4769
4734
|
}
|
|
4770
4735
|
}
|
|
4771
4736
|
doSetGroupActive(group, skipFocus) {
|
|
4772
|
-
var _a, _b
|
|
4737
|
+
var _a, _b;
|
|
4773
4738
|
const isGroupAlreadyFocused = this._activeGroup === group;
|
|
4774
4739
|
super.doSetGroupActive(group, skipFocus);
|
|
4775
4740
|
if (!isGroupAlreadyFocused && ((_a = this._activeGroup) === null || _a === void 0 ? void 0 : _a.model.activePanel)) {
|
|
4776
|
-
this.
|
|
4777
|
-
kind: exports.GroupChangeKind.PANEL_ACTIVE,
|
|
4778
|
-
panel: (_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.model.activePanel,
|
|
4779
|
-
});
|
|
4780
|
-
this._onDidActivePanelChange.fire((_c = this._activeGroup) === null || _c === void 0 ? void 0 : _c.model.activePanel);
|
|
4741
|
+
this._onDidActivePanelChange.fire((_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.model.activePanel);
|
|
4781
4742
|
}
|
|
4782
4743
|
}
|
|
4783
4744
|
createGroup(options) {
|
|
@@ -4808,28 +4769,16 @@ class DockviewComponent extends BaseGrid {
|
|
|
4808
4769
|
}), view.model.onDidGroupChange((event) => {
|
|
4809
4770
|
switch (event.kind) {
|
|
4810
4771
|
case exports.GroupChangeKind2.ADD_PANEL:
|
|
4811
|
-
this._onGridEvent.fire({
|
|
4812
|
-
kind: exports.GroupChangeKind.ADD_PANEL,
|
|
4813
|
-
panel: event.panel,
|
|
4814
|
-
});
|
|
4815
4772
|
if (event.panel) {
|
|
4816
4773
|
this._onDidAddPanel.fire(event.panel);
|
|
4817
4774
|
}
|
|
4818
4775
|
break;
|
|
4819
4776
|
case exports.GroupChangeKind2.REMOVE_PANEL:
|
|
4820
|
-
this._onGridEvent.fire({
|
|
4821
|
-
kind: exports.GroupChangeKind.REMOVE_PANEL,
|
|
4822
|
-
panel: event.panel,
|
|
4823
|
-
});
|
|
4824
4777
|
if (event.panel) {
|
|
4825
4778
|
this._onDidRemovePanel.fire(event.panel);
|
|
4826
4779
|
}
|
|
4827
4780
|
break;
|
|
4828
4781
|
case exports.GroupChangeKind2.PANEL_ACTIVE:
|
|
4829
|
-
this._onGridEvent.fire({
|
|
4830
|
-
kind: exports.GroupChangeKind.PANEL_ACTIVE,
|
|
4831
|
-
panel: event.panel,
|
|
4832
|
-
});
|
|
4833
4782
|
this._onDidActivePanelChange.fire(event.panel);
|
|
4834
4783
|
break;
|
|
4835
4784
|
}
|
|
@@ -5000,7 +4949,6 @@ class GridviewComponent extends BaseGrid {
|
|
|
5000
4949
|
this.doSetGroupActive(panel);
|
|
5001
4950
|
}
|
|
5002
4951
|
}
|
|
5003
|
-
this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT_FROM_JSON });
|
|
5004
4952
|
this._onDidLayoutfromJSON.fire();
|
|
5005
4953
|
}
|
|
5006
4954
|
movePanel(panel, options) {
|
|
@@ -5361,6 +5309,7 @@ class SplitviewComponent extends CompositeDisposable {
|
|
|
5361
5309
|
value.dispose();
|
|
5362
5310
|
});
|
|
5363
5311
|
this.panels.clear();
|
|
5312
|
+
this.splitview.dispose();
|
|
5364
5313
|
super.dispose();
|
|
5365
5314
|
}
|
|
5366
5315
|
}
|
|
@@ -5950,6 +5899,10 @@ class PaneviewComponent extends CompositeDisposable {
|
|
|
5950
5899
|
queue.forEach((f) => f());
|
|
5951
5900
|
}
|
|
5952
5901
|
}
|
|
5902
|
+
dispose() {
|
|
5903
|
+
super.dispose();
|
|
5904
|
+
this.paneview.dispose();
|
|
5905
|
+
}
|
|
5953
5906
|
}
|
|
5954
5907
|
|
|
5955
5908
|
class SplitviewPanel extends BasePanelView {
|
|
@@ -6443,6 +6396,7 @@ const DockviewReact = React__namespace.forwardRef((props, ref) => {
|
|
|
6443
6396
|
return () => {
|
|
6444
6397
|
disposable.dispose();
|
|
6445
6398
|
dockview.dispose();
|
|
6399
|
+
element.remove();
|
|
6446
6400
|
};
|
|
6447
6401
|
}, []);
|
|
6448
6402
|
React__namespace.useEffect(() => {
|
|
@@ -6453,6 +6407,14 @@ const DockviewReact = React__namespace.forwardRef((props, ref) => {
|
|
|
6453
6407
|
frameworkComponents: props.components,
|
|
6454
6408
|
});
|
|
6455
6409
|
}, [props.components]);
|
|
6410
|
+
React__namespace.useEffect(() => {
|
|
6411
|
+
if (!dockviewRef.current) {
|
|
6412
|
+
return;
|
|
6413
|
+
}
|
|
6414
|
+
dockviewRef.current.updateOptions({
|
|
6415
|
+
watermarkFrameworkComponent: props.watermarkComponent,
|
|
6416
|
+
});
|
|
6417
|
+
}, [props.watermarkComponent]);
|
|
6456
6418
|
React__namespace.useEffect(() => {
|
|
6457
6419
|
if (!dockviewRef.current) {
|
|
6458
6420
|
return;
|
|
@@ -6588,7 +6550,9 @@ const SplitviewReact = React__namespace.forwardRef((props, ref) => {
|
|
|
6588
6550
|
});
|
|
6589
6551
|
},
|
|
6590
6552
|
},
|
|
6591
|
-
proportionalLayout: props.proportionalLayout
|
|
6553
|
+
proportionalLayout: typeof props.proportionalLayout === 'boolean'
|
|
6554
|
+
? props.proportionalLayout
|
|
6555
|
+
: true,
|
|
6592
6556
|
styles: props.hideBorders
|
|
6593
6557
|
? { separatorBorder: 'transparent' }
|
|
6594
6558
|
: undefined,
|
|
@@ -6656,7 +6620,9 @@ const GridviewReact = React__namespace.forwardRef((props, ref) => {
|
|
|
6656
6620
|
var _a;
|
|
6657
6621
|
const element = document.createElement('div');
|
|
6658
6622
|
const gridview = new GridviewComponent(element, {
|
|
6659
|
-
proportionalLayout:
|
|
6623
|
+
proportionalLayout: typeof props.proportionalLayout === 'boolean'
|
|
6624
|
+
? props.proportionalLayout
|
|
6625
|
+
: true,
|
|
6660
6626
|
orientation: props.orientation,
|
|
6661
6627
|
frameworkComponents: props.components,
|
|
6662
6628
|
frameworkComponentFactory: {
|
|
@@ -6679,6 +6645,7 @@ const GridviewReact = React__namespace.forwardRef((props, ref) => {
|
|
|
6679
6645
|
gridviewRef.current = gridview;
|
|
6680
6646
|
return () => {
|
|
6681
6647
|
gridview.dispose();
|
|
6648
|
+
element.remove();
|
|
6682
6649
|
};
|
|
6683
6650
|
}, []);
|
|
6684
6651
|
React__namespace.useEffect(() => {
|
|
@@ -6815,13 +6782,11 @@ const PaneviewReact = React__namespace.forwardRef((props, ref) => {
|
|
|
6815
6782
|
PaneviewReact.displayName = 'PaneviewComponent';
|
|
6816
6783
|
|
|
6817
6784
|
exports.BaseGrid = BaseGrid;
|
|
6818
|
-
exports.CompositeDisposable = CompositeDisposable;
|
|
6819
6785
|
exports.ContentContainer = ContentContainer;
|
|
6820
6786
|
exports.DockviewApi = DockviewApi;
|
|
6821
6787
|
exports.DockviewComponent = DockviewComponent;
|
|
6822
6788
|
exports.DockviewComponents = DockviewComponents;
|
|
6823
6789
|
exports.DockviewReact = DockviewReact;
|
|
6824
|
-
exports.Emitter = Emitter;
|
|
6825
6790
|
exports.Gridview = Gridview;
|
|
6826
6791
|
exports.GridviewApi = GridviewApi;
|
|
6827
6792
|
exports.GridviewComponent = GridviewComponent;
|
|
@@ -6829,7 +6794,6 @@ exports.GridviewPanel = GridviewPanel;
|
|
|
6829
6794
|
exports.GridviewReact = GridviewReact;
|
|
6830
6795
|
exports.Groupview = Groupview;
|
|
6831
6796
|
exports.LocalSelectionTransfer = LocalSelectionTransfer;
|
|
6832
|
-
exports.MutableDisposable = MutableDisposable;
|
|
6833
6797
|
exports.PaneFramework = PaneFramework;
|
|
6834
6798
|
exports.PaneTransfer = PaneTransfer;
|
|
6835
6799
|
exports.PanelTransfer = PanelTransfer;
|
|
@@ -6848,9 +6812,6 @@ exports.SplitviewComponent = SplitviewComponent;
|
|
|
6848
6812
|
exports.SplitviewPanel = SplitviewPanel;
|
|
6849
6813
|
exports.SplitviewReact = SplitviewReact;
|
|
6850
6814
|
exports.Tab = Tab$1;
|
|
6851
|
-
exports.TickDelayedEvent = TickDelayedEvent;
|
|
6852
|
-
exports.addDisposableListener = addDisposableListener;
|
|
6853
|
-
exports.addDisposableWindowListener = addDisposableWindowListener;
|
|
6854
6815
|
exports.getDirectionOrientation = getDirectionOrientation;
|
|
6855
6816
|
exports.getGridLocation = getGridLocation;
|
|
6856
6817
|
exports.getLocationOrientation = getLocationOrientation;
|