jsaddle-dom-0.10.0.0: src/JSDOM/Generated/KeyboardEvent.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.KeyboardEvent
(newKeyboardEvent, getModifierState, getModifierState_, initKeyboardEvent, getKey, getCode, getLocation, getCtrlKey, getShiftKey, getAltKey, getMetaKey, getRepeat, getIsComposing, getCharCode, getKeyCode, pattern DOM_KEY_LOCATION_STANDARD, pattern DOM_KEY_LOCATION_LEFT, pattern DOM_KEY_LOCATION_RIGHT, pattern DOM_KEY_LOCATION_NUMPAD, KeyboardEvent(..), gTypeKeyboardEvent)
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/KeyboardEvent/KeyboardEvent MDN KeyboardEvent. documentation>
newKeyboardEvent :: (MonadDOM m, ToJSString type') => type' -> Maybe KeyboardEventInit -> m KeyboardEvent
newKeyboardEvent type' eventInitDict = liftDOM (((new (jsg "KeyboardEvent") [toJSVal type', P.maybe (P.return jsUndefined) toJSVal eventInitDict]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/KeyboardEvent/getModifierState MDN KeyboardEvent.getModifierState documentation>
getModifierState :: (MonadDOM m, ToJSString keyArg) => KeyboardEvent -> keyArg -> m Bool
getModifierState self keyArg = liftDOM (((self ^. jsf "getModifierState" [toJSVal keyArg]) >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/KeyboardEvent/getModifierState MDN KeyboardEvent.getModifierState documentation>
getModifierState_ :: (MonadDOM m, ToJSString keyArg) => KeyboardEvent -> keyArg -> m ()
getModifierState_ self keyArg = liftDOM (void (self ^. jsf "getModifierState" [toJSVal keyArg]))
-- | <https://developer.mozilla.org/docs/Web/API/KeyboardEvent/initKeyboardEvent MDN KeyboardEvent.initKeyboardEvent documentation>
initKeyboardEvent :: (MonadDOM m, ToJSString typeArg, ToJSString keyArg) => KeyboardEvent -> typeArg -> Maybe Bool -> Maybe Bool -> Maybe Window -> Maybe keyArg -> Maybe Word -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> m ()
initKeyboardEvent self typeArg bubblesArg cancelableArg viewArg keyArg locationArg ctrlKey altKey shiftKey metaKey = liftDOM (void (self ^. jsf "initKeyboardEvent" [toJSVal typeArg, P.maybe (P.return jsUndefined) toJSVal bubblesArg, P.maybe (P.return jsUndefined) toJSVal cancelableArg, toJSVal viewArg, P.maybe (P.return jsUndefined) toJSVal keyArg, P.maybe (P.return jsUndefined) toJSVal locationArg, P.maybe (P.return jsUndefined) toJSVal ctrlKey, P.maybe (P.return jsUndefined) toJSVal altKey, P.maybe (P.return jsUndefined) toJSVal shiftKey, P.maybe (P.return jsUndefined) toJSVal metaKey]))
-- | <https://developer.mozilla.org/docs/Web/API/KeyboardEvent/key MDN KeyboardEvent.key documentation>
getKey :: (MonadDOM m, FromJSString result) => KeyboardEvent -> m result
getKey self = liftDOM (((self ^. js "key") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/KeyboardEvent/code MDN KeyboardEvent.code documentation>
getCode :: (MonadDOM m, FromJSString result) => KeyboardEvent -> m result
getCode self = liftDOM (((self ^. js "code") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/KeyboardEvent/location MDN KeyboardEvent.location documentation>
getLocation :: (MonadDOM m) => KeyboardEvent -> m Word
getLocation self = liftDOM ((P.round <$> ((self ^. js "location") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/KeyboardEvent/ctrlKey MDN KeyboardEvent.ctrlKey documentation>
getCtrlKey :: (MonadDOM m) => KeyboardEvent -> m Bool
getCtrlKey self = liftDOM (((self ^. js "ctrlKey") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/KeyboardEvent/shiftKey MDN KeyboardEvent.shiftKey documentation>
getShiftKey :: (MonadDOM m) => KeyboardEvent -> m Bool
getShiftKey self = liftDOM (((self ^. js "shiftKey") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/KeyboardEvent/altKey MDN KeyboardEvent.altKey documentation>
getAltKey :: (MonadDOM m) => KeyboardEvent -> m Bool
getAltKey self = liftDOM (((self ^. js "altKey") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/KeyboardEvent/metaKey MDN KeyboardEvent.metaKey documentation>
getMetaKey :: (MonadDOM m) => KeyboardEvent -> m Bool
getMetaKey self = liftDOM (((self ^. js "metaKey") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/KeyboardEvent/repeat MDN KeyboardEvent.repeat documentation>
getRepeat :: (MonadDOM m) => KeyboardEvent -> m Bool
getRepeat self = liftDOM (((self ^. js "repeat") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/KeyboardEvent/isComposing MDN KeyboardEvent.isComposing documentation>
getIsComposing :: (MonadDOM m) => KeyboardEvent -> m Bool
getIsComposing self = liftDOM (((self ^. js "isComposing") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/KeyboardEvent/charCode MDN KeyboardEvent.charCode documentation>
getCharCode :: (MonadDOM m) => KeyboardEvent -> m Word
getCharCode self = liftDOM ((P.round <$> ((self ^. js "charCode") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/KeyboardEvent/keyCode MDN KeyboardEvent.keyCode documentation>
getKeyCode :: (MonadDOM m) => KeyboardEvent -> m Word
getKeyCode self = liftDOM ((P.round <$> ((self ^. js "keyCode") >>= valToNumber)))
pattern DOM_KEY_LOCATION_STANDARD = 0x00
pattern DOM_KEY_LOCATION_LEFT = 0x01
pattern DOM_KEY_LOCATION_RIGHT = 0x02
pattern DOM_KEY_LOCATION_NUMPAD = 0x03