on develop help sign in
Add RawFile type synonym.
3697ac3Luigy Leon
src/Reflex/Dom/Builder/Class.hs+2−2
@@ -46,12 +46,12 @@ import Data.Text (Text)
46import Data.Traversable
46import Data.Traversable
47import Data.Type.Coercion
47import Data.Type.Coercion
48import GHC.Exts (Constraint)
48import GHC.Exts (Constraint)
49−import GHCJS.DOM.File (File)
50
49
51class Default (EventSpec d EventResult) => DomSpace d where
50class Default (EventSpec d EventResult) => DomSpace d where
52 type EventSpec d :: (EventTag -> *) -> *
51 type EventSpec d :: (EventTag -> *) -> *
53 type RawTextNode d :: *
52 type RawTextNode d :: *
54 type RawElement d :: *
53 type RawElement d :: *
54+ type RawFile d :: *
55 type RawInputElement d :: *
55 type RawInputElement d :: *
56 type RawTextAreaElement d :: *
56 type RawTextAreaElement d :: *
57 type RawSelectElement d :: *
57 type RawSelectElement d :: *
@@ -262,7 +262,7 @@ data InputElement er d t
262 , _inputElement_hasFocus :: Dynamic t Bool
262 , _inputElement_hasFocus :: Dynamic t Bool
263 , _inputElement_element :: Element er d t
263 , _inputElement_element :: Element er d t
264 , _inputElement_raw :: RawInputElement d
264 , _inputElement_raw :: RawInputElement d
265− , _inputElement_files :: Dynamic t [File]
265+ , _inputElement_files :: Dynamic t [RawFile d]
266 }
266 }
267
267
268data TextAreaElementConfig er t m
268data TextAreaElementConfig er t m
src/Reflex/Dom/Builder/Immediate.hs+3−2
@@ -46,7 +46,7 @@ import qualified GHCJS.DOM.Element as Element
46import qualified GHCJS.DOM.Event as Event
46import qualified GHCJS.DOM.Event as Event
47import GHCJS.DOM.EventM (EventM, event, on)
47import GHCJS.DOM.EventM (EventM, event, on)
48import qualified GHCJS.DOM.EventM as DOM
48import qualified GHCJS.DOM.EventM as DOM
49−import qualified GHCJS.DOM.FileList as File
49+import qualified GHCJS.DOM.FileList as FileList
50import qualified GHCJS.DOM.HTMLInputElement as Input
50import qualified GHCJS.DOM.HTMLInputElement as Input
51import qualified GHCJS.DOM.HTMLSelectElement as Select
51import qualified GHCJS.DOM.HTMLSelectElement as Select
52import qualified GHCJS.DOM.HTMLTextAreaElement as TextArea
52import qualified GHCJS.DOM.HTMLTextAreaElement as TextArea
@@ -202,6 +202,7 @@ instance DomSpace GhcjsDomSpace where
202 type EventSpec GhcjsDomSpace = GhcjsEventSpec
202 type EventSpec GhcjsDomSpace = GhcjsEventSpec
203 type RawTextNode GhcjsDomSpace = DOM.Text
203 type RawTextNode GhcjsDomSpace = DOM.Text
204 type RawElement GhcjsDomSpace = DOM.HTMLElement
204 type RawElement GhcjsDomSpace = DOM.HTMLElement
205+ type RawFile GhcjsDomSpace = DOM.File
205 type RawInputElement GhcjsDomSpace = DOM.HTMLInputElement
206 type RawInputElement GhcjsDomSpace = DOM.HTMLInputElement
206 type RawTextAreaElement GhcjsDomSpace = DOM.HTMLTextAreaElement
207 type RawTextAreaElement GhcjsDomSpace = DOM.HTMLTextAreaElement
207 type RawSelectElement GhcjsDomSpace = DOM.HTMLSelectElement
208 type RawSelectElement GhcjsDomSpace = DOM.HTMLSelectElement
@@ -291,7 +292,7 @@ instance SupportsImmediateDomBuilder t m => DomBuilder t (ImmediateDomBuilderT t
291 ]
292 ]
292 files <- holdDyn mempty <=< wrapDomEvent domInputElement (`on` Element.change) $ do
293 files <- holdDyn mempty <=< wrapDomEvent domInputElement (`on` Element.change) $ do
293 mfiles <- Input.getFiles domInputElement
294 mfiles <- Input.getFiles domInputElement
294− let getMyFiles xs = fmap catMaybes . mapM (File.item xs) . flip take [0..] . fromIntegral =<< File.getLength xs
295+ let getMyFiles xs = fmap catMaybes . mapM (FileList.item xs) . flip take [0..] . fromIntegral =<< FileList.getLength xs
295 maybe (return []) getMyFiles mfiles
296 maybe (return []) getMyFiles mfiles
296 return $ InputElement
297 return $ InputElement
297 { _inputElement_value = v
298 { _inputElement_value = v
src/Reflex/Dom/Builder/Static.hs+1
@@ -130,6 +130,7 @@ instance DomSpace StaticDomSpace where
130 type EventSpec StaticDomSpace = StaticEventSpec
130 type EventSpec StaticDomSpace = StaticEventSpec
131 type RawTextNode StaticDomSpace = ()
131 type RawTextNode StaticDomSpace = ()
132 type RawElement StaticDomSpace = ()
132 type RawElement StaticDomSpace = ()
133+ type RawFile StaticDomSpace = ()
133 type RawInputElement StaticDomSpace = ()
134 type RawInputElement StaticDomSpace = ()
134 type RawTextAreaElement StaticDomSpace = ()
135 type RawTextAreaElement StaticDomSpace = ()
135 type RawSelectElement StaticDomSpace = ()
136 type RawSelectElement StaticDomSpace = ()