mirror of
https://github.com/mathuo/dockview
synced 2025-09-09 10:56:25 +00:00
fix: self dropping group dnd
This commit is contained in:
parent
747049b8f3
commit
bf350e404b
@ -247,17 +247,12 @@ export class Groupview extends CompositeDisposable implements IGroupview {
|
||||
|
||||
const data = getPanelData();
|
||||
|
||||
if (
|
||||
data &&
|
||||
data.panelId === null &&
|
||||
data.viewId === this.accessor.id &&
|
||||
data.groupId !== this.id
|
||||
) {
|
||||
// prevent dropping on self for group dnd
|
||||
return true;
|
||||
}
|
||||
|
||||
if (data && data.viewId === this.accessor.id) {
|
||||
if (data.panelId === null && data.groupId === this.id) {
|
||||
// don't allow group move to drop on self
|
||||
return false;
|
||||
}
|
||||
|
||||
const groupHasOnePanelAndIsActiveDragElement =
|
||||
this._panels.length === 1 && data.groupId === this.id;
|
||||
|
||||
|
@ -106,6 +106,14 @@ export class Tab extends CompositeDisposable implements ITab {
|
||||
const data = getPanelData();
|
||||
|
||||
if (data && this.accessor.id === data.viewId) {
|
||||
if (
|
||||
data.panelId === null &&
|
||||
data.groupId === this.group.id
|
||||
) {
|
||||
// don't allow group move to drop on self
|
||||
return false;
|
||||
}
|
||||
|
||||
return this.panelId !== data.panelId;
|
||||
}
|
||||
|
||||
|
@ -46,6 +46,14 @@ export class VoidContainer extends CompositeDisposable {
|
||||
const data = getPanelData();
|
||||
|
||||
if (data && this.accessor.id === data.viewId) {
|
||||
if (
|
||||
data.panelId === null &&
|
||||
data.groupId === this.group.id
|
||||
) {
|
||||
// don't allow group move to drop on self
|
||||
return false;
|
||||
}
|
||||
|
||||
// don't show the overlay if the tab being dragged is the last panel of this group
|
||||
return last(this.group.panels)?.id !== data.panelId;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user