{-# LANGUAGE PatternSynonyms #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.WindowEventHandlers
       (beforeUnload, hashChange, languagechange, message, offline,
        online, pageHide, pageShow, popState, storage, unload,
        orientationChange, WindowEventHandlers(..),
        gTypeWindowEventHandlers, IsWindowEventHandlers,
        toWindowEventHandlers)
       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

-- | <https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers.onbeforeunload Mozilla WindowEventHandlers.onbeforeunload documentation> 
beforeUnload ::
             (IsWindowEventHandlers self, IsEventTarget self) =>
               EventName self BeforeUnloadEvent
beforeUnload :: EventName self BeforeUnloadEvent
beforeUnload = DOMString -> EventName self BeforeUnloadEvent
forall t e. DOMString -> EventName t e
unsafeEventName ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"beforeunload")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers.onhashchange Mozilla WindowEventHandlers.onhashchange documentation> 
hashChange ::
           (IsWindowEventHandlers self, IsEventTarget self) =>
             EventName self HashChangeEvent
hashChange :: EventName self HashChangeEvent
hashChange = DOMString -> EventName self HashChangeEvent
forall t e. DOMString -> EventName t e
unsafeEventName ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"hashchange")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers.onlanguagechange Mozilla WindowEventHandlers.onlanguagechange documentation> 
languagechange ::
               (IsWindowEventHandlers self, IsEventTarget self) =>
                 EventName self Event
languagechange :: EventName self Event
languagechange = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"languagechange")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers.onmessage Mozilla WindowEventHandlers.onmessage documentation> 
message ::
        (IsWindowEventHandlers self, IsEventTarget self) =>
          EventName self MessageEvent
message :: EventName self MessageEvent
message = DOMString -> EventName self MessageEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"message")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers.onoffline Mozilla WindowEventHandlers.onoffline documentation> 
offline ::
        (IsWindowEventHandlers self, IsEventTarget self) =>
          EventName self Event
offline :: EventName self Event
offline = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"offline")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers.ononline Mozilla WindowEventHandlers.ononline documentation> 
online ::
       (IsWindowEventHandlers self, IsEventTarget self) =>
         EventName self Event
online :: EventName self Event
online = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"online")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers.onpagehide Mozilla WindowEventHandlers.onpagehide documentation> 
pageHide ::
         (IsWindowEventHandlers self, IsEventTarget self) =>
           EventName self PageTransitionEvent
pageHide :: EventName self PageTransitionEvent
pageHide = DOMString -> EventName self PageTransitionEvent
forall t e. DOMString -> EventName t e
unsafeEventName ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"pagehide")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers.onpageshow Mozilla WindowEventHandlers.onpageshow documentation> 
pageShow ::
         (IsWindowEventHandlers self, IsEventTarget self) =>
           EventName self PageTransitionEvent
pageShow :: EventName self PageTransitionEvent
pageShow = DOMString -> EventName self PageTransitionEvent
forall t e. DOMString -> EventName t e
unsafeEventName ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"pageshow")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers.onpopstate Mozilla WindowEventHandlers.onpopstate documentation> 
popState ::
         (IsWindowEventHandlers self, IsEventTarget self) =>
           EventName self PopStateEvent
popState :: EventName self PopStateEvent
popState = DOMString -> EventName self PopStateEvent
forall t e. DOMString -> EventName t e
unsafeEventName ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"popstate")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers.onstorage Mozilla WindowEventHandlers.onstorage documentation> 
storage ::
        (IsWindowEventHandlers self, IsEventTarget self) =>
          EventName self StorageEvent
storage :: EventName self StorageEvent
storage = DOMString -> EventName self StorageEvent
forall t e. DOMString -> EventName t e
unsafeEventName ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"storage")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers.onunload Mozilla WindowEventHandlers.onunload documentation> 
unload ::
       (IsWindowEventHandlers self, IsEventTarget self) =>
         EventName self UIEvent
unload :: EventName self UIEvent
unload = DOMString -> EventName self UIEvent
forall t e. DOMString -> EventName t e
unsafeEventName ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"unload")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers.onorientationchange Mozilla WindowEventHandlers.onorientationchange documentation> 
orientationChange ::
                  (IsWindowEventHandlers self, IsEventTarget self) =>
                    EventName self Event
orientationChange :: EventName self Event
orientationChange
  = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"orientationchange")