// @ts-nocheck import { useHistory } from 'react-router-dom'; import { Button, NavbarGroup, Classes, NavbarDivider, Intent, } from '@blueprintjs/core'; import { useEstimateDetailDrawerContext } from './EstimateDetailDrawerProvider'; import withDialogActions from '@/containers/Dialog/withDialogActions'; import withAlertsActions from '@/containers/Alert/withAlertActions'; import withDrawerActions from '@/containers/Drawer/withDrawerActions'; import { SaleEstimateAction, AbilitySubject, SaleInvoiceAction, } from '@/constants/abilityOption'; import { EstimateMoreMenuItems } from './components'; import { DrawerActionsBar, Icon, FormattedMessage as T, Can, If, } from '@/components'; import { compose } from '@/utils'; import { DRAWERS } from '@/constants/drawers'; import { DialogsName } from '@/constants/dialogs'; /** * Estimate read-only details actions bar of the drawer. */ function EstimateDetailActionsBar({ // #withDialogActions openDialog, // #withAlertsActions openAlert, // #withDrawerActions closeDrawer, }) { // Estimate details drawer context. const { estimateId, estimate } = useEstimateDetailDrawerContext(); // History. const history = useHistory(); // Handle edit sale estimate. const handleEditEstimate = () => { history.push(`/estimates/${estimateId}/edit`); closeDrawer(DRAWERS.ESTIMATE_DETAILS); }; // Handle convert to invoice. const handleConvertEstimate = () => { history.push(`/invoices/new?from_estimate_id=${estimateId}`, { action: estimateId, }); closeDrawer(DRAWERS.ESTIMATE_DETAILS); }; // Handle delete sale estimate. const handleDeleteEstimate = () => { openAlert('estimate-delete', { estimateId }); }; // Handle print estimate. const handlePrintEstimate = () => { openDialog('estimate-pdf-preview', { estimateId }); }; // Handle notify via SMS. const handleNotifyViaSMS = () => { openDialog('notify-estimate-via-sms', { estimateId }); }; // Handles the estimate mail dialog. const handleMailEstimate = () => { openDialog(DialogsName.EstimateMail, { estimateId }); }; return (