Yesod.Widget
Description
Widgets combine HTML with JS and CSS dependencies with a unique identifier generator, allowing you to create truly modular HTML components.
- data GWidget sub master a
- type Widget y = GWidget y y
- liftHandler :: GHandler sub master a -> GWidget sub master a
- widgetToPageContent :: Eq (Route master) => GWidget sub master () -> GHandler sub master (PageContent (Route master))
- applyLayoutW :: (Eq (Route m), Yesod m) => GWidget sub m () -> GHandler sub m RepHtml
- newIdent :: GWidget sub master String
- setTitle :: Html () -> GWidget sub master ()
- addStyle :: Hamlet (Route master) -> GWidget sub master ()
- addStylesheet :: Route master -> GWidget sub master ()
- addStylesheetRemote :: String -> GWidget sub master ()
- addScript :: Route master -> GWidget sub master ()
- addScriptRemote :: String -> GWidget sub master ()
- addHead :: Hamlet (Route master) -> GWidget sub master ()
- addBody :: Hamlet (Route master) -> GWidget sub master ()
- addJavaScript :: Hamlet (Route master) -> GWidget sub master ()
- wrapWidget :: GWidget s m a -> (Hamlet (Route m) -> Hamlet (Route m)) -> GWidget s m a
- extractBody :: GWidget s m () -> GWidget s m (Hamlet (Route m))
- urlJqueryJs :: String
- urlJqueryUiJs :: String
- urlJqueryUiCss :: String
Datatype
type Widget y = GWidget y ySource
A GWidget specialized to when the subsite and master site are the same.
liftHandler :: GHandler sub master a -> GWidget sub master aSource
Unwrapping
widgetToPageContent :: Eq (Route master) => GWidget sub master () -> GHandler sub master (PageContent (Route master))Source
Convert a widget to a PageContent.
applyLayoutW :: (Eq (Route m), Yesod m) => GWidget sub m () -> GHandler sub m RepHtmlSource
Apply the default layout to the given widget.
Creating
setTitle :: Html () -> GWidget sub master ()Source
Set the page title. Calling setTitle multiple times overrides previously
set values.
addStylesheet :: Route master -> GWidget sub master ()Source
Link to the specified local stylesheet.
addStylesheetRemote :: String -> GWidget sub master ()Source
Link to the specified remote stylesheet.
addScriptRemote :: String -> GWidget sub master ()Source
Link to the specified remote script.
addJavaScript :: Hamlet (Route master) -> GWidget sub master ()Source
Include raw Javascript in the page's script tag.
Manipulating
wrapWidget :: GWidget s m a -> (Hamlet (Route m) -> Hamlet (Route m)) -> GWidget s m aSource
Modify the given GWidget by wrapping the body tag HTML code with the
given function. You might also consider using extractBody.
extractBody :: GWidget s m () -> GWidget s m (Hamlet (Route m))Source
Pull out the HTML tag contents and return it. Useful for performing some
manipulations. It can be easier to use this sometimes than wrapWidget.
Default library URLs
The Google-hosted jQuery 1.4.2 file.
The Google-hosted jQuery UI 1.8.1 javascript file.
urlJqueryUiCss :: StringSource
The Google-hosted jQuery UI 1.8.1 CSS file with cupertino theme.