feat: print action when click on print button

This commit is contained in:
Ahmed Bouhuolia
2024-05-23 19:39:23 +02:00
parent fe41f7976d
commit dc5bdf0b66
16 changed files with 239 additions and 64 deletions

View File

@@ -23,6 +23,7 @@ import { SaleInvoiceAction, AbilitySubject } from '@/constants/abilityOption';
import { useRefreshInvoices } from '@/hooks/query/invoices';
import { useInvoicesListContext } from './InvoicesListProvider';
import { useResourceExportPdf } from '@/hooks/query/FinancialReports/use-export-pdf';
import withInvoices from './withInvoices';
import withInvoiceActions from './withInvoiceActions';
@@ -49,13 +50,17 @@ function InvoiceActionsBar({
addSetting,
// #withDialogsActions
openDialog
openDialog,
}) {
const history = useHistory();
// Sale invoices list context.
const { invoicesViews, invoicesFields } = useInvoicesListContext();
// Exports the given resource into pdf.
const { mutateAsync: exportPdf, isLoading: isExportPdfLoading } =
useResourceExportPdf();
// Handle new invoice button click.
const handleClickNewInvoice = () => {
history.push('/invoices/new');
@@ -88,6 +93,10 @@ function InvoiceActionsBar({
const handleExportBtnClick = () => {
openDialog(DialogsName.Export, { resource: 'sale_invoice' });
};
// Handles the print button click.
const handlePrintBtnClick = () => {
exportPdf({ resource: 'SaleInvoice' });
};
return (
<DashboardActionsBar>
@@ -134,6 +143,8 @@ function InvoiceActionsBar({
className={Classes.MINIMAL}
icon={<Icon icon={'print-16'} iconSize={'16'} />}
text={<T id={'print'} />}
onClick={handlePrintBtnClick}
disabled={isExportPdfLoading}
/>
<Button
className={Classes.MINIMAL}