{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE OverloadedStrings #-}
module Haskus.Web.JQuery
( jqueryHtmlHeader
, jqueryFiles
)
where
import Haskus.Web.Response
import Haskus.Web.Server
import Haskus.Web.Html
import Haskus.Utils.Embed.ByteString
import Data.Text
import Control.Monad
jqueryHtmlHeader :: Bool -> Html ()
jqueryHtmlHeader minimized = do
let
addScript :: Text -> Text -> Html ()
addScript mini normal =
script_ [ src_ (if minimized then mini else normal) ] (mempty :: Html ())
addScript
"/script/jquery/jquery-3.2.1.min.js"
"/script/jquery/jquery-3.2.1.min.js"
addScript
"/script/jquery/jquery-ui.min.js"
"/script/jquery/jquery-ui.js"
addScript
"/script/jquery/jquery.ui.touch-punch.min.js"
"/script/jquery/jquery.ui.touch-punch.min.js"
addScript
"/script/jquery/jquery.blockUI.js"
"/script/jquery/jquery.blockUI.js"
link_ [ rel_ "stylesheet"
, type_ "text/css"
, href_ "/style/jquery/jquery-ui.theme.css"
]
jqueryFiles :: ServerPartT IO Response
jqueryFiles = msum
[ dir "script" $ dir "jquery" $ msum
[ dir "jquery-3.2.1.min.js" $ sendJS $ $(embedBSFile "src/scripts/jquery-3.2.1.min.js")
, dir "jquery-ui.min.js" $ sendJS $ $(embedBSFile "src/scripts/jquery-ui.min.js")
, dir "jquery-ui.js" $ sendJS $ $(embedBSFile "src/scripts/jquery-ui.js")
, dir "jquery.ui.touch-punch.min.js" $ sendJS $ $(embedBSFile "src/scripts/jquery.ui.touch-punch.min.js")
, dir "jquery.blockUI.js" $ sendJS $ $(embedBSFile "src/scripts/jquery.blockUI.js")
]
, dir "style" $ dir "jquery" $ msum
[ dir "jquery-ui.theme.css" $ sendJS $ $(embedBSFile "src/css/jquery-ui.theme.css")
]
]