2026-08-06 10:54:51 +08:00
|
|
|
export const SESSION_DRAG_TYPE = "application/x-nanobot-session-key";
|
|
|
|
|
|
|
|
|
|
export function hasDraggedSession(dataTransfer: DataTransfer): boolean {
|
|
|
|
|
return Array.from(dataTransfer.types).includes(SESSION_DRAG_TYPE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function readDraggedSession(dataTransfer: DataTransfer): string | null {
|
|
|
|
|
const sessionKey = dataTransfer.getData(SESSION_DRAG_TYPE).trim();
|
|
|
|
|
return sessionKey || null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function writeDraggedSession(
|
|
|
|
|
dataTransfer: DataTransfer,
|
|
|
|
|
sessionKey: string,
|
|
|
|
|
): void {
|
2026-08-06 11:19:46 +08:00
|
|
|
dataTransfer.effectAllowed = "copyMove";
|
2026-08-06 10:54:51 +08:00
|
|
|
dataTransfer.setData(SESSION_DRAG_TYPE, sessionKey);
|
|
|
|
|
}
|