chiark / gitweb /
wip non dnd
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 7 Jun 2020 20:19:03 +0000 (21:19 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 7 Jun 2020 20:19:03 +0000 (21:19 +0100)
templates/script.js
templates/test.html

index 8e2637c273e31ce834551a6afdac9dbd4d7b664f..04d29f94afb84a8910b06bd78fa5cb53ff085e71 100644 (file)
@@ -7,28 +7,42 @@ status_node.innerHTML = 'js-done'
 
 var our_dnd_type = "text/puvnex-game-server-dummy";
 
+dragthresh = 5;
+
   console.log('foo1');
 
 function drag_mousedown(e) {
   console.log('mousedown', e);
   dcx = e.clientX;
   dcy = e.clientY;
+  dragging = false;
   window.addEventListener('mousemove', drag_mousemove, true);
   window.addEventListener('mouseup',   drag_mouseup,   true);
 }
 
 function drag_mousemove(e) {
+  ddx = e.clientX - dcx;
+  ddy = e.clientY - dcy;
+  if (!dragging) {
+    ddr2 = ddx*ddx + ddy*ddy;
+    if (ddr2 > dragthresh) {
+      dragging = true;
+    }
+  }
   console.log('mousemove',
-             e.clientX - dcx,
-             e.clientY - dcy);
+             ddx, ddy, dragging);
 }
 
 function drag_mouseup(e) {
-  console.log('mouseup',
-             e.clientX - dcx,
-             e.clientY - dcy);
+  console.log('mouseup');
+  drag_mousemove(e);
   window.removeEventListener('mousemove', drag_mousemove, true);
   window.removeEventListener('mouseup',   drag_mouseup,   true);
+  if (dragging) {
+    console.log('dragged', ddx, ddy);
+  } else {
+    console.log('clicked');
+  }
 }
 
 es = new EventSource("updates");
index 3bb1ff7aa5977d7b9b6db21ac677850794dd711b..dddb28f2d5ec043fb29d00723d9ae516c0c23239 100644 (file)
@@ -11,7 +11,6 @@
       <circle
        draggable="true"
        onmousedown="drag_mousedown(event)"
-       onclick="console.log('click')"
        data-objid="42"
        fill="red" cx="50" cy="80" r="10"/>
     </svg>