dockview-core 4.2.4 → 4.3.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 -1
- package/dist/cjs/dnd/droptarget.js +4 -4
- package/dist/cjs/dnd/ghost.js +2 -0
- package/dist/cjs/dockview/components/titlebar/voidContainer.d.ts +1 -1
- package/dist/cjs/dockview/components/titlebar/voidContainer.js +4 -4
- package/dist/cjs/dockview/dockviewComponent.d.ts +1 -0
- package/dist/cjs/dockview/dockviewComponent.js +25 -24
- package/dist/cjs/dom.js +5 -7
- package/dist/dockview-core.amd.js +26 -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 +26 -25
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +26 -25
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +26 -25
- 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 +26 -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 +26 -25
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/component.api.d.ts +1 -1
- package/dist/esm/dnd/droptarget.js +4 -4
- package/dist/esm/dnd/ghost.js +2 -0
- package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +1 -1
- package/dist/esm/dockview/components/titlebar/voidContainer.js +4 -4
- package/dist/esm/dockview/dockviewComponent.d.ts +1 -0
- package/dist/esm/dockview/dockviewComponent.js +10 -9
- package/dist/esm/dom.js +5 -7
- package/package.json +1 -1
|
@@ -471,7 +471,7 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
|
|
|
471
471
|
/**
|
|
472
472
|
* Get a group object given a `string` id. May return undefined.
|
|
473
473
|
*/
|
|
474
|
-
getGroup(id: string):
|
|
474
|
+
getGroup(id: string): IDockviewGroupPanel | undefined;
|
|
475
475
|
/**
|
|
476
476
|
* Add a floating group
|
|
477
477
|
*/
|
|
@@ -86,9 +86,9 @@ export class Droptarget extends CompositeDisposable {
|
|
|
86
86
|
onDragOver: (e) => {
|
|
87
87
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
88
88
|
Droptarget.ACTUAL_TARGET = this;
|
|
89
|
-
const
|
|
89
|
+
const overrideTarget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
90
90
|
if (this._acceptedTargetZonesSet.size === 0) {
|
|
91
|
-
if (
|
|
91
|
+
if (overrideTarget) {
|
|
92
92
|
return;
|
|
93
93
|
}
|
|
94
94
|
this.removeDropTarget();
|
|
@@ -115,7 +115,7 @@ export class Droptarget extends CompositeDisposable {
|
|
|
115
115
|
return;
|
|
116
116
|
}
|
|
117
117
|
if (!this.options.canDisplayOverlay(e, quadrant)) {
|
|
118
|
-
if (
|
|
118
|
+
if (overrideTarget) {
|
|
119
119
|
return;
|
|
120
120
|
}
|
|
121
121
|
this.removeDropTarget();
|
|
@@ -135,7 +135,7 @@ export class Droptarget extends CompositeDisposable {
|
|
|
135
135
|
return;
|
|
136
136
|
}
|
|
137
137
|
this.markAsUsed(e);
|
|
138
|
-
if (
|
|
138
|
+
if (overrideTarget) {
|
|
139
139
|
//
|
|
140
140
|
}
|
|
141
141
|
else if (!this.targetElement) {
|
package/dist/esm/dnd/ghost.js
CHANGED
|
@@ -3,6 +3,8 @@ export function addGhostImage(dataTransfer, ghostElement, options) {
|
|
|
3
3
|
var _a, _b;
|
|
4
4
|
// class dockview provides to force ghost image to be drawn on a different layer and prevent weird rendering issues
|
|
5
5
|
addClasses(ghostElement, 'dv-dragged');
|
|
6
|
+
// move the element off-screen initially otherwise it may in some cases be rendered at (0,0) momentarily
|
|
7
|
+
ghostElement.style.top = '-9999px';
|
|
6
8
|
document.body.appendChild(ghostElement);
|
|
7
9
|
dataTransfer.setDragImage(ghostElement, (_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0, (_b = options === null || options === void 0 ? void 0 : options.y) !== null && _b !== void 0 ? _b : 0);
|
|
8
10
|
setTimeout(() => {
|
|
@@ -7,7 +7,7 @@ export declare class VoidContainer extends CompositeDisposable {
|
|
|
7
7
|
private readonly accessor;
|
|
8
8
|
private readonly group;
|
|
9
9
|
private readonly _element;
|
|
10
|
-
private readonly
|
|
10
|
+
private readonly dropTarget;
|
|
11
11
|
private readonly _onDrop;
|
|
12
12
|
readonly onDrop: Event<DroptargetEvent>;
|
|
13
13
|
private readonly _onDragStart;
|
|
@@ -22,7 +22,7 @@ export class VoidContainer extends CompositeDisposable {
|
|
|
22
22
|
this.accessor.doSetGroupActive(this.group);
|
|
23
23
|
}));
|
|
24
24
|
const handler = new GroupDragHandler(this._element, accessor, group);
|
|
25
|
-
this.
|
|
25
|
+
this.dropTarget = new Droptarget(this._element, {
|
|
26
26
|
acceptedTargetZones: ['center'],
|
|
27
27
|
canDisplayOverlay: (event, position) => {
|
|
28
28
|
const data = getPanelData();
|
|
@@ -33,11 +33,11 @@ export class VoidContainer extends CompositeDisposable {
|
|
|
33
33
|
},
|
|
34
34
|
getOverrideTarget: () => { var _a; return (_a = group.model.dropTargetContainer) === null || _a === void 0 ? void 0 : _a.model; },
|
|
35
35
|
});
|
|
36
|
-
this.onWillShowOverlay = this.
|
|
36
|
+
this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
|
|
37
37
|
this.addDisposables(handler, handler.onDragStart((event) => {
|
|
38
38
|
this._onDragStart.fire(event);
|
|
39
|
-
}), this.
|
|
39
|
+
}), this.dropTarget.onDrop((event) => {
|
|
40
40
|
this._onDrop.fire(event);
|
|
41
|
-
}), this.
|
|
41
|
+
}), this.dropTarget);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -326,9 +326,11 @@ export class DockviewComponent extends BaseGrid {
|
|
|
326
326
|
const gready = document.createElement('div');
|
|
327
327
|
gready.className = 'dv-overlay-render-container';
|
|
328
328
|
const overlayRenderContainer = new OverlayRenderContainer(gready, this);
|
|
329
|
-
const referenceGroup =
|
|
330
|
-
?
|
|
331
|
-
: itemToPopout
|
|
329
|
+
const referenceGroup = (options === null || options === void 0 ? void 0 : options.referenceGroup)
|
|
330
|
+
? options.referenceGroup
|
|
331
|
+
: itemToPopout instanceof DockviewPanel
|
|
332
|
+
? itemToPopout.group
|
|
333
|
+
: itemToPopout;
|
|
332
334
|
const referenceLocation = itemToPopout.api.location.type;
|
|
333
335
|
/**
|
|
334
336
|
* The group that is being added doesn't already exist within the DOM, the most likely occurance
|
|
@@ -818,7 +820,7 @@ export class DockviewComponent extends BaseGrid {
|
|
|
818
820
|
return result;
|
|
819
821
|
}
|
|
820
822
|
fromJSON(data) {
|
|
821
|
-
var _a, _b
|
|
823
|
+
var _a, _b;
|
|
822
824
|
this.clear();
|
|
823
825
|
if (typeof data !== 'object' || data === null) {
|
|
824
826
|
throw new Error('serialized layout must be a non-null object');
|
|
@@ -890,12 +892,11 @@ export class DockviewComponent extends BaseGrid {
|
|
|
890
892
|
for (const serializedPopoutGroup of serializedPopoutGroups) {
|
|
891
893
|
const { data, position, gridReferenceGroup, url } = serializedPopoutGroup;
|
|
892
894
|
const group = createGroupFromSerializedState(data);
|
|
893
|
-
this.addPopoutGroup(
|
|
894
|
-
? this.getPanel(gridReferenceGroup)
|
|
895
|
-
: undefined)) !== null && _c !== void 0 ? _c : group, {
|
|
895
|
+
this.addPopoutGroup(group, {
|
|
896
896
|
position: position !== null && position !== void 0 ? position : undefined,
|
|
897
|
-
overridePopoutGroup: gridReferenceGroup
|
|
898
|
-
|
|
897
|
+
overridePopoutGroup: gridReferenceGroup ? group : undefined,
|
|
898
|
+
referenceGroup: gridReferenceGroup
|
|
899
|
+
? this.getPanel(gridReferenceGroup)
|
|
899
900
|
: undefined,
|
|
900
901
|
popoutUrl: url,
|
|
901
902
|
});
|
package/dist/esm/dom.js
CHANGED
|
@@ -317,9 +317,7 @@ export function onDidWindowResizeEnd(element, cb) {
|
|
|
317
317
|
export function shiftAbsoluteElementIntoView(element, root, options = { buffer: 10 }) {
|
|
318
318
|
const buffer = options.buffer;
|
|
319
319
|
const rect = element.getBoundingClientRect();
|
|
320
|
-
const rootRect =
|
|
321
|
-
const viewportWidth = root.clientWidth;
|
|
322
|
-
const viewportHeight = root.clientHeight;
|
|
320
|
+
const rootRect = root.getBoundingClientRect();
|
|
323
321
|
let translateX = 0;
|
|
324
322
|
let translateY = 0;
|
|
325
323
|
const left = rect.left - rootRect.left;
|
|
@@ -330,15 +328,15 @@ export function shiftAbsoluteElementIntoView(element, root, options = { buffer:
|
|
|
330
328
|
if (left < buffer) {
|
|
331
329
|
translateX = buffer - left;
|
|
332
330
|
}
|
|
333
|
-
else if (right >
|
|
334
|
-
translateX =
|
|
331
|
+
else if (right > buffer) {
|
|
332
|
+
translateX = -buffer - right;
|
|
335
333
|
}
|
|
336
334
|
// Check vertical overflow
|
|
337
335
|
if (top < buffer) {
|
|
338
336
|
translateY = buffer - top;
|
|
339
337
|
}
|
|
340
|
-
else if (bottom >
|
|
341
|
-
translateY =
|
|
338
|
+
else if (bottom > buffer) {
|
|
339
|
+
translateY = -bottom - buffer;
|
|
342
340
|
}
|
|
343
341
|
// Apply the translation if needed
|
|
344
342
|
if (translateX !== 0 || translateY !== 0) {
|