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)