lets see
All checks were successful
Build Org Website / build (push) Successful in 49s

This commit is contained in:
2026-05-10 18:28:30 +01:00
parent 7b3a60f937
commit 4f6d206d4e

View File

@@ -3772,13 +3772,45 @@ HIDDEN_APP_HTML = r"""<!doctype html>
function beginNodeDrag(event, id) { function beginNodeDrag(event, id) {
if (event.button !== 0) return; if (event.button !== 0) return;
event.preventDefault();
event.stopPropagation(); event.stopPropagation();
hideContextMenu(); hideContextMenu();
selectNode(id);
// First click/press only loads/selects the node.
// Dragging is only allowed when the node is already selected.
if (state.selectedId !== id) {
state.drag = null;
state.draggingId = "";
selectNode(id);
updateDragPreview();
setStatus("memory loaded. click and drag it again to create a connection.");
return;
}
// Second click + drag starts the connection.
const point = pointerWorld(event); const point = pointerWorld(event);
const entry = state.entries.find((item) => item.id === id); const entry = state.entries.find((item) => item.id === id);
const related = new Set([...(entry?.continuationLinks || []), ...(entry?.echoes || []), ...(entry?.thematicLinks || []), ...(entry?.symbolicLinks || []), ...(entry?.mirroredEntries || [])]); const related = new Set([
state.drag = { sourceId: id, pointerId: event.pointerId, x: point.x, y: point.y, targetId: "", targetKind: "", relation: relationForEvent(event), compatibleIds: related, startedAt: Date.now() }; ...(entry?.continuationLinks || []),
...(entry?.echoes || []),
...(entry?.thematicLinks || []),
...(entry?.symbolicLinks || []),
...(entry?.mirroredEntries || []),
]);
state.drag = {
sourceId: id,
pointerId: event.pointerId,
x: point.x,
y: point.y,
targetId: "",
targetKind: "",
relation: relationForEvent(event),
compatibleIds: related,
startedAt: Date.now(),
};
state.draggingId = id; state.draggingId = id;
$("dragGuide").classList.remove("hidden"); $("dragGuide").classList.remove("hidden");
$("graph").setPointerCapture(event.pointerId); $("graph").setPointerCapture(event.pointerId);