aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/Dialog/Model.elm
diff options
context:
space:
mode:
authorJoris2016-06-26 12:31:24 +0200
committerJoris2016-06-26 12:31:24 +0200
commit9ec84e3a20c767f6525639f58cd22715e302b88d (patch)
treea080552859180707472c1a289080857c0a54fc06 /src/client/elm/Dialog/Model.elm
parent5cb36652ccf07c9e0995ebc421a837ad7d258469 (diff)
downloadbudget-9ec84e3a20c767f6525639f58cd22715e302b88d.tar.gz
budget-9ec84e3a20c767f6525639f58cd22715e302b88d.tar.bz2
budget-9ec84e3a20c767f6525639f58cd22715e302b88d.zip
Add an editable date field for punctual payment creation
Diffstat (limited to 'src/client/elm/Dialog/Model.elm')
-rw-r--r--src/client/elm/Dialog/Model.elm16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/client/elm/Dialog/Model.elm b/src/client/elm/Dialog/Model.elm
index 9bd6a09..2ac4591 100644
--- a/src/client/elm/Dialog/Model.elm
+++ b/src/client/elm/Dialog/Model.elm
@@ -5,11 +5,16 @@ module Dialog.Model exposing
, addPaymentInitial
)
+import Date exposing (Date)
+import View.Date as Date
+
import Form exposing (Form)
import Form.Field as Field exposing (Field)
import Form.Validate as Validate exposing (Validation)
+import Validation
import Model.Payment as Payment
+import Model.Translations exposing (Translations)
type alias Model =
{ addPayment : Form String AddPayment
@@ -18,6 +23,7 @@ type alias Model =
type alias AddPayment =
{ name : String
, cost : Int
+ , date : Date
, frequency : Payment.Frequency
}
@@ -26,12 +32,16 @@ init =
{ addPayment = Form.initial [] addPaymentValidation
}
-addPaymentInitial : Payment.Frequency -> List (String, Field)
-addPaymentInitial frequency = [ ("frequency", Field.Radio (toString frequency)) ]
+addPaymentInitial : Translations -> Date -> Payment.Frequency -> List (String, Field)
+addPaymentInitial translations date frequency =
+ [ ("date", Field.Text (Date.shortView date translations))
+ , ("frequency", Field.Radio (toString frequency))
+ ]
addPaymentValidation : Validation String AddPayment
addPaymentValidation =
- Validate.form3 AddPayment
+ Validate.form4 AddPayment
(Validate.get "name" (Validate.string `Validate.andThen` (Validate.nonEmpty)))
(Validate.get "cost" (Validate.int `Validate.andThen` (Validate.minInt 1)))
+ (Validate.get "date" Validation.date)
(Validate.get "frequency" Payment.validateFrequency)