jsaddle-dom-0.10.0.0: src/JSDOM/Generated/DataTransfer.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from html (webref). Do not edit.
module JSDOM.Generated.DataTransfer
(newDataTransfer, clearData, getData, getData_, setData, setDragImage, setDropEffect, getDropEffect, setEffectAllowed, getEffectAllowed, getItems, getTypes, getFiles, DataTransfer(..), gTypeDataTransfer)
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/DataTransfer/DataTransfer MDN DataTransfer. documentation>
newDataTransfer :: (MonadDOM m) => m DataTransfer
newDataTransfer = liftDOM (((new (jsg "DataTransfer") ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransfer/clearData MDN DataTransfer.clearData documentation>
clearData :: (MonadDOM m, ToJSString format) => DataTransfer -> Maybe format -> m ()
clearData self format = liftDOM (void (self ^. jsf "clearData" [P.maybe (P.return jsUndefined) toJSVal format]))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransfer/getData MDN DataTransfer.getData documentation>
getData :: (MonadDOM m, ToJSString format, FromJSString result) => DataTransfer -> format -> m result
getData self format = liftDOM (((self ^. jsf "getData" [toJSVal format]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransfer/getData MDN DataTransfer.getData documentation>
getData_ :: (MonadDOM m, ToJSString format) => DataTransfer -> format -> m ()
getData_ self format = liftDOM (void (self ^. jsf "getData" [toJSVal format]))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransfer/setData MDN DataTransfer.setData documentation>
setData :: (MonadDOM m, ToJSString format, ToJSString data') => DataTransfer -> format -> data' -> m ()
setData self format data' = liftDOM (void (self ^. jsf "setData" [toJSVal format, toJSVal data']))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransfer/setDragImage MDN DataTransfer.setDragImage documentation>
setDragImage :: (MonadDOM m, IsElement image) => DataTransfer -> image -> Int -> Int -> m ()
setDragImage self image x y = liftDOM (void (self ^. jsf "setDragImage" [toJSVal image, toJSVal x, toJSVal y]))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransfer/dropEffect MDN DataTransfer.dropEffect documentation>
setDropEffect :: (MonadDOM m, ToJSString val) => DataTransfer -> val -> m ()
setDropEffect self val = liftDOM (void (self ^. jss "dropEffect" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransfer/dropEffect MDN DataTransfer.dropEffect documentation>
getDropEffect :: (MonadDOM m, FromJSString result) => DataTransfer -> m result
getDropEffect self = liftDOM (((self ^. js "dropEffect") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransfer/effectAllowed MDN DataTransfer.effectAllowed documentation>
setEffectAllowed :: (MonadDOM m, ToJSString val) => DataTransfer -> val -> m ()
setEffectAllowed self val = liftDOM (void (self ^. jss "effectAllowed" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransfer/effectAllowed MDN DataTransfer.effectAllowed documentation>
getEffectAllowed :: (MonadDOM m, FromJSString result) => DataTransfer -> m result
getEffectAllowed self = liftDOM (((self ^. js "effectAllowed") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransfer/items MDN DataTransfer.items documentation>
getItems :: (MonadDOM m) => DataTransfer -> m DataTransferItemList
getItems self = liftDOM (((self ^. js "items") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransfer/types MDN DataTransfer.types documentation>
getTypes :: (MonadDOM m, FromJSString result) => DataTransfer -> m [result]
getTypes self = liftDOM (((self ^. js "types") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/DataTransfer/files MDN DataTransfer.files documentation>
getFiles :: (MonadDOM m) => DataTransfer -> m FileList
getFiles self = liftDOM (((self ^. js "files") >>= fromJSValUnchecked))