dockview 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +243 -186
- package/dist/cjs/api/component.api.d.ts +32 -17
- package/dist/cjs/api/component.api.js +155 -28
- package/dist/cjs/api/component.api.js.map +1 -1
- package/dist/cjs/api/gridviewPanelApi.js +1 -0
- package/dist/cjs/api/gridviewPanelApi.js.map +1 -1
- package/dist/cjs/api/groupPanelApi.d.ts +11 -14
- package/dist/cjs/api/groupPanelApi.js +19 -17
- package/dist/cjs/api/groupPanelApi.js.map +1 -1
- package/dist/cjs/api/panelApi.d.ts +0 -25
- package/dist/cjs/api/panelApi.js +1 -20
- package/dist/cjs/api/panelApi.js.map +1 -1
- package/dist/cjs/api/paneviewPanelApi.js +1 -0
- package/dist/cjs/api/paneviewPanelApi.js.map +1 -1
- package/dist/cjs/api/splitviewPanelApi.d.ts +0 -1
- package/dist/cjs/api/splitviewPanelApi.js +1 -5
- package/dist/cjs/api/splitviewPanelApi.js.map +1 -1
- package/dist/cjs/dnd/abstractDragHandler.d.ts +3 -3
- package/dist/cjs/dnd/abstractDragHandler.js +15 -14
- package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
- package/dist/cjs/dnd/dataTransfer.d.ts +0 -25
- package/dist/cjs/dnd/dataTransfer.js +1 -45
- package/dist/cjs/dnd/dataTransfer.js.map +1 -1
- package/dist/cjs/dnd/dnd.d.ts +1 -14
- package/dist/cjs/dnd/dnd.js +1 -79
- package/dist/cjs/dnd/dnd.js.map +1 -1
- package/dist/cjs/dnd/droptarget.d.ts +4 -5
- package/dist/cjs/dnd/droptarget.js +70 -46
- package/dist/cjs/dnd/droptarget.js.map +1 -1
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts +0 -1
- package/dist/cjs/dockview/components/tab/defaultTab.js +0 -8
- package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
- package/dist/cjs/dockview/defaultGroupPanelView.js +3 -1
- package/dist/cjs/dockview/defaultGroupPanelView.js.map +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +27 -19
- package/dist/cjs/dockview/dockviewComponent.js +67 -178
- package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts +2 -5
- package/dist/cjs/dockview/dockviewGroupPanel.js +2 -31
- package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
- package/dist/cjs/dockview/options.d.ts +2 -1
- package/dist/cjs/events.d.ts +7 -0
- package/dist/cjs/events.js +47 -5
- package/dist/cjs/events.js.map +1 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts +9 -0
- package/dist/cjs/gridview/baseComponentGridview.js +20 -15
- package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
- package/dist/cjs/gridview/basePanelView.d.ts +5 -8
- package/dist/cjs/gridview/basePanelView.js +14 -8
- package/dist/cjs/gridview/basePanelView.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 +19 -18
- package/dist/cjs/gridview/gridview.js.map +1 -1
- package/dist/cjs/gridview/gridviewComponent.d.ts +4 -0
- package/dist/cjs/gridview/gridviewComponent.js +5 -0
- package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
- package/dist/cjs/gridview/gridviewPanel.d.ts +0 -1
- package/dist/cjs/gridview/gridviewPanel.js +3 -6
- package/dist/cjs/gridview/gridviewPanel.js.map +1 -1
- package/dist/cjs/gridview/leafNode.js +1 -0
- package/dist/cjs/gridview/leafNode.js.map +1 -1
- package/dist/cjs/groupview/groupPanel.d.ts +0 -7
- package/dist/cjs/groupview/groupview.d.ts +15 -8
- package/dist/cjs/groupview/groupview.js +38 -125
- package/dist/cjs/groupview/groupview.js.map +1 -1
- package/dist/cjs/groupview/groupviewPanel.d.ts +5 -2
- package/dist/cjs/groupview/groupviewPanel.js.map +1 -1
- package/dist/cjs/groupview/panel/content.js +1 -0
- package/dist/cjs/groupview/panel/content.js.map +1 -1
- package/dist/cjs/groupview/tab.d.ts +10 -13
- package/dist/cjs/groupview/tab.js +22 -80
- package/dist/cjs/groupview/tab.js.map +1 -1
- package/dist/cjs/groupview/titlebar/tabsContainer.js +6 -8
- package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/lifecycle.js +2 -1
- package/dist/cjs/lifecycle.js.map +1 -1
- package/dist/cjs/panel/types.d.ts +0 -2
- package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +2 -2
- package/dist/cjs/paneview/draggablePaneviewPanel.js +32 -29
- package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
- package/dist/cjs/paneview/paneview.d.ts +1 -1
- package/dist/cjs/paneview/paneview.js +2 -5
- package/dist/cjs/paneview/paneview.js.map +1 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts +6 -5
- package/dist/cjs/paneview/paneviewComponent.js +11 -16
- package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
- package/dist/cjs/paneview/paneviewPanel.d.ts +5 -1
- package/dist/cjs/paneview/paneviewPanel.js +14 -2
- package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
- package/dist/cjs/react/deserializer.js +1 -3
- package/dist/cjs/react/deserializer.js.map +1 -1
- package/dist/cjs/react/dockview/dockview.d.ts +9 -9
- package/dist/cjs/react/dockview/dockview.js +14 -1
- package/dist/cjs/react/dockview/dockview.js.map +1 -1
- package/dist/cjs/react/dockview/reactContentPart.js +4 -4
- package/dist/cjs/react/dockview/reactContentPart.js.map +1 -1
- package/dist/cjs/react/dockview/reactHeaderPart.js +1 -0
- package/dist/cjs/react/dockview/reactHeaderPart.js.map +1 -1
- package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +1 -2
- package/dist/cjs/react/dockview/reactWatermarkPart.js +1 -2
- package/dist/cjs/react/dockview/reactWatermarkPart.js.map +1 -1
- package/dist/cjs/react/gridview/view.js +2 -2
- package/dist/cjs/react/gridview/view.js.map +1 -1
- package/dist/cjs/react/index.d.ts +1 -0
- package/dist/cjs/react/index.js.map +1 -1
- package/dist/cjs/react/react.js +1 -2
- package/dist/cjs/react/react.js.map +1 -1
- package/dist/cjs/react/splitview/view.js +2 -2
- package/dist/cjs/react/splitview/view.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.d.ts +9 -6
- package/dist/cjs/splitview/splitviewComponent.js +11 -1
- package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
- package/dist/cjs/splitview/splitviewPanel.d.ts +1 -6
- package/dist/cjs/splitview/splitviewPanel.js +5 -3
- package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
- package/dist/dockview.amd.js +480 -567
- package/dist/dockview.amd.min.js +2 -16
- package/dist/dockview.amd.min.noStyle.js +2 -16
- package/dist/dockview.amd.noStyle.js +479 -566
- package/dist/dockview.cjs.js +480 -567
- package/dist/dockview.esm.js +480 -563
- package/dist/dockview.esm.min.js +2 -16
- package/dist/dockview.js +480 -567
- package/dist/dockview.min.js +2 -16
- package/dist/dockview.min.noStyle.js +2 -16
- package/dist/dockview.noStyle.js +479 -566
- package/dist/esm/api/component.api.d.ts +32 -17
- package/dist/esm/api/component.api.js +71 -20
- package/dist/esm/api/gridviewPanelApi.js +1 -0
- package/dist/esm/api/groupPanelApi.d.ts +11 -14
- package/dist/esm/api/groupPanelApi.js +18 -13
- package/dist/esm/api/panelApi.d.ts +0 -25
- package/dist/esm/api/panelApi.js +1 -20
- package/dist/esm/api/paneviewPanelApi.js +1 -0
- package/dist/esm/api/splitviewPanelApi.d.ts +0 -1
- package/dist/esm/api/splitviewPanelApi.js +1 -5
- package/dist/esm/dnd/abstractDragHandler.d.ts +3 -3
- package/dist/esm/dnd/abstractDragHandler.js +9 -8
- package/dist/esm/dnd/dataTransfer.d.ts +0 -25
- package/dist/esm/dnd/dataTransfer.js +0 -40
- package/dist/esm/dnd/dnd.d.ts +1 -14
- package/dist/esm/dnd/dnd.js +1 -69
- package/dist/esm/dnd/droptarget.d.ts +4 -5
- package/dist/esm/dnd/droptarget.js +70 -46
- package/dist/esm/dockview/components/tab/defaultTab.d.ts +0 -1
- package/dist/esm/dockview/components/tab/defaultTab.js +1 -9
- package/dist/esm/dockview/defaultGroupPanelView.js +3 -1
- package/dist/esm/dockview/dockviewComponent.d.ts +27 -19
- package/dist/esm/dockview/dockviewComponent.js +54 -118
- package/dist/esm/dockview/dockviewGroupPanel.d.ts +2 -5
- package/dist/esm/dockview/dockviewGroupPanel.js +2 -30
- package/dist/esm/dockview/options.d.ts +2 -1
- package/dist/esm/events.d.ts +7 -0
- package/dist/esm/events.js +20 -3
- package/dist/esm/gridview/baseComponentGridview.d.ts +9 -0
- package/dist/esm/gridview/baseComponentGridview.js +21 -16
- package/dist/esm/gridview/basePanelView.d.ts +5 -8
- package/dist/esm/gridview/basePanelView.js +10 -8
- package/dist/esm/gridview/branchNode.js +1 -1
- package/dist/esm/gridview/gridview.js +16 -16
- package/dist/esm/gridview/gridviewComponent.d.ts +4 -0
- package/dist/esm/gridview/gridviewComponent.js +5 -0
- package/dist/esm/gridview/gridviewPanel.d.ts +0 -1
- package/dist/esm/gridview/gridviewPanel.js +3 -6
- package/dist/esm/gridview/leafNode.js +1 -0
- package/dist/esm/groupview/groupPanel.d.ts +0 -7
- package/dist/esm/groupview/groupview.d.ts +15 -8
- package/dist/esm/groupview/groupview.js +24 -58
- package/dist/esm/groupview/groupviewPanel.d.ts +5 -2
- package/dist/esm/groupview/panel/content.js +1 -0
- package/dist/esm/groupview/tab.d.ts +10 -13
- package/dist/esm/groupview/tab.js +17 -24
- package/dist/esm/groupview/titlebar/tabsContainer.js +6 -8
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/lifecycle.js +2 -1
- package/dist/esm/panel/types.d.ts +0 -2
- package/dist/esm/paneview/draggablePaneviewPanel.d.ts +2 -2
- package/dist/esm/paneview/draggablePaneviewPanel.js +32 -29
- package/dist/esm/paneview/paneview.d.ts +1 -1
- package/dist/esm/paneview/paneview.js +2 -5
- package/dist/esm/paneview/paneviewComponent.d.ts +6 -5
- package/dist/esm/paneview/paneviewComponent.js +11 -8
- package/dist/esm/paneview/paneviewPanel.d.ts +5 -1
- package/dist/esm/paneview/paneviewPanel.js +10 -2
- package/dist/esm/react/deserializer.js +1 -3
- package/dist/esm/react/dockview/dockview.d.ts +9 -9
- package/dist/esm/react/dockview/dockview.js +15 -2
- package/dist/esm/react/dockview/reactContentPart.js +4 -4
- package/dist/esm/react/dockview/reactHeaderPart.js +1 -0
- package/dist/esm/react/dockview/reactWatermarkPart.d.ts +1 -2
- package/dist/esm/react/dockview/reactWatermarkPart.js +1 -2
- package/dist/esm/react/gridview/view.js +2 -2
- package/dist/esm/react/index.d.ts +1 -0
- package/dist/esm/react/react.js +1 -2
- package/dist/esm/react/splitview/view.js +2 -2
- package/dist/esm/splitview/core/splitview.js +1 -1
- package/dist/esm/splitview/splitviewComponent.d.ts +9 -6
- package/dist/esm/splitview/splitviewComponent.js +10 -2
- package/dist/esm/splitview/splitviewPanel.d.ts +1 -6
- package/dist/esm/splitview/splitviewPanel.js +5 -3
- package/dist/styles/dockview.css +5 -9
- package/package.json +4 -4
- package/dist/cjs/functions.d.ts +0 -1
- package/dist/cjs/functions.js +0 -42
- package/dist/cjs/functions.js.map +0 -1
- package/dist/cjs/groupview/panel/hostedPanel.d.ts +0 -22
- package/dist/cjs/groupview/panel/hostedPanel.js +0 -57
- package/dist/cjs/groupview/panel/hostedPanel.js.map +0 -1
- package/dist/cjs/json.d.ts +0 -1
- package/dist/cjs/json.js +0 -14
- package/dist/cjs/json.js.map +0 -1
- package/dist/esm/functions.d.ts +0 -1
- package/dist/esm/functions.js +0 -8
- package/dist/esm/groupview/panel/hostedPanel.d.ts +0 -22
- package/dist/esm/groupview/panel/hostedPanel.js +0 -43
- package/dist/esm/json.d.ts +0 -1
- package/dist/esm/json.js +0 -9
|
@@ -55,7 +55,9 @@ var DefaultGroupPanelView = /** @class */ (function () {
|
|
|
55
55
|
this.tab.init(params);
|
|
56
56
|
};
|
|
57
57
|
DefaultGroupPanelView.prototype.updateParentGroup = function (group, isPanelVisible) {
|
|
58
|
-
|
|
58
|
+
var _a;
|
|
59
|
+
this._content.updateParentGroup(group, isPanelVisible);
|
|
60
|
+
(_a = this._tab) === null || _a === void 0 ? void 0 : _a.updateParentGroup(group, isPanelVisible);
|
|
59
61
|
};
|
|
60
62
|
DefaultGroupPanelView.prototype.layout = function (width, height) {
|
|
61
63
|
this.content.layout(width, height);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultGroupPanelView.js","sourceRoot":"","sources":["../../../src/dockview/defaultGroupPanelView.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,0DAAqE;AAsBrE;IAiBI,+BAAY,SAIX;;QACG,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,uBAAU,CAAC,MAAA,SAAS,CAAC,GAAG,mCAAI,IAAI,uBAAU,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ;YACT,SAAS,CAAC,OAAO;gBACjB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;oBACjB,CAAC,CAAC;wBACI,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;wBAC7B,OAAO,EAAE;4BACL,EAAE;wBACN,CAAC;qBACJ;oBACH,CAAC,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IA7BD,sBAAI,0CAAO;aAAX;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;;;OAAA;IAED,sBAAI,sCAAG;aAAP;YACI,OAAO,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,0CAAO;aAAX;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;;;OAAA;IAqBD,oCAAI,GAAJ,UAAK,MAAoC;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,uBAAM,MAAM,KAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAG,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,iDAAiB,GAAjB,UAAkB,KAAqB,EAAE,cAAuB
|
|
1
|
+
{"version":3,"file":"defaultGroupPanelView.js","sourceRoot":"","sources":["../../../src/dockview/defaultGroupPanelView.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,0DAAqE;AAsBrE;IAiBI,+BAAY,SAIX;;QACG,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,uBAAU,CAAC,MAAA,SAAS,CAAC,GAAG,mCAAI,IAAI,uBAAU,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ;YACT,SAAS,CAAC,OAAO;gBACjB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;oBACjB,CAAC,CAAC;wBACI,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;wBAC7B,OAAO,EAAE;4BACL,EAAE;wBACN,CAAC;qBACJ;oBACH,CAAC,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IA7BD,sBAAI,0CAAO;aAAX;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;;;OAAA;IAED,sBAAI,sCAAG;aAAP;YACI,OAAO,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,0CAAO;aAAX;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;;;OAAA;IAqBD,oCAAI,GAAJ,UAAK,MAAoC;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,uBAAM,MAAM,KAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAG,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,iDAAiB,GAAjB,UAAkB,KAAqB,EAAE,cAAuB;;QAC5D,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACvD,MAAA,IAAI,CAAC,IAAI,0CAAE,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;IAED,sCAAM,GAAN,UAAO,KAAa,EAAE,MAAc;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,sCAAM,GAAN,UAAO,KAA4B;QAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,sCAAM,GAAN;QACI,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC9B,GAAG,EACC,IAAI,CAAC,GAAG,CAAC,aAAa,YAAY,uBAAU;gBACxC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;SAC9B,CAAC;IACN,CAAC;IAED,uCAAO,GAAP;;QACI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,EAAE,CAAC;IAC5B,CAAC;IACL,4BAAC;AAAD,CAAC,AAtED,IAsEC;AAtEY,sDAAqB"}
|
|
@@ -6,9 +6,10 @@ import { IWatermarkRenderer } from '../groupview/types';
|
|
|
6
6
|
import { IPanelDeserializer } from './deserializer';
|
|
7
7
|
import { AddGroupOptions, AddPanelOptions, DockviewOptions as DockviewComponentOptions, MovementOptions, TabContextMenuEvent } from './options';
|
|
8
8
|
import { BaseGrid, IBaseGrid } from '../gridview/baseComponentGridview';
|
|
9
|
+
import { DockviewApi } from '../api/component.api';
|
|
9
10
|
import { LayoutMouseEvent } from '../groupview/tab';
|
|
10
11
|
import { Orientation } from '../splitview/core/splitview';
|
|
11
|
-
import { GroupOptions, GroupPanelViewState } from '../groupview/groupview';
|
|
12
|
+
import { GroupOptions, GroupPanelViewState, GroupviewDropEvent } from '../groupview/groupview';
|
|
12
13
|
import { GroupviewPanel } from '../groupview/groupviewPanel';
|
|
13
14
|
export interface PanelReference {
|
|
14
15
|
update: (event: {
|
|
@@ -33,11 +34,15 @@ export interface SerializedDockview {
|
|
|
33
34
|
tabHeight?: number;
|
|
34
35
|
};
|
|
35
36
|
}
|
|
36
|
-
export declare type DockviewComponentUpdateOptions = Pick<DockviewComponentOptions, 'orientation' | 'components' | 'frameworkComponents' | 'tabComponents' | 'frameworkTabComponents'>;
|
|
37
|
+
export declare type DockviewComponentUpdateOptions = Pick<DockviewComponentOptions, 'orientation' | 'components' | 'frameworkComponents' | 'tabComponents' | 'frameworkTabComponents' | 'showDndOverlay'>;
|
|
38
|
+
export interface DockviewDropEvent extends GroupviewDropEvent {
|
|
39
|
+
api: DockviewApi;
|
|
40
|
+
}
|
|
37
41
|
export interface IDockviewComponent extends IBaseGrid<GroupviewPanel> {
|
|
38
42
|
readonly activePanel: IGroupPanel | undefined;
|
|
39
43
|
readonly totalPanels: number;
|
|
40
44
|
readonly panels: IGroupPanel[];
|
|
45
|
+
readonly onDidDrop: Event<DockviewDropEvent>;
|
|
41
46
|
tabHeight: number | undefined;
|
|
42
47
|
deserializer: IPanelDeserializer | undefined;
|
|
43
48
|
updateOptions(options: DockviewComponentUpdateOptions): void;
|
|
@@ -51,7 +56,7 @@ export interface IDockviewComponent extends IBaseGrid<GroupviewPanel> {
|
|
|
51
56
|
fireMouseEvent(event: LayoutMouseEvent): void;
|
|
52
57
|
createWatermarkComponent(): IWatermarkRenderer;
|
|
53
58
|
addEmptyGroup(options?: AddGroupOptions): void;
|
|
54
|
-
closeAllGroups
|
|
59
|
+
closeAllGroups(): void;
|
|
55
60
|
onTabInteractionEvent: Event<LayoutMouseEvent>;
|
|
56
61
|
onTabContextMenu: Event<TabContextMenuEvent>;
|
|
57
62
|
moveToNext(options?: MovementOptions): void;
|
|
@@ -60,19 +65,29 @@ export interface IDockviewComponent extends IBaseGrid<GroupviewPanel> {
|
|
|
60
65
|
focus(): void;
|
|
61
66
|
toJSON(): SerializedDockview;
|
|
62
67
|
fromJSON(data: SerializedDockview): void;
|
|
68
|
+
readonly onDidRemovePanel: Event<IGroupPanel>;
|
|
69
|
+
readonly onDidAddPanel: Event<IGroupPanel>;
|
|
70
|
+
readonly onDidLayoutfromJSON: Event<void>;
|
|
71
|
+
readonly onDidActivePanelChange: Event<IGroupPanel | undefined>;
|
|
63
72
|
}
|
|
64
73
|
export declare class DockviewComponent extends BaseGrid<GroupviewPanel> implements IDockviewComponent {
|
|
65
|
-
private
|
|
66
|
-
private
|
|
67
|
-
private
|
|
74
|
+
private _deserializer;
|
|
75
|
+
private _api;
|
|
76
|
+
private _options;
|
|
68
77
|
private readonly _onTabInteractionEvent;
|
|
69
78
|
readonly onTabInteractionEvent: Event<LayoutMouseEvent>;
|
|
70
79
|
private readonly _onTabContextMenu;
|
|
71
80
|
readonly onTabContextMenu: Event<TabContextMenuEvent>;
|
|
72
|
-
private
|
|
73
|
-
|
|
74
|
-
private
|
|
75
|
-
|
|
81
|
+
private readonly _onDidDrop;
|
|
82
|
+
readonly onDidDrop: Event<DockviewDropEvent>;
|
|
83
|
+
private readonly _onDidRemovePanel;
|
|
84
|
+
readonly onDidRemovePanel: Event<IGroupPanel>;
|
|
85
|
+
private readonly _onDidAddPanel;
|
|
86
|
+
readonly onDidAddPanel: Event<IGroupPanel>;
|
|
87
|
+
private readonly _onDidLayoutfromJSON;
|
|
88
|
+
readonly onDidLayoutfromJSON: Event<void>;
|
|
89
|
+
private readonly _onDidActivePanelChange;
|
|
90
|
+
readonly onDidActivePanelChange: Event<IGroupPanel | undefined>;
|
|
76
91
|
get totalPanels(): number;
|
|
77
92
|
get panels(): IGroupPanel[];
|
|
78
93
|
get deserializer(): IPanelDeserializer | undefined;
|
|
@@ -88,8 +103,6 @@ export declare class DockviewComponent extends BaseGrid<GroupviewPanel> implemen
|
|
|
88
103
|
setActivePanel(panel: IGroupPanel): void;
|
|
89
104
|
moveToNext(options?: MovementOptions): void;
|
|
90
105
|
moveToPrevious(options?: MovementOptions): void;
|
|
91
|
-
private registerPanel;
|
|
92
|
-
private unregisterPanel;
|
|
93
106
|
/**
|
|
94
107
|
* Serialize the current state of the layout
|
|
95
108
|
*
|
|
@@ -97,7 +110,7 @@ export declare class DockviewComponent extends BaseGrid<GroupviewPanel> implemen
|
|
|
97
110
|
*/
|
|
98
111
|
toJSON(): SerializedDockview;
|
|
99
112
|
fromJSON(data: SerializedDockview): void;
|
|
100
|
-
closeAllGroups():
|
|
113
|
+
closeAllGroups(): void;
|
|
101
114
|
fireMouseEvent(event: LayoutMouseEvent): void;
|
|
102
115
|
addPanel(options: AddPanelOptions): IGroupPanel;
|
|
103
116
|
removePanel(panel: IGroupPanel): void;
|
|
@@ -107,15 +120,10 @@ export declare class DockviewComponent extends BaseGrid<GroupviewPanel> implemen
|
|
|
107
120
|
moveGroupOrPanel(referenceGroup: GroupviewPanel, groupId: string, itemId: string, target: Position, index?: number): void;
|
|
108
121
|
doSetGroupActive(group: GroupviewPanel | undefined, skipFocus?: boolean): void;
|
|
109
122
|
createGroup(options?: GroupOptions): GroupviewPanel;
|
|
110
|
-
dispose(): void;
|
|
111
|
-
/**
|
|
112
|
-
* Ensure the local copy of the layout state is up-to-date
|
|
113
|
-
*/
|
|
114
|
-
private syncConfigs;
|
|
115
123
|
private _addPanel;
|
|
116
124
|
private createContentComponent;
|
|
117
125
|
private createTabComponent;
|
|
118
126
|
private addPanelToNewGroup;
|
|
119
127
|
private findGroup;
|
|
120
|
-
|
|
128
|
+
dispose(): void;
|
|
121
129
|
}
|
|
@@ -25,42 +25,6 @@ var __assign = (this && this.__assign) || function () {
|
|
|
25
25
|
};
|
|
26
26
|
return __assign.apply(this, arguments);
|
|
27
27
|
};
|
|
28
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
29
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
30
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
31
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
32
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
33
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
34
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
38
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
39
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
40
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
41
|
-
function step(op) {
|
|
42
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
43
|
-
while (_) try {
|
|
44
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
45
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
46
|
-
switch (op[0]) {
|
|
47
|
-
case 0: case 1: t = op; break;
|
|
48
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
49
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
50
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
51
|
-
default:
|
|
52
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
53
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
54
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
55
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
56
|
-
if (t[2]) _.ops.pop();
|
|
57
|
-
_.trys.pop(); continue;
|
|
58
|
-
}
|
|
59
|
-
op = body.call(thisArg, _);
|
|
60
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
61
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
28
|
var __values = (this && this.__values) || function(o) {
|
|
65
29
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
66
30
|
if (m) return m.call(o);
|
|
@@ -106,7 +70,6 @@ var dockviewGroupPanel_1 = require("./dockviewGroupPanel");
|
|
|
106
70
|
var lifecycle_1 = require("../lifecycle");
|
|
107
71
|
var events_1 = require("../events");
|
|
108
72
|
var watermark_1 = require("./components/watermark/watermark");
|
|
109
|
-
var functions_1 = require("../functions");
|
|
110
73
|
var math_1 = require("../math");
|
|
111
74
|
var deserializer_1 = require("./deserializer");
|
|
112
75
|
var componentFactory_1 = require("../panel/componentFactory");
|
|
@@ -127,15 +90,22 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
127
90
|
orientation: options.orientation || splitview_1.Orientation.HORIZONTAL,
|
|
128
91
|
styles: options.styles,
|
|
129
92
|
}) || this;
|
|
130
|
-
_this._panels = new Map();
|
|
131
|
-
_this.dirtyPanels = new Set();
|
|
132
|
-
_this.debouncedDeque = (0, functions_1.debounce)(_this.syncConfigs.bind(_this), 5000);
|
|
133
93
|
// events
|
|
134
94
|
_this._onTabInteractionEvent = new events_1.Emitter();
|
|
135
95
|
_this.onTabInteractionEvent = _this._onTabInteractionEvent.event;
|
|
136
96
|
_this._onTabContextMenu = new events_1.Emitter();
|
|
137
97
|
_this.onTabContextMenu = _this._onTabContextMenu.event;
|
|
138
|
-
_this.
|
|
98
|
+
_this._onDidDrop = new events_1.Emitter();
|
|
99
|
+
_this.onDidDrop = _this._onDidDrop.event;
|
|
100
|
+
_this._onDidRemovePanel = new events_1.Emitter();
|
|
101
|
+
_this.onDidRemovePanel = _this._onDidRemovePanel.event;
|
|
102
|
+
_this._onDidAddPanel = new events_1.Emitter();
|
|
103
|
+
_this.onDidAddPanel = _this._onDidAddPanel.event;
|
|
104
|
+
_this._onDidLayoutfromJSON = new events_1.Emitter();
|
|
105
|
+
_this.onDidLayoutfromJSON = _this._onDidLayoutfromJSON.event;
|
|
106
|
+
_this._onDidActivePanelChange = new events_1.Emitter();
|
|
107
|
+
_this.onDidActivePanelChange = _this._onDidActivePanelChange.event;
|
|
108
|
+
_this.addDisposables(_this._onTabInteractionEvent, _this._onTabContextMenu, _this._onDidDrop);
|
|
139
109
|
_this._options = options;
|
|
140
110
|
if (!_this.options.components) {
|
|
141
111
|
_this.options.components = {};
|
|
@@ -158,14 +128,14 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
158
128
|
}
|
|
159
129
|
Object.defineProperty(DockviewComponent.prototype, "totalPanels", {
|
|
160
130
|
get: function () {
|
|
161
|
-
return this.
|
|
131
|
+
return this.panels.length;
|
|
162
132
|
},
|
|
163
133
|
enumerable: false,
|
|
164
134
|
configurable: true
|
|
165
135
|
});
|
|
166
136
|
Object.defineProperty(DockviewComponent.prototype, "panels", {
|
|
167
137
|
get: function () {
|
|
168
|
-
return
|
|
138
|
+
return this.groups.flatMap(function (group) { return group.model.panels; });
|
|
169
139
|
},
|
|
170
140
|
enumerable: false,
|
|
171
141
|
configurable: true
|
|
@@ -214,10 +184,6 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
214
184
|
DockviewComponent.prototype.updateOptions = function (options) {
|
|
215
185
|
var hasOrientationChanged = typeof options.orientation === 'string' &&
|
|
216
186
|
this.options.orientation !== options.orientation;
|
|
217
|
-
// TODO support style update
|
|
218
|
-
// const hasStylesChanged =
|
|
219
|
-
// typeof options.styles === 'object' &&
|
|
220
|
-
// this.options.styles !== options.styles;
|
|
221
187
|
this._options = __assign(__assign({}, this.options), options);
|
|
222
188
|
if (hasOrientationChanged) {
|
|
223
189
|
this.gridview.orientation = options.orientation;
|
|
@@ -229,8 +195,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
229
195
|
(_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.focus();
|
|
230
196
|
};
|
|
231
197
|
DockviewComponent.prototype.getGroupPanel = function (id) {
|
|
232
|
-
|
|
233
|
-
return (_a = this._panels.get(id)) === null || _a === void 0 ? void 0 : _a.value;
|
|
198
|
+
return this.panels.find(function (panel) { return panel.id === id; });
|
|
234
199
|
};
|
|
235
200
|
DockviewComponent.prototype.setActivePanel = function (panel) {
|
|
236
201
|
if (!panel.group) {
|
|
@@ -281,39 +246,16 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
281
246
|
this.doSetGroupActive(next);
|
|
282
247
|
}
|
|
283
248
|
};
|
|
284
|
-
DockviewComponent.prototype.registerPanel = function (panel) {
|
|
285
|
-
var _this = this;
|
|
286
|
-
if (this._panels.has(panel.id)) {
|
|
287
|
-
throw new Error("panel ".concat(panel.id, " already exists"));
|
|
288
|
-
}
|
|
289
|
-
var disposable = new lifecycle_1.CompositeDisposable(panel.onDidStateChange(function () { return _this.addDirtyPanel(panel); }));
|
|
290
|
-
this._panels.set(panel.id, { value: panel, disposable: disposable });
|
|
291
|
-
};
|
|
292
|
-
DockviewComponent.prototype.unregisterPanel = function (panel) {
|
|
293
|
-
if (!this._panels.has(panel.id)) {
|
|
294
|
-
throw new Error("panel ".concat(panel.id, " doesn't exist"));
|
|
295
|
-
}
|
|
296
|
-
var item = this._panels.get(panel.id);
|
|
297
|
-
if (item) {
|
|
298
|
-
item.disposable.dispose();
|
|
299
|
-
item.value.dispose();
|
|
300
|
-
}
|
|
301
|
-
this._panels.delete(panel.id);
|
|
302
|
-
};
|
|
303
249
|
/**
|
|
304
250
|
* Serialize the current state of the layout
|
|
305
251
|
*
|
|
306
252
|
* @returns A JSON respresentation of the layout
|
|
307
253
|
*/
|
|
308
254
|
DockviewComponent.prototype.toJSON = function () {
|
|
309
|
-
var _this = this;
|
|
310
255
|
var _a;
|
|
311
|
-
this.syncConfigs();
|
|
312
256
|
var data = this.gridview.serialize();
|
|
313
|
-
var panels =
|
|
314
|
-
|
|
315
|
-
collection[panel.value.id] = panel.value.toJSON();
|
|
316
|
-
}
|
|
257
|
+
var panels = this.panels.reduce(function (collection, panel) {
|
|
258
|
+
collection[panel.id] = panel.toJSON();
|
|
317
259
|
return collection;
|
|
318
260
|
}, {});
|
|
319
261
|
return {
|
|
@@ -326,11 +268,9 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
326
268
|
DockviewComponent.prototype.fromJSON = function (data) {
|
|
327
269
|
var _this = this;
|
|
328
270
|
this.gridview.clear();
|
|
329
|
-
this.
|
|
330
|
-
panel.
|
|
331
|
-
panel.value.dispose();
|
|
271
|
+
this.panels.forEach(function (panel) {
|
|
272
|
+
panel.dispose();
|
|
332
273
|
});
|
|
333
|
-
this._panels.clear();
|
|
334
274
|
this._groups.clear();
|
|
335
275
|
if (!this.deserializer) {
|
|
336
276
|
throw new Error('invalid deserializer');
|
|
@@ -345,9 +285,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
345
285
|
this.gridview.deserialize(grid, new deserializer_1.DefaultDeserializer(this, {
|
|
346
286
|
createPanel: function (id) {
|
|
347
287
|
var panelData = panels[id];
|
|
348
|
-
|
|
349
|
-
_this.registerPanel(panel);
|
|
350
|
-
return panel;
|
|
288
|
+
return _this.deserializer.fromJSON(panelData);
|
|
351
289
|
},
|
|
352
290
|
}));
|
|
353
291
|
if (typeof activeGroup === 'string') {
|
|
@@ -358,58 +296,34 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
358
296
|
}
|
|
359
297
|
this.gridview.layout(this.width, this.height);
|
|
360
298
|
this._onGridEvent.fire({ kind: baseComponentGridview_1.GroupChangeKind.LAYOUT_FROM_JSON });
|
|
299
|
+
this._onDidLayoutfromJSON.fire();
|
|
361
300
|
};
|
|
362
301
|
DockviewComponent.prototype.closeAllGroups = function () {
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
var
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
didCloseAll = _e.sent();
|
|
379
|
-
if (!didCloseAll) {
|
|
380
|
-
return [2 /*return*/, false];
|
|
381
|
-
}
|
|
382
|
-
_e.label = 3;
|
|
383
|
-
case 3:
|
|
384
|
-
_b = _a.next();
|
|
385
|
-
return [3 /*break*/, 1];
|
|
386
|
-
case 4: return [3 /*break*/, 7];
|
|
387
|
-
case 5:
|
|
388
|
-
e_1_1 = _e.sent();
|
|
389
|
-
e_1 = { error: e_1_1 };
|
|
390
|
-
return [3 /*break*/, 7];
|
|
391
|
-
case 6:
|
|
392
|
-
try {
|
|
393
|
-
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
394
|
-
}
|
|
395
|
-
finally { if (e_1) throw e_1.error; }
|
|
396
|
-
return [7 /*endfinally*/];
|
|
397
|
-
case 7: return [2 /*return*/, true];
|
|
398
|
-
}
|
|
399
|
-
});
|
|
400
|
-
});
|
|
302
|
+
var e_1, _a;
|
|
303
|
+
try {
|
|
304
|
+
for (var _b = __values(this._groups.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
305
|
+
var entry = _c.value;
|
|
306
|
+
var _d = __read(entry, 2), _ = _d[0], group = _d[1];
|
|
307
|
+
group.value.model.closeAllPanels();
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
311
|
+
finally {
|
|
312
|
+
try {
|
|
313
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
314
|
+
}
|
|
315
|
+
finally { if (e_1) throw e_1.error; }
|
|
316
|
+
}
|
|
401
317
|
};
|
|
402
318
|
DockviewComponent.prototype.fireMouseEvent = function (event) {
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
}
|
|
412
|
-
break;
|
|
319
|
+
if (event.kind === tab_1.MouseEventKind.CONTEXT_MENU) {
|
|
320
|
+
if (event.tab && event.panel) {
|
|
321
|
+
this._onTabContextMenu.fire({
|
|
322
|
+
event: event.event,
|
|
323
|
+
api: this._api,
|
|
324
|
+
panel: event.panel,
|
|
325
|
+
});
|
|
326
|
+
}
|
|
413
327
|
}
|
|
414
328
|
};
|
|
415
329
|
DockviewComponent.prototype.addPanel = function (options) {
|
|
@@ -443,7 +357,6 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
443
357
|
return panel;
|
|
444
358
|
};
|
|
445
359
|
DockviewComponent.prototype.removePanel = function (panel) {
|
|
446
|
-
this.unregisterPanel(panel);
|
|
447
360
|
var group = panel.group;
|
|
448
361
|
if (!group) {
|
|
449
362
|
throw new Error("cannot remove panel ".concat(panel.id, ". it's missing a group."));
|
|
@@ -462,10 +375,9 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
462
375
|
: {}, (_a = this.options.frameworkComponentFactory) === null || _a === void 0 ? void 0 : _a.watermark);
|
|
463
376
|
};
|
|
464
377
|
DockviewComponent.prototype.addEmptyGroup = function (options) {
|
|
465
|
-
var _a;
|
|
466
378
|
var group = this.createGroup();
|
|
467
379
|
if (options) {
|
|
468
|
-
var referencePanel =
|
|
380
|
+
var referencePanel = this.panels.find(function (panel) { return panel.id === options.referencePanel; });
|
|
469
381
|
if (!referencePanel) {
|
|
470
382
|
throw new Error("reference panel ".concat(options.referencePanel, " does not exist"));
|
|
471
383
|
}
|
|
@@ -495,13 +407,13 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
495
407
|
_super.prototype.removeGroup.call(this, group);
|
|
496
408
|
};
|
|
497
409
|
DockviewComponent.prototype.moveGroupOrPanel = function (referenceGroup, groupId, itemId, target, index) {
|
|
498
|
-
var _a
|
|
410
|
+
var _a;
|
|
499
411
|
var sourceGroup = groupId
|
|
500
412
|
? (_a = this._groups.get(groupId)) === null || _a === void 0 ? void 0 : _a.value
|
|
501
413
|
: undefined;
|
|
502
414
|
if (!target || target === droptarget_1.Position.Center) {
|
|
503
415
|
var groupItem = (sourceGroup === null || sourceGroup === void 0 ? void 0 : sourceGroup.model.removePanel(itemId)) ||
|
|
504
|
-
|
|
416
|
+
this.panels.find(function (panel) { return panel.id === itemId; });
|
|
505
417
|
if (!groupItem) {
|
|
506
418
|
throw new Error("No panel with id ".concat(itemId));
|
|
507
419
|
}
|
|
@@ -514,9 +426,9 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
514
426
|
var referenceLocation = (0, gridview_1.getGridLocation)(referenceGroup.element);
|
|
515
427
|
var targetLocation = (0, gridview_1.getRelativeLocation)(this.gridview.orientation, referenceLocation, target);
|
|
516
428
|
if (sourceGroup && sourceGroup.model.size < 2) {
|
|
517
|
-
var
|
|
429
|
+
var _b = __read((0, array_1.tail)(targetLocation), 2), targetParentLocation = _b[0], to = _b[1];
|
|
518
430
|
var sourceLocation = (0, gridview_1.getGridLocation)(sourceGroup.element);
|
|
519
|
-
var
|
|
431
|
+
var _c = __read((0, array_1.tail)(sourceLocation), 2), sourceParentLocation = _c[0], from = _c[1];
|
|
520
432
|
if ((0, array_1.sequenceEquals)(sourceParentLocation, targetParentLocation)) {
|
|
521
433
|
// special case when 'swapping' two views within same grid location
|
|
522
434
|
// if a group has one tab - we are essentially moving the 'group'
|
|
@@ -537,7 +449,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
537
449
|
}
|
|
538
450
|
else {
|
|
539
451
|
var groupItem = (sourceGroup === null || sourceGroup === void 0 ? void 0 : sourceGroup.model.removePanel(itemId)) ||
|
|
540
|
-
|
|
452
|
+
this.panels.find(function (panel) { return panel.id === itemId; });
|
|
541
453
|
if (!groupItem) {
|
|
542
454
|
throw new Error("No panel with id ".concat(itemId));
|
|
543
455
|
}
|
|
@@ -547,7 +459,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
547
459
|
}
|
|
548
460
|
};
|
|
549
461
|
DockviewComponent.prototype.doSetGroupActive = function (group, skipFocus) {
|
|
550
|
-
var _a, _b;
|
|
462
|
+
var _a, _b, _c;
|
|
551
463
|
var isGroupAlreadyFocused = this._activeGroup === group;
|
|
552
464
|
_super.prototype.doSetGroupActive.call(this, group, skipFocus);
|
|
553
465
|
if (!isGroupAlreadyFocused && ((_a = this._activeGroup) === null || _a === void 0 ? void 0 : _a.model.activePanel)) {
|
|
@@ -555,6 +467,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
555
467
|
kind: baseComponentGridview_1.GroupChangeKind.PANEL_ACTIVE,
|
|
556
468
|
panel: (_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.model.activePanel,
|
|
557
469
|
});
|
|
470
|
+
this._onDidActivePanelChange.fire((_c = this._activeGroup) === null || _c === void 0 ? void 0 : _c.model.activePanel);
|
|
558
471
|
}
|
|
559
472
|
};
|
|
560
473
|
DockviewComponent.prototype.createGroup = function (options) {
|
|
@@ -581,6 +494,8 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
581
494
|
var disposable = new lifecycle_1.CompositeDisposable(view.model.onMove(function (event) {
|
|
582
495
|
var groupId = event.groupId, itemId = event.itemId, target = event.target, index = event.index;
|
|
583
496
|
_this.moveGroupOrPanel(view, groupId, itemId, target, index);
|
|
497
|
+
}), view.model.onDidDrop(function (event) {
|
|
498
|
+
_this._onDidDrop.fire(__assign(__assign({}, event), { api: _this._api }));
|
|
584
499
|
}), view.model.onDidGroupChange(function (event) {
|
|
585
500
|
switch (event.kind) {
|
|
586
501
|
case groupview_1.GroupChangeKind2.ADD_PANEL:
|
|
@@ -588,24 +503,25 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
588
503
|
kind: baseComponentGridview_1.GroupChangeKind.ADD_PANEL,
|
|
589
504
|
panel: event.panel,
|
|
590
505
|
});
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
kind: baseComponentGridview_1.GroupChangeKind.GROUP_ACTIVE,
|
|
595
|
-
panel: event.panel,
|
|
596
|
-
});
|
|
506
|
+
if (event.panel) {
|
|
507
|
+
_this._onDidAddPanel.fire(event.panel);
|
|
508
|
+
}
|
|
597
509
|
break;
|
|
598
510
|
case groupview_1.GroupChangeKind2.REMOVE_PANEL:
|
|
599
511
|
_this._onGridEvent.fire({
|
|
600
512
|
kind: baseComponentGridview_1.GroupChangeKind.REMOVE_PANEL,
|
|
601
513
|
panel: event.panel,
|
|
602
514
|
});
|
|
515
|
+
if (event.panel) {
|
|
516
|
+
_this._onDidRemovePanel.fire(event.panel);
|
|
517
|
+
}
|
|
603
518
|
break;
|
|
604
519
|
case groupview_1.GroupChangeKind2.PANEL_ACTIVE:
|
|
605
520
|
_this._onGridEvent.fire({
|
|
606
521
|
kind: baseComponentGridview_1.GroupChangeKind.PANEL_ACTIVE,
|
|
607
522
|
panel: event.panel,
|
|
608
523
|
});
|
|
524
|
+
_this._onDidActivePanelChange.fire(event.panel);
|
|
609
525
|
break;
|
|
610
526
|
}
|
|
611
527
|
}));
|
|
@@ -619,47 +535,18 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
619
535
|
}
|
|
620
536
|
return view;
|
|
621
537
|
};
|
|
622
|
-
DockviewComponent.prototype.dispose = function () {
|
|
623
|
-
_super.prototype.dispose.call(this);
|
|
624
|
-
this._onGridEvent.dispose();
|
|
625
|
-
};
|
|
626
|
-
/**
|
|
627
|
-
* Ensure the local copy of the layout state is up-to-date
|
|
628
|
-
*/
|
|
629
|
-
DockviewComponent.prototype.syncConfigs = function () {
|
|
630
|
-
var _this = this;
|
|
631
|
-
var dirtyPanels = Array.from(this.dirtyPanels);
|
|
632
|
-
if (dirtyPanels.length === 0) {
|
|
633
|
-
//
|
|
634
|
-
}
|
|
635
|
-
this.dirtyPanels.clear();
|
|
636
|
-
var partialPanelState = dirtyPanels
|
|
637
|
-
.map(function (panel) { return _this._panels.get(panel.id); })
|
|
638
|
-
.filter(function (_) { return !!_; })
|
|
639
|
-
.reduce(function (collection, panel) {
|
|
640
|
-
collection[panel.value.id] = panel.value.toJSON();
|
|
641
|
-
return collection;
|
|
642
|
-
}, {});
|
|
643
|
-
this.panelState = __assign(__assign({}, this.panelState), partialPanelState);
|
|
644
|
-
dirtyPanels
|
|
645
|
-
.filter(function (p) { return _this._panels.has(p.id); })
|
|
646
|
-
.forEach(function (panel) {
|
|
647
|
-
panel.setDirty(false);
|
|
648
|
-
});
|
|
649
|
-
};
|
|
650
538
|
DockviewComponent.prototype._addPanel = function (options) {
|
|
651
539
|
var view = new defaultGroupPanelView_1.DefaultGroupPanelView({
|
|
652
540
|
content: this.createContentComponent(options.id, options.component),
|
|
653
541
|
tab: this.createTabComponent(options.id, options.tabComponent),
|
|
654
542
|
});
|
|
655
|
-
var panel = new dockviewGroupPanel_1.DockviewGroupPanel(options.id, this._api);
|
|
543
|
+
var panel = new dockviewGroupPanel_1.DockviewGroupPanel(options.id, this, this._api);
|
|
656
544
|
panel.init({
|
|
657
545
|
view: view,
|
|
658
546
|
title: options.title || options.id,
|
|
659
547
|
suppressClosable: options === null || options === void 0 ? void 0 : options.suppressClosable,
|
|
660
548
|
params: (options === null || options === void 0 ? void 0 : options.params) || {},
|
|
661
549
|
});
|
|
662
|
-
this.registerPanel(panel);
|
|
663
550
|
return panel;
|
|
664
551
|
};
|
|
665
552
|
DockviewComponent.prototype.createContentComponent = function (id, componentName) {
|
|
@@ -682,10 +569,12 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
682
569
|
return group.value.model.containsPanel(panel);
|
|
683
570
|
})) === null || _a === void 0 ? void 0 : _a.value;
|
|
684
571
|
};
|
|
685
|
-
DockviewComponent.prototype.
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
this.
|
|
572
|
+
DockviewComponent.prototype.dispose = function () {
|
|
573
|
+
_super.prototype.dispose.call(this);
|
|
574
|
+
this._onDidActivePanelChange.dispose();
|
|
575
|
+
this._onDidAddPanel.dispose();
|
|
576
|
+
this._onDidRemovePanel.dispose();
|
|
577
|
+
this._onDidLayoutfromJSON.dispose();
|
|
689
578
|
};
|
|
690
579
|
return DockviewComponent;
|
|
691
580
|
}(baseComponentGridview_1.BaseGrid));
|