{-# 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 :: forall (m :: * -> *) image.
(MonadDOM m, IsElement image) =>
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
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"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 :: forall (m :: * -> *) format result.
(MonadDOM m, ToJSString format, FromJSString result) =>
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
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getData" [format -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal format
format]) 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)
getData_ ::
(MonadDOM m, ToJSString format) => DataTransfer -> format -> m ()
getData_ :: forall (m :: * -> *) format.
(MonadDOM m, ToJSString format) =>
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
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"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 :: forall (m :: * -> *) format data'.
(MonadDOM m, ToJSString format, ToJSString data') =>
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
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"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 :: forall (m :: * -> *) format.
(MonadDOM m, ToJSString format) =>
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
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"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 :: forall (m :: * -> *) format.
(MonadDOM m, ToJSString format) =>
DataTransfer -> format -> 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
^. String
-> 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 String
"dropEffect" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))
getDropEffect ::
(MonadDOM m, FromJSString result) => DataTransfer -> m result
getDropEffect :: forall (m :: * -> *) result.
(MonadDOM m, FromJSString result) =>
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
^. String -> IndexPreservingGetter DataTransfer (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"dropEffect") 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)
setEffectAllowed ::
(MonadDOM m, ToJSString val) => DataTransfer -> val -> m ()
setEffectAllowed :: forall (m :: * -> *) format.
(MonadDOM m, ToJSString format) =>
DataTransfer -> format -> 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
^. String
-> 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 String
"effectAllowed" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))
getEffectAllowed ::
(MonadDOM m, FromJSString result) => DataTransfer -> m result
getEffectAllowed :: forall (m :: * -> *) result.
(MonadDOM m, FromJSString result) =>
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
^. String -> IndexPreservingGetter DataTransfer (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"effectAllowed") 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)
getItems :: (MonadDOM m) => DataTransfer -> m DataTransferItemList
getItems :: forall (m :: * -> *).
MonadDOM m =>
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
^. String -> IndexPreservingGetter DataTransfer (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"items") JSM JSVal
-> (JSVal -> DOM DataTransferItemList) -> DOM DataTransferItemList
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 DataTransferItemList
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getTypes ::
(MonadDOM m, FromJSString result) => DataTransfer -> m [result]
getTypes :: forall (m :: * -> *) result.
(MonadDOM m, FromJSString result) =>
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
^. String -> IndexPreservingGetter DataTransfer (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"types") 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 o. FromJSVal o => JSVal -> JSM [o]
fromJSArrayUnchecked)
getFiles :: (MonadDOM m) => DataTransfer -> m FileList
getFiles :: forall (m :: * -> *). MonadDOM m => 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
^. String -> IndexPreservingGetter DataTransfer (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"files") JSM JSVal -> (JSVal -> DOM FileList) -> DOM FileList
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 FileList
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)