From fe940598e103ce2132f128dec9ef3b310cac955b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 1 Oct 2014 14:47:35 +0300 Subject: [PATCH] Add Nic to hello-forms --- yesod-form/hello-forms.hs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/yesod-form/hello-forms.hs b/yesod-form/hello-forms.hs index f5838217..f8a1259e 100644 --- a/yesod-form/hello-forms.hs +++ b/yesod-form/hello-forms.hs @@ -1,7 +1,9 @@ {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE TypeSynonymInstances, FlexibleInstances #-} {-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses #-} import Yesod.Core import Yesod.Form +import Yesod.Form.Nic import Yesod.Form.MassInput import Control.Applicative import Data.Text (Text, pack) @@ -9,6 +11,7 @@ import Network.Wai.Handler.Warp (run) import Data.Time (utctDay, getCurrentTime) import qualified Data.Text as T import Control.Monad.IO.Class (liftIO) +import Text.Blaze.Html.Renderer.String (renderHtml) data Fruit = Apple | Banana | Pear deriving (Show, Enum, Bounded, Eq) @@ -23,7 +26,7 @@ mkYesod "HelloForms" [parseRoutes| /file FileR GET POST |] -myForm = fixType $ runFormGet $ renderDivs $ pure (,,,,,,,,,,) +myForm = fixType $ runFormGet $ renderDivs $ pure (,,,,,,,,,,,) <*> pure "pure works!" <*> areq boolField "Bool field" Nothing <*> aopt boolField "Opt bool field" Nothing @@ -35,6 +38,10 @@ myForm = fixType $ runFormGet $ renderDivs $ pure (,,,,,,,,,,) <*> aopt intField "Opt int field" Nothing <*> aopt (radioFieldList fruits) "Opt radio" Nothing <*> aopt multiEmailField "Opt multi email" Nothing + <*> areq nicHtmlField "NIC HTML" Nothing + +instance Show Html where + show = renderHtml data HelloForms = HelloForms @@ -42,6 +49,7 @@ instance RenderMessage HelloForms FormMessage where renderMessage _ _ = defaultFormMessage instance Yesod HelloForms +instance YesodNic HelloForms fixType :: Handler a -> Handler a fixType = id