Null safety
This commit is contained in:
parent
74b65842bf
commit
df7e3576b1
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -159,9 +159,8 @@ class _CompanyGatewayEditState extends State<CompanyGatewayEdit>
|
||||||
viewModel.onChanged(
|
viewModel.onChanged(
|
||||||
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 = '{}'
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue