module Data.DOM.JSMWExt (
addChildren
,alert
,status
) where
import Data.DOM
import Data.DOM.Dom
import BrownPLT.JavaScript
import Language.JSMW.Monad
addChildren :: (CNode p, CNode c) => [Expression c] -> Expression p -> JSMW e (Expression p)
addChildren [] p = once =<< return p
addChildren (c:cs) p = do
once =<< addChild c p
addChildren cs p
alert :: Expression String -> JSMW e (Expression ())
alert s = do
vs <- once =<< return s
once =<< return (CallExpr () (VarRef () (Id () "alert")) [vs /\ ()])
status :: Expression String -> JSMW e (Expression ())
status s = do
vs <- once =<< return s
writeStmt $ ExprStmt () $ AssignExpr () OpAssign (VarRef () (Id () "window.status")) (vs /\ ())
return $ NullLit ()