From 6826651f2d3a414b0a05730a3ff577ae0922a62f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Wed, 30 Apr 2025 22:18:15 +0200 Subject: Show and send direct messages --- src/JavaScript.hs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/JavaScript.hs') diff --git a/src/JavaScript.hs b/src/JavaScript.hs index 7f1c0f9..21571ea 100644 --- a/src/JavaScript.hs +++ b/src/JavaScript.hs @@ -1,4 +1,6 @@ module JavaScript ( + getElementById, + asEventListener, addEventListener, @@ -8,11 +10,19 @@ module JavaScript ( import GHC.Wasm.Prim +getElementById :: String -> IO JSVal +getElementById = js_document_getElementById . toJSString +foreign import javascript unsafe "document.getElementById($1)" + js_document_getElementById :: JSString -> IO JSVal + foreign import javascript "wrapper" asEventListener :: (JSVal -> IO ()) -> IO JSVal +addEventListener :: JSVal -> String -> (JSVal -> IO ()) -> IO () +addEventListener obj ev cb = do + js_addEventListener obj (toJSString ev) =<< asEventListener cb foreign import javascript unsafe "$1.addEventListener($2, $3)" - addEventListener :: JSVal -> JSString -> JSVal -> IO () + js_addEventListener :: JSVal -> JSString -> JSVal -> IO () consoleLog :: String -> IO () consoleLog = js_consoleLog . toJSString -- cgit v1.2.3