module HJScript.Objects.JQuery where
import HJScript.Lang
import HJScript.DOM.Window
import HJScript.DOM.ElementNode
data JQuery = JQuery deriving Show
instance IsClass JQuery
instance HasConstructor JQuery JString String
jQuery :: Exp JQuery
jQuery = JConst "jQuery"
selectExpr :: Exp c -> JObject JQuery
selectExpr e = methodCall "jQuery" e window
jSize :: JObject JQuery -> JInt
jSize = methodCallNoArgs "size"
length :: JObject JQuery -> JInt
length = deref "length"
get :: JInt -> JObject JQuery -> Exp ElementNode
get = methodCall "get"
empty :: JObject JQuery -> Exp JQuery
empty = methodCall "empty" ()
jVal :: JObject JQuery -> JString
jVal = methodCall "val" ()
jSetVal :: JString -> JObject JQuery -> JString
jSetVal = methodCall "val"
jText :: JObject JQuery -> JString
jText = methodCall "text" ()
jSetText :: JString -> JObject JQuery -> Exp JQuery
jSetText = methodCall "text"
append :: Exp a -> JObject JQuery -> Exp JQuery
append = methodCall "append"
prepend :: Exp a -> JObject JQuery -> Exp JQuery
prepend = methodCall "prepend"
ready :: HJScript () -> HJScript ()
ready script
= do fn <- procedure $ \() -> script
runExp $ methodCall "jQuery" fn window
change :: HJScript () -> JObject JQuery -> HJScript ()
change script query
= do fn <- procedure $ \() -> script
runExp $ methodCall "change" fn query
submit :: HJScript () -> JObject JQuery -> HJScript ()
submit script query
= do fn <- procedure $ \() -> script
runExp $ methodCall "submit" fn query
select :: HJScript () -> JObject JQuery -> HJScript ()
select script query
= do fn <- procedure $ \() -> script
runExp $ methodCall "select" fn query
runExp :: Exp a -> HJScript ()
runExp = outputStmt . ExpStmt