packages feed

ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/Selection.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from selection-api (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.Selection
       (js_addRange, js_collapse, js_collapseToEnd, js_collapseToStart, js_containsNode, js_deleteFromDocument, js_empty, js_extend, js_getComposedRanges, js_getRangeAt, js_modify, js_removeAllRanges, js_removeRange, js_selectAllChildren, js_setBaseAndExtent, js_setPosition, js_getAnchorNode, js_getAnchorOffset, js_getFocusNode, js_getFocusOffset, js_getIsCollapsed, js_getRangeCount, js_getType, js_getDirection, addRange, collapse, collapseToEnd, collapseToStart, containsNode, containsNode_, deleteFromDocument, empty, extend, getComposedRanges, getComposedRanges_, getRangeAt, getRangeAt_, modify, removeAllRanges, removeRange, selectAllChildren, setBaseAndExtent, setPosition, getAnchorNode, getAnchorNodeUnsafe, getAnchorNodeUnchecked, getAnchorOffset, getFocusNode, getFocusNodeUnsafe, getFocusNodeUnchecked, getFocusOffset, getIsCollapsed, getRangeCount, getType, getDirection, Selection(..), gTypeSelection)
       where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums

foreign import javascript safe "(($1, $2) => { return $1[\"addRange\"]($2); })"
        js_addRange :: Selection -> Range -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Selection/addRange MDN Selection.addRange documentation>
addRange :: (MonadDOM m) => Selection -> Range -> m ()
addRange self range = liftDOM (void ((js_addRange (self) (range))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"collapse\"]($2, $3); })"
        js_collapse :: Selection -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Selection/collapse MDN Selection.collapse documentation>
collapse :: (MonadDOM m, IsNode node) => Selection -> Maybe node -> Maybe Word -> m ()
collapse self node offset = liftDOM (void (((toJSVal node) >>= \a2' -> (P.maybe (P.return jsUndefined) toJSVal offset) >>= \a3' -> js_collapse (self) a2' a3')))

foreign import javascript safe "(($1) => { return $1[\"collapseToEnd\"](); })"
        js_collapseToEnd :: Selection -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Selection/collapseToEnd MDN Selection.collapseToEnd documentation>
collapseToEnd :: (MonadDOM m) => Selection -> m ()
collapseToEnd self = liftDOM (void ((js_collapseToEnd (self))))

foreign import javascript safe "(($1) => { return $1[\"collapseToStart\"](); })"
        js_collapseToStart :: Selection -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Selection/collapseToStart MDN Selection.collapseToStart documentation>
collapseToStart :: (MonadDOM m) => Selection -> m ()
collapseToStart self = liftDOM (void ((js_collapseToStart (self))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"containsNode\"]($2, $3); })"
        js_containsNode :: Selection -> Node -> JSVal -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Selection/containsNode MDN Selection.containsNode documentation>
containsNode :: (MonadDOM m, IsNode node) => Selection -> node -> Maybe Bool -> m Bool
containsNode self node allowPartialContainment = liftDOM (((P.maybe (P.return jsUndefined) toJSVal allowPartialContainment) >>= \a3' -> js_containsNode (self) (Types.toNode node) a3'))

-- | <https://developer.mozilla.org/docs/Web/API/Selection/containsNode MDN Selection.containsNode documentation>
containsNode_ :: (MonadDOM m, IsNode node) => Selection -> node -> Maybe Bool -> m ()
containsNode_ self node allowPartialContainment = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal allowPartialContainment) >>= \a3' -> js_containsNode (self) (Types.toNode node) a3')))

foreign import javascript safe "(($1) => { return $1[\"deleteFromDocument\"](); })"
        js_deleteFromDocument :: Selection -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Selection/deleteFromDocument MDN Selection.deleteFromDocument documentation>
deleteFromDocument :: (MonadDOM m) => Selection -> m ()
deleteFromDocument self = liftDOM (void ((js_deleteFromDocument (self))))

foreign import javascript safe "(($1) => { return $1[\"empty\"](); })"
        js_empty :: Selection -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Selection/empty MDN Selection.empty documentation>
empty :: (MonadDOM m) => Selection -> m ()
empty self = liftDOM (void ((js_empty (self))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"extend\"]($2, $3); })"
        js_extend :: Selection -> Node -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Selection/extend MDN Selection.extend documentation>
extend :: (MonadDOM m, IsNode node) => Selection -> node -> Maybe Word -> m ()
extend self node offset = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal offset) >>= \a3' -> js_extend (self) (Types.toNode node) a3')))

