aboutsummaryrefslogtreecommitdiff
path: root/client/src/View/Payment/HeaderForm.hs
diff options
context:
space:
mode:
authorJoris2021-01-03 13:40:40 +0100
committerJoris2021-01-03 13:54:20 +0100
commit11052951b74b9ad4b6a9412ae490086235f9154b (patch)
tree64526ac926c1bf470ea113f6cac8a33158684e8d /client/src/View/Payment/HeaderForm.hs
parent371449b0e312a03162b78797b83dee9d81706669 (diff)
downloadbudget-11052951b74b9ad4b6a9412ae490086235f9154b.tar.gz
budget-11052951b74b9ad4b6a9412ae490086235f9154b.tar.bz2
budget-11052951b74b9ad4b6a9412ae490086235f9154b.zip
Rewrite in Rust
Diffstat (limited to 'client/src/View/Payment/HeaderForm.hs')
-rw-r--r--client/src/View/Payment/HeaderForm.hs85
1 files changed, 0 insertions, 85 deletions
diff --git a/client/src/View/Payment/HeaderForm.hs b/client/src/View/Payment/HeaderForm.hs
deleted file mode 100644
index 1915841..0000000
--- a/client/src/View/Payment/HeaderForm.hs
+++ /dev/null
@@ -1,85 +0,0 @@
-module View.Payment.HeaderForm
- ( view
- , In(..)
- , Out(..)
- ) where
-
-import qualified Data.Map as M
-import Data.Text (Text)
-import qualified Data.Validation as V
-import Reflex.Dom (Dynamic, Event, MonadWidget)
-import qualified Reflex.Dom as R
-
-import Common.Model (Category, Currency, Frequency (..),
- Income (..), Payment (..), User (..))
-import qualified Common.Msg as Msg
-
-import qualified Component.Button as Button
-import qualified Component.Input as Input
-import qualified Component.Modal as Modal
-import qualified Component.Select as Select
-import qualified Util.Reflex as ReflexUtil
-import qualified View.Payment.Form as Form
-
-data In t = In
- { _in_reset :: Event t ()
- , _in_categories :: [Category]
- }
-
-data Out t = Out
- { _out_search :: Event t Text
- , _out_frequency :: Event t Frequency
- , _out_addPayment :: Event t ()
- }
-
-view :: forall t m. MonadWidget t m => In t -> m (Out t)
-view input =
- R.divClass "g-PaymentHeaderForm" $ do
-
- (searchName, frequency) <- R.el "div" $ do
-
- searchName <- Input._out_raw <$> (Input.view
- ( Input.defaultIn { Input._in_label = Msg.get Msg.Search_Name })
- ("" <$ _in_reset input)
- R.never)
-
- let frequencies = M.fromList
- [ (Punctual, Msg.get Msg.Payment_PunctualMale)
- , (Monthly, Msg.get Msg.Payment_MonthlyMale)
- ]
-
- frequency <- Select._out_raw <$> (Select.view $ Select.In
- { Select._in_label = ""
- , Select._in_initialValue = Punctual
- , Select._in_value = R.never
- , Select._in_values = R.constDyn frequencies
- , Select._in_reset = R.never
- , Select._in_isValid = V.Success
- , Select._in_validate = R.never
- })
-
- return (searchName, frequency)
-
- addPaymentButton <- Button._out_clic <$>
- (Button.view $
- (Button.defaultIn (R.text $ Msg.get Msg.Payment_Add))
- { Button._in_class = R.constDyn "addPayment"
- })
-
- addPayment <-
- (R.dyn . R.ffor frequency $ \frequency ->
- Modal.view $ Modal.In
- { Modal._in_show = addPaymentButton
- , Modal._in_content =
- Form.view $ Form.In
- { Form._in_categories = _in_categories input
- , Form._in_operation = Form.New
- , Form._in_frequency = frequency
- }
- }) >>= ReflexUtil.flatten
-
- return $ Out
- { _out_search = R.updated searchName
- , _out_frequency = R.updated frequency
- , _out_addPayment = addPayment
- }