Recurring invoices
This commit is contained in:
parent
6dade29bd7
commit
b7d835b51b
|
|
@ -141,6 +141,27 @@ EntityStats recurringInvoiceStatsForUser(
|
|||
return EntityStats(countActive: countActive, countArchived: countArchived);
|
||||
}
|
||||
|
||||
var memoizedRecurringInvoiceStatsForInvoice = memo2(
|
||||
(String invoiceId, BuiltMap<String, InvoiceEntity> invoiceMap) =>
|
||||
recurringInvoiceStatsForInvoice(invoiceId, invoiceMap));
|
||||
|
||||
EntityStats recurringInvoiceStatsForInvoice(
|
||||
String recurrinInvoiceId, BuiltMap<String, InvoiceEntity> invoiceMap) {
|
||||
int countActive = 0;
|
||||
int countArchived = 0;
|
||||
invoiceMap.forEach((invoiceId, invoice) {
|
||||
if (invoice.recurringId == recurrinInvoiceId) {
|
||||
if (invoice.isActive) {
|
||||
countActive++;
|
||||
} else if (invoice.isDeleted) {
|
||||
countArchived++;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return EntityStats(countActive: countActive, countArchived: countArchived);
|
||||
}
|
||||
|
||||
bool hasRecurringInvoiceChanges(InvoiceEntity recurringInvoice,
|
||||
BuiltMap<String, InvoiceEntity> recurringInvoiceMap) =>
|
||||
recurringInvoice.isNew
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import 'package:invoiceninja_flutter/data/models/recurring_invoice_model.dart';
|
|||
import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/payment/payment_selectors.dart';
|
||||
import 'package:invoiceninja_flutter/redux/recurring_invoice/recurring_invoice_selectors.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/FieldGrid.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/entities/entity_list_tile.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/invoice/invoice_item_view.dart';
|
||||
|
|
@ -193,6 +194,9 @@ class InvoiceOverview extends StatelessWidget {
|
|||
context: context,
|
||||
entityType: EntityType.invoice,
|
||||
filterEntity: invoice),
|
||||
subtitle: memoizedRecurringInvoiceStatsForInvoice(
|
||||
invoice.id, state.invoiceState.map)
|
||||
.present(localization.active, localization.archived),
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue