import Yesod
import Yesod.Form.Jquery
import Data.Text (Text)
import Control.Applicative ((<$>),(<*>))
import Yesod.Goodies.PNotify
data Devel = Devel
mkYesod "Devel" [parseRoutes|
/ PersonR GET POST
|]
instance Yesod Devel where
defaultLayout widget = do
y <- getYesod
pc <- widgetToPageContent $ do
widget
pnotify y
withUrlRenderer [hamlet|
$doctype 5
#{pageTitle pc}
^{pageHead pc}
^{pageBody pc}
|]
instance YesodJquery Devel
instance YesodJqueryPnotify Devel where
instance RenderMessage Devel FormMessage where
renderMessage _ _ = defaultFormMessage
data Person = Person { name :: Text
, age :: Int
}
deriving (Show)
personForm :: Html -> MForm Handler (FormResult Person, Widget)
personForm = renderDivs $ Person
<$> areq textField "Name" Nothing
<*> areq intField "Age" Nothing
getPersonR :: Handler Html
getPersonR = do
(widget, enctype) <- generateFormPost personForm
defaultLayout [whamlet|