{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.Selection
(collapse, collapseToEnd, collapseToStart, deleteFromDocument,
containsNode, containsNode_, selectAllChildren, extend, getRangeAt,
getRangeAt_, removeAllRanges, addRange, toString, toString_,
setBaseAndExtent, setPosition, empty, modify, getAnchorNode,
getAnchorNodeUnsafe, getAnchorNodeUnchecked, getAnchorOffset,
getFocusNode, getFocusNodeUnsafe, getFocusNodeUnchecked,
getFocusOffset, getIsCollapsed, getRangeCount, getType,
getBaseNode, getBaseNodeUnsafe, getBaseNodeUnchecked,
getBaseOffset, getExtentNode, getExtentNodeUnsafe,
getExtentNodeUnchecked, getExtentOffset, 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 Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
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, unsafeEventNameAsync)
import JSDOM.Enums
collapse ::
(MonadDOM m, IsNode node) =>
Selection -> Maybe node -> Maybe Word -> m ()
collapse :: forall (m :: * -> *) node.
(MonadDOM m, IsNode node) =>
Selection -> Maybe node -> Maybe Word -> m ()
collapse Selection
self Maybe node
node Maybe Word
offset
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"collapse" [Maybe node -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe node
node, Maybe Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Word
offset]))
collapseToEnd :: (MonadDOM m) => Selection -> m ()
collapseToEnd :: forall (m :: * -> *). MonadDOM m => Selection -> m ()
collapseToEnd Selection
self
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"collapseToEnd" ()))
collapseToStart :: (MonadDOM m) => Selection -> m ()
collapseToStart :: forall (m :: * -> *). MonadDOM m => Selection -> m ()
collapseToStart Selection
self
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"collapseToStart" ()))
deleteFromDocument :: (MonadDOM m) => Selection -> m ()
deleteFromDocument :: forall (m :: * -> *). MonadDOM m => Selection -> m ()
deleteFromDocument Selection
self
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"deleteFromDocument" ()))
containsNode ::
(MonadDOM m, IsNode node) => Selection -> node -> Bool -> m Bool
containsNode :: forall (m :: * -> *) node.
(MonadDOM m, IsNode node) =>
Selection -> node -> Bool -> m Bool
containsNode Selection
self node
node Bool
allowPartial
= DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"containsNode" [node -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal node
node, Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
allowPartial])
JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)
containsNode_ ::
(MonadDOM m, IsNode node) => Selection -> node -> Bool -> m ()
containsNode_ :: forall (m :: * -> *) node.
(MonadDOM m, IsNode node) =>
Selection -> node -> Bool -> m ()
containsNode_ Selection
self node
node Bool
allowPartial
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
(Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"containsNode" [node -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal node
node, Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
allowPartial]))
selectAllChildren ::
(MonadDOM m, IsNode node) => Selection -> node -> m ()
selectAllChildren :: forall (m :: * -> *) node.
(MonadDOM m, IsNode node) =>
Selection -> node -> m ()
selectAllChildren Selection
self node
node
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"selectAllChildren" [node -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal node
node]))
extend ::
(MonadDOM m, IsNode node) =>
Selection -> node -> Maybe Word -> m ()
extend :: forall (m :: * -> *) node.
(MonadDOM m, IsNode node) =>
Selection -> node -> Maybe Word -> m ()
extend Selection
self node
node Maybe Word
offset
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"extend" [node -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal node
node, Maybe Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Word
offset]))
getRangeAt :: (MonadDOM m) => Selection -> Word -> m Range
getRangeAt :: forall (m :: * -> *). MonadDOM m => Selection -> Word -> m Range
getRangeAt Selection
self Word
index
= DOM Range -> m Range
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getRangeAt" [Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
index]) JSM JSVal -> (JSVal -> DOM Range) -> DOM Range
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Range
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getRangeAt_ :: (MonadDOM m) => Selection -> Word -> m ()
getRangeAt_ :: forall (m :: * -> *). MonadDOM m => Selection -> Word -> m ()
getRangeAt_ Selection
self Word
index
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getRangeAt" [Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
index]))
removeAllRanges :: (MonadDOM m) => Selection -> m ()
removeAllRanges :: forall (m :: * -> *). MonadDOM m => Selection -> m ()
removeAllRanges Selection
self
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"removeAllRanges" ()))
addRange :: (MonadDOM m) => Selection -> Range -> m ()
addRange :: forall (m :: * -> *). MonadDOM m => Selection -> Range -> m ()
addRange Selection
self Range
range
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"addRange" [Range -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Range
range]))
toString ::
(MonadDOM m, FromJSString result) => Selection -> m result
toString :: forall (m :: * -> *) result.
(MonadDOM m, FromJSString result) =>
Selection -> m result
toString Selection
self
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"toString" ()) JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
toString_ :: (MonadDOM m) => Selection -> m ()
toString_ :: forall (m :: * -> *). MonadDOM m => Selection -> m ()
toString_ Selection
self = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"toString" ()))
setBaseAndExtent ::
(MonadDOM m, IsNode baseNode, IsNode extentNode) =>
Selection ->
Maybe baseNode -> Word -> Maybe extentNode -> Word -> m ()
setBaseAndExtent :: forall (m :: * -> *) baseNode extentNode.
(MonadDOM m, IsNode baseNode, IsNode extentNode) =>
Selection
-> Maybe baseNode -> Word -> Maybe extentNode -> Word -> m ()
setBaseAndExtent Selection
self Maybe baseNode
baseNode Word
baseOffset Maybe extentNode
extentNode Word
extentOffset
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
(Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"setBaseAndExtent"
[Maybe baseNode -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe baseNode
baseNode, Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
baseOffset, Maybe extentNode -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe extentNode
extentNode,
Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
extentOffset]))
setPosition ::
(MonadDOM m, IsNode node) =>
Selection -> Maybe node -> Maybe Word -> m ()
setPosition :: forall (m :: * -> *) node.
(MonadDOM m, IsNode node) =>
Selection -> Maybe node -> Maybe Word -> m ()
setPosition Selection
self Maybe node
node Maybe Word
offset
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"setPosition" [Maybe node -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe node
node, Maybe Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Word
offset]))
empty :: (MonadDOM m) => Selection -> m ()
empty :: forall (m :: * -> *). MonadDOM m => Selection -> m ()
empty Selection
self = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"empty" ()))
modify ::
(MonadDOM m, ToJSString alter, ToJSString direction,
ToJSString granularity) =>
Selection ->
Maybe alter -> Maybe direction -> Maybe granularity -> m ()
modify :: forall (m :: * -> *) alter direction granularity.
(MonadDOM m, ToJSString alter, ToJSString direction,
ToJSString granularity) =>
Selection
-> Maybe alter -> Maybe direction -> Maybe granularity -> m ()
modify Selection
self Maybe alter
alter Maybe direction
direction Maybe granularity
granularity
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
(Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"modify"
[Maybe alter -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe alter
alter, Maybe direction -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe direction
direction, Maybe granularity -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe granularity
granularity]))
getAnchorNode :: (MonadDOM m) => Selection -> m (Maybe Node)
getAnchorNode :: forall (m :: * -> *). MonadDOM m => Selection -> m (Maybe Node)
getAnchorNode Selection
self
= DOM (Maybe Node) -> m (Maybe Node)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"anchorNode") JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getAnchorNodeUnsafe ::
(MonadDOM m, HasCallStack) => Selection -> m Node
getAnchorNodeUnsafe :: forall (m :: * -> *).
(MonadDOM m, HasCallStack) =>
Selection -> m Node
getAnchorNodeUnsafe Selection
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"anchorNode") JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Node) -> (Maybe Node -> DOM Node) -> DOM Node
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Node -> (Node -> DOM Node) -> Maybe Node -> DOM Node
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Node
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Node -> DOM Node
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
getAnchorNodeUnchecked :: (MonadDOM m) => Selection -> m Node
getAnchorNodeUnchecked :: forall (m :: * -> *). MonadDOM m => Selection -> m Node
getAnchorNodeUnchecked Selection
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"anchorNode") JSM JSVal -> (JSVal -> DOM Node) -> DOM Node
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Node
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getAnchorOffset :: (MonadDOM m) => Selection -> m Word
getAnchorOffset :: forall (m :: * -> *). MonadDOM m => Selection -> m Word
getAnchorOffset Selection
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"anchorOffset") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getFocusNode :: (MonadDOM m) => Selection -> m (Maybe Node)
getFocusNode :: forall (m :: * -> *). MonadDOM m => Selection -> m (Maybe Node)
getFocusNode Selection
self
= DOM (Maybe Node) -> m (Maybe Node)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"focusNode") JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getFocusNodeUnsafe ::
(MonadDOM m, HasCallStack) => Selection -> m Node
getFocusNodeUnsafe :: forall (m :: * -> *).
(MonadDOM m, HasCallStack) =>
Selection -> m Node
getFocusNodeUnsafe Selection
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"focusNode") JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Node) -> (Maybe Node -> DOM Node) -> DOM Node
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Node -> (Node -> DOM Node) -> Maybe Node -> DOM Node
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Node
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Node -> DOM Node
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
getFocusNodeUnchecked :: (MonadDOM m) => Selection -> m Node
getFocusNodeUnchecked :: forall (m :: * -> *). MonadDOM m => Selection -> m Node
getFocusNodeUnchecked Selection
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"focusNode") JSM JSVal -> (JSVal -> DOM Node) -> DOM Node
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Node
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getFocusOffset :: (MonadDOM m) => Selection -> m Word
getFocusOffset :: forall (m :: * -> *). MonadDOM m => Selection -> m Word
getFocusOffset Selection
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"focusOffset") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getIsCollapsed :: (MonadDOM m) => Selection -> m Bool
getIsCollapsed :: forall (m :: * -> *). MonadDOM m => Selection -> m Bool
getIsCollapsed Selection
self
= DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"isCollapsed") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)
getRangeCount :: (MonadDOM m) => Selection -> m Word
getRangeCount :: forall (m :: * -> *). MonadDOM m => Selection -> m Word
getRangeCount Selection
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"rangeCount") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getType ::
(MonadDOM m, FromJSString result) => Selection -> m result
getType :: forall (m :: * -> *) result.
(MonadDOM m, FromJSString result) =>
Selection -> m result
getType Selection
self = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"type") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getBaseNode :: (MonadDOM m) => Selection -> m (Maybe Node)
getBaseNode :: forall (m :: * -> *). MonadDOM m => Selection -> m (Maybe Node)
getBaseNode Selection
self = DOM (Maybe Node) -> m (Maybe Node)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"baseNode") JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getBaseNodeUnsafe ::
(MonadDOM m, HasCallStack) => Selection -> m Node
getBaseNodeUnsafe :: forall (m :: * -> *).
(MonadDOM m, HasCallStack) =>
Selection -> m Node
getBaseNodeUnsafe Selection
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"baseNode") JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Node) -> (Maybe Node -> DOM Node) -> DOM Node
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Node -> (Node -> DOM Node) -> Maybe Node -> DOM Node
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Node
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Node -> DOM Node
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
getBaseNodeUnchecked :: (MonadDOM m) => Selection -> m Node
getBaseNodeUnchecked :: forall (m :: * -> *). MonadDOM m => Selection -> m Node
getBaseNodeUnchecked Selection
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"baseNode") JSM JSVal -> (JSVal -> DOM Node) -> DOM Node
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Node
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getBaseOffset :: (MonadDOM m) => Selection -> m Word
getBaseOffset :: forall (m :: * -> *). MonadDOM m => Selection -> m Word
getBaseOffset Selection
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"baseOffset") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getExtentNode :: (MonadDOM m) => Selection -> m (Maybe Node)
getExtentNode :: forall (m :: * -> *). MonadDOM m => Selection -> m (Maybe Node)
getExtentNode Selection
self
= DOM (Maybe Node) -> m (Maybe Node)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"extentNode") JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getExtentNodeUnsafe ::
(MonadDOM m, HasCallStack) => Selection -> m Node
getExtentNodeUnsafe :: forall (m :: * -> *).
(MonadDOM m, HasCallStack) =>
Selection -> m Node
getExtentNodeUnsafe Selection
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"extentNode") JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Node) -> (Maybe Node -> DOM Node) -> DOM Node
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Node -> (Node -> DOM Node) -> Maybe Node -> DOM Node
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Node
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Node -> DOM Node
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
getExtentNodeUnchecked :: (MonadDOM m) => Selection -> m Node
getExtentNodeUnchecked :: forall (m :: * -> *). MonadDOM m => Selection -> m Node
getExtentNodeUnchecked Selection
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"extentNode") JSM JSVal -> (JSVal -> DOM Node) -> DOM Node
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Node
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getExtentOffset :: (MonadDOM m) => Selection -> m Word
getExtentOffset :: forall (m :: * -> *). MonadDOM m => Selection -> m Word
getExtentOffset Selection
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((Selection
self Selection -> Getting (JSM JSVal) Selection (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Selection (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"extentOffset") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))