From 11052951b74b9ad4b6a9412ae490086235f9154b Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 3 Jan 2021 13:40:40 +0100 Subject: Rewrite in Rust --- client/src/View/Payment/HeaderForm.hs | 85 ----------------------------------- 1 file changed, 85 deletions(-) delete mode 100644 client/src/View/Payment/HeaderForm.hs (limited to 'client/src/View/Payment/HeaderForm.hs') 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 - } -- cgit v1.2.3