YesodMessage changes
This commit is contained in:
parent
ef74164f5f
commit
ff0c907159
@ -2,6 +2,7 @@
|
|||||||
{-# LANGUAGE FlexibleInstances #-}
|
{-# LANGUAGE FlexibleInstances #-}
|
||||||
{-# LANGUAGE TypeFamilies #-}
|
{-# LANGUAGE TypeFamilies #-}
|
||||||
{-# LANGUAGE TemplateHaskell #-}
|
{-# LANGUAGE TemplateHaskell #-}
|
||||||
|
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||||
-- | Widgets combine HTML with JS and CSS dependencies with a unique identifier
|
-- | Widgets combine HTML with JS and CSS dependencies with a unique identifier
|
||||||
-- generator, allowing you to create truly modular HTML components.
|
-- generator, allowing you to create truly modular HTML components.
|
||||||
module Yesod.Widget
|
module Yesod.Widget
|
||||||
@ -48,7 +49,6 @@ module Yesod.Widget
|
|||||||
|
|
||||||
import Data.Monoid
|
import Data.Monoid
|
||||||
import Control.Monad.Trans.RWS
|
import Control.Monad.Trans.RWS
|
||||||
import Text.Blaze (preEscapedText, preEscapedLazyText)
|
|
||||||
import qualified Text.Blaze.Html5 as H
|
import qualified Text.Blaze.Html5 as H
|
||||||
import Text.Hamlet
|
import Text.Hamlet
|
||||||
import Text.Cassius
|
import Text.Cassius
|
||||||
@ -217,18 +217,20 @@ data PageContent url = PageContent
|
|||||||
, pageBody :: Hamlet url
|
, pageBody :: Hamlet url
|
||||||
}
|
}
|
||||||
|
|
||||||
class YesodMessage a where
|
class YesodMessage sub master where
|
||||||
type Message a
|
type Message sub master
|
||||||
renderMessage :: a
|
renderMessage :: sub
|
||||||
|
-> master
|
||||||
-> [Text] -- ^ languages
|
-> [Text] -- ^ languages
|
||||||
-> Message a
|
-> Message sub master
|
||||||
-> Html
|
-> Html
|
||||||
|
|
||||||
getMessageRender :: (Monad mo, YesodMessage s) => GGHandler s m mo (Message s -> Html)
|
getMessageRender :: (Monad mo, YesodMessage s m) => GGHandler s m mo (Message s m -> Html)
|
||||||
getMessageRender = do
|
getMessageRender = do
|
||||||
s <- getYesodSub
|
s <- getYesodSub
|
||||||
|
m <- getYesod
|
||||||
l <- languages
|
l <- languages
|
||||||
return $ renderMessage s l
|
return $ renderMessage s m l
|
||||||
|
|
||||||
whamlet :: QuasiQuoter
|
whamlet :: QuasiQuoter
|
||||||
whamlet = NP.hamletWithSettings rules NP.defaultHamletSettings
|
whamlet = NP.hamletWithSettings rules NP.defaultHamletSettings
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user