Null safety

This commit is contained in:
Hillel Coren 2023-10-01 14:51:35 +03:00
parent 74b65842bf
commit df7e3576b1
10 changed files with 34 additions and 32 deletions

View File

@ -101,7 +101,7 @@ class _ClientViewDetailsState extends State<ClientViewDetails> {
}), }),
)); ));
if ((contact.phone ?? '').isNotEmpty) { if (contact.phone.isNotEmpty) {
listTiles.add(AppListTile( listTiles.add(AppListTile(
icon: Icons.phone, icon: Icons.phone,
title: (contact.fullName.isEmpty title: (contact.fullName.isEmpty
@ -134,7 +134,7 @@ class _ClientViewDetailsState extends State<ClientViewDetails> {
} }
}); });
if ((client.website ?? '').isNotEmpty) { if (client.website.isNotEmpty) {
listTiles.add(AppListTile( listTiles.add(AppListTile(
icon: Icons.link, icon: Icons.link,
title: client.website, title: client.website,
@ -145,7 +145,7 @@ class _ClientViewDetailsState extends State<ClientViewDetails> {
)); ));
} }
if ((client.phone ?? '').isNotEmpty) { if (client.phone.isNotEmpty) {
listTiles.add(AppListTile( listTiles.add(AppListTile(
icon: Icons.phone, icon: Icons.phone,
title: client.phone, title: client.phone,
@ -183,7 +183,7 @@ class _ClientViewDetailsState extends State<ClientViewDetails> {
} }
*/ */
if ((client.vatNumber ?? '').isNotEmpty) { if (client.vatNumber.isNotEmpty) {
listTiles.add(AppListTile( listTiles.add(AppListTile(
icon: Icons.location_city, icon: Icons.location_city,
title: client.vatNumber, title: client.vatNumber,
@ -191,7 +191,7 @@ class _ClientViewDetailsState extends State<ClientViewDetails> {
)); ));
} }
if ((client.idNumber ?? '').isNotEmpty) { if (client.idNumber.isNotEmpty) {
listTiles.add(AppListTile( listTiles.add(AppListTile(
icon: Icons.business, icon: Icons.business,
title: client.idNumber, title: client.idNumber,

View File

@ -165,7 +165,7 @@ class ClientOverview extends StatelessWidget {
), ),
), ),
ListDivider(), ListDivider(),
if ((client.privateNotes ?? '').isNotEmpty) ...[ if ((client.privateNotes).isNotEmpty) ...[
IconMessage(client.privateNotes, iconData: Icons.lock), IconMessage(client.privateNotes, iconData: Icons.lock),
ListDivider() ListDivider()
], ],
@ -301,7 +301,7 @@ class ClientOverview extends StatelessWidget {
client.id, state.recurringExpenseState.map) client.id, state.recurringExpenseState.map)
.present(localization.active, localization.archived), .present(localization.active, localization.archived),
), ),
if ((client.publicNotes ?? '').isNotEmpty) ...[ if (client.publicNotes.isNotEmpty) ...[
IconMessage(client.publicNotes, copyToClipboard: true), IconMessage(client.publicNotes, copyToClipboard: true),
ListDivider() ListDivider()
], ],

View File

@ -160,8 +160,7 @@ class _CompanyGatewayEditState extends State<CompanyGatewayEdit>
companyGateway.rebuild((b) => b companyGateway.rebuild((b) => b
..feesAndLimitsMap[((gateway ?? GatewayEntity()) ..feesAndLimitsMap[((gateway ?? GatewayEntity())
as GatewayEntity) as GatewayEntity)
.defaultGatewayTypeId ?? .defaultGatewayTypeId] =
kGatewayTypeCreditCard] =
FeesAndLimitsSettings(isEnabled: true) FeesAndLimitsSettings(isEnabled: true)
..gatewayId = gateway?.id ?? '' ..gatewayId = gateway?.id ?? ''
..config = '{}' ..config = '{}'

View File

@ -167,7 +167,7 @@ ReportResult creditReport(
value = round(credit.balance * 1 / credit.exchangeRate, 2); value = round(credit.balance * 1 / credit.exchangeRate, 2);
break; break;
case CreditReportFields.client: case CreditReportFields.client:
value = client.listDisplayName ?? ''; value = client.listDisplayName;
break; break;
case CreditReportFields.client_balance: case CreditReportFields.client_balance:
value = client.balance; value = client.balance;
@ -325,13 +325,13 @@ ReportResult creditReport(
value = client.phone; value = client.phone;
break; break;
case CreditReportFields.contact_email: case CreditReportFields.contact_email:
value = contact.email ?? ''; value = contact.email;
break; break;
case CreditReportFields.contact_name: case CreditReportFields.contact_name:
value = contact.fullName ?? ''; value = contact.fullName;
break; break;
case CreditReportFields.contact_phone: case CreditReportFields.contact_phone:
value = contact.phone ?? ''; value = contact.phone;
break; break;
case CreditReportFields.client_website: case CreditReportFields.client_website:
value = client.website; value = client.website;

View File

@ -415,13 +415,13 @@ ReportResult invoiceReport(
value = client.phone; value = client.phone;
break; break;
case InvoiceReportFields.contact_email: case InvoiceReportFields.contact_email:
value = contact.email ?? ''; value = contact.email;
break; break;
case InvoiceReportFields.contact_name: case InvoiceReportFields.contact_name:
value = contact.fullName ?? ''; value = contact.fullName;
break; break;
case InvoiceReportFields.contact_phone: case InvoiceReportFields.contact_phone:
value = contact.phone ?? ''; value = contact.phone;
break; break;
case InvoiceReportFields.client_website: case InvoiceReportFields.client_website:
value = client.website; value = client.website;

View File

@ -198,10 +198,10 @@ ReportResult lineItemReport(
''; '';
break; break;
case PurchaseOrderItemReportFields.clientNumber: case PurchaseOrderItemReportFields.clientNumber:
value = client.number ?? ''; value = client.number;
break; break;
case PurchaseOrderItemReportFields.clientIdNumber: case PurchaseOrderItemReportFields.clientIdNumber:
value = client.idNumber ?? ''; value = client.idNumber;
break; break;
} }

View File

@ -320,13 +320,13 @@ ReportResult purchaseOrderReport(
value = vendor.phone; value = vendor.phone;
break; break;
case PurchaseOrderReportFields.contact_email: case PurchaseOrderReportFields.contact_email:
value = contact.email ?? ''; value = contact.email;
break; break;
case PurchaseOrderReportFields.contact_name: case PurchaseOrderReportFields.contact_name:
value = contact.fullName ?? ''; value = contact.fullName;
break; break;
case PurchaseOrderReportFields.contact_phone: case PurchaseOrderReportFields.contact_phone:
value = contact.phone ?? ''; value = contact.phone;
break; break;
case PurchaseOrderReportFields.vendor_website: case PurchaseOrderReportFields.vendor_website:
value = vendor.website; value = vendor.website;

View File

@ -319,13 +319,13 @@ ReportResult quoteReport(
value = client.phone; value = client.phone;
break; break;
case QuoteReportFields.contact_email: case QuoteReportFields.contact_email:
value = contact.email ?? ''; value = contact.email;
break; break;
case QuoteReportFields.contact_name: case QuoteReportFields.contact_name:
value = contact.fullName ?? ''; value = contact.fullName;
break; break;
case QuoteReportFields.contact_phone: case QuoteReportFields.contact_phone:
value = contact.phone ?? ''; value = contact.phone;
break; break;
case QuoteReportFields.client_website: case QuoteReportFields.client_website:
value = client.website; value = client.website;

View File

@ -338,13 +338,13 @@ ReportResult recurringInvoiceReport(
value = client.phone; value = client.phone;
break; break;
case RecurringInvoiceReportFields.contact_email: case RecurringInvoiceReportFields.contact_email:
value = contact.email ?? ''; value = contact.email;
break; break;
case RecurringInvoiceReportFields.contact_name: case RecurringInvoiceReportFields.contact_name:
value = contact.fullName ?? ''; value = contact.fullName;
break; break;
case RecurringInvoiceReportFields.contact_phone: case RecurringInvoiceReportFields.contact_phone:
value = contact.phone ?? ''; value = contact.phone;
break; break;
case RecurringInvoiceReportFields.client_website: case RecurringInvoiceReportFields.client_website:
value = client.website; value = client.website;

View File

@ -364,7 +364,7 @@ class ReportsScreen extends StatelessWidget {
viewModel.onReportColumnsChanged( viewModel.onReportColumnsChanged(
context, selected); context, selected);
}, },
options: reportResult.allColumns ?? [], options: reportResult.allColumns,
selected: reportResult.columns.toList(), selected: reportResult.columns.toList(),
defaultSelected: reportResult.defaultColumns, defaultSelected: reportResult.defaultColumns,
); );
@ -691,7 +691,7 @@ class _ReportDataTableState extends State<ReportDataTable> {
sortColumnIndex: sortedColumns.contains(reportSettings.sortColumn) sortColumnIndex: sortedColumns.contains(reportSettings.sortColumn)
? sortedColumns.indexOf(reportSettings.sortColumn) ? sortedColumns.indexOf(reportSettings.sortColumn)
: null, : null,
sortAscending: reportSettings.sortAscending ?? true, sortAscending: reportSettings.sortAscending,
columns: reportResult.tableColumns( columns: reportResult.tableColumns(
context, context,
(index, ascending) => widget.viewModel (index, ascending) => widget.viewModel
@ -705,8 +705,11 @@ class _ReportDataTableState extends State<ReportDataTable> {
} }
class TotalsDataTable extends StatelessWidget { class TotalsDataTable extends StatelessWidget {
const TotalsDataTable( const TotalsDataTable({
{this.reportSettings, this.reportResult, this.viewModel}); this.reportSettings,
this.reportResult,
this.viewModel,
});
final ReportsScreenVM? viewModel; final ReportsScreenVM? viewModel;
final ReportSettingsEntity? reportSettings; final ReportSettingsEntity? reportSettings;