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,8 +23,11 @@ import {
} from '@/components';
import { ExpenseAction, AbilitySubject } from '@/constants/abilityOption';
import { DialogsName } from '@/constants/dialogs';
import { useRefreshExpenses } from '@/hooks/query/expenses';
import { useExpensesListContext } from './ExpensesListProvider';
import { useResourceExportPdf } from '@/hooks/query/FinancialReports/use-export-pdf';
import withExpenses from './withExpenses';
import withExpensesActions from './withExpensesActions';
@@ -33,7 +36,6 @@ import withDialogActions from '@/containers/Dialog/withDialogActions';
import withSettings from '@/containers/Settings/withSettings';
import { compose } from '@/utils';
import { DialogsName } from '@/constants/dialogs';
/**
* Expenses actions bar.
@@ -60,6 +62,10 @@ function ExpensesActionsBar({
// Expenses list context.
const { expensesViews, fields } = useExpensesListContext();
// Exports the given resource into pdf.
const { mutateAsync: exportPdf, isLoading: isExportPdfLoading } =
useResourceExportPdf();
// Expenses refresh action.
const { refresh } = useRefreshExpenses();
@@ -92,6 +98,10 @@ function ExpensesActionsBar({
const handleExportBtnClick = () => {
openDialog(DialogsName.Export, { resource: 'expense' });
};
// Handles the print button click.
const handlePrintBtnClick = () => {
exportPdf({ resource: 'Expense' });
};
return (
<DashboardActionsBar>
@@ -135,11 +145,13 @@ function ExpensesActionsBar({
onClick={handleBulkDelete}
/>
</If>
<NavbarDivider />
<Button
className={Classes.MINIMAL}
icon={<Icon icon="print-16" iconSize={16} />}
text={<T id={'print'} />}
onClick={handlePrintBtnClick}
disabled={isExportPdfLoading}
/>
<Button
className={Classes.MINIMAL}