renderDivs without form labels

This commit is contained in:
JP Moresmau 2012-06-15 08:52:10 +02:00
parent 83e6061944
commit ebd219cafe

View File

@ -27,6 +27,7 @@ module Yesod.Form.Functions
, FormRender , FormRender
, renderTable , renderTable
, renderDivs , renderDivs
, renderDivsNoLabels
, renderBootstrap , renderBootstrap
-- * Validation -- * Validation
, check , check
@ -255,7 +256,7 @@ type FormRender sub master a =
-> Html -> Html
-> MForm sub master (FormResult a, GWidget sub master ()) -> MForm sub master (FormResult a, GWidget sub master ())
renderTable, renderDivs :: FormRender sub master a renderTable, renderDivs, renderDivsNoLabels :: FormRender sub master a
renderTable aform fragment = do renderTable aform fragment = do
(res, views') <- aFormToForm aform (res, views') <- aFormToForm aform
let views = views' [] let views = views' []
@ -274,14 +275,22 @@ $forall view <- views
|] |]
return (res, widget) return (res, widget)
renderDivs aform fragment = do -- | render a field inside a div
renderDivs = renderDivsMaybeLabels True
-- | render a field inside a div, not displaying any label
renderDivsNoLabels = renderDivsMaybeLabels False
renderDivsMaybeLabels :: Bool -> FormRender sub master a
renderDivsMaybeLabels withLabels aform fragment = do
(res, views') <- aFormToForm aform (res, views') <- aFormToForm aform
let views = views' [] let views = views' []
let widget = [whamlet| let widget = [whamlet|
\#{fragment} \#{fragment}
$forall view <- views $forall view <- views
<div :fvRequired view:.required :not $ fvRequired view:.optional> <div :fvRequired view:.required :not $ fvRequired view:.optional>
<label for=#{fvId view}>#{fvLabel view} $if withLabels
<label for=#{fvId view}>#{fvLabel view}
$maybe tt <- fvTooltip view $maybe tt <- fvTooltip view
<div .tooltip>#{tt} <div .tooltip>#{tt}
^{fvInput view} ^{fvInput view}