chiark / gitweb /
stackorder test
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 11 Jul 2020 15:50:46 +0000 (16:50 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 11 Jul 2020 15:50:46 +0000 (16:50 +0100)
templates/script.ts
templates/session.tera

index b6d033390bf58e0fcf97f998514fb3861b3bb6bb..443302a9abc081631cc6cb4fac9056d1b62cdbd1 100644 (file)
@@ -61,7 +61,8 @@ var ctoken : string;
 
 var svg_ns : string;
 var space : SVGGraphicsElement;
-var def_marker : SVGGraphicsElement;
+var pieces_marker : SVGGraphicsElement;
+var defs_marker : SVGGraphicsElement;
 var logdiv : HTMLElement;
 var status_node : HTMLElement;
 
@@ -328,10 +329,10 @@ function piece_set_zlevel(uelem: SVGGraphicsElement,
   // O(new depth), which is right (since the UI for inserting
   // an object is itself O(new depth) UI operations to prepare.
 /*
-  let old_top = def_marker.previousElementSibling! as  unknown as SVGGraphicsElement;
+  let old_top = defs_marker.previousElementSibling! as  unknown as SVGGraphicsElement;
   modify(old_top);
   let container = uelem.parentElement!;
-  container.insertBefore(def_marker, uelem);
+  container.insertBefore(defs_marker, uelem);
 
   let previous = uelem | null;
   while ((previous = previous.previousElementSibling) != null &&
@@ -398,6 +399,13 @@ function uelem_checkconflict(piece: PieceId, uelem: SVGGraphicsElement) {
   add_log_message('Conflict! - simultaneous update');
 }
 
+function test_swap_stack() {
+  let old_bot = pieces_marker.nextElementSibling!;
+  let container = old_bot.parentElement!;
+  container.insertBefore(old_bot, defs_marker);
+  window.setTimeout(test_swap_stack, 1000);
+}
+
 function startup() {
   var body = document.getElementById("main-body")!;
   ctoken = body.dataset.ctoken!;
@@ -408,7 +416,8 @@ function startup() {
   logdiv = document.getElementById("log")!;
 
   space = svg_element('space')!;
-  def_marker = svg_element("def_marker")!;
+  pieces_marker = svg_element("pieces_marker")!;
+  defs_marker = svg_element("defs_marker")!;
   svg_ns = space.getAttribute('xmlns')!;
 
   var es = new EventSource("/_/updates/"+ctoken+'/'+gen);
@@ -435,6 +444,8 @@ function startup() {
       update_oe : (e as any).className,
     })
   }
+
+  test_swap_stack();
 }
 
 function doload(){
index c5b03d5f75c2679964e3504b3f1e7620e03dc41e..aa2f865a5eb629d34fbf00b69455f9a88748e81b 100644 (file)
         onmousedown="drag_mousedown(event)"
         >
       <rect fill="green" x="20" y="5" width="200" height="100"/>
+      <g id="pieces_marker"></g>
 {%- for piece in uses %}
       {{piece}}
 {%- endfor %}
-      <defs id="def_marker"></defs>
+      <g id="defs_marker"></g>
 {%- for piece in defs %}
       <defs id="defs{{ piece.0 }}">{{ piece.1 }}</defs>
 {%- endfor %}