summaryrefslogtreecommitdiff
path: root/src/ws/view.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/ws/view.js')
-rw-r--r--src/ws/view.js21
1 files changed, 16 insertions, 5 deletions
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)