From 8833a973b9ff1fb64d773d612f7e8c2bf1d68696 Mon Sep 17 00:00:00 2001 From: mathuo <6710312+mathuo@users.noreply.github.com> Date: Sun, 23 Jul 2023 21:24:56 +0100 Subject: [PATCH] feat: expose dragstart event on custom handlers --- packages/dockview-core/src/dnd/abstractDragHandler.ts | 4 ++-- packages/dockview-core/src/dnd/groupDragHandler.ts | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/dockview-core/src/dnd/abstractDragHandler.ts b/packages/dockview-core/src/dnd/abstractDragHandler.ts index 0e452dcf3..b2f6d0475 100644 --- a/packages/dockview-core/src/dnd/abstractDragHandler.ts +++ b/packages/dockview-core/src/dnd/abstractDragHandler.ts @@ -25,7 +25,7 @@ export abstract class DragHandler extends CompositeDisposable { this.configure(); } - abstract getData(dataTransfer?: DataTransfer | null): IDisposable; + abstract getData(event: DragEvent): IDisposable; protected isCancelled(_event: DragEvent): boolean { return false; @@ -60,7 +60,7 @@ export abstract class DragHandler extends CompositeDisposable { this.el.classList.add('dv-dragged'); setTimeout(() => this.el.classList.remove('dv-dragged'), 0); - this.dataDisposable.value = this.getData(event.dataTransfer); + this.dataDisposable.value = this.getData(event); if (event.dataTransfer) { event.dataTransfer.effectAllowed = 'move'; diff --git a/packages/dockview-core/src/dnd/groupDragHandler.ts b/packages/dockview-core/src/dnd/groupDragHandler.ts index 0a6f55008..9cc5d58a9 100644 --- a/packages/dockview-core/src/dnd/groupDragHandler.ts +++ b/packages/dockview-core/src/dnd/groupDragHandler.ts @@ -43,7 +43,9 @@ export class GroupDragHandler extends DragHandler { return false; } - getData(dataTransfer: DataTransfer | null): IDisposable { + getData(dragEvent: DragEvent): IDisposable { + const dataTransfer = dragEvent.dataTransfer; + this.panelTransfer.setData( [new PanelTransfer(this.accessorId, this.group.id, null)], PanelTransfer.prototype