----------------------------------------------------------------------------- {-# LANGUAGE OverloadedStrings #-} ----------------------------------------------------------------------------- -- | -- Module : Miso.Native.X.Element.Viewpager.Method -- Copyright : (C) 2016-2026 David M. Johnson -- License : BSD3-style (see the file LICENSE) -- Maintainer : David M. Johnson <code@dmj.io> -- Stability : experimental -- Portability : non-portable ---------------------------------------------------------------------------- module Miso.Native.X.Element.Viewpager.Method ( -- *** Methods selectTab ) where ----------------------------------------------------------------------------- import Miso import Miso.Native.FFI (invokeExec) ----------------------------------------------------------------------------- -- | Params object for 'selectTab'. data SelectTab = SelectTab Int Bool ----------------------------------------------------------------------------- instance ToJSVal SelectTab where toJSVal :: SelectTab -> IO JSVal toJSVal (SelectTab Int i Bool smooth) = do o <- IO Object create set "index" i o set "smooth" smooth o toJSVal o ----------------------------------------------------------------------------- -- | https://lynxjs.org/api/elements/built-in/viewpager.html#selecttab -- -- Programmatically navigates to the specified page, optionally with animation. -- -- > selectTab "#myPager" 2 True TabSelected TabSelectFailed -- selectTab :: MisoString -> Int -- ^ Page index -> Bool -- ^ Whether to animate the transition -> action -> (MisoString -> action) -> Effect context props model action selectTab :: forall action context props model. MisoString -> Int -> Bool -> action -> (MisoString -> action) -> Effect context props model action selectTab MisoString selector Int i Bool smooth action action = MisoString -> MisoString -> SelectTab -> (() -> action) -> (MisoString -> action) -> Effect context props model action forall params argument action context props model. (ToJSVal params, FromJSVal argument) => MisoString -> MisoString -> params -> (argument -> action) -> (MisoString -> action) -> Effect context props model action invokeExec MisoString "selectTab" MisoString selector (Int -> Bool -> SelectTab SelectTab Int i Bool smooth) (\() -> action action) -----------------------------------------------------------------------------