From 881e80887d76eb1ac7128ad794e5508be8b81e8f Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 5 Jul 2020 21:33:06 +0100 Subject: [PATCH] wip --- src/bin/server.rs | 3 ++- templates/script.js | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/bin/server.rs b/src/bin/server.rs index 758af966..98268e27 100644 --- a/src/bin/server.rs +++ b/src/bin/server.rs @@ -92,7 +92,8 @@ fn session(form : Json) -> Result { alldefs.push((pri.id, defs)); uses.push(format!( - r##""##, + r##""##, + pri.id_piece(), pri.id_piece(), pri.id, pr.pos[0], pr.pos[1])); diff --git a/templates/script.js b/templates/script.js index 2e13955d..872ee124 100644 --- a/templates/script.js +++ b/templates/script.js @@ -8,7 +8,8 @@ // In svg toplevel // // uelem -// +// #use{} +// // .piece piece id (static) // .gplayer grabbed user (player id string, or "") // container to allow quick movement and hang stuff off @@ -213,6 +214,19 @@ function drag_cancel() { messages.PieceUpdate = function(data) { console.log('PIECE UPDATE ',data) + var piece = data[0]; + var info = data [1]; + var uelem = document.getElementById('use'+piece); + var delem = document.getElementById('defs'+piece); + delem.innerHTML = info.svgs; + uelem.setAttributeNS(null, "x", info.pos[0]); + uelem.setAttributeNS(null, "y", info.pos[1]); + // xxx do something about conflict + if (info.held == '') { + set_ungrab(uelem, piece); + } else { + set_grab(uelem, piece, info.held); + } } function startup() { -- 2.30.2