packages feed

ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/Event.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from dom (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.Event
       (js_newEvent, js_composedPath, js_initEvent, js_preventDefault, js_stopImmediatePropagation, js_stopPropagation, js_getType, js_getTarget, js_getSrcElement, js_getCurrentTarget, js_getEventPhase, js_setCancelBubble, js_getCancelBubble, js_getBubbles, js_getCancelable, js_setReturnValue, js_getReturnValue, js_getDefaultPrevented, js_getComposed, js_getIsTrusted, js_getTimeStamp, newEvent, composedPath, composedPath_, initEvent, preventDefault, stopImmediatePropagation, stopPropagation, getType, getTarget, getTargetUnsafe, getTargetUnchecked, getSrcElement, getSrcElementUnsafe, getSrcElementUnchecked, getCurrentTarget, getCurrentTargetUnsafe, getCurrentTargetUnchecked, getEventPhase, setCancelBubble, getCancelBubble, getBubbles, getCancelable, setReturnValue, getReturnValue, getDefaultPrevented, getComposed, getIsTrusted, getTimeStamp, pattern NONE, pattern CAPTURING_PHASE, pattern AT_TARGET, pattern BUBBLING_PHASE, Event(..), gTypeEvent, IsEvent, toEvent)
       where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums

foreign import javascript safe "(($1, $2) => { return new globalThis[\"Event\"]($1, $2); })"
        js_newEvent :: JSString -> JSVal -> IO Event
-- | <https://developer.mozilla.org/docs/Web/API/Event/Event MDN Event. documentation>
newEvent :: (MonadDOM m, ToJSString type', IsEventInit eventInitDict) => type' -> Maybe eventInitDict -> m Event
newEvent type' eventInitDict = liftDOM (((P.maybe (P.return jsUndefined) toJSVal eventInitDict) >>= \a2' -> js_newEvent (toJSString type') a2'))

foreign import javascript safe "(($1) => { return $1[\"composedPath\"](); })"
        js_composedPath :: Event -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Event/composedPath MDN Event.composedPath documentation>
composedPath :: (MonadDOM m, IsEvent self) => self -> m [EventTarget]
composedPath self = liftDOM (((js_composedPath ((Types.toEvent self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Event/composedPath MDN Event.composedPath documentation>
composedPath_ :: (MonadDOM m, IsEvent self) => self -> m ()
composedPath_ self = liftDOM (void ((js_composedPath ((Types.toEvent self)))))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"initEvent\"]($2, $3, $4); })"
        js_initEvent :: Event -> JSString -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Event/initEvent MDN Event.initEvent documentation>
initEvent :: (MonadDOM m, IsEvent self, ToJSString type') => self -> type' -> Maybe Bool -> Maybe Bool -> m ()
initEvent self type' bubbles cancelable = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal bubbles) >>= \a3' -> (P.maybe (P.return jsUndefined) toJSVal cancelable) >>= \a4' -> js_initEvent ((Types.toEvent self)) (toJSString type') a3' a4')))

foreign import javascript safe "(($1) => { return $1[\"preventDefault\"](); })"
        js_preventDefault :: Event -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Event/preventDefault MDN Event.preventDefault documentation>
preventDefault :: (MonadDOM m, IsEvent self) => self -> m ()
preventDefault self = liftDOM (void ((js_preventDefault ((Types.toEvent self)))))

foreign import javascript safe "(($1) => { return $1[\"stopImmediatePropagation\"](); })"
        js_stopImmediatePropagation :: Event -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Event/stopImmediatePropagation MDN Event.stopImmediatePropagation documentation>
stopImmediatePropagation :: (MonadDOM m, IsEvent self) => self -> m ()
stopImmediatePropagation self = liftDOM (void ((js_stopImmediatePropagation ((Types.toEvent self)))))

foreign import javascript safe "(($1) => { return $1[\"stopPropagation\"](); })"
        js_stopPropagation :: Event -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Event/stopPropagation MDN Event.stopPropagation documentation>
stopPropagation :: (MonadDOM m, IsEvent self) => self -> m ()
stopPropagation self = liftDOM (void ((js_stopPropagation ((Types.toEvent self)))))

foreign import javascript unsafe "(($1) => { return $1[\"type\"]; })"
        js_getType :: Event -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/Event/type MDN Event.type documentation>
getType :: (MonadDOM m, IsEvent self, FromJSString result) => self -> m result
getType self = liftDOM ((fromJSString <$> (js_getType ((Types.toEvent self)))))

foreign import javascript unsafe "(($1) => { return $1[\"target\"]; })"
        js_getTarget :: Event -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Event/target MDN Event.target documentation>
getTarget :: (MonadDOM m, IsEvent self) => self -> m (Maybe EventTarget)
getTarget self = liftDOM (((js_getTarget ((Types.toEvent self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Event/target MDN Event.target documentation>
getTargetUnsafe :: (MonadDOM m, IsEvent self, HasCallStack) => self -> m EventTarget
getTargetUnsafe self = liftDOM ((((js_getTarget ((Types.toEvent self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Event/target MDN Event.target documentation>
getTargetUnchecked :: (MonadDOM m, IsEvent self) => self -> m EventTarget
getTargetUnchecked self = liftDOM ((pFromJSVal <$> (js_getTarget ((Types.toEvent self)))))

foreign import javascript unsafe "(($1) => { return $1[\"srcElement\"]; })"
        js_getSrcElement :: Event -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Event/srcElement MDN Event.srcElement documentation>
getSrcElement :: (MonadDOM m, IsEvent self) => self -> m (Maybe EventTarget)
getSrcElement self = liftDOM (((js_getSrcElement ((Types.toEvent self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Event/srcElement MDN Event.srcElement documentation>
getSrcElementUnsafe :: (MonadDOM m, IsEvent self, HasCallStack) => self -> m EventTarget
getSrcElementUnsafe self = liftDOM ((((js_getSrcElement ((Types.toEvent self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Event/srcElement MDN Event.srcElement documentation>
getSrcElementUnchecked :: (MonadDOM m, IsEvent self) => self -> m EventTarget
getSrcElementUnchecked self = liftDOM ((pFromJSVal <$> (js_getSrcElement ((Types.toEvent self)))))

foreign import javascript unsafe "(($1) => { return $1[\"currentTarget\"]; })"
        js_getCurrentTarget :: Event -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Event/currentTarget MDN Event.currentTarget documentation>
getCurrentTarget :: (MonadDOM m, IsEvent self) => self -> m (Maybe EventTarget)
getCurrentTarget self = liftDOM (((js_getCurrentTarget ((Types.toEvent self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Event/currentTarget MDN Event.currentTarget documentation>
getCurrentTargetUnsafe :: (MonadDOM m, IsEvent self, HasCallStack) => self -> m EventTarget
getCurrentTargetUnsafe self = liftDOM ((((js_getCurrentTarget ((Types.toEvent self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Event/currentTarget MDN Event.currentTarget documentation>
getCurrentTargetUnchecked :: (MonadDOM m, IsEvent self) => self -> m EventTarget
getCurrentTargetUnchecked self = liftDOM ((pFromJSVal <$> (js_getCurrentTarget ((Types.toEvent self)))))

foreign import javascript unsafe "(($1) => { return $1[\"eventPhase\"]; })"
        js_getEventPhase :: Event -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/Event/eventPhase MDN Event.eventPhase documentation>
getEventPhase :: (MonadDOM m, IsEvent self) => self -> m Word
getEventPhase self = liftDOM ((js_getEventPhase ((Types.toEvent self))))

foreign import javascript safe "(($1, $2) => { $1[\"cancelBubble\"] = $2; })"
        js_setCancelBubble :: Event -> Bool -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Event/cancelBubble MDN Event.cancelBubble documentation>
setCancelBubble :: (MonadDOM m, IsEvent self) => self -> Bool -> m ()
setCancelBubble self val = liftDOM (void ((js_setCancelBubble ((Types.toEvent self)) (val))))

foreign import javascript unsafe "(($1) => { return $1[\"cancelBubble\"]; })"
        js_getCancelBubble :: Event -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Event/cancelBubble MDN Event.cancelBubble documentation>
getCancelBubble :: (MonadDOM m, IsEvent self) => self -> m Bool
getCancelBubble self = liftDOM ((js_getCancelBubble ((Types.toEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"bubbles\"]; })"
        js_getBubbles :: Event -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Event/bubbles MDN Event.bubbles documentation>
getBubbles :: (MonadDOM m, IsEvent self) => self -> m Bool
getBubbles self = liftDOM ((js_getBubbles ((Types.toEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"cancelable\"]; })"
        js_getCancelable :: Event -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Event/cancelable MDN Event.cancelable documentation>
getCancelable :: (MonadDOM m, IsEvent self) => self -> m Bool
getCancelable self = liftDOM ((js_getCancelable ((Types.toEvent self))))

foreign import javascript safe "(($1, $2) => { $1[\"returnValue\"] = $2; })"
        js_setReturnValue :: Event -> Bool -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Event/returnValue MDN Event.returnValue documentation>
setReturnValue :: (MonadDOM m, IsEvent self) => self -> Bool -> m ()
setReturnValue self val = liftDOM (void ((js_setReturnValue ((Types.toEvent self)) (val))))

foreign import javascript unsafe "(($1) => { return $1[\"returnValue\"]; })"
        js_getReturnValue :: Event -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Event/returnValue MDN Event.returnValue documentation>
getReturnValue :: (MonadDOM m, IsEvent self) => self -> m Bool
getReturnValue self = liftDOM ((js_getReturnValue ((Types.toEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"defaultPrevented\"]; })"
        js_getDefaultPrevented :: Event -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Event/defaultPrevented MDN Event.defaultPrevented documentation>
getDefaultPrevented :: (MonadDOM m, IsEvent self) => self -> m Bool
getDefaultPrevented self = liftDOM ((js_getDefaultPrevented ((Types.toEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"composed\"]; })"
        js_getComposed :: Event -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Event/composed MDN Event.composed documentation>
getComposed :: (MonadDOM m, IsEvent self) => self -> m Bool
getComposed self = liftDOM ((js_getComposed ((Types.toEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"isTrusted\"]; })"
        js_getIsTrusted :: Event -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Event/isTrusted MDN Event.isTrusted documentation>
getIsTrusted :: (MonadDOM m, IsEvent self) => self -> m Bool
getIsTrusted self = liftDOM ((js_getIsTrusted ((Types.toEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"timeStamp\"]; })"
        js_getTimeStamp :: Event -> IO Double
-- | <https://developer.mozilla.org/docs/Web/API/Event/timeStamp MDN Event.timeStamp documentation>
getTimeStamp :: (MonadDOM m, IsEvent self) => self -> m Double
getTimeStamp self = liftDOM ((js_getTimeStamp ((Types.toEvent self))))

pattern NONE = 0

pattern CAPTURING_PHASE = 1

pattern AT_TARGET = 2

pattern BUBBLING_PHASE = 3