foreign import javascript safe "(($1, $2) => { return $1[\"getComposedRanges\"]($2); })"
        js_getComposedRanges :: Selection -> JSVal -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Selection/getComposedRanges MDN Selection.getComposedRanges documentation>
getComposedRanges :: (MonadDOM m) => Selection -> Maybe GetComposedRangesOptions -> m [StaticRange]
getComposedRanges self options = liftDOM ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_getComposedRanges (self) a2') >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Selection/getComposedRanges MDN Selection.getComposedRanges documentation>
getComposedRanges_ :: (MonadDOM m) => Selection -> Maybe GetComposedRangesOptions -> m ()
getComposedRanges_ self options = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_getComposedRanges (self) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"getRangeAt\"]($2); })"
        js_getRangeAt :: Selection -> Word -> IO Range
-- | <https://developer.mozilla.org/docs/Web/API/Selection/getRangeAt MDN Selection.getRangeAt documentation>
getRangeAt :: (MonadDOM m) => Selection -> Word -> m Range
getRangeAt self index = liftDOM ((js_getRangeAt (self) (index)))

-- | <https://developer.mozilla.org/docs/Web/API/Selection/getRangeAt MDN Selection.getRangeAt documentation>
getRangeAt_ :: (MonadDOM m) => Selection -> Word -> m ()
getRangeAt_ self index = liftDOM (void ((js_getRangeAt (self) (index))))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"modify\"]($2, $3, $4); })"
        js_modify :: Selection -> (Optional JSString) -> (Optional JSString) -> (Optional JSString) -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Selection/modify MDN Selection.modify documentation>
modify :: (MonadDOM m, ToJSString alter, ToJSString direction, ToJSString granularity) => Selection -> Maybe alter -> Maybe direction -> Maybe granularity -> m ()
modify self alter direction granularity = liftDOM (void ((js_modify (self) (toOptionalJSString alter) (toOptionalJSString direction) (toOptionalJSString granularity))))

foreign import javascript safe "(($1) => { return $1[\"removeAllRanges\"](); })"
        js_removeAllRanges :: Selection -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Selection/removeAllRanges MDN Selection.removeAllRanges documentation>
removeAllRanges :: (MonadDOM m) => Selection -> m ()
removeAllRanges self = liftDOM (void ((js_removeAllRanges (self))))

foreign import javascript safe "(($1, $2) => { return $1[\"removeRange\"]($2); })"
        js_removeRange :: Selection -> Range -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Selection/removeRange MDN Selection.removeRange documentation>
removeRange :: (MonadDOM m) => Selection -> Range -> m ()
removeRange self range = liftDOM (void ((js_removeRange (self) (range))))

foreign import javascript safe "(($1, $2) => { return $1[\"selectAllChildren\"]($2); })"
        js_selectAllChildren :: Selection -> Node -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Selection/selectAllChildren MDN Selection.selectAllChildren documentation>
selectAllChildren :: (MonadDOM m, IsNode node) => Selection -> node -> m ()
selectAllChildren self node = liftDOM (void ((js_selectAllChildren (self) (Types.toNode node))))

foreign import javascript safe "(($1, $2, $3, $4, $5) => { return $1[\"setBaseAndExtent\"]($2, $3, $4, $5); })"
        js_setBaseAndExtent :: Selection -> Node -> Word -> Node -> Word -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Selection/setBaseAndExtent MDN Selection.setBaseAndExtent documentation>
