Guest User

Untitled

a guest
Oct 28th, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. update : Msg -> Model -> ( Model, Cmd Msg )
  2. update msg model =
  3. case Debug.log "msg" msg of
  4. SetPassword password ->
  5. ( { model |
  6. user = updatePassword (updatePasswordValue model.user.password password) model.user }
  7. , Cmd.none )
  8. ShowPassword ->
  9. ( { model |
  10. user = updatePassword (toggleVisible model.user.password) model.user }
  11. , Cmd.none )
  12. ValidatePassword ->
  13. let
  14. error = firstError model.user.password
  15. in
  16. ( { model |
  17. user = updatePassword (updatePasswordError model.user.password error) model.user }
  18. , Cmd.none )
  19.  
  20. updatePassword : Password -> User -> User
  21. updatePassword password user =
  22. { user | password = password }
  23.  
  24. updatePasswordValue : Password -> String -> Password
  25. updatePasswordValue password newPassword =
  26. { password | value = newPassword }
  27.  
  28. toggleVisible: Password -> Password
  29. toggleVisible password =
  30. { password | visible = not password.visible }
  31.  
  32. updatePasswordError : Password -> String -> Password
  33. updatePasswordError password error =
  34. { password | error = error }
  35.  
  36. firstError : Password -> String
  37. firstError password =
  38. let
  39. validate = validatePassword password
  40. in
  41. case validate of
  42. Ok _ -> ""
  43. Err [] -> ""
  44. Err (first :: rest) -> first
Add Comment
Please, Sign In to add comment