aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/Dialog/Model.elm
diff options
context:
space:
mode:
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)