jsaddle-dom-0.10.0.0: src/JSDOM/Generated/History.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.History
(back, forward, go, pushState, replaceState, getLength, setScrollRestoration, getScrollRestoration, getState, History(..), gTypeHistory)
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/History/back MDN History.back documentation>
back :: (MonadDOM m) => History -> m ()
back self = liftDOM (void (self ^. jsf "back" ()))
-- | <https://developer.mozilla.org/docs/Web/API/History/forward MDN History.forward documentation>
forward :: (MonadDOM m) => History -> m ()
forward self = liftDOM (void (self ^. jsf "forward" ()))
-- | <https://developer.mozilla.org/docs/Web/API/History/go MDN History.go documentation>
go :: (MonadDOM m) => History -> Maybe Int -> m ()
go self delta = liftDOM (void (self ^. jsf "go" [P.maybe (P.return jsUndefined) toJSVal delta]))
-- | <https://developer.mozilla.org/docs/Web/API/History/pushState MDN History.pushState documentation>
pushState :: (MonadDOM m, ToJSString unused, ToJSString url) => History -> JSVal -> unused -> Maybe url -> m ()
pushState self data' unused url = liftDOM (void (self ^. jsf "pushState" [toJSVal data', toJSVal unused, toJSVal url]))
-- | <https://developer.mozilla.org/docs/Web/API/History/replaceState MDN History.replaceState documentation>
replaceState :: (MonadDOM m, ToJSString unused, ToJSString url) => History -> JSVal -> unused -> Maybe url -> m ()
replaceState self data' unused url = liftDOM (void (self ^. jsf "replaceState" [toJSVal data', toJSVal unused, toJSVal url]))
-- | <https://developer.mozilla.org/docs/Web/API/History/length MDN History.length documentation>
getLength :: (MonadDOM m) => History -> m Word
getLength self = liftDOM ((P.round <$> ((self ^. js "length") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/History/scrollRestoration MDN History.scrollRestoration documentation>
setScrollRestoration :: (MonadDOM m) => History -> ScrollRestoration -> m ()
setScrollRestoration self val = liftDOM (void (self ^. jss "scrollRestoration" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/History/scrollRestoration MDN History.scrollRestoration documentation>
getScrollRestoration :: (MonadDOM m) => History -> m ScrollRestoration
getScrollRestoration self = liftDOM (((self ^. js "scrollRestoration") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/History/state MDN History.state documentation>
getState :: (MonadDOM m) => History -> m JSVal
getState self = liftDOM (self ^. js "state")