@@ -2,8 +2,7 @@ module ControlledInput where
22
33import Prelude
44
5- import Data.Maybe (Maybe (..), fromMaybe , maybe )
6- import Data.Nullable (toMaybe )
5+ import Data.Maybe (Maybe (..), fromMaybe )
76import React.Basic (ReactComponent , react )
87import React.Basic.DOM as R
98import React.Basic.DOM.Events (targetValue , timeStamp )
@@ -16,14 +15,15 @@ component = react
1615 , receiveProps: \_ _ _ -> pure unit
1716 , render: \_ state setState ->
1817 R .div_
19- [ R .p_ [ R .input { onChange: Events .handler (Events .preventDefault >>> Events .merge { targetValue, timeStamp }) \{ timeStamp, targetValue } ->
20- setState \_ -> { value: fromMaybe " " (toMaybe targetValue)
21- , timeStamp: Just timeStamp
22- }
18+ [ R .p_ [ R .input { onChange: Events .handler (Events .preventDefault >>> Events .merge { targetValue, timeStamp })
19+ \{ timeStamp, targetValue } -> setState \_ ->
20+ { value: fromMaybe " " targetValue
21+ , timeStamp: Just timeStamp
22+ }
2323 , value: state.value
2424 }
2525 ]
2626 , R .p_ [ R .text (" Current value = " <> show state.value) ]
27- , R .p_ (maybe [] (\ts -> [ R .text (" Changed at: " <> show ts )] ) state.timeStamp)
27+ , R .p_ [ R .text (" Changed at = " <> fromMaybe " never " ( show <$> state.timeStamp)) ]
2828 ]
2929 }
0 commit comments