dockview-core 4.11.0 → 4.13.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 +5 -3
- package/dist/cjs/api/component.api.js +2 -2
- package/dist/cjs/api/dockviewGroupPanelApi.d.ts +3 -1
- package/dist/cjs/api/dockviewGroupPanelApi.js +24 -1
- package/dist/cjs/dockview/components/panel/content.d.ts +7 -0
- package/dist/cjs/dockview/components/panel/content.js +11 -0
- 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 +10 -4
- package/dist/cjs/dockview/dockviewComponent.js +167 -85
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +2 -2
- package/dist/cjs/dockview/dockviewGroupPanelModel.js +4 -1
- package/dist/cjs/dockview/dockviewPanel.d.ts +6 -4
- package/dist/cjs/dockview/dockviewPanel.js +12 -0
- 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 +172 -54
- 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 +172 -54
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +172 -54
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +172 -55
- 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 +172 -54
- 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 +172 -54
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/component.api.d.ts +5 -3
- package/dist/esm/api/component.api.js +2 -2
- package/dist/esm/api/dockviewGroupPanelApi.d.ts +3 -1
- package/dist/esm/api/dockviewGroupPanelApi.js +13 -1
- package/dist/esm/dockview/components/panel/content.d.ts +7 -0
- package/dist/esm/dockview/components/panel/content.js +11 -0
- 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 +10 -4
- package/dist/esm/dockview/dockviewComponent.js +99 -33
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +2 -2
- package/dist/esm/dockview/dockviewGroupPanelModel.js +5 -2
- package/dist/esm/dockview/dockviewPanel.d.ts +6 -4
- package/dist/esm/dockview/dockviewPanel.js +12 -0
- 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
|
@@ -21,6 +21,7 @@ export interface IDockviewPanel extends IDisposable, IPanel {
|
|
|
21
21
|
updateParentGroup(group: DockviewGroupPanel, options?: {
|
|
22
22
|
skipSetActive?: boolean;
|
|
23
23
|
}): void;
|
|
24
|
+
updateFromStateModel(state: GroupviewPanelState): void;
|
|
24
25
|
init(params: IGroupPanelInitParameters): void;
|
|
25
26
|
toJSON(): GroupviewPanelState;
|
|
26
27
|
setTitle(title: string): void;
|
|
@@ -37,10 +38,10 @@ export declare class DockviewPanel extends CompositeDisposable implements IDockv
|
|
|
37
38
|
private _params?;
|
|
38
39
|
private _title;
|
|
39
40
|
private _renderer;
|
|
40
|
-
private
|
|
41
|
-
private
|
|
42
|
-
private
|
|
43
|
-
private
|
|
41
|
+
private _minimumWidth;
|
|
42
|
+
private _minimumHeight;
|
|
43
|
+
private _maximumWidth;
|
|
44
|
+
private _maximumHeight;
|
|
44
45
|
get params(): Parameters | undefined;
|
|
45
46
|
get title(): string | undefined;
|
|
46
47
|
get group(): DockviewGroupPanel;
|
|
@@ -58,6 +59,7 @@ export declare class DockviewPanel extends CompositeDisposable implements IDockv
|
|
|
58
59
|
setTitle(title: string): void;
|
|
59
60
|
setRenderer(renderer: DockviewPanelRenderer): void;
|
|
60
61
|
update(event: PanelUpdateEvent): void;
|
|
62
|
+
updateFromStateModel(state: GroupviewPanelState): void;
|
|
61
63
|
updateParentGroup(group: DockviewGroupPanel, options?: {
|
|
62
64
|
skipSetActive?: boolean;
|
|
63
65
|
}): void;
|
|
@@ -115,6 +115,18 @@ export class DockviewPanel extends CompositeDisposable {
|
|
|
115
115
|
params: this._params,
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
|
+
updateFromStateModel(state) {
|
|
119
|
+
var _a, _b, _c;
|
|
120
|
+
this._maximumHeight = state.maximumHeight;
|
|
121
|
+
this._minimumHeight = state.minimumHeight;
|
|
122
|
+
this._maximumWidth = state.maximumWidth;
|
|
123
|
+
this._minimumWidth = state.minimumWidth;
|
|
124
|
+
this.update({ params: (_a = state.params) !== null && _a !== void 0 ? _a : {} });
|
|
125
|
+
this.setTitle((_b = state.title) !== null && _b !== void 0 ? _b : this.id);
|
|
126
|
+
this.setRenderer((_c = state.renderer) !== null && _c !== void 0 ? _c : this.accessor.renderer);
|
|
127
|
+
// state.contentComponent;
|
|
128
|
+
// state.tabComponent;
|
|
129
|
+
}
|
|
118
130
|
updateParentGroup(group, options) {
|
|
119
131
|
this._group = group;
|
|
120
132
|
this.api.group = this._group;
|
|
@@ -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
|
}
|
package/dist/esm/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/esm/index.js
CHANGED
|
@@ -16,7 +16,8 @@ export * from './gridview/baseComponentGridview';
|
|
|
16
16
|
export { DraggablePaneviewPanel, } 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, } from './dockview/dockviewGroupPanelModel';
|
|
20
|
+
export { DockviewWillShowOverlayLocationEvent } from './dockview/events';
|
|
20
21
|
export * from './dockview/types';
|
|
21
22
|
export * from './dockview/dockviewGroupPanel';
|
|
22
23
|
export * from './dockview/options';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { disableIframePointEvents, quasiDefaultPrevented, toggleClass, } from '../dom';
|
|
2
|
-
import { Emitter, addDisposableListener
|
|
2
|
+
import { Emitter, addDisposableListener } from '../events';
|
|
3
3
|
import { CompositeDisposable, MutableDisposable } from '../lifecycle';
|
|
4
4
|
import { clamp } from '../math';
|
|
5
5
|
class AriaLevelTracker {
|
|
@@ -267,13 +267,16 @@ export class Overlay extends CompositeDisposable {
|
|
|
267
267
|
let right = undefined;
|
|
268
268
|
let width = undefined;
|
|
269
269
|
const moveTop = () => {
|
|
270
|
-
|
|
270
|
+
// When dragging top handle, constrain top position to prevent oversizing
|
|
271
|
+
const maxTop = startPosition.originalY +
|
|
271
272
|
startPosition.originalHeight >
|
|
272
273
|
containerRect.height
|
|
273
|
-
?
|
|
274
|
+
? Math.max(0, containerRect.height -
|
|
275
|
+
Overlay.MINIMUM_HEIGHT)
|
|
274
276
|
: Math.max(0, startPosition.originalY +
|
|
275
277
|
startPosition.originalHeight -
|
|
276
|
-
Overlay.MINIMUM_HEIGHT)
|
|
278
|
+
Overlay.MINIMUM_HEIGHT);
|
|
279
|
+
top = clamp(y, 0, maxTop);
|
|
277
280
|
height =
|
|
278
281
|
startPosition.originalY +
|
|
279
282
|
startPosition.originalHeight -
|
|
@@ -284,22 +287,27 @@ export class Overlay extends CompositeDisposable {
|
|
|
284
287
|
top =
|
|
285
288
|
startPosition.originalY -
|
|
286
289
|
startPosition.originalHeight;
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
+
// When dragging bottom handle, constrain height to container height
|
|
291
|
+
const minHeight = top < 0 &&
|
|
292
|
+
typeof this.options.minimumInViewportHeight ===
|
|
293
|
+
'number'
|
|
290
294
|
? -top +
|
|
291
295
|
this.options.minimumInViewportHeight
|
|
292
|
-
: Overlay.MINIMUM_HEIGHT
|
|
296
|
+
: Overlay.MINIMUM_HEIGHT;
|
|
297
|
+
const maxHeight = containerRect.height - Math.max(0, top);
|
|
298
|
+
height = clamp(y - top, minHeight, maxHeight);
|
|
293
299
|
bottom = containerRect.height - top - height;
|
|
294
300
|
};
|
|
295
301
|
const moveLeft = () => {
|
|
296
|
-
|
|
302
|
+
const maxLeft = startPosition.originalX +
|
|
297
303
|
startPosition.originalWidth >
|
|
298
304
|
containerRect.width
|
|
299
|
-
?
|
|
305
|
+
? Math.max(0, containerRect.width -
|
|
306
|
+
Overlay.MINIMUM_WIDTH) // Prevent extending beyong right edge
|
|
300
307
|
: Math.max(0, startPosition.originalX +
|
|
301
308
|
startPosition.originalWidth -
|
|
302
|
-
Overlay.MINIMUM_WIDTH)
|
|
309
|
+
Overlay.MINIMUM_WIDTH);
|
|
310
|
+
left = clamp(x, 0, maxLeft); // min is 0 (Not -Infinity) to prevent dragging beyond left edge
|
|
303
311
|
width =
|
|
304
312
|
startPosition.originalX +
|
|
305
313
|
startPosition.originalWidth -
|
|
@@ -310,12 +318,15 @@ export class Overlay extends CompositeDisposable {
|
|
|
310
318
|
left =
|
|
311
319
|
startPosition.originalX -
|
|
312
320
|
startPosition.originalWidth;
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
321
|
+
// When dragging right handle, constrain width to container width
|
|
322
|
+
const minWidth = left < 0 &&
|
|
323
|
+
typeof this.options.minimumInViewportWidth ===
|
|
324
|
+
'number'
|
|
316
325
|
? -left +
|
|
317
326
|
this.options.minimumInViewportWidth
|
|
318
|
-
: Overlay.MINIMUM_WIDTH
|
|
327
|
+
: Overlay.MINIMUM_WIDTH;
|
|
328
|
+
const maxWidth = containerRect.width - Math.max(0, left);
|
|
329
|
+
width = clamp(x - left, minWidth, maxWidth);
|
|
319
330
|
right = containerRect.width - left - width;
|
|
320
331
|
};
|
|
321
332
|
switch (direction) {
|
|
@@ -427,11 +427,13 @@ export class Splitview {
|
|
|
427
427
|
document.removeEventListener('pointermove', onPointerMove);
|
|
428
428
|
document.removeEventListener('pointerup', end);
|
|
429
429
|
document.removeEventListener('pointercancel', end);
|
|
430
|
+
document.removeEventListener('contextmenu', end);
|
|
430
431
|
this._onDidSashEnd.fire(undefined);
|
|
431
432
|
};
|
|
432
433
|
document.addEventListener('pointermove', onPointerMove);
|
|
433
434
|
document.addEventListener('pointerup', end);
|
|
434
435
|
document.addEventListener('pointercancel', end);
|
|
436
|
+
document.addEventListener('contextmenu', end);
|
|
435
437
|
};
|
|
436
438
|
sash.addEventListener('pointerdown', onPointerStart);
|
|
437
439
|
const sashItem = {
|