aboutsummaryrefslogtreecommitdiff
path: root/client/src/View/Payment/Table.hs
diff options
context:
space:
mode:
authorJoris2019-11-17 18:08:28 +0100
committerJoris2019-11-17 18:08:28 +0100
commitc0ea63f8c1a8c7123b78798cec99726b113fb1f3 (patch)
tree0b92f7e0c125c067a5f1ccafe6a1f04f1edfae86 /client/src/View/Payment/Table.hs
parent4dc84dbda7ba3ea60d13e6f81eeec556974b7c72 (diff)
downloadbudget-c0ea63f8c1a8c7123b78798cec99726b113fb1f3.tar.gz
budget-c0ea63f8c1a8c7123b78798cec99726b113fb1f3.tar.bz2
budget-c0ea63f8c1a8c7123b78798cec99726b113fb1f3.zip
Optimize and refactor payments
Diffstat (limited to 'client/src/View/Payment/Table.hs')
-rw-r--r--client/src/View/Payment/Table.hs31
1 files changed, 9 insertions, 22 deletions
diff --git a/client/src/View/Payment/Table.hs b/client/src/View/Payment/Table.hs
index dde5168..59ac890 100644
--- a/client/src/View/Payment/Table.hs
+++ b/client/src/View/Payment/Table.hs
@@ -13,7 +13,6 @@ import Reflex.Dom (Dynamic, Event, MonadWidget)
import qualified Reflex.Dom as R
import Common.Model (Category (..), Currency, Payment (..),
- PaymentCategory (..), SavedPayment,
User (..), UserId)
import qualified Common.Model as CM
import qualified Common.Msg as Msg
@@ -26,17 +25,16 @@ import qualified Util.Either as EitherUtil
import qualified View.Payment.Form as Form
data In t = In
- { _in_users :: [User]
- , _in_currentUser :: UserId
- , _in_categories :: [Category]
- , _in_currency :: Currency
- , _in_payments :: [Payment]
- , _in_paymentCategories :: [PaymentCategory]
+ { _in_users :: [User]
+ , _in_currentUser :: UserId
+ , _in_categories :: [Category]
+ , _in_currency :: Currency
+ , _in_payments :: [Payment]
}
data Out t = Out
- { _out_add :: Event t SavedPayment
- , _out_edit :: Event t SavedPayment
+ { _out_add :: Event t Payment
+ , _out_edit :: Event t Payment
, _out_delete :: Event t Payment
}
@@ -50,18 +48,15 @@ view input = do
cell
(_in_users input)
(_in_categories input)
- (_in_paymentCategories input)
(_in_currency input)
, Table._in_cloneModal = \payment ->
Form.view $ Form.In
{ Form._in_categories = _in_categories input
- , Form._in_paymentCategories = _in_paymentCategories input
, Form._in_operation = Form.Clone payment
}
, Table._in_editModal = \payment ->
Form.view $ Form.In
{ Form._in_categories = _in_categories input
- , Form._in_paymentCategories = _in_paymentCategories input
, Form._in_operation = Form.Edit payment
}
, Table._in_deleteModal = \payment ->
@@ -101,12 +96,11 @@ cell
:: forall t m. MonadWidget t m
=> [User]
-> [Category]
- -> [PaymentCategory]
-> Currency
-> Header
-> Payment
-> m ()
-cell users categories paymentCategories currency header payment =
+cell users categories currency header payment =
case header of
NameHeader ->
R.text $ _payment_name payment
@@ -120,7 +114,7 @@ cell users categories paymentCategories currency header payment =
CategoryHeader ->
let
category =
- findCategory categories paymentCategories (_payment_name payment)
+ L.find ((== (_payment_category payment)) . _category_id) categories
attrs =
case category of
@@ -144,10 +138,3 @@ cell users categories paymentCategories currency header payment =
R.elClass "span" "longDate" $
R.text . Format.longDay . _payment_date $ payment
-
-findCategory :: [Category] -> [PaymentCategory] -> Text -> Maybe Category
-findCategory categories paymentCategories paymentName = do
- paymentCategory <- L.find
- ((== T.toLower paymentName) . _paymentCategory_name)
- paymentCategories
- L.find ((== (_paymentCategory_category paymentCategory)) . _category_id) categories