Merge pull request #370 from JPMoresmau/master

Offer a method to render a form field in a div without a label
This commit is contained in:
Michael Snoyman 2012-06-18 00:01:10 -07:00
commit 4187c3cd41

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}