Remove deprecated Yesod.Widget functions (fixes #469)
This commit is contained in:
parent
91f98c480e
commit
f78559d7ed
@ -6,8 +6,6 @@
|
|||||||
{-# LANGUAGE TypeSynonymInstances #-}
|
{-# LANGUAGE TypeSynonymInstances #-}
|
||||||
{-# LANGUAGE UndecidableInstances #-}
|
{-# LANGUAGE UndecidableInstances #-}
|
||||||
{-# LANGUAGE CPP #-}
|
{-# LANGUAGE CPP #-}
|
||||||
-- FIXME Should we remove the older names here (addJulius, etc)?
|
|
||||||
|
|
||||||
-- | 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
|
||||||
@ -22,22 +20,14 @@ module Yesod.Widget
|
|||||||
, ToWidget (..)
|
, ToWidget (..)
|
||||||
, ToWidgetHead (..)
|
, ToWidgetHead (..)
|
||||||
, ToWidgetBody (..)
|
, ToWidgetBody (..)
|
||||||
|
, ToWidgetMedia (..)
|
||||||
-- * Creating
|
-- * Creating
|
||||||
-- ** Head of page
|
-- ** Head of page
|
||||||
, setTitle
|
, setTitle
|
||||||
, setTitleI
|
, setTitleI
|
||||||
, addHamletHead
|
|
||||||
, addHtmlHead
|
|
||||||
-- ** Body
|
-- ** Body
|
||||||
, addHamlet
|
|
||||||
, addHtml
|
|
||||||
, addWidget
|
|
||||||
, addSubWidget
|
, addSubWidget
|
||||||
-- ** CSS
|
-- ** CSS
|
||||||
, addCassius
|
|
||||||
, addCassiusMedia
|
|
||||||
, addLucius
|
|
||||||
, addLuciusMedia
|
|
||||||
, addStylesheet
|
, addStylesheet
|
||||||
, addStylesheetAttrs
|
, addStylesheetAttrs
|
||||||
, addStylesheetRemote
|
, addStylesheetRemote
|
||||||
@ -45,8 +35,6 @@ module Yesod.Widget
|
|||||||
, addStylesheetEither
|
, addStylesheetEither
|
||||||
, CssBuilder (..)
|
, CssBuilder (..)
|
||||||
-- ** Javascript
|
-- ** Javascript
|
||||||
, addJulius
|
|
||||||
, addJuliusBody
|
|
||||||
, addScript
|
, addScript
|
||||||
, addScriptAttrs
|
, addScriptAttrs
|
||||||
, addScriptRemote
|
, addScriptRemote
|
||||||
@ -139,6 +127,21 @@ instance (sub' ~ sub, master' ~ master) => ToWidget sub' master' (GWidget sub ma
|
|||||||
instance ToWidget sub master Html where
|
instance ToWidget sub master Html where
|
||||||
toWidget = toWidget . const
|
toWidget = toWidget . const
|
||||||
|
|
||||||
|
-- | Allows adding some CSS to the page with a specific media type.
|
||||||
|
--
|
||||||
|
-- Since 1.2
|
||||||
|
class ToWidgetMedia sub master a where
|
||||||
|
-- | Add the given content to the page, but only for the given media type.
|
||||||
|
--
|
||||||
|
-- Since 1.2
|
||||||
|
toWidgetMedia :: Text -- ^ media value
|
||||||
|
-> a
|
||||||
|
-> GWidget sub master ()
|
||||||
|
instance render ~ RY master => ToWidgetMedia sub master (render -> Css) where
|
||||||
|
toWidgetMedia media x = toWidgetMedia media $ CssBuilder . fromLazyText . renderCss . x
|
||||||
|
instance render ~ RY master => ToWidgetMedia sub master (render -> CssBuilder) where
|
||||||
|
toWidgetMedia media x = tell $ GWData mempty mempty mempty mempty (Map.singleton (Just media) $ unCssBuilder . x) mempty mempty
|
||||||
|
|
||||||
class ToWidgetBody sub master a where
|
class ToWidgetBody sub master a where
|
||||||
toWidgetBody :: a -> GWidget sub master ()
|
toWidgetBody :: a -> GWidget sub master ()
|
||||||
|
|
||||||
@ -175,48 +178,6 @@ setTitleI msg = do
|
|||||||
mr <- lift getMessageRender
|
mr <- lift getMessageRender
|
||||||
setTitle $ toHtml $ mr msg
|
setTitle $ toHtml $ mr msg
|
||||||
|
|
||||||
{-# DEPRECATED addHamletHead, addHtmlHead "Use toWidgetHead instead" #-}
|
|
||||||
{-# DEPRECATED addHamlet, addHtml, addCassius, addLucius, addJulius "Use toWidget instead" #-}
|
|
||||||
{-# DEPRECATED addJuliusBody "Use toWidgetBody instead" #-}
|
|
||||||
{-# DEPRECATED addWidget "addWidget can be omitted" #-}
|
|
||||||
|
|
||||||
-- | Add a 'Hamlet' to the head tag.
|
|
||||||
addHamletHead :: HtmlUrl (Route master) -> GWidget sub master ()
|
|
||||||
addHamletHead = toWidgetHead
|
|
||||||
|
|
||||||
-- | Add a 'Html' to the head tag.
|
|
||||||
addHtmlHead :: Html -> GWidget sub master ()
|
|
||||||
addHtmlHead = toWidgetHead . const
|
|
||||||
|
|
||||||
-- | Add a 'Hamlet' to the body tag.
|
|
||||||
addHamlet :: HtmlUrl (Route master) -> GWidget sub master ()
|
|
||||||
addHamlet = toWidget
|
|
||||||
|
|
||||||
-- | Add a 'Html' to the body tag.
|
|
||||||
addHtml :: Html -> GWidget sub master ()
|
|
||||||
addHtml = toWidget
|
|
||||||
|
|
||||||
-- | Add another widget. This is defined as 'id', by can help with types, and
|
|
||||||
-- makes widget blocks look more consistent.
|
|
||||||
addWidget :: GWidget sub master () -> GWidget sub master ()
|
|
||||||
addWidget = id
|
|
||||||
|
|
||||||
-- | Add some raw CSS to the style tag. Applies to all media types.
|
|
||||||
addCassius :: CssUrl (Route master) -> GWidget sub master ()
|
|
||||||
addCassius = toWidget
|
|
||||||
|
|
||||||
-- | Identical to 'addCassius'.
|
|
||||||
addLucius :: CssUrl (Route master) -> GWidget sub master ()
|
|
||||||
addLucius = toWidget
|
|
||||||
|
|
||||||
-- | Add some raw CSS to the style tag, for a specific media type.
|
|
||||||
addCassiusMedia :: Text -> CssUrl (Route master) -> GWidget sub master ()
|
|
||||||
addCassiusMedia m x = tell $ GWData mempty mempty mempty mempty (Map.singleton (Just m) $ \r -> fromLazyText $ renderCss $ x r) mempty mempty
|
|
||||||
|
|
||||||
-- | Identical to 'addCassiusMedia'.
|
|
||||||
addLuciusMedia :: Text -> CssUrl (Route master) -> GWidget sub master ()
|
|
||||||
addLuciusMedia = addCassiusMedia
|
|
||||||
|
|
||||||
-- | Link to the specified local stylesheet.
|
-- | Link to the specified local stylesheet.
|
||||||
addStylesheet :: Route master -> GWidget sub master ()
|
addStylesheet :: Route master -> GWidget sub master ()
|
||||||
addStylesheet = flip addStylesheetAttrs []
|
addStylesheet = flip addStylesheetAttrs []
|
||||||
@ -255,15 +216,6 @@ addScriptRemote = flip addScriptRemoteAttrs []
|
|||||||
addScriptRemoteAttrs :: Text -> [(Text, Text)] -> GWidget sub master ()
|
addScriptRemoteAttrs :: Text -> [(Text, Text)] -> GWidget sub master ()
|
||||||
addScriptRemoteAttrs x y = tell $ GWData mempty mempty (toUnique $ Script (Remote x) y) mempty mempty mempty mempty
|
addScriptRemoteAttrs x y = tell $ GWData mempty mempty (toUnique $ Script (Remote x) y) mempty mempty mempty mempty
|
||||||
|
|
||||||
-- | Include raw Javascript in the page's script tag.
|
|
||||||
addJulius :: JavascriptUrl (Route master) -> GWidget sub master ()
|
|
||||||
addJulius = toWidget
|
|
||||||
|
|
||||||
-- | Add a new script tag to the body with the contents of this 'Julius'
|
|
||||||
-- template.
|
|
||||||
addJuliusBody :: JavascriptUrl (Route master) -> GWidget sub master ()
|
|
||||||
addJuliusBody = toWidgetBody
|
|
||||||
|
|
||||||
-- | Content for a web page. By providing this datatype, we can easily create
|
-- | Content for a web page. By providing this datatype, we can easily create
|
||||||
-- generic site templates, which would have the type signature:
|
-- generic site templates, which would have the type signature:
|
||||||
--
|
--
|
||||||
|
|||||||
@ -27,7 +27,7 @@ instance Yesod Y where
|
|||||||
getRootR :: Handler RepHtml
|
getRootR :: Handler RepHtml
|
||||||
getRootR = defaultLayout $ do
|
getRootR = defaultLayout $ do
|
||||||
toWidget [lucius|foo1{bar:baz}|]
|
toWidget [lucius|foo1{bar:baz}|]
|
||||||
addCassiusMedia "screen" [lucius|foo2{bar:baz}|]
|
toWidgetMedia "screen" [lucius|foo2{bar:baz}|]
|
||||||
toWidget [lucius|foo3{bar:baz}|]
|
toWidget [lucius|foo3{bar:baz}|]
|
||||||
|
|
||||||
getStaticR :: Handler RepHtml
|
getStaticR :: Handler RepHtml
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user