From 133ad038681afc79adf47b7772508b3c187433cb Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sun, 7 Jun 2020 13:55:40 +0200 Subject: JS: Dim nodes while they are being dragged. --- src/ws/view.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'src/ws/view.js') diff --git a/src/ws/view.js b/src/ws/view.js index 18dfb91..e96ec70 100644 --- a/src/ws/view.js +++ b/src/ws/view.js @@ -51,8 +51,19 @@ function deleteNode(id) function drag(target, e) { - e.dataTransfer.setData('Text', target.id); + e.dataTransfer.setData('id', target.id); e.stopPropagation(); // <--- this fixes the drag target problem + update(idFromStr(target.id), "dragged", "true"); +} + +function dragEnd(e) +{ + e.preventDefault(); + e.stopPropagation(); + + // FIXME: This doesn't seem to work in Chromium 65 + var id = e.dataTransfer.getData('id'); + update(idFromStr(id), "dragged", "false"); } function drop(target, e) @@ -60,21 +71,21 @@ function drop(target, e) e.preventDefault(); e.stopPropagation(); - var id = e.dataTransfer.getData('Text'); - var node = document.getElementById(id); + var id = e.dataTransfer.getData('id'); + update(idFromStr(id), "dragged", "false"); move(idFromStr(id), idFromStr(target.id)); } function subscribeMe(target, e) { e.stopPropagation(); - subscribe(target.title); + subscribe(target.nodeid); } function unsubscribeMe(target, e) { e.stopPropagation(); - unsubscribe(target.title); + unsubscribe(target.nodeid); } function showHideChildren(target, e) -- cgit v1.2.3