From: Ian Jackson Date: Fri, 26 Jun 2020 23:47:48 +0000 (+0100) Subject: lines around it when we pick it up X-Git-Tag: otter-0.2.0~1543 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=5b0a7adbc09694d6586977afa4ae41eed5dd7fb6;p=otter.git lines around it when we pick it up --- diff --git a/src/bin/server.rs b/src/bin/server.rs index 1fbb5c46..7aa10637 100644 --- a/src/bin/server.rs +++ b/src/bin/server.rs @@ -91,7 +91,7 @@ fn session(form : Json) -> Result { {} "##, - pri.id_piece(), + pri.id_select(), pr.p.svg_select(&pri))); defs.push(pr.p.svg_x_defs(&pri)); diff --git a/templates/script.js b/templates/script.js index 4fdef4b4..d0837436 100644 --- a/templates/script.js +++ b/templates/script.js @@ -105,10 +105,22 @@ function drag_mousedown(e) { function set_grab(elt, owner) { elt.dataset.g = owner; + var [p, piece] = piece_cleanup_grab(elt); + var nelem = document.createElementNS(svg_ns,'use'); + nelem.setAttributeNS(null,'href','#select'+p); + piece.appendChild(nelem); } - function set_ungrab(elt) { elt.dataset.g = ""; + piece_cleanup_grab(elt); +} +function piece_cleanup_grab(elt) { + var p = elt.dataset.p; + var piece = document.getElementById('piece'+p); + while (piece.children.length > 1) { + piece.lastElementChild.remove(); + } + return [p, piece]; } function drag_mousemove(e) { @@ -172,6 +184,7 @@ function startup() { status_node.innerHTML = 'js-done' dragthresh = 5; space = document.getElementById('space'); + svg_ns = space.getAttribute('xmlns'); es = new EventSource("/_/updates/"+token+"/"+clientid); es.onmessage = function(event) {