Add Nic to hello-forms
This commit is contained in:
parent
9ff2c243f2
commit
fe940598e1
@ -1,7 +1,9 @@
|
|||||||
{-# LANGUAGE OverloadedStrings #-}
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
|
{-# LANGUAGE TypeSynonymInstances, FlexibleInstances #-}
|
||||||
{-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses #-}
|
{-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses #-}
|
||||||
import Yesod.Core
|
import Yesod.Core
|
||||||
import Yesod.Form
|
import Yesod.Form
|
||||||
|
import Yesod.Form.Nic
|
||||||
import Yesod.Form.MassInput
|
import Yesod.Form.MassInput
|
||||||
import Control.Applicative
|
import Control.Applicative
|
||||||
import Data.Text (Text, pack)
|
import Data.Text (Text, pack)
|
||||||
@ -9,6 +11,7 @@ import Network.Wai.Handler.Warp (run)
|
|||||||
import Data.Time (utctDay, getCurrentTime)
|
import Data.Time (utctDay, getCurrentTime)
|
||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
import Control.Monad.IO.Class (liftIO)
|
import Control.Monad.IO.Class (liftIO)
|
||||||
|
import Text.Blaze.Html.Renderer.String (renderHtml)
|
||||||
|
|
||||||
data Fruit = Apple | Banana | Pear
|
data Fruit = Apple | Banana | Pear
|
||||||
deriving (Show, Enum, Bounded, Eq)
|
deriving (Show, Enum, Bounded, Eq)
|
||||||
@ -23,7 +26,7 @@ mkYesod "HelloForms" [parseRoutes|
|
|||||||
/file FileR GET POST
|
/file FileR GET POST
|
||||||
|]
|
|]
|
||||||
|
|
||||||
myForm = fixType $ runFormGet $ renderDivs $ pure (,,,,,,,,,,)
|
myForm = fixType $ runFormGet $ renderDivs $ pure (,,,,,,,,,,,)
|
||||||
<*> pure "pure works!"
|
<*> pure "pure works!"
|
||||||
<*> areq boolField "Bool field" Nothing
|
<*> areq boolField "Bool field" Nothing
|
||||||
<*> aopt boolField "Opt 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 intField "Opt int field" Nothing
|
||||||
<*> aopt (radioFieldList fruits) "Opt radio" Nothing
|
<*> aopt (radioFieldList fruits) "Opt radio" Nothing
|
||||||
<*> aopt multiEmailField "Opt multi email" Nothing
|
<*> aopt multiEmailField "Opt multi email" Nothing
|
||||||
|
<*> areq nicHtmlField "NIC HTML" Nothing
|
||||||
|
|
||||||
|
instance Show Html where
|
||||||
|
show = renderHtml
|
||||||
|
|
||||||
data HelloForms = HelloForms
|
data HelloForms = HelloForms
|
||||||
|
|
||||||
@ -42,6 +49,7 @@ instance RenderMessage HelloForms FormMessage where
|
|||||||
renderMessage _ _ = defaultFormMessage
|
renderMessage _ _ = defaultFormMessage
|
||||||
|
|
||||||
instance Yesod HelloForms
|
instance Yesod HelloForms
|
||||||
|
instance YesodNic HelloForms
|
||||||
|
|
||||||
fixType :: Handler a -> Handler a
|
fixType :: Handler a -> Handler a
|
||||||
fixType = id
|
fixType = id
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user