{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.DataTransfer
(setDragImage, getData, getData_, setData, clearData,
setDropEffect, getDropEffect, setEffectAllowed, getEffectAllowed,
getItems, getTypes, getFiles, DataTransfer(..), gTypeDataTransfer)
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
setDragImage ::
(MonadDOM m, IsElement image) =>
DataTransfer -> Maybe image -> Int -> Int -> m ()
setDragImage :: DataTransfer -> Maybe image -> Int -> Int -> m ()
setDragImage DataTransfer
self Maybe image
image Int
x Int
y
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
(DataTransfer
self DataTransfer
-> Getting (JSM JSVal) DataTransfer (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"setDragImage" [Maybe image -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe image
image, Int -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Int
x, Int -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Int
y]))
getData ::
(MonadDOM m, ToJSString format, FromJSString result) =>
DataTransfer -> format -> m result
getData :: DataTransfer -> format -> m result
getData DataTransfer
self format
format
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((DataTransfer
self DataTransfer
-> Getting (JSM JSVal) DataTransfer (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"getData" [format -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal format
format]) JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getData_ ::
(MonadDOM m, ToJSString format) => DataTransfer -> format -> m ()
getData_ :: DataTransfer -> format -> m ()
getData_ DataTransfer
self format
format
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (DataTransfer
self DataTransfer
-> Getting (JSM JSVal) DataTransfer (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"getData" [format -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal format
format]))
setData ::
(MonadDOM m, ToJSString format, ToJSString data') =>
DataTransfer -> format -> data' -> m ()
setData :: DataTransfer -> format -> data' -> m ()
setData DataTransfer
self format
format data'
data'
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (DataTransfer
self DataTransfer
-> Getting (JSM JSVal) DataTransfer (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"setData" [format -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal format
format, data' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal data'
data']))
clearData ::
(MonadDOM m, ToJSString format) =>
DataTransfer -> Maybe format -> m ()
clearData :: DataTransfer -> Maybe format -> m ()
clearData DataTransfer
self Maybe format
format
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (DataTransfer
self DataTransfer
-> Getting (JSM JSVal) DataTransfer (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"clearData" [Maybe format -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe format
format]))
setDropEffect ::
(MonadDOM m, ToJSString val) => DataTransfer -> val -> m ()
setDropEffect :: DataTransfer -> val -> m ()
setDropEffect DataTransfer
self val
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (DataTransfer
self DataTransfer -> Getting (DOM ()) DataTransfer (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss [Char]
"dropEffect" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))
getDropEffect ::
(MonadDOM m, FromJSString result) => DataTransfer -> m result
getDropEffect :: DataTransfer -> m result
getDropEffect DataTransfer
self
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((DataTransfer
self DataTransfer
-> Getting (JSM JSVal) DataTransfer (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter DataTransfer (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"dropEffect") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
setEffectAllowed ::
(MonadDOM m, ToJSString val) => DataTransfer -> val -> m ()
setEffectAllowed :: DataTransfer -> val -> m ()
setEffectAllowed DataTransfer
self val
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (DataTransfer
self DataTransfer -> Getting (DOM ()) DataTransfer (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss [Char]
"effectAllowed" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))
getEffectAllowed ::
(MonadDOM m, FromJSString result) => DataTransfer -> m result
getEffectAllowed :: DataTransfer -> m result
getEffectAllowed DataTransfer
self
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((DataTransfer
self DataTransfer
-> Getting (JSM JSVal) DataTransfer (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter DataTransfer (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"effectAllowed") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getItems :: (MonadDOM m) => DataTransfer -> m DataTransferItemList
getItems :: DataTransfer -> m DataTransferItemList
getItems DataTransfer
self
= DOM DataTransferItemList -> m DataTransferItemList
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((DataTransfer
self DataTransfer
-> Getting (JSM JSVal) DataTransfer (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter DataTransfer (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"items") JSM JSVal
-> (JSVal -> DOM DataTransferItemList) -> DOM DataTransferItemList
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM DataTransferItemList
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getTypes ::
(MonadDOM m, FromJSString result) => DataTransfer -> m [result]
getTypes :: DataTransfer -> m [result]
getTypes DataTransfer
self
= DOM [result] -> m [result]
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((DataTransfer
self DataTransfer
-> Getting (JSM JSVal) DataTransfer (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter DataTransfer (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"types") JSM JSVal -> (JSVal -> DOM [result]) -> DOM [result]
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM [result]
forall o. FromJSVal o => JSVal -> JSM [o]
fromJSArrayUnchecked)
getFiles :: (MonadDOM m) => DataTransfer -> m FileList
getFiles :: DataTransfer -> m FileList
getFiles DataTransfer
self
= DOM FileList -> m FileList
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((DataTransfer
self DataTransfer
-> Getting (JSM JSVal) DataTransfer (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter DataTransfer (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"files") JSM JSVal -> (JSVal -> DOM FileList) -> DOM FileList
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM FileList
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)