on develop help sign in
Merge pull request #276 from reflex-frp/safe-fileInput
1790e83Luigy Leon
reflex-dom-core/src/Reflex/Dom/Widget/Input.hs+3−9
@@ -346,16 +346,10 @@ fileInput config = do
346 & modifyAttributes .~ fmap mapKeysToAttributeName modifyAttrs
346 & modifyAttributes .~ fmap mapKeysToAttributeName modifyAttrs
347 & elementConfig_eventSpec . ghcjsEventSpec_filters .~ filters
347 & elementConfig_eventSpec . ghcjsEventSpec_filters .~ filters
348 cfg = (def :: InputElementConfig EventResult t (DomBuilderSpace m)) & inputElementConfig_elementConfig .~ elCfg
348 cfg = (def :: InputElementConfig EventResult t (DomBuilderSpace m)) & inputElementConfig_elementConfig .~ elCfg
349− eRaw <- inputElement cfg
349+ input <- inputElement cfg
350− let e = _inputElement_raw eRaw
351− eChange <- wrapDomEvent e (`on` Events.change) $ do
352− files <- Input.getFilesUnchecked e
353− len <- FileList.getLength files
354− mapM (fmap (fromMaybe (error "fileInput: fileList.item returned null")) . FileList.item files) [0 .. len-1]
355− dValue <- holdDyn [] eChange
356 return $ FileInput
350 return $ FileInput
357− { _fileInput_value = dValue
351+ { _fileInput_value = _inputElement_files input
358− , _fileInput_element = e
352+ , _fileInput_element = _inputElement_raw input
359 }
353 }
360
354
361data Dropdown t k
355data Dropdown t k