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/Category/Category.hs | 94 ------------------------------------ 1 file changed, 94 deletions(-) delete mode 100644 client/src/View/Category/Category.hs (limited to 'client/src/View/Category/Category.hs') diff --git a/client/src/View/Category/Category.hs b/client/src/View/Category/Category.hs deleted file mode 100644 index 5b41bb6..0000000 --- a/client/src/View/Category/Category.hs +++ /dev/null @@ -1,94 +0,0 @@ -{-# LANGUAGE ExplicitForAll #-} - -module View.Category.Category - ( view - , In(..) - ) where - -import Data.Aeson (FromJSON) -import qualified Data.Maybe as Maybe -import qualified Data.Text as T -import Reflex.Dom (Dynamic, Event, MonadWidget) -import qualified Reflex.Dom as R - -import Common.Model (Category, CategoryPage (..), Currency, - User, UserId) -import qualified Common.Msg as Msg - -import qualified Component.Button as Button -import qualified Component.Modal as Modal -import qualified Component.Pages as Pages -import Loadable (Loadable (..)) -import qualified Loadable -import qualified Util.Ajax as AjaxUtil -import qualified Util.Reflex as ReflexUtil -import qualified Util.Reflex as ReflexUtil -import qualified View.Category.Form as Form -import qualified View.Category.Reducer as Reducer -import qualified View.Category.Table as Table - -data In t = In - { _in_users :: [User] - , _in_currentUser :: UserId - , _in_currency :: Currency - } - -view :: forall t m. MonadWidget t m => In t -> m () -view input = do - rec - categoryPage <- Reducer.reducer $ Reducer.In - { Reducer._in_page = page - , Reducer._in_addCategory = R.leftmost [ headerAddCategory, tableAddCategory ] - , Reducer._in_editCategory = editCategory - , Reducer._in_deleteCategory = deleteCategory - } - - let eventFromResult :: forall a. ((Event t (), Table.Out t, Pages.Out t) -> Event t a) -> m (Event t a) - eventFromResult op = ReflexUtil.flatten $ (Maybe.fromMaybe R.never . fmap op) <$> result - - page <- eventFromResult $ Pages._out_newPage . (\(_, _, c) -> c) - headerAddCategory <- eventFromResult $ (\(a, _, _) -> a) - tableAddCategory <- eventFromResult $ Table._out_add . (\(_, b, _) -> b) - editCategory <- eventFromResult $ Table._out_edit . (\(_, b, _) -> b) - deleteCategory <- eventFromResult $ Table._out_delete . (\(_, b, _) -> b) - - result <- Loadable.viewShowValueWhileLoading categoryPage $ - \(CategoryPage page categories usedCategories count) -> do - header <- headerView - - table <- Table.view $ Table.In - { Table._in_currentUser = _in_currentUser input - , Table._in_currency = _in_currency input - , Table._in_categories = categories - , Table._in_usedCategories = usedCategories - , Table._in_users = _in_users input - } - - pages <- Pages.view $ Pages.In - { Pages._in_total = R.constDyn count - , Pages._in_perPage = Reducer.perPage - , Pages._in_page = page - } - - return (header, table, pages) - - return () - -headerView :: forall t m. MonadWidget t m => m (Event t ()) -headerView = - R.divClass "withMargin" $ - R.divClass "titleButton" $ do - R.el "h1" $ - R.text $ - Msg.get Msg.Category_Title - - addCategory <- Button._out_clic <$> - (Button.view . Button.defaultIn . R.text $ - Msg.get Msg.Category_Add) - - addCategory <- Modal.view $ Modal.In - { Modal._in_show = addCategory - , Modal._in_content = Form.view $ Form.In { Form._in_operation = Form.New } - } - - return addCategory -- cgit v1.2.3