packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/UIEvent.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from uievents (webref). Do not edit.
module JSDOM.Generated.UIEvent
       (newUIEvent, initUIEvent, getView, getViewUnsafe, getViewUnchecked, getDetail, getWhich, UIEvent(..), gTypeUIEvent, IsUIEvent, toUIEvent)
       where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums

-- | <https://developer.mozilla.org/docs/Web/API/UIEvent/UIEvent MDN UIEvent. documentation>
newUIEvent :: (MonadDOM m, ToJSString type', IsUIEventInit eventInitDict) => type' -> Maybe eventInitDict -> m UIEvent
newUIEvent type' eventInitDict = liftDOM (((new (jsg "UIEvent") [toJSVal type', P.maybe (P.return jsUndefined) toJSVal eventInitDict]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/UIEvent/initUIEvent MDN UIEvent.initUIEvent documentation>
initUIEvent :: (MonadDOM m, IsUIEvent self, ToJSString typeArg) => self -> typeArg -> Maybe Bool -> Maybe Bool -> Maybe Window -> Maybe Int -> m ()
initUIEvent self typeArg bubblesArg cancelableArg viewArg detailArg = liftDOM (void ((Types.toUIEvent self) ^. jsf "initUIEvent" [toJSVal typeArg, P.maybe (P.return jsUndefined) toJSVal bubblesArg, P.maybe (P.return jsUndefined) toJSVal cancelableArg, toJSVal viewArg, P.maybe (P.return jsUndefined) toJSVal detailArg]))

-- | <https://developer.mozilla.org/docs/Web/API/UIEvent/view MDN UIEvent.view documentation>
getView :: (MonadDOM m, IsUIEvent self) => self -> m (Maybe Window)
getView self = liftDOM ((((Types.toUIEvent self) ^. js "view") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/UIEvent/view MDN UIEvent.view documentation>
getViewUnsafe :: (MonadDOM m, IsUIEvent self, HasCallStack) => self -> m Window
getViewUnsafe self = liftDOM (((((Types.toUIEvent self) ^. js "view") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/UIEvent/view MDN UIEvent.view documentation>
getViewUnchecked :: (MonadDOM m, IsUIEvent self) => self -> m Window
getViewUnchecked self = liftDOM ((((Types.toUIEvent self) ^. js "view") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/UIEvent/detail MDN UIEvent.detail documentation>
getDetail :: (MonadDOM m, IsUIEvent self) => self -> m Int
getDetail self = liftDOM ((P.round <$> (((Types.toUIEvent self) ^. js "detail") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/UIEvent/which MDN UIEvent.which documentation>
getWhich :: (MonadDOM m, IsUIEvent self) => self -> m Word
getWhich self = liftDOM ((P.round <$> (((Types.toUIEvent self) ^. js "which") >>= valToNumber)))