From e398b8c239f22e3f163fffa7e16220696359b6d3 Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Mon, 7 Dec 2020 22:37:15 +0200 Subject: [PATCH] fix: View. --- .../Dashboard/DashboardActionViewsList.js | 14 ++-- .../Accounting/ManualJournalActionsBar.js | 46 ++++++------ .../Accounting/ManualJournalsDataTable.js | 15 ++-- .../Accounting/ManualJournalsList.js | 3 +- .../Accounting/ManualJournalsViewTabs.js | 44 ++++-------- .../containers/Accounts/AccountsViewsTabs.js | 23 +++--- .../src/containers/Accounts/withAccounts.js | 15 ++-- .../Accounts/withAccountsTableActions.js | 43 ++++++----- .../containers/Expenses/ExpenseActionsBar.js | 42 +++++------ .../containers/Expenses/ExpenseViewTabs.js | 45 ++++-------- .../src/containers/Items/ItemsActionsBar.js | 60 +++++----------- client/src/containers/Items/ItemsDataTable.js | 15 ++-- client/src/containers/Items/ItemsList.js | 51 ++++++------- client/src/containers/Items/ItemsViewsTabs.js | 72 +++++-------------- .../src/store/accounts/accounts.selectors.js | 25 +++++-- client/src/store/accounts/accounts.types.js | 6 +- client/src/store/expenses/expenses.actions.js | 14 ++-- client/src/store/items/items.actions.js | 16 ++--- client/src/store/items/items.selectors.js | 50 ++++++------- .../manualJournals/manualJournals.actions.js | 16 +++-- 20 files changed, 273 insertions(+), 342 deletions(-) diff --git a/client/src/components/Dashboard/DashboardActionViewsList.js b/client/src/components/Dashboard/DashboardActionViewsList.js index 120e78c87..17a3f0d98 100644 --- a/client/src/components/Dashboard/DashboardActionViewsList.js +++ b/client/src/components/Dashboard/DashboardActionViewsList.js @@ -1,4 +1,4 @@ -import React, { useMemo } from 'react'; +import React, { useMemo, useState } from 'react'; import classNames from 'classnames'; import { Button, @@ -15,15 +15,21 @@ import { Icon } from 'components'; export default function DashboardActionViewsList({ resourceName, - views + views, + onChange, }) { const history = useHistory(); const handleClickViewItem = (view) => { - history.push(view ? `/${resourceName}/${view.id}/custom_view` : '/accounts'); + history.push( + view ? `/${resourceName}/${view.id}/custom_view` : '/accounts', + ); + onChange && onChange(view); }; const viewsMenuItems = views.map((view) => { - return handleClickViewItem(view)} text={view.name} />; + return ( + handleClickViewItem(view)} text={view.name} /> + ); }); return ( diff --git a/client/src/containers/Accounting/ManualJournalActionsBar.js b/client/src/containers/Accounting/ManualJournalActionsBar.js index bfd49572a..ca0070fa7 100644 --- a/client/src/containers/Accounting/ManualJournalActionsBar.js +++ b/client/src/containers/Accounting/ManualJournalActionsBar.js @@ -21,7 +21,7 @@ import FilterDropdown from 'components/FilterDropdown'; import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar'; import withDialogActions from 'containers/Dialog/withDialogActions'; -import { If } from 'components'; +import { If, DashboardActionViewsList } from 'components'; import withResourceDetail from 'containers/Resources/withResourceDetails'; import withManualJournals from 'containers/Accounting/withManualJournals'; @@ -29,9 +29,11 @@ import withManualJournalsActions from 'containers/Accounting/withManualJournalsA import { compose } from 'utils'; +/** + * Manual journal actions bar. + */ function ManualJournalActionsBar({ // #withResourceDetail - resourceName = 'manual_journals', resourceFields, // #withManualJournals @@ -39,21 +41,15 @@ function ManualJournalActionsBar({ // #withManualJournalsActions addManualJournalsTableQueries, + changeManualJournalCurrentView, onFilterChanged, selectedRows = [], onBulkDelete, }) { - const { path } = useRouteMatch(); const [filterCount, setFilterCount] = useState(0); const history = useHistory(); - const viewsMenuItems = manualJournalsViews.map((view) => { - return ( - - ); - }); - const onClickNewManualJournal = useCallback(() => { history.push('/make-journal-entry'); }, [history]); @@ -73,32 +69,30 @@ function ManualJournalActionsBar({ onFilterChanged && onFilterChanged(filterConditions); }, }); - const hasSelectedRows = useMemo( - () => selectedRows.length > 0, - [selectedRows]); + const hasSelectedRows = useMemo(() => selectedRows.length > 0, [ + selectedRows, + ]); // Handle delete button click. const handleBulkDelete = useCallback(() => { onBulkDelete && onBulkDelete(selectedRows.map((r) => r.id)); }, [onBulkDelete, selectedRows]); + const handleTabChange = (viewId) => { + changeManualJournalCurrentView(viewId.id || -1); + addManualJournalsTableQueries({ + custom_view_id: viewId.id || null, + }); + }; + return ( - {viewsMenuItems}} - minimal={true} - interactionKind={PopoverInteractionKind.HOVER} - position={Position.BOTTOM_LEFT} - > -