packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from html (webref). Do not edit.
module JSDOM.Generated.Navigation
       (back, back_, entries, entries_, forward, forward_, navigate, navigate_, reload, reload_, traverseTo, traverseTo_, updateCurrentEntry, getCurrentEntry, getCurrentEntryUnsafe, getCurrentEntryUnchecked, getTransition, getTransitionUnsafe, getTransitionUnchecked, getActivation, getActivationUnsafe, getActivationUnchecked, getCanGoBack, getCanGoForward, navigateEvent, navigatesuccess, navigateerror, currententrychange, Navigation(..), gTypeNavigation)
       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/Navigation/back MDN Navigation.back documentation>
back :: (MonadDOM m, IsNavigationOptions options) => Navigation -> Maybe options -> m NavigationResult
back self options = liftDOM (((self ^. jsf "back" [P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/back MDN Navigation.back documentation>
back_ :: (MonadDOM m, IsNavigationOptions options) => Navigation -> Maybe options -> m ()
back_ self options = liftDOM (void (self ^. jsf "back" [P.maybe (P.return jsUndefined) toJSVal options]))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/entries MDN Navigation.entries documentation>
entries :: (MonadDOM m) => Navigation -> m [NavigationHistoryEntry]
entries self = liftDOM (((self ^. jsf "entries" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/entries MDN Navigation.entries documentation>
entries_ :: (MonadDOM m) => Navigation -> m ()
entries_ self = liftDOM (void (self ^. jsf "entries" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/forward MDN Navigation.forward documentation>
forward :: (MonadDOM m, IsNavigationOptions options) => Navigation -> Maybe options -> m NavigationResult
forward self options = liftDOM (((self ^. jsf "forward" [P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/forward MDN Navigation.forward documentation>
forward_ :: (MonadDOM m, IsNavigationOptions options) => Navigation -> Maybe options -> m ()
forward_ self options = liftDOM (void (self ^. jsf "forward" [P.maybe (P.return jsUndefined) toJSVal options]))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/navigate MDN Navigation.navigate documentation>
navigate :: (MonadDOM m, ToJSString url) => Navigation -> url -> Maybe NavigationNavigateOptions -> m NavigationResult
navigate self url options = liftDOM (((self ^. jsf "navigate" [toJSVal url, P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/navigate MDN Navigation.navigate documentation>
navigate_ :: (MonadDOM m, ToJSString url) => Navigation -> url -> Maybe NavigationNavigateOptions -> m ()
navigate_ self url options = liftDOM (void (self ^. jsf "navigate" [toJSVal url, P.maybe (P.return jsUndefined) toJSVal options]))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/reload MDN Navigation.reload documentation>
reload :: (MonadDOM m) => Navigation -> Maybe NavigationReloadOptions -> m NavigationResult
reload self options = liftDOM (((self ^. jsf "reload" [P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/reload MDN Navigation.reload documentation>
reload_ :: (MonadDOM m) => Navigation -> Maybe NavigationReloadOptions -> m ()
reload_ self options = liftDOM (void (self ^. jsf "reload" [P.maybe (P.return jsUndefined) toJSVal options]))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/traverseTo MDN Navigation.traverseTo documentation>
traverseTo :: (MonadDOM m, ToJSString key, IsNavigationOptions options) => Navigation -> key -> Maybe options -> m NavigationResult
traverseTo self key options = liftDOM (((self ^. jsf "traverseTo" [toJSVal key, P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/traverseTo MDN Navigation.traverseTo documentation>
traverseTo_ :: (MonadDOM m, ToJSString key, IsNavigationOptions options) => Navigation -> key -> Maybe options -> m ()
traverseTo_ self key options = liftDOM (void (self ^. jsf "traverseTo" [toJSVal key, P.maybe (P.return jsUndefined) toJSVal options]))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/updateCurrentEntry MDN Navigation.updateCurrentEntry documentation>
updateCurrentEntry :: (MonadDOM m) => Navigation -> NavigationUpdateCurrentEntryOptions -> m ()
updateCurrentEntry self options = liftDOM (void (self ^. jsf "updateCurrentEntry" [toJSVal options]))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/currentEntry MDN Navigation.currentEntry documentation>
getCurrentEntry :: (MonadDOM m) => Navigation -> m (Maybe NavigationHistoryEntry)
getCurrentEntry self = liftDOM (((self ^. js "currentEntry") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/currentEntry MDN Navigation.currentEntry documentation>
getCurrentEntryUnsafe :: (MonadDOM m, HasCallStack) => Navigation -> m NavigationHistoryEntry
getCurrentEntryUnsafe self = liftDOM ((((self ^. js "currentEntry") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/currentEntry MDN Navigation.currentEntry documentation>
getCurrentEntryUnchecked :: (MonadDOM m) => Navigation -> m NavigationHistoryEntry
getCurrentEntryUnchecked self = liftDOM (((self ^. js "currentEntry") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/transition MDN Navigation.transition documentation>
getTransition :: (MonadDOM m) => Navigation -> m (Maybe NavigationTransition)
getTransition self = liftDOM (((self ^. js "transition") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/transition MDN Navigation.transition documentation>
getTransitionUnsafe :: (MonadDOM m, HasCallStack) => Navigation -> m NavigationTransition
getTransitionUnsafe self = liftDOM ((((self ^. js "transition") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/transition MDN Navigation.transition documentation>
getTransitionUnchecked :: (MonadDOM m) => Navigation -> m NavigationTransition
getTransitionUnchecked self = liftDOM (((self ^. js "transition") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/activation MDN Navigation.activation documentation>
getActivation :: (MonadDOM m) => Navigation -> m (Maybe NavigationActivation)
getActivation self = liftDOM (((self ^. js "activation") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/activation MDN Navigation.activation documentation>
getActivationUnsafe :: (MonadDOM m, HasCallStack) => Navigation -> m NavigationActivation
getActivationUnsafe self = liftDOM ((((self ^. js "activation") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/activation MDN Navigation.activation documentation>
getActivationUnchecked :: (MonadDOM m) => Navigation -> m NavigationActivation
getActivationUnchecked self = liftDOM (((self ^. js "activation") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/canGoBack MDN Navigation.canGoBack documentation>
getCanGoBack :: (MonadDOM m) => Navigation -> m Bool
getCanGoBack self = liftDOM (((self ^. js "canGoBack") >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/Navigation/canGoForward MDN Navigation.canGoForward documentation>
getCanGoForward :: (MonadDOM m) => Navigation -> m Bool
getCanGoForward self = liftDOM (((self ^. js "canGoForward") >>= valToBool))

-- | <https://html.spec.whatwg.org/multipage/nav-history-apis.html#handler-navigation-onnavigate navigate event>
navigateEvent :: EventName Navigation NavigateEvent
navigateEvent = unsafeEventName (toJSString "navigate")

-- | <https://html.spec.whatwg.org/multipage/nav-history-apis.html#handler-navigation-onnavigatesuccess navigatesuccess event>
navigatesuccess :: EventName Navigation Event
navigatesuccess = unsafeEventName (toJSString "navigatesuccess")

-- | <https://html.spec.whatwg.org/multipage/nav-history-apis.html#handler-navigation-onnavigateerror navigateerror event>
navigateerror :: EventName Navigation ErrorEvent
navigateerror = unsafeEventName (toJSString "navigateerror")

-- | <https://html.spec.whatwg.org/multipage/nav-history-apis.html#handler-navigation-oncurrententrychange currententrychange event>
currententrychange :: EventName Navigation NavigationCurrentEntryChangeEvent
currententrychange = unsafeEventName (toJSString "currententrychange")