diff --git a/src/common/drawers.js b/src/common/drawers.js index 3a1b21032..b42c44b9f 100644 --- a/src/common/drawers.js +++ b/src/common/drawers.js @@ -14,4 +14,6 @@ export const DRAWERS = { QUICK_WRITE_VENDOR: 'quick-write-vendor', QUICK_CREATE_CUSTOMER: 'quick-create-customer', QUICK_CREATE_ITEM: 'quick-create-item', + CREDIT_NOTE_DETAIL_DRAWER: 'credit-note-detail-drawer', + VENDOR_CREDIT_DETAIL_DRAWER: 'vendor-credit-detail-drawer', }; diff --git a/src/components/DrawersContainer.js b/src/components/DrawersContainer.js index 135dcb8a3..b7c0e8fe6 100644 --- a/src/components/DrawersContainer.js +++ b/src/components/DrawersContainer.js @@ -17,6 +17,8 @@ import CashflowTransactionDetailDrawer from '../containers/Drawers/CashflowTrans import QuickCreateCustomerDrawer from '../containers/Drawers/QuickCreateCustomerDrawer'; import QuickCreateItemDrawer from '../containers/Drawers/QuickCreateItemDrawer'; import QuickWriteVendorDrawer from '../containers/Drawers/QuickWriteVendorDrawer'; +import CreditNoteDetailDrawer from '../containers/Drawers/CreditNoteDetailDrawer'; +import VendorCreditDetailDrawer from '../containers/Drawers/VendorCreditDetailDrawer'; import { DRAWERS } from 'common/drawers'; @@ -47,6 +49,8 @@ export default function DrawersContainer() { + + ); } diff --git a/src/containers/Alerts/CreditNotes/CreditNoteDeleteAlert.js b/src/containers/Alerts/CreditNotes/CreditNoteDeleteAlert.js index f7cc492c9..be664372a 100644 --- a/src/containers/Alerts/CreditNotes/CreditNoteDeleteAlert.js +++ b/src/containers/Alerts/CreditNotes/CreditNoteDeleteAlert.js @@ -41,6 +41,7 @@ function CreditNoteDeleteAlert({ message: intl.get('credit_note.alert.success_message'), intent: Intent.SUCCESS, }); + closeDrawer('credit-note-detail-drawer'); }) .catch( ({ diff --git a/src/containers/Alerts/VendorCeditNotes/VendorCreditDeleteAlert.js b/src/containers/Alerts/VendorCeditNotes/VendorCreditDeleteAlert.js index 1067d486e..160905c1d 100644 --- a/src/containers/Alerts/VendorCeditNotes/VendorCreditDeleteAlert.js +++ b/src/containers/Alerts/VendorCeditNotes/VendorCreditDeleteAlert.js @@ -41,6 +41,7 @@ function VendorCreditDeleteAlert({ message: intl.get('vendor_credits.alert.success_message'), intent: Intent.SUCCESS, }); + closeDrawer('vendor-credit-detail-drawer'); }) .catch( ({ diff --git a/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetail.js b/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetail.js new file mode 100644 index 000000000..74f7e760b --- /dev/null +++ b/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetail.js @@ -0,0 +1,26 @@ +import React from 'react'; +import { Tab } from '@blueprintjs/core'; +import intl from 'react-intl-universal'; +import { DrawerMainTabs } from 'components'; + +import CreditNoteDetailPanel from './CreditNoteDetailPanel'; +import clsx from 'classnames'; + +import CreditNoteDetailCls from '../../../style/components/Drawers/CreditNoteDetails.module.scss'; + +/** + * Credit Note view detail. + */ +export default function CreditNoteDetail() { + return ( +
+ + } + /> + +
+ ); +} diff --git a/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailActionsBar.js b/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailActionsBar.js new file mode 100644 index 000000000..a7b92ae21 --- /dev/null +++ b/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailActionsBar.js @@ -0,0 +1,76 @@ +import React from 'react'; +import { useHistory } from 'react-router-dom'; + +import { + Button, + NavbarGroup, + Classes, + NavbarDivider, + Intent, +} from '@blueprintjs/core'; +import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar'; +import { useCreditNoteDetailDrawerContext } from './CreditNoteDetailDrawerProvider'; + +import withDialogActions from 'containers/Dialog/withDialogActions'; +import withAlertsActions from 'containers/Alert/withAlertActions'; +import withDrawerActions from 'containers/Drawer/withDrawerActions'; + +import { Icon, FormattedMessage as T, MoreMenuItems, Can } from 'components'; + +import { compose } from 'utils'; + +/** + * Credit note detail actions bar. + */ +function CreditNoteDetailActionsBar({ + // #withDialogActions + openDialog, + + // #withAlertsActions + openAlert, + + // #withDrawerActions + closeDrawer, +}) { + const { creditNoteId } = useCreditNoteDetailDrawerContext(); + + const history = useHistory(); + + // Handle edit credit note. + const handleEditCreditNote = () => { + history.push(`/credit-notes/${creditNoteId}/edit`); + closeDrawer('credit-note-detail-drawer'); + }; + + // Handle delete credit note. + const handleDeleteCreditNote = () => { + openAlert('credit-note-delete', { creditNoteId }); + }; + + return ( + + +