{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.EventTarget
(addEventListener, removeEventListener, dispatchEvent,
dispatchEvent_, EventTarget(..), gTypeEventTarget, IsEventTarget,
toEventTarget)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.Enums
addEventListener ::
(MonadDOM m, IsEventTarget self, ToJSString type',
IsAddEventListenerOptionsOrBool options) =>
self -> type' -> Maybe EventListener -> options -> m ()
addEventListener :: forall (m :: * -> *) self type' options.
(MonadDOM m, IsEventTarget self, ToJSString type',
IsAddEventListenerOptionsOrBool options) =>
self -> type' -> Maybe EventListener -> options -> m ()
addEventListener self
self type'
type' Maybe EventListener
callback options
options
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
((self -> EventTarget
forall o. IsEventTarget o => o -> EventTarget
toEventTarget self
self) EventTarget
-> Getting (JSM JSVal) EventTarget (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"addEventListener"
[type' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal type'
type', Maybe EventListener -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe EventListener
callback, options -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal options
options]))
removeEventListener ::
(MonadDOM m, IsEventTarget self, ToJSString type',
IsEventListenerOptionsOrBool options) =>
self -> type' -> Maybe EventListener -> options -> m ()
removeEventListener :: forall (m :: * -> *) self type' options.
(MonadDOM m, IsEventTarget self, ToJSString type',
IsEventListenerOptionsOrBool options) =>
self -> type' -> Maybe EventListener -> options -> m ()
removeEventListener self
self type'
type' Maybe EventListener
callback options
options
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
((self -> EventTarget
forall o. IsEventTarget o => o -> EventTarget
toEventTarget self
self) EventTarget
-> Getting (JSM JSVal) EventTarget (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"removeEventListener"
[type' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal type'
type', Maybe EventListener -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe EventListener
callback, options -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal options
options]))
dispatchEvent ::
(MonadDOM m, IsEventTarget self, IsEvent event) =>
self -> event -> m Bool
dispatchEvent :: forall (m :: * -> *) self event.
(MonadDOM m, IsEventTarget self, IsEvent event) =>
self -> event -> m Bool
dispatchEvent self
self event
event
= DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((self -> EventTarget
forall o. IsEventTarget o => o -> EventTarget
toEventTarget self
self) EventTarget
-> Getting (JSM JSVal) EventTarget (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"dispatchEvent" [event -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal event
event]) JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)
dispatchEvent_ ::
(MonadDOM m, IsEventTarget self, IsEvent event) =>
self -> event -> m ()
dispatchEvent_ :: forall (m :: * -> *) self event.
(MonadDOM m, IsEventTarget self, IsEvent event) =>
self -> event -> m ()
dispatchEvent_ self
self event
event
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
((self -> EventTarget
forall o. IsEventTarget o => o -> EventTarget
toEventTarget self
self) EventTarget
-> Getting (JSM JSVal) EventTarget (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"dispatchEvent" [event -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal event
event]))