Add support for RMB/Escape canceling layer drag reordering in the Layers panel (#3426)

* Add support for RMB/Escape canceling layer drag reordering in the Layers panel

* Disable hover effects on layers during drag; fix insertion line getting cut off at top of stack
This commit is contained in:
Keavon Chambers
2025-11-27 03:10:33 -08:00
committed by GitHub
parent ab5c87f017
commit 8cebde76e2
3 changed files with 157 additions and 99 deletions
-24
View File
@@ -1,24 +0,0 @@
let draggingElement: HTMLElement | undefined;
export function createDragManager(): () => void {
const clearDraggingElement = () => {
draggingElement = undefined;
};
// Add the event listener
document.addEventListener("drop", clearDraggingElement);
// Return the destructor
return () => {
// We use setTimeout to sequence this drop after any potential users in the current call stack progression, since this will begin in an entirely new call stack later
setTimeout(() => document.removeEventListener("drop", clearDraggingElement), 0);
};
}
export function beginDraggingElement(element: HTMLElement) {
draggingElement = element;
}
export function currentDraggingElement(): HTMLElement | undefined {
return draggingElement;
}