diff --git a/client/src/components/JournalEntry/ManualJournalActionsBar.js b/client/src/components/JournalEntry/ManualJournalActionsBar.js new file mode 100644 index 000000000..77d03defe --- /dev/null +++ b/client/src/components/JournalEntry/ManualJournalActionsBar.js @@ -0,0 +1,112 @@ +import React, { useMemo, useState } from 'react'; +import Icon from 'components/Icon'; +import { + Button, + NavbarGroup, + Classes, + NavbarDivider, + MenuItem, + Menu, + Popover, + PopoverInteractionKind, + Position, + Intent +} from '@blueprintjs/core'; +import classNames from 'classnames'; +import { useRouteMatch, useHistory } from 'react-router-dom'; +import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar'; +import DialogConnect from 'connectors/Dialog.connector'; +import { compose } from 'utils'; +import FilterDropdown from 'components/FilterDropdown'; +import ManualJournalsConnect from 'connectors/ManualJournals.connect'; +import ResourceConnect from 'connectors/Resource.connector'; + +function ManualJournalActionsBar({ + openDialog, + views, + getResourceFields, + addManualJournalsTableQueries, + onFilterChanged +}) { + const { path } = useRouteMatch(); + const history = useHistory(); + + const manualJournalFields = getResourceFields('manual_journals'); + const viewsMenuItems = views.map(view => { + return ( + + ); + }); + + const onClickNewManualJournal = () => { + history.push('/dashboard/accounting/make-journal-entry'); + }; + const filterDropdown = FilterDropdown({ + fields: manualJournalFields, + onFilterChange: filterConditions => { + addManualJournalsTableQueries({ + filter_roles: filterConditions || '' + }); + onFilterChanged && onFilterChanged(filterConditions); + } + }); + return ( + + + {viewsMenuItems}} + minimal={true} + interactionKind={PopoverInteractionKind.HOVER} + position={Position.BOTTOM_LEFT} + > +