dockview-core 4.12.0 → 4.13.1
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 +2 -2
- package/dist/cjs/api/dockviewGroupPanelApi.d.ts +3 -1
- package/dist/cjs/api/dockviewGroupPanelApi.js +24 -1
- package/dist/cjs/dockview/components/titlebar/tabs.d.ts +2 -2
- package/dist/cjs/dockview/components/titlebar/tabs.js +1 -1
- package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +3 -3
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +5 -3
- package/dist/cjs/dockview/dockviewComponent.js +21 -5
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +2 -2
- package/dist/cjs/dockview/dockviewGroupPanelModel.js +1 -1
- package/dist/cjs/dockview/events.d.ts +4 -4
- package/dist/cjs/dockview/events.js +14 -14
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +7 -2
- package/dist/cjs/overlay/overlay.js +25 -14
- package/dist/cjs/splitview/splitview.js +2 -0
- package/dist/dockview-core.amd.js +66 -25
- package/dist/dockview-core.amd.js.map +1 -1
- package/dist/dockview-core.amd.min.js +2 -2
- package/dist/dockview-core.amd.min.js.map +1 -1
- package/dist/dockview-core.amd.min.noStyle.js +2 -2
- package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
- package/dist/dockview-core.amd.noStyle.js +66 -25
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +66 -25
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +66 -26
- package/dist/dockview-core.esm.js.map +1 -1
- package/dist/dockview-core.esm.min.js +2 -2
- package/dist/dockview-core.esm.min.js.map +1 -1
- package/dist/dockview-core.js +66 -25
- package/dist/dockview-core.js.map +1 -1
- package/dist/dockview-core.min.js +2 -2
- package/dist/dockview-core.min.js.map +1 -1
- package/dist/dockview-core.min.noStyle.js +2 -2
- package/dist/dockview-core.min.noStyle.js.map +1 -1
- package/dist/dockview-core.noStyle.js +66 -25
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/component.api.d.ts +2 -2
- package/dist/esm/api/dockviewGroupPanelApi.d.ts +3 -1
- package/dist/esm/api/dockviewGroupPanelApi.js +13 -1
- package/dist/esm/dockview/components/titlebar/tabs.d.ts +2 -2
- package/dist/esm/dockview/components/titlebar/tabs.js +2 -2
- package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +3 -3
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +2 -2
- package/dist/esm/dockview/dockviewComponent.d.ts +5 -3
- package/dist/esm/dockview/dockviewComponent.js +21 -6
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +2 -2
- package/dist/esm/dockview/dockviewGroupPanelModel.js +2 -2
- package/dist/esm/dockview/events.d.ts +4 -4
- package/dist/esm/dockview/events.js +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/overlay/overlay.js +26 -15
- package/dist/esm/splitview/splitview.js +2 -0
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ import { PaneviewDidDropEvent } from '../paneview/draggablePaneviewPanel';
|
|
|
16
16
|
import { GroupDragEvent, TabDragEvent } from '../dockview/components/titlebar/tabsContainer';
|
|
17
17
|
import { Box } from '../types';
|
|
18
18
|
import { DockviewDidDropEvent, DockviewWillDropEvent } from '../dockview/dockviewGroupPanelModel';
|
|
19
|
-
import {
|
|
19
|
+
import { DockviewWillShowOverlayLocationEvent } from '../dockview/events';
|
|
20
20
|
import { PaneviewComponentOptions, PaneviewDndOverlayEvent } from '../paneview/options';
|
|
21
21
|
import { SplitviewComponentOptions } from '../splitview/options';
|
|
22
22
|
import { GridviewComponentOptions } from '../gridview/options';
|
|
@@ -403,7 +403,7 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
|
|
|
403
403
|
* Calling `event.preventDefault()` will prevent the overlay being shown and prevent
|
|
404
404
|
* the any subsequent drop event.
|
|
405
405
|
*/
|
|
406
|
-
get onWillShowOverlay(): Event<
|
|
406
|
+
get onWillShowOverlay(): Event<DockviewWillShowOverlayLocationEvent>;
|
|
407
407
|
/**
|
|
408
408
|
* Invoked before a group is dragged.
|
|
409
409
|
*
|
|
@@ -3,7 +3,7 @@ import { DockviewComponent } from '../dockview/dockviewComponent';
|
|
|
3
3
|
import { DockviewGroupPanel } from '../dockview/dockviewGroupPanel';
|
|
4
4
|
import { DockviewGroupChangeEvent, DockviewGroupLocation } from '../dockview/dockviewGroupPanelModel';
|
|
5
5
|
import { Emitter, Event } from '../events';
|
|
6
|
-
import { GridviewPanelApi, GridviewPanelApiImpl } from './gridviewPanelApi';
|
|
6
|
+
import { GridviewPanelApi, GridviewPanelApiImpl, SizeEvent } from './gridviewPanelApi';
|
|
7
7
|
export interface DockviewGroupMoveParams {
|
|
8
8
|
group?: DockviewGroupPanel;
|
|
9
9
|
position?: Position;
|
|
@@ -36,12 +36,14 @@ export interface DockviewGroupPanelFloatingChangeEvent {
|
|
|
36
36
|
export declare class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
|
|
37
37
|
private readonly accessor;
|
|
38
38
|
private _group;
|
|
39
|
+
private _pendingSize;
|
|
39
40
|
readonly _onDidLocationChange: Emitter<DockviewGroupPanelFloatingChangeEvent>;
|
|
40
41
|
readonly onDidLocationChange: Event<DockviewGroupPanelFloatingChangeEvent>;
|
|
41
42
|
readonly _onDidActivePanelChange: Emitter<DockviewGroupChangeEvent>;
|
|
42
43
|
readonly onDidActivePanelChange: Event<DockviewGroupChangeEvent>;
|
|
43
44
|
get location(): DockviewGroupLocation;
|
|
44
45
|
constructor(id: string, accessor: DockviewComponent);
|
|
46
|
+
setSize(event: SizeEvent): void;
|
|
45
47
|
close(): void;
|
|
46
48
|
getWindow(): Window;
|
|
47
49
|
moveTo(options: DockviewGroupMoveParams): void;
|
|
@@ -14,6 +14,17 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
14
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
|
+
var __assign = (this && this.__assign) || function () {
|
|
18
|
+
__assign = Object.assign || function(t) {
|
|
19
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
+
s = arguments[i];
|
|
21
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
+
t[p] = s[p];
|
|
23
|
+
}
|
|
24
|
+
return t;
|
|
25
|
+
};
|
|
26
|
+
return __assign.apply(this, arguments);
|
|
27
|
+
};
|
|
17
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
29
|
exports.DockviewGroupPanelApiImpl = void 0;
|
|
19
30
|
var droptarget_1 = require("../dnd/droptarget");
|
|
@@ -29,7 +40,13 @@ var DockviewGroupPanelApiImpl = /** @class */ (function (_super) {
|
|
|
29
40
|
_this.onDidLocationChange = _this._onDidLocationChange.event;
|
|
30
41
|
_this._onDidActivePanelChange = new events_1.Emitter();
|
|
31
42
|
_this.onDidActivePanelChange = _this._onDidActivePanelChange.event;
|
|
32
|
-
_this.addDisposables(_this._onDidLocationChange, _this._onDidActivePanelChange)
|
|
43
|
+
_this.addDisposables(_this._onDidLocationChange, _this._onDidActivePanelChange, _this._onDidVisibilityChange.event(function (event) {
|
|
44
|
+
// When becoming visible, apply any pending size change
|
|
45
|
+
if (event.isVisible && _this._pendingSize) {
|
|
46
|
+
_super.prototype.setSize.call(_this, _this._pendingSize);
|
|
47
|
+
_this._pendingSize = undefined;
|
|
48
|
+
}
|
|
49
|
+
}));
|
|
33
50
|
return _this;
|
|
34
51
|
}
|
|
35
52
|
Object.defineProperty(DockviewGroupPanelApiImpl.prototype, "location", {
|
|
@@ -42,6 +59,12 @@ var DockviewGroupPanelApiImpl = /** @class */ (function (_super) {
|
|
|
42
59
|
enumerable: false,
|
|
43
60
|
configurable: true
|
|
44
61
|
});
|
|
62
|
+
DockviewGroupPanelApiImpl.prototype.setSize = function (event) {
|
|
63
|
+
// Always store the requested size
|
|
64
|
+
this._pendingSize = __assign({}, event);
|
|
65
|
+
// Apply the size change immediately
|
|
66
|
+
_super.prototype.setSize.call(this, event);
|
|
67
|
+
};
|
|
45
68
|
DockviewGroupPanelApiImpl.prototype.close = function () {
|
|
46
69
|
if (!this._group) {
|
|
47
70
|
return;
|
|
@@ -2,7 +2,7 @@ import { Event } from '../../../events';
|
|
|
2
2
|
import { CompositeDisposable } from '../../../lifecycle';
|
|
3
3
|
import { DockviewComponent } from '../../dockviewComponent';
|
|
4
4
|
import { DockviewGroupPanel } from '../../dockviewGroupPanel';
|
|
5
|
-
import {
|
|
5
|
+
import { DockviewWillShowOverlayLocationEvent } from '../../events';
|
|
6
6
|
import { IDockviewPanel } from '../../dockviewPanel';
|
|
7
7
|
import { Tab } from '../tab/tab';
|
|
8
8
|
import { TabDragEvent, TabDropIndexEvent } from './tabsContainer';
|
|
@@ -20,7 +20,7 @@ export declare class Tabs extends CompositeDisposable {
|
|
|
20
20
|
private readonly _onDrop;
|
|
21
21
|
readonly onDrop: Event<TabDropIndexEvent>;
|
|
22
22
|
private readonly _onWillShowOverlay;
|
|
23
|
-
readonly onWillShowOverlay: Event<
|
|
23
|
+
readonly onWillShowOverlay: Event<DockviewWillShowOverlayLocationEvent>;
|
|
24
24
|
private readonly _onOverflowTabsChange;
|
|
25
25
|
readonly onOverflowTabsChange: Event<{
|
|
26
26
|
tabs: string[];
|
|
@@ -246,7 +246,7 @@ var Tabs = /** @class */ (function (_super) {
|
|
|
246
246
|
index: _this._tabs.findIndex(function (x) { return x.value === tab; }),
|
|
247
247
|
});
|
|
248
248
|
}), tab.onWillShowOverlay(function (event) {
|
|
249
|
-
_this._onWillShowOverlay.fire(new events_2.
|
|
249
|
+
_this._onWillShowOverlay.fire(new events_2.DockviewWillShowOverlayLocationEvent(event, {
|
|
250
250
|
kind: 'tab',
|
|
251
251
|
panel: _this.group.activePanel,
|
|
252
252
|
api: _this.accessor.api,
|
|
@@ -4,7 +4,7 @@ import { Tab } from '../tab/tab';
|
|
|
4
4
|
import { DockviewGroupPanel } from '../../dockviewGroupPanel';
|
|
5
5
|
import { IDockviewPanel } from '../../dockviewPanel';
|
|
6
6
|
import { DockviewComponent } from '../../dockviewComponent';
|
|
7
|
-
import {
|
|
7
|
+
import { DockviewWillShowOverlayLocationEvent } from '../../events';
|
|
8
8
|
export interface TabDropIndexEvent {
|
|
9
9
|
readonly event: DragEvent;
|
|
10
10
|
readonly index: number;
|
|
@@ -24,7 +24,7 @@ export interface ITabsContainer extends IDisposable {
|
|
|
24
24
|
readonly onDrop: Event<TabDropIndexEvent>;
|
|
25
25
|
readonly onTabDragStart: Event<TabDragEvent>;
|
|
26
26
|
readonly onGroupDragStart: Event<GroupDragEvent>;
|
|
27
|
-
readonly onWillShowOverlay: Event<
|
|
27
|
+
readonly onWillShowOverlay: Event<DockviewWillShowOverlayLocationEvent>;
|
|
28
28
|
hidden: boolean;
|
|
29
29
|
delete(id: string): void;
|
|
30
30
|
indexOf(id: string): number;
|
|
@@ -62,7 +62,7 @@ export declare class TabsContainer extends CompositeDisposable implements ITabsC
|
|
|
62
62
|
private readonly _onGroupDragStart;
|
|
63
63
|
readonly onGroupDragStart: Event<GroupDragEvent>;
|
|
64
64
|
private readonly _onWillShowOverlay;
|
|
65
|
-
readonly onWillShowOverlay: Event<
|
|
65
|
+
readonly onWillShowOverlay: Event<DockviewWillShowOverlayLocationEvent>;
|
|
66
66
|
get panels(): string[];
|
|
67
67
|
get size(): number;
|
|
68
68
|
get hidden(): boolean;
|
|
@@ -85,7 +85,7 @@ var TabsContainer = /** @class */ (function (_super) {
|
|
|
85
85
|
index: _this.tabs.size,
|
|
86
86
|
});
|
|
87
87
|
}), _this.voidContainer.onWillShowOverlay(function (event) {
|
|
88
|
-
_this._onWillShowOverlay.fire(new events_2.
|
|
88
|
+
_this._onWillShowOverlay.fire(new events_2.DockviewWillShowOverlayLocationEvent(event, {
|
|
89
89
|
kind: 'header_space',
|
|
90
90
|
panel: _this.group.activePanel,
|
|
91
91
|
api: _this.accessor.api,
|
|
@@ -8,7 +8,7 @@ import { BaseGrid, IBaseGrid } from '../gridview/baseComponentGridview';
|
|
|
8
8
|
import { DockviewApi } from '../api/component.api';
|
|
9
9
|
import { Orientation } from '../splitview/splitview';
|
|
10
10
|
import { GroupOptions, GroupPanelViewState, DockviewDidDropEvent, DockviewWillDropEvent } from './dockviewGroupPanelModel';
|
|
11
|
-
import {
|
|
11
|
+
import { DockviewWillShowOverlayLocationEvent } from './events';
|
|
12
12
|
import { DockviewGroupPanel } from './dockviewGroupPanel';
|
|
13
13
|
import { Parameters } from '../panel/types';
|
|
14
14
|
import { DockviewFloatingGroupPanel } from './dockviewFloatingGroupPanel';
|
|
@@ -129,7 +129,7 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
|
|
|
129
129
|
readonly orientation: Orientation;
|
|
130
130
|
readonly onDidDrop: Event<DockviewDidDropEvent>;
|
|
131
131
|
readonly onWillDrop: Event<DockviewWillDropEvent>;
|
|
132
|
-
readonly onWillShowOverlay: Event<
|
|
132
|
+
readonly onWillShowOverlay: Event<DockviewWillShowOverlayLocationEvent>;
|
|
133
133
|
readonly onDidRemovePanel: Event<IDockviewPanel>;
|
|
134
134
|
readonly onDidAddPanel: Event<IDockviewPanel>;
|
|
135
135
|
readonly onDidLayoutFromJSON: Event<void>;
|
|
@@ -199,7 +199,7 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
|
|
|
199
199
|
private readonly _onWillDrop;
|
|
200
200
|
readonly onWillDrop: Event<DockviewWillDropEvent>;
|
|
201
201
|
private readonly _onWillShowOverlay;
|
|
202
|
-
readonly onWillShowOverlay: Event<
|
|
202
|
+
readonly onWillShowOverlay: Event<DockviewWillShowOverlayLocationEvent>;
|
|
203
203
|
private readonly _onUnhandledDragOverEvent;
|
|
204
204
|
readonly onUnhandledDragOverEvent: Event<DockviewDndOverlayEvent>;
|
|
205
205
|
private readonly _onDidRemovePanel;
|
|
@@ -292,6 +292,8 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
|
|
|
292
292
|
skipPopoutReturn?: boolean;
|
|
293
293
|
} | undefined): DockviewGroupPanel;
|
|
294
294
|
private _moving;
|
|
295
|
+
private _updatePositionsFrameId;
|
|
296
|
+
private debouncedUpdateAllPositions;
|
|
295
297
|
movingLock<T>(func: () => T): T;
|
|
296
298
|
moveGroupOrPanel(options: MoveGroupOrPanelOptions): void;
|
|
297
299
|
moveGroup(options: MoveGroupOptions): void;
|
|
@@ -214,7 +214,14 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
214
214
|
if (options.debug) {
|
|
215
215
|
_this.addDisposables(new strictEventsSequencing_1.StrictEventsSequencing(_this));
|
|
216
216
|
}
|
|
217
|
-
_this.addDisposables(_this.rootDropTargetContainer, _this.overlayRenderContainer, _this._onWillDragPanel, _this._onWillDragGroup, _this._onWillShowOverlay, _this._onDidActivePanelChange, _this._onDidAddPanel, _this._onDidRemovePanel, _this._onDidLayoutFromJSON, _this._onDidDrop, _this._onWillDrop, _this._onDidMovePanel, _this.
|
|
217
|
+
_this.addDisposables(_this.rootDropTargetContainer, _this.overlayRenderContainer, _this._onWillDragPanel, _this._onWillDragGroup, _this._onWillShowOverlay, _this._onDidActivePanelChange, _this._onDidAddPanel, _this._onDidRemovePanel, _this._onDidLayoutFromJSON, _this._onDidDrop, _this._onWillDrop, _this._onDidMovePanel, _this._onDidMovePanel.event(function () {
|
|
218
|
+
/**
|
|
219
|
+
* Update overlay positions after DOM layout completes to prevent 0×0 dimensions.
|
|
220
|
+
* With defaultRenderer="always" this results in panel content not showing after move operations.
|
|
221
|
+
* Debounced to avoid multiple calls when moving groups with multiple panels.
|
|
222
|
+
*/
|
|
223
|
+
_this.debouncedUpdateAllPositions();
|
|
224
|
+
}), _this._onDidAddGroup, _this._onDidRemoveGroup, _this._onDidActiveGroupChange, _this._onUnhandledDragOverEvent, _this._onDidMaximizedGroupChange, _this._onDidOptionsChange, _this._onDidPopoutGroupSizeChange, _this._onDidPopoutGroupPositionChange, _this._onDidOpenPopoutWindowFail, _this.onDidViewVisibilityChangeMicroTaskQueue(function () {
|
|
218
225
|
_this.updateWatermark();
|
|
219
226
|
}), _this.onDidAdd(function (event) {
|
|
220
227
|
if (!_this._moving) {
|
|
@@ -272,7 +279,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
272
279
|
// option only available when no panels in primary grid
|
|
273
280
|
return;
|
|
274
281
|
}
|
|
275
|
-
_this._onWillShowOverlay.fire(new events_2.
|
|
282
|
+
_this._onWillShowOverlay.fire(new events_2.DockviewWillShowOverlayLocationEvent(event, {
|
|
276
283
|
kind: 'edge',
|
|
277
284
|
panel: undefined,
|
|
278
285
|
api: _this._api,
|
|
@@ -1316,9 +1323,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1316
1323
|
}
|
|
1317
1324
|
this.updateWatermark();
|
|
1318
1325
|
// Force position updates for always visible panels after DOM layout is complete
|
|
1319
|
-
|
|
1320
|
-
_this.overlayRenderContainer.updateAllPositions();
|
|
1321
|
-
});
|
|
1326
|
+
this.debouncedUpdateAllPositions();
|
|
1322
1327
|
this._onDidLayoutFromJSON.fire();
|
|
1323
1328
|
};
|
|
1324
1329
|
DockviewComponent.prototype.clear = function () {
|
|
@@ -1688,6 +1693,16 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
1688
1693
|
}
|
|
1689
1694
|
return re;
|
|
1690
1695
|
};
|
|
1696
|
+
DockviewComponent.prototype.debouncedUpdateAllPositions = function () {
|
|
1697
|
+
var _this = this;
|
|
1698
|
+
if (this._updatePositionsFrameId !== undefined) {
|
|
1699
|
+
cancelAnimationFrame(this._updatePositionsFrameId);
|
|
1700
|
+
}
|
|
1701
|
+
this._updatePositionsFrameId = requestAnimationFrame(function () {
|
|
1702
|
+
_this._updatePositionsFrameId = undefined;
|
|
1703
|
+
_this.overlayRenderContainer.updateAllPositions();
|
|
1704
|
+
});
|
|
1705
|
+
};
|
|
1691
1706
|
DockviewComponent.prototype.movingLock = function (func) {
|
|
1692
1707
|
var isMoving = this._moving;
|
|
1693
1708
|
try {
|
|
@@ -2027,6 +2042,7 @@ var DockviewComponent = /** @class */ (function (_super) {
|
|
|
2027
2042
|
from.panels.forEach(function (panel) {
|
|
2028
2043
|
_this._onDidMovePanel.fire({ panel: panel, from: from });
|
|
2029
2044
|
});
|
|
2045
|
+
this.debouncedUpdateAllPositions();
|
|
2030
2046
|
// Ensure group becomes active after move
|
|
2031
2047
|
if (options.skipSetActive === false) {
|
|
2032
2048
|
// Only activate when explicitly requested (skipSetActive: false)
|
|
@@ -3,7 +3,7 @@ import { PanelTransfer } from '../dnd/dataTransfer';
|
|
|
3
3
|
import { Position } from '../dnd/droptarget';
|
|
4
4
|
import { DockviewComponent } from './dockviewComponent';
|
|
5
5
|
import { DockviewEvent, Event } from '../events';
|
|
6
|
-
import { DockviewGroupDropLocation,
|
|
6
|
+
import { DockviewGroupDropLocation, DockviewWillShowOverlayLocationEvent } from './events';
|
|
7
7
|
import { IViewSize } from '../gridview/gridview';
|
|
8
8
|
import { CompositeDisposable } from '../lifecycle';
|
|
9
9
|
import { IPanel, PanelInitParameters, PanelUpdateEvent, Parameters } from '../panel/types';
|
|
@@ -155,7 +155,7 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
|
|
|
155
155
|
private readonly _onWillDrop;
|
|
156
156
|
readonly onWillDrop: Event<DockviewWillDropEvent>;
|
|
157
157
|
private readonly _onWillShowOverlay;
|
|
158
|
-
readonly onWillShowOverlay: Event<
|
|
158
|
+
readonly onWillShowOverlay: Event<DockviewWillShowOverlayLocationEvent>;
|
|
159
159
|
private readonly _onTabDragStart;
|
|
160
160
|
readonly onTabDragStart: Event<TabDragEvent>;
|
|
161
161
|
private readonly _onGroupDragStart;
|
|
@@ -194,7 +194,7 @@ var DockviewGroupPanelModel = /** @class */ (function (_super) {
|
|
|
194
194
|
}), _this.tabsContainer.onWillShowOverlay(function (event) {
|
|
195
195
|
_this._onWillShowOverlay.fire(event);
|
|
196
196
|
}), _this.contentContainer.dropTarget.onWillShowOverlay(function (event) {
|
|
197
|
-
_this._onWillShowOverlay.fire(new events_2.
|
|
197
|
+
_this._onWillShowOverlay.fire(new events_2.DockviewWillShowOverlayLocationEvent(event, {
|
|
198
198
|
kind: 'content',
|
|
199
199
|
panel: _this.activePanel,
|
|
200
200
|
api: _this._api,
|
|
@@ -5,16 +5,16 @@ import { IDockviewPanel } from './dockviewPanel';
|
|
|
5
5
|
import { DockviewGroupPanel } from './dockviewGroupPanel';
|
|
6
6
|
import { IDockviewEvent } from '../events';
|
|
7
7
|
export type DockviewGroupDropLocation = 'tab' | 'header_space' | 'content' | 'edge';
|
|
8
|
-
export interface
|
|
8
|
+
export interface DockviewWillShowOverlayLocationEventOptions {
|
|
9
9
|
readonly kind: DockviewGroupDropLocation;
|
|
10
10
|
readonly panel: IDockviewPanel | undefined;
|
|
11
11
|
readonly api: DockviewApi;
|
|
12
12
|
readonly group: DockviewGroupPanel | undefined;
|
|
13
13
|
getData: () => PanelTransfer | undefined;
|
|
14
14
|
}
|
|
15
|
-
export declare class
|
|
15
|
+
export declare class DockviewWillShowOverlayLocationEvent implements IDockviewEvent {
|
|
16
16
|
private readonly event;
|
|
17
|
-
readonly options:
|
|
17
|
+
readonly options: DockviewWillShowOverlayLocationEventOptions;
|
|
18
18
|
get kind(): DockviewGroupDropLocation;
|
|
19
19
|
get nativeEvent(): DragEvent;
|
|
20
20
|
get position(): Position;
|
|
@@ -24,5 +24,5 @@ export declare class WillShowOverlayLocationEvent implements IDockviewEvent {
|
|
|
24
24
|
get group(): DockviewGroupPanel | undefined;
|
|
25
25
|
preventDefault(): void;
|
|
26
26
|
getData(): PanelTransfer | undefined;
|
|
27
|
-
constructor(event: WillShowOverlayEvent, options:
|
|
27
|
+
constructor(event: WillShowOverlayEvent, options: DockviewWillShowOverlayLocationEventOptions);
|
|
28
28
|
}
|
|
@@ -1,66 +1,66 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
var
|
|
5
|
-
function
|
|
3
|
+
exports.DockviewWillShowOverlayLocationEvent = void 0;
|
|
4
|
+
var DockviewWillShowOverlayLocationEvent = /** @class */ (function () {
|
|
5
|
+
function DockviewWillShowOverlayLocationEvent(event, options) {
|
|
6
6
|
this.event = event;
|
|
7
7
|
this.options = options;
|
|
8
8
|
}
|
|
9
|
-
Object.defineProperty(
|
|
9
|
+
Object.defineProperty(DockviewWillShowOverlayLocationEvent.prototype, "kind", {
|
|
10
10
|
get: function () {
|
|
11
11
|
return this.options.kind;
|
|
12
12
|
},
|
|
13
13
|
enumerable: false,
|
|
14
14
|
configurable: true
|
|
15
15
|
});
|
|
16
|
-
Object.defineProperty(
|
|
16
|
+
Object.defineProperty(DockviewWillShowOverlayLocationEvent.prototype, "nativeEvent", {
|
|
17
17
|
get: function () {
|
|
18
18
|
return this.event.nativeEvent;
|
|
19
19
|
},
|
|
20
20
|
enumerable: false,
|
|
21
21
|
configurable: true
|
|
22
22
|
});
|
|
23
|
-
Object.defineProperty(
|
|
23
|
+
Object.defineProperty(DockviewWillShowOverlayLocationEvent.prototype, "position", {
|
|
24
24
|
get: function () {
|
|
25
25
|
return this.event.position;
|
|
26
26
|
},
|
|
27
27
|
enumerable: false,
|
|
28
28
|
configurable: true
|
|
29
29
|
});
|
|
30
|
-
Object.defineProperty(
|
|
30
|
+
Object.defineProperty(DockviewWillShowOverlayLocationEvent.prototype, "defaultPrevented", {
|
|
31
31
|
get: function () {
|
|
32
32
|
return this.event.defaultPrevented;
|
|
33
33
|
},
|
|
34
34
|
enumerable: false,
|
|
35
35
|
configurable: true
|
|
36
36
|
});
|
|
37
|
-
Object.defineProperty(
|
|
37
|
+
Object.defineProperty(DockviewWillShowOverlayLocationEvent.prototype, "panel", {
|
|
38
38
|
get: function () {
|
|
39
39
|
return this.options.panel;
|
|
40
40
|
},
|
|
41
41
|
enumerable: false,
|
|
42
42
|
configurable: true
|
|
43
43
|
});
|
|
44
|
-
Object.defineProperty(
|
|
44
|
+
Object.defineProperty(DockviewWillShowOverlayLocationEvent.prototype, "api", {
|
|
45
45
|
get: function () {
|
|
46
46
|
return this.options.api;
|
|
47
47
|
},
|
|
48
48
|
enumerable: false,
|
|
49
49
|
configurable: true
|
|
50
50
|
});
|
|
51
|
-
Object.defineProperty(
|
|
51
|
+
Object.defineProperty(DockviewWillShowOverlayLocationEvent.prototype, "group", {
|
|
52
52
|
get: function () {
|
|
53
53
|
return this.options.group;
|
|
54
54
|
},
|
|
55
55
|
enumerable: false,
|
|
56
56
|
configurable: true
|
|
57
57
|
});
|
|
58
|
-
|
|
58
|
+
DockviewWillShowOverlayLocationEvent.prototype.preventDefault = function () {
|
|
59
59
|
this.event.preventDefault();
|
|
60
60
|
};
|
|
61
|
-
|
|
61
|
+
DockviewWillShowOverlayLocationEvent.prototype.getData = function () {
|
|
62
62
|
return this.options.getData();
|
|
63
63
|
};
|
|
64
|
-
return
|
|
64
|
+
return DockviewWillShowOverlayLocationEvent;
|
|
65
65
|
}());
|
|
66
|
-
exports.
|
|
66
|
+
exports.DockviewWillShowOverlayLocationEvent = DockviewWillShowOverlayLocationEvent;
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -16,7 +16,8 @@ export * from './gridview/baseComponentGridview';
|
|
|
16
16
|
export { DraggablePaneviewPanel, PaneviewDidDropEvent as PaneviewDropEvent, } from './paneview/draggablePaneviewPanel';
|
|
17
17
|
export * from './dockview/components/panel/content';
|
|
18
18
|
export * from './dockview/components/tab/tab';
|
|
19
|
-
export
|
|
19
|
+
export { DockviewGroupPanelModel, DockviewDidDropEvent, DockviewWillDropEvent, DockviewGroupChangeEvent, } from './dockview/dockviewGroupPanelModel';
|
|
20
|
+
export { DockviewWillShowOverlayLocationEvent } from './dockview/events';
|
|
20
21
|
export { TabDragEvent, GroupDragEvent, } from './dockview/components/titlebar/tabsContainer';
|
|
21
22
|
export * from './dockview/types';
|
|
22
23
|
export * from './dockview/dockviewGroupPanel';
|
package/dist/cjs/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.createSplitview = exports.createPaneview = exports.createGridview = exports.createDockview = exports.DockviewApi = exports.GridviewApi = exports.PaneviewApi = exports.SplitviewApi = exports.directionToPosition = exports.positionToDirection = exports.SplitviewPanel = exports.PaneviewUnhandledDragOverEvent = exports.PROPERTY_KEYS_PANEVIEW = exports.DefaultDockviewDeserialzier = exports.DefaultTab = exports.DraggablePaneviewPanel = exports.PROPERTY_KEYS_GRIDVIEW = exports.PROPERTY_KEYS_SPLITVIEW = exports.DockviewDisposable = exports.DockviewCompositeDisposable = exports.DockviewMutableDisposable = exports.DockviewEvent = exports.DockviewEmitter = exports.PanelTransfer = exports.PaneTransfer = exports.getPanelData = exports.getPaneData = void 0;
|
|
17
|
+
exports.createSplitview = exports.createPaneview = exports.createGridview = exports.createDockview = exports.DockviewApi = exports.GridviewApi = exports.PaneviewApi = exports.SplitviewApi = exports.directionToPosition = exports.positionToDirection = exports.SplitviewPanel = exports.PaneviewUnhandledDragOverEvent = exports.PROPERTY_KEYS_PANEVIEW = exports.DefaultDockviewDeserialzier = exports.DefaultTab = exports.DockviewWillShowOverlayLocationEvent = exports.DockviewWillDropEvent = exports.DockviewDidDropEvent = exports.DockviewGroupPanelModel = exports.DraggablePaneviewPanel = exports.PROPERTY_KEYS_GRIDVIEW = exports.PROPERTY_KEYS_SPLITVIEW = exports.DockviewDisposable = exports.DockviewCompositeDisposable = exports.DockviewMutableDisposable = exports.DockviewEvent = exports.DockviewEmitter = exports.PanelTransfer = exports.PaneTransfer = exports.getPanelData = exports.getPaneData = void 0;
|
|
18
18
|
var dataTransfer_1 = require("./dnd/dataTransfer");
|
|
19
19
|
Object.defineProperty(exports, "getPaneData", { enumerable: true, get: function () { return dataTransfer_1.getPaneData; } });
|
|
20
20
|
Object.defineProperty(exports, "getPanelData", { enumerable: true, get: function () { return dataTransfer_1.getPanelData; } });
|
|
@@ -45,7 +45,12 @@ var draggablePaneviewPanel_1 = require("./paneview/draggablePaneviewPanel");
|
|
|
45
45
|
Object.defineProperty(exports, "DraggablePaneviewPanel", { enumerable: true, get: function () { return draggablePaneviewPanel_1.DraggablePaneviewPanel; } });
|
|
46
46
|
__exportStar(require("./dockview/components/panel/content"), exports);
|
|
47
47
|
__exportStar(require("./dockview/components/tab/tab"), exports);
|
|
48
|
-
|
|
48
|
+
var dockviewGroupPanelModel_1 = require("./dockview/dockviewGroupPanelModel");
|
|
49
|
+
Object.defineProperty(exports, "DockviewGroupPanelModel", { enumerable: true, get: function () { return dockviewGroupPanelModel_1.DockviewGroupPanelModel; } });
|
|
50
|
+
Object.defineProperty(exports, "DockviewDidDropEvent", { enumerable: true, get: function () { return dockviewGroupPanelModel_1.DockviewDidDropEvent; } });
|
|
51
|
+
Object.defineProperty(exports, "DockviewWillDropEvent", { enumerable: true, get: function () { return dockviewGroupPanelModel_1.DockviewWillDropEvent; } });
|
|
52
|
+
var events_2 = require("./dockview/events");
|
|
53
|
+
Object.defineProperty(exports, "DockviewWillShowOverlayLocationEvent", { enumerable: true, get: function () { return events_2.DockviewWillShowOverlayLocationEvent; } });
|
|
49
54
|
__exportStar(require("./dockview/types"), exports);
|
|
50
55
|
__exportStar(require("./dockview/dockviewGroupPanel"), exports);
|
|
51
56
|
__exportStar(require("./dockview/options"), exports);
|
|
@@ -343,13 +343,16 @@ var Overlay = /** @class */ (function (_super) {
|
|
|
343
343
|
var right = undefined;
|
|
344
344
|
var width = undefined;
|
|
345
345
|
var moveTop = function () {
|
|
346
|
-
|
|
346
|
+
// When dragging top handle, constrain top position to prevent oversizing
|
|
347
|
+
var maxTop = startPosition.originalY +
|
|
347
348
|
startPosition.originalHeight >
|
|
348
349
|
containerRect.height
|
|
349
|
-
?
|
|
350
|
+
? Math.max(0, containerRect.height -
|
|
351
|
+
Overlay.MINIMUM_HEIGHT)
|
|
350
352
|
: Math.max(0, startPosition.originalY +
|
|
351
353
|
startPosition.originalHeight -
|
|
352
|
-
Overlay.MINIMUM_HEIGHT)
|
|
354
|
+
Overlay.MINIMUM_HEIGHT);
|
|
355
|
+
top = (0, math_1.clamp)(y, 0, maxTop);
|
|
353
356
|
height =
|
|
354
357
|
startPosition.originalY +
|
|
355
358
|
startPosition.originalHeight -
|
|
@@ -360,22 +363,27 @@ var Overlay = /** @class */ (function (_super) {
|
|
|
360
363
|
top =
|
|
361
364
|
startPosition.originalY -
|
|
362
365
|
startPosition.originalHeight;
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
+
// When dragging bottom handle, constrain height to container height
|
|
367
|
+
var minHeight = top < 0 &&
|
|
368
|
+
typeof _this.options.minimumInViewportHeight ===
|
|
369
|
+
'number'
|
|
366
370
|
? -top +
|
|
367
371
|
_this.options.minimumInViewportHeight
|
|
368
|
-
: Overlay.MINIMUM_HEIGHT
|
|
372
|
+
: Overlay.MINIMUM_HEIGHT;
|
|
373
|
+
var maxHeight = containerRect.height - Math.max(0, top);
|
|
374
|
+
height = (0, math_1.clamp)(y - top, minHeight, maxHeight);
|
|
369
375
|
bottom = containerRect.height - top - height;
|
|
370
376
|
};
|
|
371
377
|
var moveLeft = function () {
|
|
372
|
-
|
|
378
|
+
var maxLeft = startPosition.originalX +
|
|
373
379
|
startPosition.originalWidth >
|
|
374
380
|
containerRect.width
|
|
375
|
-
?
|
|
381
|
+
? Math.max(0, containerRect.width -
|
|
382
|
+
Overlay.MINIMUM_WIDTH) // Prevent extending beyong right edge
|
|
376
383
|
: Math.max(0, startPosition.originalX +
|
|
377
384
|
startPosition.originalWidth -
|
|
378
|
-
Overlay.MINIMUM_WIDTH)
|
|
385
|
+
Overlay.MINIMUM_WIDTH);
|
|
386
|
+
left = (0, math_1.clamp)(x, 0, maxLeft); // min is 0 (Not -Infinity) to prevent dragging beyond left edge
|
|
379
387
|
width =
|
|
380
388
|
startPosition.originalX +
|
|
381
389
|
startPosition.originalWidth -
|
|
@@ -386,12 +394,15 @@ var Overlay = /** @class */ (function (_super) {
|
|
|
386
394
|
left =
|
|
387
395
|
startPosition.originalX -
|
|
388
396
|
startPosition.originalWidth;
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
397
|
+
// When dragging right handle, constrain width to container width
|
|
398
|
+
var minWidth = left < 0 &&
|
|
399
|
+
typeof _this.options.minimumInViewportWidth ===
|
|
400
|
+
'number'
|
|
392
401
|
? -left +
|
|
393
402
|
_this.options.minimumInViewportWidth
|
|
394
|
-
: Overlay.MINIMUM_WIDTH
|
|
403
|
+
: Overlay.MINIMUM_WIDTH;
|
|
404
|
+
var maxWidth = containerRect.width - Math.max(0, left);
|
|
405
|
+
width = (0, math_1.clamp)(x - left, minWidth, maxWidth);
|
|
395
406
|
right = containerRect.width - left - width;
|
|
396
407
|
};
|
|
397
408
|
switch (direction) {
|
|
@@ -572,11 +572,13 @@ var Splitview = /** @class */ (function () {
|
|
|
572
572
|
document.removeEventListener('pointermove', onPointerMove);
|
|
573
573
|
document.removeEventListener('pointerup', end);
|
|
574
574
|
document.removeEventListener('pointercancel', end);
|
|
575
|
+
document.removeEventListener('contextmenu', end);
|
|
575
576
|
_this._onDidSashEnd.fire(undefined);
|
|
576
577
|
};
|
|
577
578
|
document.addEventListener('pointermove', onPointerMove);
|
|
578
579
|
document.addEventListener('pointerup', end);
|
|
579
580
|
document.addEventListener('pointercancel', end);
|
|
581
|
+
document.addEventListener('contextmenu', end);
|
|
580
582
|
};
|
|
581
583
|
sash_1.addEventListener('pointerdown', onPointerStart_1);
|
|
582
584
|
var sashItem = {
|