diff --git a/yesod-core/Yesod/Core.hs b/yesod-core/Yesod/Core.hs index e27ffedf..6a59c563 100644 --- a/yesod-core/Yesod/Core.hs +++ b/yesod-core/Yesod/Core.hs @@ -30,6 +30,7 @@ module Yesod.Core -- * JS loaders , loadJsYepnope , ScriptLoadPosition (..) + , BottomOfHeadAsync -- * Misc , yesodVersion , yesodRender diff --git a/yesod-core/Yesod/Internal/Core.hs b/yesod-core/Yesod/Internal/Core.hs index f099eefa..8aabc737 100644 --- a/yesod-core/Yesod/Internal/Core.hs +++ b/yesod-core/Yesod/Internal/Core.hs @@ -27,6 +27,7 @@ module Yesod.Internal.Core , messageLoggerHandler -- * jsLoader , ScriptLoadPosition (..) + , BottomOfHeadAsync , loadJsYepnope -- * Misc , yesodVersion @@ -641,11 +642,15 @@ $case jsLoader master : attrs ) -data Yesod master => ScriptLoadPosition master = BottomOfBody | BottomOfHeadBlocking | BottomOfHeadAsync ( - [Text] -- ^ urls to load asynchronously - -> Maybe (HtmlUrl (Route master)) -- ^ widget of js to run on async completion - -> (HtmlUrl (Route master)) -- ^ widget to insert at the bottom of - ) +data ScriptLoadPosition master + = BottomOfBody + | BottomOfHeadBlocking + | BottomOfHeadAsync (BottomOfHeadAsync master) + +type BottomOfHeadAsync master + = [Text] -- ^ urls to load asynchronously + -> Maybe (HtmlUrl (Route master)) -- ^ widget of js to run on async completion + -> (HtmlUrl (Route master)) -- ^ widget to insert at the bottom of left :: Either a b -> Maybe a left (Left x) = Just x