diff options
author | Joris | 2017-03-26 23:16:28 +0200 |
---|---|---|
committer | Joris | 2017-03-27 00:17:41 +0200 |
commit | 902acfbdbcc1d59941399753e887479e586e2748 (patch) | |
tree | 0ad90ead3f8bdf0ea7c94462d1577c8e188df469 /src/client/LoggedIn/Income | |
parent | 8062f1c9c34e9b25d76b22bd6ba2a1a99666279b (diff) | |
download | budget-902acfbdbcc1d59941399753e887479e586e2748.tar.gz budget-902acfbdbcc1d59941399753e887479e586e2748.tar.bz2 budget-902acfbdbcc1d59941399753e887479e586e2748.zip |
Improve form validation
- Trim names
- Income amount accepted from 0
- Validate colors
Diffstat (limited to 'src/client/LoggedIn/Income')
-rw-r--r-- | src/client/LoggedIn/Income/Model.elm | 36 | ||||
-rw-r--r-- | src/client/LoggedIn/Income/Msg.elm | 9 | ||||
-rw-r--r-- | src/client/LoggedIn/Income/Table.elm (renamed from src/client/LoggedIn/Income/View/Table.elm) | 13 | ||||
-rw-r--r-- | src/client/LoggedIn/Income/Update.elm | 24 | ||||
-rw-r--r-- | src/client/LoggedIn/Income/View.elm | 12 |
5 files changed, 10 insertions, 84 deletions
diff --git a/src/client/LoggedIn/Income/Model.elm b/src/client/LoggedIn/Income/Model.elm deleted file mode 100644 index 7d852b9..0000000 --- a/src/client/LoggedIn/Income/Model.elm +++ /dev/null @@ -1,36 +0,0 @@ -module LoggedIn.Income.Model exposing - ( Model - , AddIncome - , init - , initForm - , validation - ) - -import Date exposing (Date) - -import Form exposing (Form) -import Form.Validate as Validate exposing (Validation) -import Validation - -type alias Model = - { addIncome : Form String AddIncome - } - -type alias AddIncome = - { amount : Int - , date : Date - } - -init : Model -init = - { addIncome = initForm - } - -initForm : Form String AddIncome -initForm = Form.initial [] validation - -validation : Validation String AddIncome -validation = - Validate.map2 AddIncome - (Validate.field "amount" (Validate.int |> Validate.andThen (Validate.minInt 1))) - (Validate.field "date" Validation.date) diff --git a/src/client/LoggedIn/Income/Msg.elm b/src/client/LoggedIn/Income/Msg.elm deleted file mode 100644 index 0a09dad..0000000 --- a/src/client/LoggedIn/Income/Msg.elm +++ /dev/null @@ -1,9 +0,0 @@ -module LoggedIn.Income.Msg exposing - ( Msg(..) - ) - -import Form exposing (Form) - -type Msg = - NoOp - | AddIncomeMsg Form.Msg diff --git a/src/client/LoggedIn/Income/View/Table.elm b/src/client/LoggedIn/Income/Table.elm index aa5e392..f10a552 100644 --- a/src/client/LoggedIn/Income/View/Table.elm +++ b/src/client/LoggedIn/Income/Table.elm @@ -1,4 +1,4 @@ -module LoggedIn.Income.View.Table exposing +module LoggedIn.Income.Table exposing ( view ) @@ -25,7 +25,6 @@ import LoggedData exposing (LoggedData) import LoggedIn.Msg as LoggedInMsg -import LoggedIn.Income.Model as Income import View.Date as Date import LoggedIn.View.Format as Format @@ -33,8 +32,8 @@ import Model.User exposing (getUserName) import Model.Income as Income exposing (..) import Model.Translations exposing (getMessage) -view : LoggedData -> Income.Model -> Html Msg -view loggedData incomeModel = +view : LoggedData -> Html Msg +view loggedData = let incomes = loggedData.incomes |> Dict.toList @@ -44,7 +43,7 @@ view loggedData incomeModel = [ class "table" ] [ div [ class "lines" ] - ( headerLine loggedData :: List.map (paymentLine loggedData incomeModel) incomes) + ( headerLine loggedData :: List.map (paymentLine loggedData) incomes) , if List.isEmpty (Dict.toList loggedData.incomes) then div @@ -66,8 +65,8 @@ headerLine loggedData = , div [ class "cell" ] [] ] -paymentLine : LoggedData -> Income.Model -> (IncomeId, Income) -> Html Msg -paymentLine loggedData incomeModel (incomeId, income) = +paymentLine : LoggedData -> (IncomeId, Income) -> Html Msg +paymentLine loggedData (incomeId, income) = div [ class "row" ] [ div diff --git a/src/client/LoggedIn/Income/Update.elm b/src/client/LoggedIn/Income/Update.elm deleted file mode 100644 index 0023c76..0000000 --- a/src/client/LoggedIn/Income/Update.elm +++ /dev/null @@ -1,24 +0,0 @@ -module LoggedIn.Income.Update exposing - ( update - ) - -import Form exposing (Form) - -import LoggedData exposing (LoggedData) - -import LoggedIn.Income.Model as Income -import LoggedIn.Income.Msg as Income - -update : LoggedData -> Income.Msg -> Income.Model -> (Income.Model, Cmd Income.Msg) -update loggedData msg model = - case msg of - - Income.NoOp -> - ( model - , Cmd.none - ) - - Income.AddIncomeMsg formMsg -> - ( { model | addIncome = Form.update Income.validation formMsg model.addIncome } - , Cmd.none - ) diff --git a/src/client/LoggedIn/Income/View.elm b/src/client/LoggedIn/Income/View.elm index 00a1646..85b0dc3 100644 --- a/src/client/LoggedIn/Income/View.elm +++ b/src/client/LoggedIn/Income/View.elm @@ -30,18 +30,14 @@ import Model.Translations exposing (getMessage, getParamMessage) import Model.Payer exposing (useIncomesFrom) import Model.User exposing (UserId, User) import Model.View as View -import LoggedIn.Income.Model as Income - -import LoggedIn.Msg as LoggedInMsg -import LoggedIn.Income.Msg as IncomeMsg import View.Date as Date import LoggedIn.View.Format as Format import View.Color as Color -import LoggedIn.Income.View.Table as Table +import LoggedIn.Income.Table as Table -view : LoggedData -> Income.Model -> Html Msg -view loggedData incomeModel = +view : LoggedData -> Html Msg +view loggedData = div [ class "income" ] [ div @@ -60,7 +56,7 @@ view loggedData incomeModel = Nothing ] ] - , Table.view loggedData incomeModel + , Table.view loggedData ] cumulativeIncomesView : LoggedData -> Time -> Html Msg |