Hamlet adds ToHtml typeclass

This commit is contained in:
Michael Snoyman 2010-07-06 09:15:55 +03:00
parent 55e0af467d
commit af46ece3ed
6 changed files with 19 additions and 19 deletions

View File

@ -137,12 +137,12 @@ fieldsToTable = mapM_ go
wrapWidget (fiInput fi) $ \w -> [$hamlet| wrapWidget (fiInput fi) $ \w -> [$hamlet|
%tr %tr
%td %td
%label!for=$fiIdent.fi$ $<fiLabel.fi>$ %label!for=$fiIdent.fi$ $fiLabel.fi$
.tooltip $<fiTooltip.fi>$ .tooltip $fiTooltip.fi$
%td %td
^w^ ^w^
$maybe fiErrors.fi err $maybe fiErrors.fi err
%td.errors $<err>$ %td.errors $err$
|] |]
class IsForm a where class IsForm a where
@ -218,7 +218,7 @@ stringField = FieldProfile
{ fpParse = Right { fpParse = Right
, fpRender = id , fpRender = id
, fpHamlet = \name val isReq -> [$hamlet| , fpHamlet = \name val isReq -> [$hamlet|
%input#$<name>$!name=$<name>$!type=text!:isReq:required!value=$<val>$ %input#$name$!name=$name$!type=text!:isReq:required!value=$val$
|] |]
, fpWidget = \_name -> return () , fpWidget = \_name -> return ()
} }
@ -232,7 +232,7 @@ intField = FieldProfile
{ fpParse = maybe (Left "Invalid integer") Right . readMayI { fpParse = maybe (Left "Invalid integer") Right . readMayI
, fpRender = showI , fpRender = showI
, fpHamlet = \name val isReq -> [$hamlet| , fpHamlet = \name val isReq -> [$hamlet|
%input#$<name>$!name=$<name>$!type=number!:isReq:required!value=$<val>$ %input#$name$!name=$name$!type=number!:isReq:required!value=$val$
|] |]
, fpWidget = \_name -> return () , fpWidget = \_name -> return ()
} }
@ -255,7 +255,7 @@ doubleField = FieldProfile
{ fpParse = maybe (Left "Invalid number") Right . readMay { fpParse = maybe (Left "Invalid number") Right . readMay
, fpRender = show , fpRender = show
, fpHamlet = \name val isReq -> [$hamlet| , fpHamlet = \name val isReq -> [$hamlet|
%input#$<name>$!name=$<name>$!type=number!:isReq:required!value=$<val>$ %input#$name$!name=$name$!type=number!:isReq:required!value=$val$
|] |]
, fpWidget = \_name -> return () , fpWidget = \_name -> return ()
} }
@ -270,7 +270,7 @@ dayField = FieldProfile
. readMay . readMay
, fpRender = show , fpRender = show
, fpHamlet = \name val isReq -> [$hamlet| , fpHamlet = \name val isReq -> [$hamlet|
%input#$<name>$!name=$<name>$!type=date!:isReq:required!value=$<val>$ %input#$name$!name=$name$!type=date!:isReq:required!value=$val$
|] |]
, fpWidget = const $ return () , fpWidget = const $ return ()
} }
@ -287,7 +287,7 @@ jqueryDayField = dayField
. readMay . readMay
, fpRender = show . unJqueryDay , fpRender = show . unJqueryDay
, fpHamlet = \name val isReq -> [$hamlet| , fpHamlet = \name val isReq -> [$hamlet|
%input#$<name>$!name=$<name>$!type=date!:isReq:required!value=$<val>$ %input#$name$!name=$name$!type=date!:isReq:required!value=$val$
|] |]
, fpWidget = \name -> do , fpWidget = \name -> do
addScriptRemote "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" addScriptRemote "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"
@ -328,7 +328,7 @@ timeField = FieldProfile
{ fpParse = parseTime { fpParse = parseTime
, fpRender = show , fpRender = show
, fpHamlet = \name val isReq -> [$hamlet| , fpHamlet = \name val isReq -> [$hamlet|
%input#$<name>$!name=$<name>$!:isReq:required!value=$<val>$ %input#$name$!name=$name$!:isReq:required!value=$val$
|] |]
, fpWidget = \name -> do , fpWidget = \name -> do
return () return ()
@ -373,7 +373,7 @@ htmlField = FieldProfile
{ fpParse = Right . preEscapedString { fpParse = Right . preEscapedString
, fpRender = U.toString . renderHtml , fpRender = U.toString . renderHtml
, fpHamlet = \name val _isReq -> [$hamlet| , fpHamlet = \name val _isReq -> [$hamlet|
%textarea.html#$<name>$!name=$<name>$ $<val>$ %textarea.html#$name$!name=$name$ $val$
|] |]
, fpWidget = const $ return () , fpWidget = const $ return ()
} }
@ -390,7 +390,7 @@ nicHtmlField = FieldProfile
{ fpParse = Right . NicHtml . preEscapedString { fpParse = Right . NicHtml . preEscapedString
, fpRender = U.toString . renderHtml . unNicHtml , fpRender = U.toString . renderHtml . unNicHtml
, fpHamlet = \name val _isReq -> [$hamlet| , fpHamlet = \name val _isReq -> [$hamlet|
%textarea.html#$<name>$!name=$<name>$ $<val>$ %textarea.html#$name$!name=$name$ $val$
|] |]
, fpWidget = \name -> do , fpWidget = \name -> do
addScriptRemote "http://js.nicedit.com/nicEdit-latest.js" addScriptRemote "http://js.nicedit.com/nicEdit-latest.js"

View File

@ -67,5 +67,5 @@ entryTemplate arg = [$xhamlet|
%link!href=@atomEntryLink.arg@ %link!href=@atomEntryLink.arg@
%updated $formatW3.atomEntryUpdated.arg$ %updated $formatW3.atomEntryUpdated.arg$
%title $atomEntryTitle.arg$ %title $atomEntryTitle.arg$
%content!type=html $<cdata.atomEntryContent.arg>$ %content!type=html $cdata.atomEntryContent.arg$
|] |]

View File

@ -172,7 +172,7 @@ getOpenIdR = do
message <- getMessage message <- getMessage
applyLayout "Log in via OpenID" mempty [$hamlet| applyLayout "Log in via OpenID" mempty [$hamlet|
$maybe message msg $maybe message msg
%p.message $<msg>$ %p.message $msg$
%form!method=get!action=@rtom.OpenIdForward@ %form!method=get!action=@rtom.OpenIdForward@
%label!for=openid OpenID: $ %label!for=openid OpenID: $
%input#openid!type=text!name=openid %input#openid!type=text!name=openid
@ -344,7 +344,7 @@ getEmailLoginR = do
msg <- getMessage msg <- getMessage
applyLayout "Login" mempty [$hamlet| applyLayout "Login" mempty [$hamlet|
$maybe msg ms $maybe msg ms
%p.message $<ms>$ %p.message $ms$
%p Please log in to your account. %p Please log in to your account.
%p %p
%a!href=@toMaster.EmailRegisterR@ I don't have an account %a!href=@toMaster.EmailRegisterR@ I don't have an account
@ -399,7 +399,7 @@ getEmailPasswordR = do
msg <- getMessage msg <- getMessage
applyLayout "Set password" mempty [$hamlet| applyLayout "Set password" mempty [$hamlet|
$maybe msg ms $maybe msg ms
%p.message $<ms>$ %p.message $ms$
%h3 Set a new password %h3 Set a new password
%form!method=post!action=@toMaster.EmailPasswordR@ %form!method=post!action=@toMaster.EmailPasswordR@
%table %table

View File

@ -29,7 +29,7 @@ import Data.List (nub)
import Data.Monoid import Data.Monoid
import Control.Monad.Trans.Writer import Control.Monad.Trans.Writer
import Control.Monad.Trans.State import Control.Monad.Trans.State
import Yesod.Hamlet (Hamlet, hamlet, PageContent (..), Html, string) import Yesod.Hamlet (Hamlet, hamlet, PageContent (..), Html)
import Yesod.Handler (Routes, GHandler) import Yesod.Handler (Routes, GHandler)
import Yesod.Yesod (Yesod, defaultLayout) import Yesod.Yesod (Yesod, defaultLayout)
import Yesod.Content (RepHtml (..)) import Yesod.Content (RepHtml (..))

View File

@ -83,7 +83,7 @@ class Eq (Routes a) => Yesod a where
!!! !!!
%html %html
%head %head
%title $<pageTitle.p>$ %title $pageTitle.p$
^pageHead.p^ ^pageHead.p^
%body %body
^pageBody.p^ ^pageBody.p^

View File

@ -43,7 +43,7 @@ instance Yesod Blog where
!!! !!!
%html %html
%head %head
%title $<pageTitle.p>$ %title $pageTitle.p$
^pageHead.p^ ^pageHead.p^
%style textarea.html{width:500px;height:200px}div.tooltip{font-size:80%;font-style:italic;color:#666} %style textarea.html{width:500px;height:200px}div.tooltip{font-size:80%;font-style:italic;color:#666}
%body %body
@ -101,7 +101,7 @@ getEntryR eid = do
addBody [$hamlet| addBody [$hamlet|
%h1 $entryTitle.entry$ %h1 $entryTitle.entry$
%h2 $show.unJqueryDay.entryPosted.entry$ %h2 $show.unJqueryDay.entryPosted.entry$
#content $<unNicHtml.entryContent.entry>$ #content $unNicHtml.entryContent.entry$
|] |]
main = withSqlite "blog.db3" $ \conn -> do main = withSqlite "blog.db3" $ \conn -> do
flip runSqlite conn $ initialize (undefined :: Entry) flip runSqlite conn $ initialize (undefined :: Entry)