diff --git a/lib/ui/reports/client_report.dart b/lib/ui/reports/client_report.dart index 6999b7ada..7f81563d1 100644 --- a/lib/ui/reports/client_report.dart +++ b/lib/ui/reports/client_report.dart @@ -83,21 +83,23 @@ ReportResult clientReport( ? reportSettings[kReportClient] : ReportSettingsEntity(); + final defaultColumns = [ + ClientReportFields.name, + ClientReportFields.contact_email, + ClientReportFields.id_number, + ClientReportFields.vat_number, + ClientReportFields.currency, + ClientReportFields.balance, + ClientReportFields.paid_to_date, + ClientReportFields.country, + ]; + if (clientReportSettings.columns.isNotEmpty) { columns = BuiltList(clientReportSettings.columns .map((e) => EnumUtils.fromString(ClientReportFields.values, e)) .toList()); } else { - columns = BuiltList([ - ClientReportFields.name, - ClientReportFields.contact_email, - ClientReportFields.id_number, - ClientReportFields.vat_number, - ClientReportFields.currency, - ClientReportFields.balance, - ClientReportFields.paid_to_date, - ClientReportFields.country, - ]); + columns = BuiltList(defaultColumns); } for (var clientId in clientMap.keys) { @@ -293,8 +295,10 @@ ReportResult clientReport( return ReportResult( allColumns: - ClientReportFields.values.map((e) => EnumUtils.parse(e)).toList(), + ClientReportFields.values.map((item) => EnumUtils.parse(item)).toList(), columns: columns.map((item) => EnumUtils.parse(item)).toList(), + defaultColumns: + defaultColumns.map((item) => EnumUtils.parse(item)).toList(), data: data, ); } diff --git a/lib/ui/reports/invoice_report.dart b/lib/ui/reports/invoice_report.dart index 97dc64643..ca728f7e9 100644 --- a/lib/ui/reports/invoice_report.dart +++ b/lib/ui/reports/invoice_report.dart @@ -71,19 +71,21 @@ ReportResult invoiceReport( ? reportSettings[kReportInvoice] : ReportSettingsEntity(); + final defaultColumns = [ + InvoiceReportFields.number, + InvoiceReportFields.amount, + InvoiceReportFields.balance, + InvoiceReportFields.date, + InvoiceReportFields.due_date, + InvoiceReportFields.client + ]; + if (invoiceReportSettings.columns.isNotEmpty) { columns = BuiltList(invoiceReportSettings.columns .map((e) => EnumUtils.fromString(InvoiceReportFields.values, e)) .toList()); } else { - columns = BuiltList([ - InvoiceReportFields.number, - InvoiceReportFields.amount, - InvoiceReportFields.balance, - InvoiceReportFields.date, - InvoiceReportFields.due_date, - InvoiceReportFields.client - ]); + columns = BuiltList(defaultColumns); } for (var invoiceId in invoiceMap.keys) { @@ -230,6 +232,8 @@ ReportResult invoiceReport( allColumns: InvoiceReportFields.values.map((e) => EnumUtils.parse(e)).toList(), columns: columns.map((item) => EnumUtils.parse(item)).toList(), + defaultColumns: + defaultColumns.map((item) => EnumUtils.parse(item)).toList(), data: data, ); } diff --git a/lib/ui/reports/reports_screen.dart b/lib/ui/reports/reports_screen.dart index 7401b2f34..480932067 100644 --- a/lib/ui/reports/reports_screen.dart +++ b/lib/ui/reports/reports_screen.dart @@ -505,11 +505,13 @@ class ReportResult { ReportResult({ @required this.columns, @required this.allColumns, + @required this.defaultColumns, @required this.data, }); final List columns; final List allColumns; + final List defaultColumns; final List> data; static bool matchField({