0 | module Web.Async.I18n.EN
 1 |
 2 | import HTTP.API.Client.I18n.EN
 3 | import IO.Async.JS
 4 | import IO.Async.Logging
 5 | import Text.HTML.Select
 6 | import Web.Async.Widget.Types
 7 | import public Web.Async.I18n
 8 |
 9 | %default total
10 |
11 | parameters {auto log : Logger JS}
12 |
13 |   logRes' : String -> EditRes x -> Async JS es ()
14 |   logRes' nm Missing     = debug "missing \{nm}"
15 |   logRes' nm (Invalid x) = debug "invalid \{nm}: \{x}"
16 |   logRes' nm (Valid x)   = debug "valid \{nm}"
17 |
18 |   export
19 |   DOMLocal where
20 |     editRes Missing       = "mandatory field"
21 |     editRes (Invalid err) = err
22 |     editRes (Valid val)   = ""
23 |     fileStr               = "file"
24 |
25 |     logRes nm Missing     = debug "missing \{nm}"
26 |     logRes nm (Invalid x) = debug "invalid \{nm}: \{x}"
27 |     logRes nm (Valid x)   = debug "valid \{nm}: \{x}"
28 |
29 |
30 |     logSelect Nothing           = debug "no value selected"
31 |     logSelect (Just $ SE n s _) = debug "value selected: '\{s}' (index: \{show n})"
32 |
33 |     ldebug s              = debug s
34 |     ltrace s              = trace s
35 |
36 |     logAbort          = debug "aborting stream via kill switch"
37 |     logEnded          = debug "stream ended"
38 |     logFormField      = logRes' . interpolate
39 |     logFormFieldN e r = logRes' "field \{show e}" r
40 |     logFormRes        = logRes' "form data"
41 |     logInput s        = debug $ "text input: '\{s}'"
42 |     logReplaced       = debug "replaced bound editor"
43 |     logSwitch         = debug "switching bound editor"
44 |     logSwitchStopped  = debug "stopped bound editor"
45 |