From 73edd4758bd1049b620fe208855ddf4f369a1a39 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 17 Jan 2012 14:17:28 +0200 Subject: [PATCH] renderBootstrap #212 --- yesod-form/Yesod/Form/Functions.hs | 36 ++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/yesod-form/Yesod/Form/Functions.hs b/yesod-form/Yesod/Form/Functions.hs index fb4deaa7..59cc912d 100644 --- a/yesod-form/Yesod/Form/Functions.hs +++ b/yesod-form/Yesod/Form/Functions.hs @@ -27,6 +27,7 @@ module Yesod.Form.Functions , FormRender , renderTable , renderDivs + , renderBootstrap -- * Validation , check , checkBool @@ -292,6 +293,41 @@ $forall view <- views |] return (res, widget) +-- | Render a form using Bootstrap-friendly HTML syntax. +-- +-- Sample Hamlet: +-- +-- >
+-- >
+-- > _{MsgLegend} +-- > $case result +-- > $of FormFailure reasons +-- > $forall reason <- reasons +-- >
#{reason} +-- > $of _ +-- > ^{formWidget} +-- >
+-- > +renderBootstrap :: FormRender sub master a +renderBootstrap aform fragment = do + (res, views') <- aFormToForm aform + let views = views' [] + has (Just _) = True + has Nothing = False + let widget = [whamlet| +\#{fragment} +$forall view <- views +
+