From 09ad725a6779efd9b87528c251a9c8fcdb16a984 Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Sun, 11 Feb 2024 16:12:41 +0200 Subject: [PATCH] feat(webapp): wip print preview financial reports --- .../src/components/FormattedMessage/index.tsx | 9 +++- packages/webapp/src/constants/dialogs.ts | 5 +++ .../BalanceSheet/BalanceSheet.tsx | 3 ++ .../BalanceSheet/BalanceSheetActionsBar.tsx | 11 +++++ .../BalanceSheet/BalanceSheetDialogs.tsx | 10 +++++ .../BalanceSheetPdfDialog.tsx | 39 ++++++++++++++++ .../BalanceSheetPdfDialogContent.tsx | 42 ++++++++++++++++++ .../dialogs/BalanceSheetPdfDialog/index.ts | 1 + .../CashFlowStatement/CashFlowStatement.tsx | 3 ++ .../CashFlowStatementActionsBar.tsx | 12 +++++ .../CashflowSheetDialogs.tsx | 12 +++++ .../CashflowSheetPdfDialog.tsx | 44 +++++++++++++++++++ .../CashflowSheetPdfDialogContent.tsx | 42 ++++++++++++++++++ .../CashflowSheetPdfDialog/index.ts | 1 + .../ProfitLossSheet/ProfitLossActionsBar.tsx | 11 +++++ .../ProfitLossSheet/ProfitLossSheet.tsx | 3 ++ .../ProfitLossSheetDialogs.tsx | 10 +++++ .../ProfitLossSheetPdfDialog.tsx | 44 +++++++++++++++++++ .../ProfitLossSheetPdfDialogContent.tsx | 42 ++++++++++++++++++ .../ProfitLossSheetPdfDialog/index.ts | 1 + .../TrialBalanceActionsBar.tsx | 12 +++++ .../TrialBalanceSheet/TrialBalanceSheet.tsx | 3 ++ .../TrialBalanceSheetDialogs.tsx | 12 +++++ .../TrialBalanceSheetPdfDialog.tsx | 44 +++++++++++++++++++ .../TrialBalanceSheetPdfDialogContent.tsx | 42 ++++++++++++++++++ .../TrialBalanceSheetPdfDialog/index.ts | 1 + .../src/hooks/query/financialReports.tsx | 30 +++++++++++++ 27 files changed, 487 insertions(+), 2 deletions(-) create mode 100644 packages/webapp/src/containers/FinancialStatements/BalanceSheet/BalanceSheetDialogs.tsx create mode 100644 packages/webapp/src/containers/FinancialStatements/BalanceSheet/dialogs/BalanceSheetPdfDialog/BalanceSheetPdfDialog.tsx create mode 100644 packages/webapp/src/containers/FinancialStatements/BalanceSheet/dialogs/BalanceSheetPdfDialog/BalanceSheetPdfDialogContent.tsx create mode 100644 packages/webapp/src/containers/FinancialStatements/BalanceSheet/dialogs/BalanceSheetPdfDialog/index.ts create mode 100644 packages/webapp/src/containers/FinancialStatements/CashFlowStatement/CashflowSheetDialogs.tsx create mode 100644 packages/webapp/src/containers/FinancialStatements/CashFlowStatement/CashflowSheetPdfDialog/CashflowSheetPdfDialog.tsx create mode 100644 packages/webapp/src/containers/FinancialStatements/CashFlowStatement/CashflowSheetPdfDialog/CashflowSheetPdfDialogContent.tsx create mode 100644 packages/webapp/src/containers/FinancialStatements/CashFlowStatement/CashflowSheetPdfDialog/index.ts create mode 100644 packages/webapp/src/containers/FinancialStatements/ProfitLossSheet/ProfitLossSheetDialogs.tsx create mode 100644 packages/webapp/src/containers/FinancialStatements/ProfitLossSheet/ProfitLossSheetPdfDialog/ProfitLossSheetPdfDialog.tsx create mode 100644 packages/webapp/src/containers/FinancialStatements/ProfitLossSheet/ProfitLossSheetPdfDialog/ProfitLossSheetPdfDialogContent.tsx create mode 100644 packages/webapp/src/containers/FinancialStatements/ProfitLossSheet/ProfitLossSheetPdfDialog/index.ts create mode 100644 packages/webapp/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheetDialogs.tsx create mode 100644 packages/webapp/src/containers/FinancialStatements/TrialBalanceSheet/dialogs/TrialBalanceSheetPdfDialog/TrialBalanceSheetPdfDialog.tsx create mode 100644 packages/webapp/src/containers/FinancialStatements/TrialBalanceSheet/dialogs/TrialBalanceSheetPdfDialog/TrialBalanceSheetPdfDialogContent.tsx create mode 100644 packages/webapp/src/containers/FinancialStatements/TrialBalanceSheet/dialogs/TrialBalanceSheetPdfDialog/index.ts diff --git a/packages/webapp/src/components/FormattedMessage/index.tsx b/packages/webapp/src/components/FormattedMessage/index.tsx index b23418325..6dd6ff98b 100644 --- a/packages/webapp/src/components/FormattedMessage/index.tsx +++ b/packages/webapp/src/components/FormattedMessage/index.tsx @@ -1,8 +1,13 @@ // @ts-nocheck import intl from 'react-intl-universal'; -export function FormattedMessage({ id, values }) { - return intl.get(id, values); +interface FormattedMessageProps { + id: string; + values?: Record; +} + +export function FormattedMessage({ id, values }: FormattedMessageProps) { + return <>{intl.get(id, values)}; } export function FormattedHTMLMessage({ ...args }) { diff --git a/packages/webapp/src/constants/dialogs.ts b/packages/webapp/src/constants/dialogs.ts index c9bb52a0e..74ec090cf 100644 --- a/packages/webapp/src/constants/dialogs.ts +++ b/packages/webapp/src/constants/dialogs.ts @@ -53,4 +53,9 @@ export enum DialogsName { EstimateMail = 'estimate-mail', ReceiptMail = 'receipt-mail', PaymentMail = 'payment-mail', + BalanceSheetPdfPreview = 'BalanceSheetPdfPreview', + TrialBalanceSheetPdfPreview = 'TrialBalanceSheetPdfPreview', + CashflowSheetPdfPreview = 'CashflowSheetPdfPreview', + ProfitLossSheetPdfPreview = 'ProfitLossSheetPdfPreview', + } diff --git a/packages/webapp/src/containers/FinancialStatements/BalanceSheet/BalanceSheet.tsx b/packages/webapp/src/containers/FinancialStatements/BalanceSheet/BalanceSheet.tsx index 787c7f14e..11928622f 100644 --- a/packages/webapp/src/containers/FinancialStatements/BalanceSheet/BalanceSheet.tsx +++ b/packages/webapp/src/containers/FinancialStatements/BalanceSheet/BalanceSheet.tsx @@ -13,6 +13,7 @@ import { useBalanceSheetQuery } from './utils'; import { compose } from '@/utils'; import withBalanceSheetActions from './withBalanceSheetActions'; +import { BalanceSheetDialogs } from './BalanceSheetDialogs'; /** * Balance sheet. @@ -67,6 +68,8 @@ function BalanceSheet({ + + ); } diff --git a/packages/webapp/src/containers/FinancialStatements/BalanceSheet/BalanceSheetActionsBar.tsx b/packages/webapp/src/containers/FinancialStatements/BalanceSheet/BalanceSheetActionsBar.tsx index 0421ea2ae..af8de6c12 100644 --- a/packages/webapp/src/containers/FinancialStatements/BalanceSheet/BalanceSheetActionsBar.tsx +++ b/packages/webapp/src/containers/FinancialStatements/BalanceSheet/BalanceSheetActionsBar.tsx @@ -17,7 +17,9 @@ import { BalanceSheetExportMenu } from './components'; import { useBalanceSheetContext } from './BalanceSheetProvider'; import withBalanceSheet from './withBalanceSheet'; import withBalanceSheetActions from './withBalanceSheetActions'; +import withDialogActions from '@/containers/Dialog/withDialogActions'; import { compose, saveInvoke } from '@/utils'; +import { DialogsName } from '@/constants/dialogs'; /** * Balance sheet - actions bar. @@ -29,6 +31,9 @@ function BalanceSheetActionsBar({ // #withBalanceSheetActions toggleBalanceSheetFilterDrawer: toggleFilterDrawer, + // #withDialogsActions + openDialog, + // #ownProps numberFormat, onNumberFormatSubmit, @@ -50,6 +55,10 @@ function BalanceSheetActionsBar({ saveInvoke(onNumberFormatSubmit, values); }; + const handlePdfPrintBtnSubmit = () => { + openDialog(DialogsName.BalanceSheetPdfPreview) + } + return ( @@ -111,6 +120,7 @@ function BalanceSheetActionsBar({