changeset 9:1e04008eaef7

Add version of warning with a format wrapper.
author Karn Kallio <kkallio@eka>
date Tue, 21 Jun 2011 17:32:36 -0430
parents 90be8b8917d5
children 0337f88f2efc
files forms.ur forms.urs
diffstat 2 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/forms.ur	Fri Jun 17 10:12:05 2011 -0430
+++ b/forms.ur	Tue Jun 21 17:32:36 2011 -0430
@@ -6,3 +6,11 @@
                       return (case v of
                                   Invalid s => <xml><b>{[s]}</b></xml>
                                 | _ => <xml/>)}/></xml>
+
+fun warningFmt [a ::: Type] [ctx ::: {Unit}] [ctx ~ body] 
+               (wrap : string -> xml (body ++ ctx) [] []) 
+               (s : signal (readiness a)) =
+    <xml><dyn signal={v <- s;
+                      return (case v of
+                                  Invalid s => wrap s
+                                | _ => <xml/>)}/></xml>
--- a/forms.urs	Fri Jun 17 10:12:05 2011 -0430
+++ b/forms.urs	Tue Jun 21 17:32:36 2011 -0430
@@ -2,3 +2,8 @@
 datatype rpcResult a = Success of a | Failure of string
 
 val warning : a ::: Type -> signal (readiness a) -> xbody
+
+val warningFmt : a ::: Type -> ctx ::: {Unit} -> [ctx ~ body] 
+    => (string -> xml (ctx ++ body) [] []) -> signal (readiness a) 
+    -> xml (ctx ++ body) [] []
+(* A version of warning that adds a chrome wrapper to the warning message. *)