From 31e0bbc1876dcc98cf9a735e95cff02c5781eb97 Mon Sep 17 00:00:00 2001 From: elforjani13 <39470382+elforjani13@users.noreply.github.com> Date: Wed, 1 Dec 2021 16:59:37 +0200 Subject: [PATCH] feat: add View detail. --- src/common/drawers.js | 2 + src/components/DrawersContainer.js | 4 + .../CreditNotes/CreditNoteDeleteAlert.js | 1 + .../VendorCreditDeleteAlert.js | 1 + .../CreditNoteDetail.js | 26 +++++++ .../CreditNoteDetailActionsBar.js | 76 +++++++++++++++++++ .../CreditNoteDetailDrawerContent.js | 21 +++++ .../CreditNoteDetailDrawerFooter.js | 32 ++++++++ .../CreditNoteDetailDrawerProvider.js | 39 ++++++++++ .../CreditNoteDetailHeader.js | 50 ++++++++++++ .../CreditNoteDetailPanel.js | 24 ++++++ .../CreditNoteDetailTable.js | 31 ++++++++ .../Drawers/CreditNoteDetailDrawer/index.js | 33 ++++++++ .../Drawers/CreditNoteDetailDrawer/utils.js | 47 ++++++++++++ .../VendorCreditDetail.js | 26 +++++++ .../VendorCreditDetailActionsBar.js | 76 +++++++++++++++++++ .../VendorCreditDetailDrawerContent.js | 18 +++++ .../VendorCreditDetailDrawerFooter.js | 34 +++++++++ .../VendorCreditDetailDrawerProvider.js | 37 +++++++++ .../VendorCreditDetailHeader.js | 49 ++++++++++++ .../VendorCreditDetailPanel.js | 24 ++++++ .../VendorCreditDetailTable.js | 31 ++++++++ .../Drawers/VendorCreditDetailDrawer/index.js | 34 +++++++++ .../Drawers/VendorCreditDetailDrawer/utils.js | 51 +++++++++++++ .../VendorsCreditNoteDataTable.js | 23 +++++- .../CreditNotesDataTable.js | 20 ++++- .../CreditNotesLanding/CreditNotesList.js | 3 +- src/lang/en/index.json | 14 +++- .../Drawers/CreditNoteDetails.module.scss | 68 +++++++++++++++++ .../Drawers/VendorCreditDetail.module.scss | 68 +++++++++++++++++ 30 files changed, 956 insertions(+), 7 deletions(-) create mode 100644 src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetail.js create mode 100644 src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailActionsBar.js create mode 100644 src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailDrawerContent.js create mode 100644 src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailDrawerFooter.js create mode 100644 src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailDrawerProvider.js create mode 100644 src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailHeader.js create mode 100644 src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailPanel.js create mode 100644 src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailTable.js create mode 100644 src/containers/Drawers/CreditNoteDetailDrawer/index.js create mode 100644 src/containers/Drawers/CreditNoteDetailDrawer/utils.js create mode 100644 src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetail.js create mode 100644 src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailActionsBar.js create mode 100644 src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailDrawerContent.js create mode 100644 src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailDrawerFooter.js create mode 100644 src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailDrawerProvider.js create mode 100644 src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailHeader.js create mode 100644 src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailPanel.js create mode 100644 src/containers/Drawers/VendorCreditDetailDrawer/VendorCreditDetailTable.js create mode 100644 src/containers/Drawers/VendorCreditDetailDrawer/index.js create mode 100644 src/containers/Drawers/VendorCreditDetailDrawer/utils.js create mode 100644 src/style/components/Drawers/CreditNoteDetails.module.scss create mode 100644 src/style/components/Drawers/VendorCreditDetail.module.scss 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 ( + + +