aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/LoggedIn/Home/Model.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/elm/LoggedIn/Home/Model.elm')
-rw-r--r--src/client/elm/LoggedIn/Home/Model.elm44
1 files changed, 10 insertions, 34 deletions
diff --git a/src/client/elm/LoggedIn/Home/Model.elm b/src/client/elm/LoggedIn/Home/Model.elm
index e802828..be32fb7 100644
--- a/src/client/elm/LoggedIn/Home/Model.elm
+++ b/src/client/elm/LoggedIn/Home/Model.elm
@@ -2,7 +2,7 @@ module LoggedIn.Home.Model exposing
( Model
, Search
, init
- , addPaymentInitial
+ , searchInitial
)
import Form exposing (Form)
@@ -10,24 +10,17 @@ import Form.Validate as Validate exposing (Validation)
import Form.Field as Field exposing (Field)
import Model.User exposing (Users, UserId)
-import Model.Payment exposing (PaymentId, Payments, Frequency(..))
+import Model.Payment as Payment exposing (PaymentId, Payments, Frequency(..))
import Model.Payer exposing (Payers)
type alias Model =
{ paymentEdition : Maybe PaymentId
, currentPage : Int
- , monthlyDetail : Bool
, search : Form String Search
- , addPayment : Form String AddPayment
}
type alias Search =
- { searchText : Maybe String
- }
-
-type alias AddPayment =
- { name : String
- , cost : Int
+ { name : Maybe String
, frequency : Frequency
}
@@ -35,31 +28,14 @@ init : Model
init =
{ paymentEdition = Nothing
, currentPage = 1
- , monthlyDetail = False
- , search = Form.initial [] searchValidation
- , addPayment = Form.initial addPaymentInitial addPaymentValidation
+ , search = Form.initial (searchInitial Punctual) searchValidation
}
+searchInitial : Frequency -> List (String, Field)
+searchInitial frequency = [ ("frequency", Field.Radio (toString frequency)) ]
+
searchValidation : Validation String Search
searchValidation =
- Validate.form1 Search
- (Validate.get "searchText" (Validate.maybe Validate.string))
-
-addPaymentInitial : List (String, Field)
-addPaymentInitial = [ ("frequency", Field.Radio (toString Punctual)) ]
-
-addPaymentValidation : Validation String AddPayment
-addPaymentValidation =
- Validate.form3 AddPayment
- (Validate.get "name" (Validate.string `Validate.andThen` (Validate.nonEmpty)))
- (Validate.get "cost" (Validate.int `Validate.andThen` (Validate.minInt 1)))
- (Validate.get "frequency" validateFrequency)
-
-validateFrequency : Validation String Frequency
-validateFrequency =
- Validate.customValidation Validate.string (\str ->
- case str of
- "Punctual" -> Ok Punctual
- "Monthly" -> Ok Monthly
- _ -> Err (Validate.customError "InvalidFrequency")
- )
+ Validate.form2 Search
+ (Validate.get "name" (Validate.maybe Validate.string))
+ (Validate.get "frequency" Payment.validateFrequency)