{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.FocusEvent
(newFocusEvent, getRelatedTarget, getRelatedTargetUnsafe,
getRelatedTargetUnchecked, FocusEvent(..), gTypeFocusEvent)
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.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums
newFocusEvent ::
(MonadDOM m, ToJSString type') =>
type' -> Maybe FocusEventInit -> m FocusEvent
newFocusEvent :: type' -> Maybe FocusEventInit -> m FocusEvent
newFocusEvent type'
type' Maybe FocusEventInit
eventInitDict
= DOM FocusEvent -> m FocusEvent
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSVal -> FocusEvent
FocusEvent (JSVal -> FocusEvent) -> JSM JSVal -> DOM FocusEvent
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>
JSM JSVal -> [JSM JSVal] -> JSM JSVal
forall constructor args.
(MakeObject constructor, MakeArgs args) =>
constructor -> args -> JSM JSVal
new ([Char] -> JSM JSVal
forall a. ToJSString a => a -> JSM JSVal
jsg [Char]
"FocusEvent") [type' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal type'
type', Maybe FocusEventInit -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe FocusEventInit
eventInitDict])
getRelatedTarget ::
(MonadDOM m) => FocusEvent -> m (Maybe EventTarget)
getRelatedTarget :: FocusEvent -> m (Maybe EventTarget)
getRelatedTarget FocusEvent
self
= DOM (Maybe EventTarget) -> m (Maybe EventTarget)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((FocusEvent
self FocusEvent
-> Getting (JSM JSVal) FocusEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter FocusEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"relatedTarget") JSM JSVal
-> (JSVal -> DOM (Maybe EventTarget)) -> DOM (Maybe EventTarget)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe EventTarget)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getRelatedTargetUnsafe ::
(MonadDOM m, HasCallStack) => FocusEvent -> m EventTarget
getRelatedTargetUnsafe :: FocusEvent -> m EventTarget
getRelatedTargetUnsafe FocusEvent
self
= DOM EventTarget -> m EventTarget
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((FocusEvent
self FocusEvent
-> Getting (JSM JSVal) FocusEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter FocusEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"relatedTarget") JSM JSVal
-> (JSVal -> DOM (Maybe EventTarget)) -> DOM (Maybe EventTarget)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe EventTarget)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe EventTarget)
-> (Maybe EventTarget -> DOM EventTarget) -> DOM EventTarget
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM EventTarget
-> (EventTarget -> DOM EventTarget)
-> Maybe EventTarget
-> DOM EventTarget
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM EventTarget
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") EventTarget -> DOM EventTarget
forall (m :: * -> *) a. Monad m => a -> m a
return)
getRelatedTargetUnchecked ::
(MonadDOM m) => FocusEvent -> m EventTarget
getRelatedTargetUnchecked :: FocusEvent -> m EventTarget
getRelatedTargetUnchecked FocusEvent
self
= DOM EventTarget -> m EventTarget
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((FocusEvent
self FocusEvent
-> Getting (JSM JSVal) FocusEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter FocusEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"relatedTarget") JSM JSVal -> (JSVal -> DOM EventTarget) -> DOM EventTarget
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM EventTarget
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)