jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Text.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from dom (webref). Do not edit.
module JSDOM.Generated.Text
(newText, splitText, splitText_, getWholeText, drag, dragEnd, dragStart, pointercancel, Text(..), gTypeText, IsText, toText)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums
-- | <https://developer.mozilla.org/docs/Web/API/Text/Text MDN Text. documentation>
newText :: (MonadDOM m, ToJSString data') => Maybe data' -> m Text
newText data' = liftDOM (((new (jsg "Text") [P.maybe (P.return jsUndefined) toJSVal data']) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Text/splitText MDN Text.splitText documentation>
splitText :: (MonadDOM m, IsText self) => self -> Word -> m Text
splitText self offset = liftDOM ((((Types.toText self) ^. jsf "splitText" [toJSVal offset]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Text/splitText MDN Text.splitText documentation>
splitText_ :: (MonadDOM m, IsText self) => self -> Word -> m ()
splitText_ self offset = liftDOM (void ((Types.toText self) ^. jsf "splitText" [toJSVal offset]))
-- | <https://developer.mozilla.org/docs/Web/API/Text/wholeText MDN Text.wholeText documentation>
getWholeText :: (MonadDOM m, IsText self, FromJSString result) => self -> m result
getWholeText self = liftDOM ((((Types.toText self) ^. js "wholeText") >>= fromJSValUnchecked))
-- | <https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-drag drag event>
drag :: (IsText self, IsEventTarget self) => EventName self DragEvent
drag = unsafeEventName (toJSString "drag")
-- | <https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragend dragend event>
dragEnd :: (IsText self, IsEventTarget self) => EventName self DragEvent
dragEnd = unsafeEventName (toJSString "dragend")
-- | <https://html.spec.whatwg.org/multipage/dnd.html#event-dnd-dragstart dragstart event>
dragStart :: (IsText self, IsEventTarget self) => EventName self DragEvent
dragStart = unsafeEventName (toJSString "dragstart")
-- | <https://w3c.github.io/pointerevents/#dfn-pointercancel pointercancel event>
pointercancel :: (IsText self, IsEventTarget self) => EventName self PointerEvent
pointercancel = unsafeEventName (toJSString "pointercancel")