summaryrefslogtreecommitdiff
path: root/lib/basis.urs
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-01-13 15:17:11 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-01-13 15:17:11 -0500
commit3b43441c77feb57720e3adf0d8337fd60af9364e (patch)
treea43e5082a4a3349616ad6b68329b7e363e1e7926 /lib/basis.urs
parentd71a90ca23170fd7fef9ad0f9ccf6afc01d3f372 (diff)
Initial experiments with nested <dyn>
Diffstat (limited to 'lib/basis.urs')
-rw-r--r--lib/basis.urs11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/basis.urs b/lib/basis.urs
index 9b09e8d2..b4a40fde 100644
--- a/lib/basis.urs
+++ b/lib/basis.urs
@@ -86,6 +86,7 @@ val transaction_monad : monad transaction
con source :: Type -> Type
val source : t ::: Type -> t -> transaction (source t)
val set : t ::: Type -> source t -> t -> transaction unit
+val get : t ::: Type -> source t -> transaction t
con signal :: Type -> Type
val signal_monad : monad signal
@@ -443,6 +444,16 @@ val submit : ctx ::: {Unit} -> use ::: {Type}
-> tag [Value = string, Action = $use -> transaction page]
([Form] ++ ctx) ([Form] ++ ctx) use []
+(*** AJAX-oriented widgets *)
+
+con cformTag = fn (attrs :: {Type}) =>
+ ctx ::: {Unit}
+ -> fn [[Body] ~ ctx] =>
+ unit -> tag attrs ([Body] ++ ctx) [] [] []
+
+val ctextbox : cformTag [Value = string, Size = int, Source = source string]
+val button : cformTag [Value = string, Onclick = transaction unit]
+
(*** Tables *)
val tabl : other ::: {Unit} -> fn [other ~ [Body, Table]] =>