summaryrefslogtreecommitdiff
path: root/demo/more/versioned1.ur
diff options
context:
space:
mode:
Diffstat (limited to 'demo/more/versioned1.ur')
-rw-r--r--demo/more/versioned1.ur18
1 files changed, 18 insertions, 0 deletions
diff --git a/demo/more/versioned1.ur b/demo/more/versioned1.ur
index 506d2778..592af3cf 100644
--- a/demo/more/versioned1.ur
+++ b/demo/more/versioned1.ur
@@ -9,6 +9,18 @@ open Versioned.Make(struct
Eq = _}}
end)
+fun retro vr =
+ ks <- keysAt vr;
+ ks <- List.mapM (fn r => fso <- archive vr r; return (r.Id, fso)) ks;
+
+ return <xml><body>
+ {List.mapX (fn (k, r) => <xml><li>
+ {[k]}: {case r of
+ None => <xml>Whoa!</xml>
+ | Some r => <xml>{[r.Nam]}, {[r.ShoeSize]}</xml>}
+ </li></xml>) ks}
+ </body></xml>
+
fun expandKey k =
name <- source "";
shoeSize <- source "";
@@ -23,6 +35,8 @@ fun main () =
name <- source "";
shoeSize <- source "";
+ times <- updateTimes;
+
return <xml><body>
<dyn signal={ks <- signal ks;
return (List.mapX (fn kr => <xml><div>
@@ -59,4 +73,8 @@ fun main () =
kr <- expandKey (readError id);
set ks (kr :: cur)}/></th></tr>
</table>
+
+ <h2>Archive</h2>
+
+ {List.mapX (fn (vr, tm) => <xml><li><a link={retro vr}>{[tm]}</a></li></xml>) times}
</body></xml>