{-|
Module : OpenLayersHtmlFunc
Description : OpenLayers HTML and JQuery functions
-}
module OpenLayers.Html where
import JQuery
import FFI
import Fay.Text
import OpenLayers.HtmlInternal
addTextToHtml :: String -> String -> String -> Fay ()
addTextToHtml content element id = void $ do
c <- selectId' id
d <- select' element
setHtml' content d
appendTo c d
addButton :: String -> String -> Fay () -> Fay ()
addButton text id method = void $ do
c <- selectId' id
d <- select' buttonElement
setAttr' "value" text d
setAttr' "type" "submit" d
onClick' method d
appendTo c d
addCheckbox :: String -> String -> String -> Fay ()
addCheckbox id parentId label = void $ do
parent <- selectId' parentId
div <- select' divElement
setHtml' label div
checkbox <- select' inputCheckboxElement
setAttr' "id" id checkbox
appendTo div checkbox
appendTo parent div
addDiv :: String -> String -> String -> Fay ()
addDiv parentId divId label = void $ do
parent <- selectId' parentId
div <- select' divElement
setAttr' "id" divId div
setHtml' label div
appendTo parent div
addLabel :: String -> String -> String -> Fay ()
addLabel parentId element id = void $ do
parent <- selectId' parentId
d <- select' element
setAttr' "id" id d
appendTo parent d
addForm :: String -> String -> Fay JQuery
addForm parentId formId = do
parent <- selectId' parentId
form <- select' $ formElement
setAttr' "id" formId form
appendTo parent form
addInput :: String -> String -> String -> String -> Fay ()
addInput label formId elementId defaultValue = void $ do
parent <- selectId' formId
div <- select' divElement
setHtml' label div
input <- select' inputTextElement
setAttr' "id" elementId input
setAttr' "value" defaultValue input
appendTo div input
appendTo parent div
addBreakline :: String -> Fay ()
addBreakline id = void $ do
parent <- selectId' id
value <- select' "
"
appendTo parent value
getInputInt :: String -> Fay Integer
getInputInt labelId = do
idinput <- selectId' labelId
idvalue <- getVal idinput
toInt idvalue
onClick' :: Fay () -> JQuery -> Fay JQuery
onClick' = ffi "%2['click'](%1)"
select' :: String -> Fay JQuery
select' s = select $ showString' s
selectId' :: String -> Fay JQuery
selectId' s = select $ showString' $ "#" ++ s
setHtml' :: String -> JQuery -> Fay JQuery
setHtml' content target = setHtml (showString' content) target
setAttr' :: String -> String -> JQuery -> Fay JQuery
setAttr' att val target = setAttr (showString' att) (showString' val) target
setDoubleAttr' :: String -> Double -> JQuery -> Fay JQuery
setDoubleAttr' att val target = setAttr (showString' att) (showDouble' val) target
showString' :: String -> Text
showString' = ffi "%1"
showDouble' :: Double -> Text
showDouble' = ffi "%1"
toInt :: Text -> Fay Integer
toInt = ffi "%1"
toInt' :: String -> Integer
toInt' = ffi "%1"