setBaseAndExtent :: (MonadDOM m, IsNode anchorNode, IsNode focusNode) => Selection -> anchorNode -> Word -> focusNode -> Word -> m ()
setBaseAndExtent self anchorNode anchorOffset focusNode focusOffset = liftDOM (void ((js_setBaseAndExtent (self) (Types.toNode anchorNode) (anchorOffset) (Types.toNode focusNode) (focusOffset))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"setPosition\"]($2, $3); })"
        js_setPosition :: Selection -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Selection/setPosition MDN Selection.setPosition documentation>
setPosition :: (MonadDOM m, IsNode node) => Selection -> Maybe node -> Maybe Word -> m ()
setPosition self node offset = liftDOM (void (((toJSVal node) >>= \a2' -> (P.maybe (P.return jsUndefined) toJSVal offset) >>= \a3' -> js_setPosition (self) a2' a3')))

foreign import javascript unsafe "(($1) => { return $1[\"anchorNode\"]; })"
        js_getAnchorNode :: Selection -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Selection/anchorNode MDN Selection.anchorNode documentation>
getAnchorNode :: (MonadDOM m) => Selection -> m (Maybe Node)
getAnchorNode self = liftDOM (((js_getAnchorNode (self)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Selection/anchorNode MDN Selection.anchorNode documentation>
getAnchorNodeUnsafe :: (MonadDOM m, HasCallStack) => Selection -> m Node
getAnchorNodeUnsafe self = liftDOM ((((js_getAnchorNode (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Selection/anchorNode MDN Selection.anchorNode documentation>
getAnchorNodeUnchecked :: (MonadDOM m) => Selection -> m Node
getAnchorNodeUnchecked self = liftDOM ((pFromJSVal <$> (js_getAnchorNode (self))))

foreign import javascript unsafe "(($1) => { return $1[\"anchorOffset\"]; })"
        js_getAnchorOffset :: Selection -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/Selection/anchorOffset MDN Selection.anchorOffset documentation>
getAnchorOffset :: (MonadDOM m) => Selection -> m Word
getAnchorOffset self = liftDOM ((js_getAnchorOffset (self)))

foreign import javascript unsafe "(($1) => { return $1[\"focusNode\"]; })"
        js_getFocusNode :: Selection -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Selection/focusNode MDN Selection.focusNode documentation>
getFocusNode :: (MonadDOM m) => Selection -> m (Maybe Node)
getFocusNode self = liftDOM (((js_getFocusNode (self)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Selection/focusNode MDN Selection.focusNode documentation>
getFocusNodeUnsafe :: (MonadDOM m, HasCallStack) => Selection -> m Node
getFocusNodeUnsafe self = liftDOM ((((js_getFocusNode (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Selection/focusNode MDN Selection.focusNode documentation>
getFocusNodeUnchecked :: (MonadDOM m) => Selection -> m Node
getFocusNodeUnchecked self = liftDOM ((pFromJSVal <$> (js_getFocusNode (self))))

foreign import javascript unsafe "(($1) => { return $1[\"focusOffset\"]; })"
        js_getFocusOffset :: Selection -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/Selection/focusOffset MDN Selection.focusOffset documentation>
getFocusOffset :: (MonadDOM m) => Selection -> m Word
getFocusOffset self = liftDOM ((js_getFocusOffset (self)))

foreign import javascript unsafe "(($1) => { return $1[\"isCollapsed\"]; })"
        js_getIsCollapsed :: Selection -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Selection/isCollapsed MDN Selection.isCollapsed documentation>
getIsCollapsed :: (MonadDOM m) => Selection -> m Bool
getIsCollapsed self = liftDOM ((js_getIsCollapsed (self)))

foreign import javascript unsafe "(($1) => { return $1[\"rangeCount\"]; })"
        js_getRangeCount :: Selection -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/Selection/rangeCount MDN Selection.rangeCount documentation>
getRangeCount :: (MonadDOM m) => Selection -> m Word
getRangeCount self = liftDOM ((js_getRangeCount (self)))

foreign import javascript unsafe "(($1) => { return $1[\"type\"]; })"
        js_getType :: Selection -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/Selection/type MDN Selection.type documentation>
getType :: (MonadDOM m, FromJSString result) => Selection -> m result
getType self = liftDOM ((fromJSString <$> (js_getType (self))))

foreign import javascript unsafe "(($1) => { return $1[\"direction\"]; })"
        js_getDirection :: Selection -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/Selection/direction MDN Selection.direction documentation>
getDirection :: (MonadDOM m, FromJSString result) => Selection -> m result
getDirection self = liftDOM ((fromJSString <$> (js_getDirection (self))))