yesod-form 1.3.2.2 → 1.3.3
raw patch · 2 files changed
+25/−1 lines, 2 files
Files
- Yesod/Form/Fields.hs +24/−0
- yesod-form.cabal +1/−1
Yesod/Form/Fields.hs view
@@ -36,6 +36,8 @@ , selectFieldList , radioField , radioFieldList+ , checkboxesFieldList+ , checkboxesField , multiSelectField , multiSelectFieldList , Option (..)@@ -387,6 +389,28 @@ => [(msg, a)] -> Field (HandlerT site IO) a radioFieldList = radioField . optionsPairs++checkboxesFieldList :: (Eq a, RenderMessage site FormMessage, RenderMessage site msg) => [(msg, a)]+ -> Field (HandlerT site IO) [a]+checkboxesFieldList = checkboxesField . optionsPairs++checkboxesField :: (Eq a, RenderMessage site FormMessage)+ => HandlerT site IO (OptionList a)+ -> Field (HandlerT site IO) [a]+checkboxesField ioptlist = (multiSelectField ioptlist)+ { fieldView =+ \theId name attrs val isReq -> do+ opts <- fmap olOptions $ handlerToWidget ioptlist+ let optselected (Left _) _ = False+ optselected (Right vals) opt = (optionInternalValue opt) `elem` vals+ [whamlet|+ <span ##{theId}>+ $forall opt <- opts+ <label>+ <input type=checkbox name=#{name} value=#{optionExternalValue opt} *{attrs} :optselected val opt:checked>+ #{optionDisplay opt}+ |]+ } radioField :: (Eq a, RenderMessage site FormMessage) => HandlerT site IO (OptionList a)
yesod-form.cabal view
@@ -1,5 +1,5 @@ name: yesod-form-version: 1.3.2.2+version: 1.3.3 license: MIT license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>