Skip to content
This repository was archived by the owner on Oct 4, 2020. It is now read-only.

Commit a10369f

Browse files
committed
move DataTransfer module
1 parent d103af5 commit a10369f

File tree

4 files changed

+67
-62
lines changed

4 files changed

+67
-62
lines changed

src/DOM/Event/ClipboardEvent.purs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ module DOM.Event.ClipboardEvent
88
import Prelude
99
import DOM.Event.Types (Event, ClipboardEvent, readClipboardEvent)
1010
import DOM.Event.Types (ClipboardEvent, clipboardEventToEvent, readClipboardEvent) as T
11-
import DOM.HTML.Event.DragEvent.DataTransfer (DataTransfer) as DT
11+
import DOM.HTML.Event.DataTransfer (DataTransfer) as DT
1212
import Data.Foreign (F, toForeign)
1313

1414
eventToClipboardEvent :: Event -> F ClipboardEvent
File renamed without changes.
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
module DOM.HTML.Event.DataTransfer
2+
( DataTransfer
3+
, files
4+
, filesNullable
5+
, types
6+
, getData
7+
, setData
8+
) where
9+
10+
import Prelude
11+
import Control.Monad.Eff (Eff)
12+
import DOM (DOM)
13+
import DOM.File.Types (FileList)
14+
import Data.Maybe (Maybe)
15+
import Data.MediaType (MediaType(..))
16+
import Data.Nullable (Nullable, toMaybe)
17+
18+
foreign import data DataTransfer :: *
19+
20+
-- | Contains a list of all the local files available on the data transfer.
21+
-- | Empty if the drag operation doesn't involve dragging files.
22+
-- |
23+
-- | It's possible that a drag operation may have null files, instead of an
24+
-- | empty file list. In these cases Nothing is returned.
25+
files :: DataTransfer -> Maybe FileList
26+
files = toMaybe <$> filesNullable
27+
28+
foreign import filesNullable :: DataTransfer -> Nullable FileList
29+
30+
-- | Returns an array of data formats used in the drag operation.
31+
-- | If the drag operation included no data, then the array is empty.
32+
foreign import types :: DataTransfer -> Array String
33+
34+
foreign import getDataImpl
35+
:: forall eff
36+
. String
37+
-> DataTransfer
38+
-> Eff (dom :: DOM | eff) String
39+
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.
54+
-- |
55+
-- | Example:
56+
-- |
57+
-- | setData textPlain "Foo" dataTransfer
58+
setData
59+
:: forall eff
60+
. MediaType
61+
-> String
62+
-> DataTransfer
63+
-> Eff (dom :: DOM | eff) Unit
64+
setData (MediaType format) dat dt = setDataImpl format dat dt
Lines changed: 2 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,5 @@
11
module DOM.HTML.Event.DragEvent.DataTransfer
2-
( DataTransfer
3-
, files
4-
, filesNullable
5-
, types
6-
, getData
7-
, setData
2+
( module DataTransfer
83
) where
94

10-
import Prelude
11-
import Control.Monad.Eff (Eff)
12-
import DOM (DOM)
13-
import DOM.File.Types (FileList)
14-
import Data.Maybe (Maybe)
15-
import Data.MediaType (MediaType(..))
16-
import Data.Nullable (Nullable, toMaybe)
17-
18-
foreign import data DataTransfer :: *
19-
20-
-- | Contains a list of all the local files available on the data transfer.
21-
-- | Empty if the drag operation doesn't involve dragging files.
22-
-- |
23-
-- | It's possible that a drag operation may have null files, instead of an
24-
-- | empty file list. In these cases Nothing is returned.
25-
files :: DataTransfer -> Maybe FileList
26-
files = toMaybe <$> filesNullable
27-
28-
foreign import filesNullable :: DataTransfer -> Nullable FileList
29-
30-
-- | Returns an array of data formats used in the drag operation.
31-
-- | If the drag operation included no data, then the array is empty.
32-
foreign import types :: DataTransfer -> Array String
33-
34-
foreign import getDataImpl
35-
:: forall eff
36-
. String
37-
-> DataTransfer
38-
-> Eff (dom :: DOM | eff) String
39-
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.
54-
-- |
55-
-- | Example:
56-
-- |
57-
-- | setData textPlain "Foo" dataTransfer
58-
setData
59-
:: forall eff
60-
. MediaType
61-
-> String
62-
-> DataTransfer
63-
-> Eff (dom :: DOM | eff) Unit
64-
setData (MediaType format) dat dt = setDataImpl format dat dt
5+
import DOM.HTML.Event.DataTransfer as DataTransfer

0 commit comments

Comments
 (0)