aboutsummaryrefslogtreecommitdiff
path: root/client/src/View/Payment
diff options
context:
space:
mode:
authorJoris2019-12-08 11:39:37 +0100
committerJoris2019-12-08 11:39:37 +0100
commit316bda10c6bec8b5ccc9e23f1f677c076205f046 (patch)
tree98da1d18834108af50f80ca6fa5c0f4facc42472 /client/src/View/Payment
parente622e8fdd2e40b4306b5cc724d8dfb76bf976242 (diff)
Add category page
Diffstat (limited to 'client/src/View/Payment')
-rw-r--r--client/src/View/Payment/Form.hs2
-rw-r--r--client/src/View/Payment/HeaderForm.hs2
-rw-r--r--client/src/View/Payment/Payment.hs2
-rw-r--r--client/src/View/Payment/Table.hs30
4 files changed, 14 insertions, 22 deletions
diff --git a/client/src/View/Payment/Form.hs b/client/src/View/Payment/Form.hs
index 064b5b3..6c31fad 100644
--- a/client/src/View/Payment/Form.hs
+++ b/client/src/View/Payment/Form.hs
@@ -51,7 +51,7 @@ data Operation t
| Clone Payment
| Edit Payment
-view :: forall t m a. MonadWidget t m => In t -> Modal.Content t m Payment
+view :: forall t m a. MonadWidget t m => In t -> Modal.Content t m
view input cancel = do
rec
let reset = R.leftmost
diff --git a/client/src/View/Payment/HeaderForm.hs b/client/src/View/Payment/HeaderForm.hs
index 0ee0cd3..1915841 100644
--- a/client/src/View/Payment/HeaderForm.hs
+++ b/client/src/View/Payment/HeaderForm.hs
@@ -29,7 +29,7 @@ data In t = In
data Out t = Out
{ _out_search :: Event t Text
, _out_frequency :: Event t Frequency
- , _out_addPayment :: Event t Payment
+ , _out_addPayment :: Event t ()
}
view :: forall t m. MonadWidget t m => In t -> m (Out t)
diff --git a/client/src/View/Payment/Payment.hs b/client/src/View/Payment/Payment.hs
index 8d0fee1..26444d7 100644
--- a/client/src/View/Payment/Payment.hs
+++ b/client/src/View/Payment/Payment.hs
@@ -36,7 +36,7 @@ data In t = In
view :: forall t m. MonadWidget t m => In t -> m ()
view input = do
- categories <- AjaxUtil.getNow "api/categories"
+ categories <- AjaxUtil.getNow "api/allCategories"
R.dyn . R.ffor categories . Loadable.viewHideValueWhileLoading $ \categories -> do
diff --git a/client/src/View/Payment/Table.hs b/client/src/View/Payment/Table.hs
index f9215bc..6744d3a 100644
--- a/client/src/View/Payment/Table.hs
+++ b/client/src/View/Payment/Table.hs
@@ -21,6 +21,7 @@ import qualified Common.View.Format as Format
import qualified Component.ConfirmDialog as ConfirmDialog
import qualified Component.Table as Table
+import qualified Component.Tag as Tag
import qualified Util.Ajax as Ajax
import qualified Util.Either as EitherUtil
import qualified View.Payment.Form as Form
@@ -35,9 +36,9 @@ data In t = In
}
data Out t = Out
- { _out_add :: Event t Payment
- , _out_edit :: Event t Payment
- , _out_delete :: Event t Payment
+ { _out_add :: Event t ()
+ , _out_edit :: Event t ()
+ , _out_delete :: Event t ()
}
view :: forall t m. MonadWidget t m => In t -> m (Out t)
@@ -45,7 +46,7 @@ view input = do
table <- Table.view $ Table.In
{ Table._in_headerLabel = headerLabel (_in_frequency input)
- , Table._in_rows = reverse . L.sortOn _payment_date $ _in_payments input
+ , Table._in_rows = _in_payments input
, Table._in_cell =
cell
(_in_users input)
@@ -71,7 +72,7 @@ view input = do
res <- Ajax.delete
(R.constDyn $ T.concat ["/api/payment/", T.pack . show $ _payment_id payment])
e
- return $ payment <$ R.fmapMaybe EitherUtil.eitherToMaybe res
+ return $ () <$ R.fmapMaybe EitherUtil.eitherToMaybe res
}
, Table._in_isOwner = (== (_in_currentUser input)) . _payment_user
}
@@ -122,21 +123,12 @@ cell users categories frequency currency header payment =
let
category =
L.find ((== (_payment_category payment)) . _category_id) categories
-
- attrs =
- case category of
- Just c ->
- M.fromList
- [ ("class", "tag")
- , ("style", T.concat [ "background-color: ", _category_color c ])
- ]
-
- Nothing ->
- M.singleton "display" "none"
in
- R.elAttr "span" attrs $
- R.text $
- Maybe.fromMaybe "" (_category_name <$> category)
+ Maybe.fromMaybe R.blank . flip fmap category $ \c ->
+ Tag.view $ Tag.In
+ { Tag._in_text = _category_name c
+ , Tag._in_color = _category_color c
+ }
DateHeader ->
if frequency == Punctual then