{-# LANGUAGE PatternSynonyms #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} module JSDOM.Generated.Selection (collapse, collapseToEnd, collapseToStart, deleteFromDocument, containsNode, containsNode_, selectAllChildren, extend, getRangeAt, getRangeAt_, getRangeAtUnsafe, getRangeAtUnchecked, removeAllRanges, addRange, toString, toString_, modify, setBaseAndExtent, setPosition, empty, getAnchorNode, getAnchorNodeUnsafe, getAnchorNodeUnchecked, getAnchorOffset, getFocusNode, getFocusNodeUnsafe, getFocusNodeUnchecked, getFocusOffset, getIsCollapsed, getRangeCount, getBaseNode, getBaseNodeUnsafe, getBaseNodeUnchecked, getBaseOffset, getExtentNode, getExtentNodeUnsafe, getExtentNodeUnchecked, getExtentOffset, getType, Selection(..), gTypeSelection) 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 Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array) 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) import JSDOM.Enums -- | collapse :: (MonadDOM m, IsNode node) => Selection -> Maybe node -> Int -> m () collapse self node index = liftDOM (void (self ^. jsf "collapse" [toJSVal node, toJSVal index])) -- | collapseToEnd :: (MonadDOM m) => Selection -> m () collapseToEnd self = liftDOM (void (self ^. jsf "collapseToEnd" ())) -- | collapseToStart :: (MonadDOM m) => Selection -> m () collapseToStart self = liftDOM (void (self ^. jsf "collapseToStart" ())) -- | deleteFromDocument :: (MonadDOM m) => Selection -> m () deleteFromDocument self = liftDOM (void (self ^. jsf "deleteFromDocument" ())) -- | containsNode :: (MonadDOM m, IsNode node) => Selection -> Maybe node -> Bool -> m Bool containsNode self node allowPartial = liftDOM ((self ^. jsf "containsNode" [toJSVal node, toJSVal allowPartial]) >>= valToBool) -- | containsNode_ :: (MonadDOM m, IsNode node) => Selection -> Maybe node -> Bool -> m () containsNode_ self node allowPartial = liftDOM (void (self ^. jsf "containsNode" [toJSVal node, toJSVal allowPartial])) -- | selectAllChildren :: (MonadDOM m, IsNode node) => Selection -> Maybe node -> m () selectAllChildren self node = liftDOM (void (self ^. jsf "selectAllChildren" [toJSVal node])) -- | extend :: (MonadDOM m, IsNode node) => Selection -> Maybe node -> Int -> m () extend self node offset = liftDOM (void (self ^. jsf "extend" [toJSVal node, toJSVal offset])) -- | getRangeAt :: (MonadDOM m) => Selection -> Int -> m (Maybe Range) getRangeAt self index = liftDOM ((self ^. jsf "getRangeAt" [toJSVal index]) >>= fromJSVal) -- | getRangeAt_ :: (MonadDOM m) => Selection -> Int -> m () getRangeAt_ self index = liftDOM (void (self ^. jsf "getRangeAt" [toJSVal index])) -- | getRangeAtUnsafe :: (MonadDOM m, HasCallStack) => Selection -> Int -> m Range getRangeAtUnsafe self index = liftDOM (((self ^. jsf "getRangeAt" [toJSVal index]) >>= fromJSVal) >>= maybe (Prelude.error "Nothing to return") return) -- | getRangeAtUnchecked :: (MonadDOM m) => Selection -> Int -> m Range getRangeAtUnchecked self index = liftDOM ((self ^. jsf "getRangeAt" [toJSVal index]) >>= fromJSValUnchecked) -- | removeAllRanges :: (MonadDOM m) => Selection -> m () removeAllRanges self = liftDOM (void (self ^. jsf "removeAllRanges" ())) -- | addRange :: (MonadDOM m) => Selection -> Maybe Range -> m () addRange self range = liftDOM (void (self ^. jsf "addRange" [toJSVal range])) -- | toString :: (MonadDOM m, FromJSString result) => Selection -> m result toString self = liftDOM ((self ^. jsf "toString" ()) >>= fromJSValUnchecked) -- | toString_ :: (MonadDOM m) => Selection -> m () toString_ self = liftDOM (void (self ^. jsf "toString" ())) -- | modify :: (MonadDOM m, ToJSString alter, ToJSString direction, ToJSString granularity) => Selection -> alter -> direction -> granularity -> m () modify self alter direction granularity = liftDOM (void (self ^. jsf "modify" [toJSVal alter, toJSVal direction, toJSVal granularity])) -- | setBaseAndExtent :: (MonadDOM m, IsNode baseNode, IsNode extentNode) => Selection -> Maybe baseNode -> Int -> Maybe extentNode -> Int -> m () setBaseAndExtent self baseNode baseOffset extentNode extentOffset = liftDOM (void (self ^. jsf "setBaseAndExtent" [toJSVal baseNode, toJSVal baseOffset, toJSVal extentNode, toJSVal extentOffset])) -- | setPosition :: (MonadDOM m, IsNode node) => Selection -> Maybe node -> Int -> m () setPosition self node offset = liftDOM (void (self ^. jsf "setPosition" [toJSVal node, toJSVal offset])) -- | empty :: (MonadDOM m) => Selection -> m () empty self = liftDOM (void (self ^. jsf "empty" ())) -- | getAnchorNode :: (MonadDOM m) => Selection -> m (Maybe Node) getAnchorNode self = liftDOM ((self ^. js "anchorNode") >>= fromJSVal) -- | getAnchorNodeUnsafe :: (MonadDOM m, HasCallStack) => Selection -> m Node getAnchorNodeUnsafe self = liftDOM (((self ^. js "anchorNode") >>= fromJSVal) >>= maybe (Prelude.error "Nothing to return") return) -- | getAnchorNodeUnchecked :: (MonadDOM m) => Selection -> m Node getAnchorNodeUnchecked self = liftDOM ((self ^. js "anchorNode") >>= fromJSValUnchecked) -- | getAnchorOffset :: (MonadDOM m) => Selection -> m Int getAnchorOffset self = liftDOM (round <$> ((self ^. js "anchorOffset") >>= valToNumber)) -- | getFocusNode :: (MonadDOM m) => Selection -> m (Maybe Node) getFocusNode self = liftDOM ((self ^. js "focusNode") >>= fromJSVal) -- | getFocusNodeUnsafe :: (MonadDOM m, HasCallStack) => Selection -> m Node getFocusNodeUnsafe self = liftDOM (((self ^. js "focusNode") >>= fromJSVal) >>= maybe (Prelude.error "Nothing to return") return) -- | getFocusNodeUnchecked :: (MonadDOM m) => Selection -> m Node getFocusNodeUnchecked self = liftDOM ((self ^. js "focusNode") >>= fromJSValUnchecked) -- | getFocusOffset :: (MonadDOM m) => Selection -> m Int getFocusOffset self = liftDOM (round <$> ((self ^. js "focusOffset") >>= valToNumber)) -- | getIsCollapsed :: (MonadDOM m) => Selection -> m Bool getIsCollapsed self = liftDOM ((self ^. js "isCollapsed") >>= valToBool) -- | getRangeCount :: (MonadDOM m) => Selection -> m Int getRangeCount self = liftDOM (round <$> ((self ^. js "rangeCount") >>= valToNumber)) -- | getBaseNode :: (MonadDOM m) => Selection -> m (Maybe Node) getBaseNode self = liftDOM ((self ^. js "baseNode") >>= fromJSVal) -- | getBaseNodeUnsafe :: (MonadDOM m, HasCallStack) => Selection -> m Node getBaseNodeUnsafe self = liftDOM (((self ^. js "baseNode") >>= fromJSVal) >>= maybe (Prelude.error "Nothing to return") return) -- | getBaseNodeUnchecked :: (MonadDOM m) => Selection -> m Node getBaseNodeUnchecked self = liftDOM ((self ^. js "baseNode") >>= fromJSValUnchecked) -- | getBaseOffset :: (MonadDOM m) => Selection -> m Int getBaseOffset self = liftDOM (round <$> ((self ^. js "baseOffset") >>= valToNumber)) -- | getExtentNode :: (MonadDOM m) => Selection -> m (Maybe Node) getExtentNode self = liftDOM ((self ^. js "extentNode") >>= fromJSVal) -- | getExtentNodeUnsafe :: (MonadDOM m, HasCallStack) => Selection -> m Node getExtentNodeUnsafe self = liftDOM (((self ^. js "extentNode") >>= fromJSVal) >>= maybe (Prelude.error "Nothing to return") return) -- | getExtentNodeUnchecked :: (MonadDOM m) => Selection -> m Node getExtentNodeUnchecked self = liftDOM ((self ^. js "extentNode") >>= fromJSValUnchecked) -- | getExtentOffset :: (MonadDOM m) => Selection -> m Int getExtentOffset self = liftDOM (round <$> ((self ^. js "extentOffset") >>= valToNumber)) -- | getType :: (MonadDOM m, FromJSString result) => Selection -> m result getType self = liftDOM ((self ^. js "type") >>= fromJSValUnchecked)