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