chiark / gitweb /
wip, g, draggable, etc.
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 7 Jun 2020 21:04:12 +0000 (22:04 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 7 Jun 2020 21:04:12 +0000 (22:04 +0100)
templates/script.js
templates/test.html

index 607c883407fa4ce49fc212a495ff3a19be9eaab7..09721052632297fcf136bec0ac354fbf8ab5f886 100644 (file)
@@ -13,10 +13,12 @@ space = document.getElementById('space');
   console.log('foo1');
 
 function drag_mousedown(e) {
+  drag_cancel();
   console.log('mousedown', e);
+  delt = e.target;
+  if (!delt.dataset.p) { return; }
   dcx = e.clientX;
   dcy = e.clientY;
-  delt = e.target;
   dox = parseFloat(delt.getAttributeNS(null,"x"));
   doy = parseFloat(delt.getAttributeNS(null,"y"));
   dragging = false;
@@ -48,8 +50,7 @@ function drag_mousemove(e) {
 function drag_mouseup(e) {
   console.log('mouseup');
   drag_mousemove(e);
-  window.removeEventListener('mousemove', drag_mousemove, true);
-  window.removeEventListener('mouseup',   drag_mouseup,   true);
+  drag_cancel(e);
   if (dragging) {
     console.log('dragged', ddx, ddy);
   } else {
@@ -57,6 +58,11 @@ function drag_mouseup(e) {
   }
 }
 
+function drag_cancel() {
+  window.removeEventListener('mousemove', drag_mousemove, true);
+  window.removeEventListener('mouseup',   drag_mouseup,   true);
+}
+
 es = new EventSource("updates");
 es.onmessage = function(event) {
   status_node.innerHTML = event.data;
index 47484c64291a00493864001bc992a33cff8f7ced..cfe23984885e2747f01c98f217323d2993b82630 100644 (file)
@@ -10,9 +10,7 @@
         onmousedown="drag_mousedown(event)"
         >
       <rect fill="green" x="42" y="56" width="100" height="80"/>
-      <use href="#piece42" 
-          x="50" y="80"
-          />
+      <use href="#piece42" data-p="true" x="50" y="80" />
       <defs>
        <g id="piece42">
          <circle