From 8879a5a1bfcdbabcf1a8029073928f2d6470b443 Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Tue, 24 Aug 2021 18:28:58 +0200 Subject: [PATCH] feat: estimate detail. --- .../EstimateDetailActionsBar.js | 89 ++++++++++++++++++ .../EstimateDetailDrawerProvider.js | 10 +- .../EstimateDetailHeader.js | 48 ++++++++++ .../EstimateDetailDrawer/EstimateDetailTab.js | 93 ++----------------- .../EstimateDetailTable.js | 48 ++++++++++ 5 files changed, 203 insertions(+), 85 deletions(-) create mode 100644 client/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailActionsBar.js create mode 100644 client/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailHeader.js create mode 100644 client/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailTable.js diff --git a/client/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailActionsBar.js b/client/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailActionsBar.js new file mode 100644 index 000000000..974a1a57d --- /dev/null +++ b/client/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailActionsBar.js @@ -0,0 +1,89 @@ +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 { useEstimateDetailDrawerContext } from './EstimateDetailDrawerProvider'; + +import withDialogActions from 'containers/Dialog/withDialogActions'; +import withAlertsActions from 'containers/Alert/withAlertActions'; +import withDrawerActions from 'containers/Drawer/withDrawerActions'; + +import { Icon, FormattedMessage as T } from 'components'; + +import { safeCallback, compose } from 'utils'; + +function EstimateDetailActionsBar({ + // #withDialogActions + openDialog, + + // #withAlertsActions + openAlert, + + // #withDrawerActions + closeDrawer, +}) { + const { estimateId } = useEstimateDetailDrawerContext(); + + const history = useHistory(); + + // Handle edit sale estimate. + const onEditEstimate = () => { + return estimateId + ? (history.push(`/estimates/${estimateId}/edit`), + closeDrawer('estimate-detail-drawer')) + : null; + }; + + // Handle delete sale estimate. + const onDeleteEstimate = () => { + return estimateId + ? (openAlert('estimate-delete', { estimateId }), + closeDrawer('estimate-detail-drawer')) + : null; + }; + + // Handle print estimate. + const onPrintEstimate = () => { + openDialog('estimate-pdf-preview', { estimateId }); + }; + + return ( + + +