summaryrefslogtreecommitdiff
path: root/jslib/urweb.js
diff options
context:
space:
mode:
Diffstat (limited to 'jslib/urweb.js')
-rw-r--r--jslib/urweb.js15
1 files changed, 11 insertions, 4 deletions
diff --git a/jslib/urweb.js b/jslib/urweb.js
index eab67626..86c3808c 100644
--- a/jslib/urweb.js
+++ b/jslib/urweb.js
@@ -1,11 +1,18 @@
-function sc(v) { return {v : v} }
+function callAll(ls) {
+ for (; ls; ls = ls.next)
+ ls.v();
+}
+
+function sc(v) { return {v : v, h : null} }
+function sv(s, v) { s.v = v; callAll(s.h); }
-function ss(s) { return {v : s.v} }
-function sr(v) { return {v : v} }
-function sb(x,y) { return {v : y(x.v).v} }
+function ss(s) { return s }
+function sr(v) { return {v : v, h : null} }
+function sb(x,y) { return {v : y(x.v).v, h : null} }
function dyn(s) {
var x = document.createElement("span");
x.innerHTML = s.v;
document.body.appendChild(x);
+ s.h = { n : s.h, v : function() { x.innerHTML = s.v } };
}