view forms.ur @ 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 4d8165e8f89a
children 5905b56e0cd9
line wrap: on
line source
datatype readiness a = Ready of a | Waiting | Invalid of string
datatype rpcResult a = Success of a | Failure of string

fun warning [a] (s : signal (readiness a)) =
    <xml><dyn signal={v <- s;
                      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>