on develop help sign in
Use a dynamic for input files in favor of an event.
commit752fdf971a199e4fd04c7895f604266de74732ca authorLuigy Leon <luigy@outlook.com> dateMon 29 Aug 2016, 11:23 (10 years ago) parent4c028dc
3 files changed+3−5
src/Reflex/Dom/Builder/Class.hs+1−1 src/Reflex/Dom/Builder/Immediate.hs+1−3 src/Reflex/Dom/Builder/Static.hs+1−1
src/Reflex/Dom/Builder/Class.hs+1−1
@@ -262,7 +262,7 @@ data InputElement er d t
262262 , _inputElement_hasFocus :: Dynamic t Bool
263263 , _inputElement_element :: Element er d t
264264 , _inputElement_raw :: RawInputElement d
265− , _inputElement_files :: Event t [File]
265+ , _inputElement_files :: Dynamic t [File]
266266 }
267267
268268data TextAreaElementConfig er t m
src/Reflex/Dom/Builder/Immediate.hs+1−3
@@ -289,9 +289,7 @@ instance SupportsImmediateDomBuilder t m => DomBuilder t (ImmediateDomBuilderT t
289289 [ False <$ Reflex.select (_element_events e) (WrapArg Blur)
290290 , True <$ Reflex.select (_element_events e) (WrapArg Focus)
291291 ]
292− files <- wrapDomEvent domInputElement (`on` Element.change) $ do
293− -- TODO emit files only for `file` input type
294− -- ghcjs-dom > 0.3 exposes Input.getType
292+ files <- holdDyn mempty <=< wrapDomEvent domInputElement (`on` Element.change) $ do
295293 mfiles <- Input.getFiles domInputElement
296294 let getMyFiles xs = fmap catMaybes . mapM (File.item xs) . flip take [0..] . fromIntegral =<< File.getLength xs
297295 maybe (return []) getMyFiles mfiles
src/Reflex/Dom/Builder/Static.hs+1−1
@@ -176,7 +176,7 @@ instance SupportsStaticDomBuilder t m => DomBuilder t (StaticDomBuilderT t m) wh
176176 , _inputElement_hasFocus = hasFocus
177177 , _inputElement_element = e
178178 , _inputElement_raw = ()
179− , _inputElement_files = never
179+ , _inputElement_files = constDyn mempty
180180 }
181181 {-# INLINABLE textAreaElement #-}
182182 textAreaElement cfg = do