diff options
Diffstat (limited to 'client/src/View/Category')
| -rw-r--r-- | client/src/View/Category/Category.hs | 34 | ||||
| -rw-r--r-- | client/src/View/Category/Table.hs | 16 | 
2 files changed, 27 insertions, 23 deletions
diff --git a/client/src/View/Category/Category.hs b/client/src/View/Category/Category.hs index 77a331a..5b41bb6 100644 --- a/client/src/View/Category/Category.hs +++ b/client/src/View/Category/Category.hs @@ -53,13 +53,14 @@ view input = do      deleteCategory <- eventFromResult $ Table._out_delete . (\(_, b, _) -> b)      result <- Loadable.viewShowValueWhileLoading categoryPage $ -      \(CategoryPage page categories count) -> do +      \(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            } @@ -75,18 +76,19 @@ view input = do  headerView :: forall t m. MonadWidget t m => m (Event t ())  headerView = -  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 +  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 diff --git a/client/src/View/Category/Table.hs b/client/src/View/Category/Table.hs index fbe76e9..90d013d 100644 --- a/client/src/View/Category/Table.hs +++ b/client/src/View/Category/Table.hs @@ -10,8 +10,8 @@ import qualified Data.Text               as T  import           Reflex.Dom              (Dynamic, Event, MonadWidget)  import qualified Reflex.Dom              as R -import           Common.Model            (Category (..), Currency, User (..), -                                          UserId) +import           Common.Model            (Category (..), CategoryId, Currency, +                                          User (..), UserId)  import qualified Common.Model            as CM  import qualified Common.Msg              as Msg  import qualified Common.View.Format      as Format @@ -24,10 +24,11 @@ import qualified Util.Either             as EitherUtil  import qualified View.Category.Form      as Form  data In t = In -  { _in_currentUser :: UserId -  , _in_currency    :: Currency -  , _in_categories  :: [Category] -  , _in_users       :: [User] +  { _in_currentUser    :: UserId +  , _in_currency       :: Currency +  , _in_categories     :: [Category] +  , _in_usedCategories :: [CategoryId] +  , _in_users          :: [User]    }  data Out t = Out @@ -60,7 +61,8 @@ view input = do              e            return $ () <$ R.fmapMaybe EitherUtil.eitherToMaybe res          } -    , Table._in_isOwner = const True +    , Table._in_canEdit = const True +    , Table._in_canDelete = not . flip elem (_in_usedCategories input) . _category_id      }    return $ Out  | 
