@@ -12,6 +12,7 @@ import Control.Monad.Eff (Eff)
1212import DOM (DOM )
1313import DOM.File.Types (FileList )
1414import Data.Maybe (Maybe )
15+ import Data.MediaType (MediaType (..))
1516import Data.Nullable (Nullable , toMaybe )
1617
1718foreign import data DataTransfer :: *
@@ -30,22 +31,34 @@ foreign import filesNullable :: DataTransfer -> Nullable FileList
3031-- | If the drag operation included no data, then the array is empty.
3132foreign import types :: DataTransfer -> Array String
3233
33- -- | Retrieves the data for a given format, or an empty string if data for that
34- -- | format does not exist or the data transfer object contains no data.
35- foreign import getData
34+ foreign import getDataImpl
3635 :: forall eff
3736 . String
3837 -> DataTransfer
3938 -> Eff (dom :: DOM | eff ) String
4039
41- -- | Sets the drag operation's drag data for a given format.
40+ -- | Retrieves the data for a given media type, or an empty string if data for
41+ -- | that type does not exist or the data transfer object contains no data.
42+ getData
43+ :: forall eff . MediaType -> DataTransfer -> Eff (dom :: DOM | eff ) String
44+ getData (MediaType format) dt = getDataImpl format dt
45+
46+ foreign import setDataImpl
47+ :: forall eff
48+ . String
49+ -> String
50+ -> DataTransfer
51+ -> Eff (dom :: DOM | eff ) Unit
52+
53+ -- | Sets the data transfer object's data for a given media format.
4254-- |
4355-- | Example:
4456-- |
45- -- | setData "text/plain" "Foo" dataTransfer
46- foreign import setData
57+ -- | setData textPlain "Foo" dataTransfer
58+ setData
4759 :: forall eff
48- . String
60+ . MediaType
4961 -> String
5062 -> DataTransfer
5163 -> Eff (dom :: DOM | eff ) Unit
64+ setData (MediaType format) dat dt = setDataImpl format dat dt
0 commit comments