chiark / gitweb /
js tests seem to work
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 12 Oct 2020 00:31:17 +0000 (01:31 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 12 Oct 2020 00:31:17 +0000 (01:31 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/api.rs
templates/script.ts
wasm/wasm.rs

index 1a8bebdcf307569c55575a5878bfd1e5dcedc3f9..aadf34d866c72c94ad3d35d2307853a572988a75 100644 (file)
@@ -199,6 +199,7 @@ struct ApiPieceWrest {
 #[throws(OE)]
 fn api_wrest(form : Json<ApiPiece<ApiPieceWrest>>)
             -> impl response::Responder<'static> {
+    // xxx wresting does not seem to work, maybe client isn't doing it?
   api_piece_op(form)
 }
 impl ApiPieceOp for ApiPieceWrest {
index 9d3ac39fbde0ebd02102d42ceb19345e029d4c13..ec7e0124d3290014a6ad87a5f46232fd07253c33 100644 (file)
@@ -741,7 +741,7 @@ function drag_mousemove(e: MouseEvent) {
        console.log('CHECK RAISE ', dragraise, dragraise*dragraise, ddr2);
        piece_set_zlevel(piece,p, (oldtop_piece) => {
          let oldtop_p = pieces[oldtop_piece]!;
-         let z = "42" as any; // xxx Bigfloats.add(oldtop_p.z, 1);
+         let z = wasm_bindgen.increment(oldtop_p.z);
          p.z = z;
          api_piece(api, "setz", piece,p, { z: z });
        });
index 650cbf6d41bf97a36f6a2efa98927a4141c280ae..8c25c5a1f93916aa3f0c272789d3ac8e750b4791 100644 (file)
@@ -41,6 +41,13 @@ pub fn check(packed: &JsValue) {
   ZCoord::check_str(&get_packed_str(packed)?).e()?;
 }
 
+#[throws(JsValue)]
+#[wasm_bindgen]
+pub fn increment(packed: &JsValue) -> JsValue {
+  let mut m = Mutable::from_str(&get_packed_str(packed)?).e()?;
+  m.increment().e()?.to_string().into()
+}
+
 #[wasm_bindgen]
 pub struct ZCoordIterator (zcoord::BoxedIterator);