diff --git a/lib/data/models/models.dart b/lib/data/models/models.dart index 4e8cbce79..f01710fe3 100644 --- a/lib/data/models/models.dart +++ b/lib/data/models/models.dart @@ -40,7 +40,7 @@ class EntityAction extends EnumClass { static const EntityAction restore = _$restore; static const EntityAction clone = _$clone; static const EntityAction download = _$download; - static const EntityAction emailInvoice = _$email; + static const EntityAction email = _$email; static const EntityAction markSent = _$markSent; static const EntityAction invoice = _$invoice; static const EntityAction pdf = _$pdf; diff --git a/lib/ui/invoice/invoice_list.dart b/lib/ui/invoice/invoice_list.dart index ec07b12a3..48e4fb23c 100644 --- a/lib/ui/invoice/invoice_list.dart +++ b/lib/ui/invoice/invoice_list.dart @@ -43,7 +43,7 @@ class InvoiceList extends StatelessWidget { leading: Icon(Icons.send), title: Text(AppLocalization.of(context).email), onTap: () => viewModel.onEntityAction( - context, invoice, EntityAction.emailInvoice), + context, invoice, EntityAction.email), ) : Container(), ListTile( diff --git a/lib/ui/invoice/invoice_list_vm.dart b/lib/ui/invoice/invoice_list_vm.dart index 36eb7f613..777a76922 100644 --- a/lib/ui/invoice/invoice_list_vm.dart +++ b/lib/ui/invoice/invoice_list_vm.dart @@ -117,7 +117,7 @@ class InvoiceListVM { context, localization.markedInvoiceAsSent), invoice.id)); break; - case EntityAction.emailInvoice: + case EntityAction.email: store.dispatch(ShowEmailInvoice( completer: popCompleter( context, localization.emailedInvoice), diff --git a/lib/ui/invoice/view/invoice_view.dart b/lib/ui/invoice/view/invoice_view.dart index 9cde6bb3c..d6035812a 100644 --- a/lib/ui/invoice/view/invoice_view.dart +++ b/lib/ui/invoice/view/invoice_view.dart @@ -294,7 +294,7 @@ class _CustomAppBar extends StatelessWidget implements PreferredSizeWidget { : null, user.canEditEntity(invoice) && client.hasEmailAddress ? ActionMenuChoice( - action: EntityAction.emailInvoice, + action: EntityAction.email, icon: Icons.send, label: AppLocalization.of(context).email, ) diff --git a/lib/ui/invoice/view/invoice_view_vm.dart b/lib/ui/invoice/view/invoice_view_vm.dart index a714b4bb9..6e1f2d304 100644 --- a/lib/ui/invoice/view/invoice_view_vm.dart +++ b/lib/ui/invoice/view/invoice_view_vm.dart @@ -111,7 +111,7 @@ class InvoiceViewVM { snackBarCompleter(context, localization.markedInvoiceAsSent), invoice.id)); break; - case EntityAction.emailInvoice: + case EntityAction.email: store.dispatch(ShowEmailInvoice( completer: snackBarCompleter(context, localization.emailedInvoice), diff --git a/lib/ui/quote/quote_list.dart b/lib/ui/quote/quote_list.dart index 68d32e7f7..ccbeebb51 100644 --- a/lib/ui/quote/quote_list.dart +++ b/lib/ui/quote/quote_list.dart @@ -43,7 +43,7 @@ class QuoteList extends StatelessWidget { leading: Icon(Icons.send), title: Text(AppLocalization.of(context).email), onTap: () => viewModel.onEntityAction( - context, invoice, EntityAction.emailInvoice), + context, invoice, EntityAction.email), ) : Container(), ListTile( @@ -163,7 +163,7 @@ class QuoteList extends StatelessWidget { viewModel.onDismissed( context, invoice, direction), onTap: () => - viewModel.onInvoiceTap(context, invoice), + viewModel.onQuoteTap(context, invoice), onLongPress: () => _showMenu(context, invoice, client), ), diff --git a/lib/ui/quote/quote_list_vm.dart b/lib/ui/quote/quote_list_vm.dart index 2abfe7232..3b3ca6a05 100644 --- a/lib/ui/quote/quote_list_vm.dart +++ b/lib/ui/quote/quote_list_vm.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'package:built_collection/built_collection.dart'; import 'package:invoiceninja_flutter/redux/client/client_actions.dart'; +import 'package:invoiceninja_flutter/redux/quote/quote_actions.dart'; import 'package:invoiceninja_flutter/redux/quote/quote_selectors.dart'; import 'package:flutter/material.dart'; import 'package:flutter/foundation.dart'; @@ -14,7 +15,6 @@ import 'package:invoiceninja_flutter/utils/pdf.dart'; import 'package:redux/redux.dart'; import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; -import 'package:invoiceninja_flutter/redux/invoice/invoice_actions.dart'; class QuoteListBuilder extends StatelessWidget { static const String route = '/invoices/edit'; @@ -44,7 +44,7 @@ class QuoteListVM { final String filter; final bool isLoading; final bool isLoaded; - final Function(BuildContext, InvoiceEntity) onInvoiceTap; + final Function(BuildContext, InvoiceEntity) onQuoteTap; final Function(BuildContext, InvoiceEntity, DismissDirection) onDismissed; final Function(BuildContext) onRefreshed; final Function onClearClientFilterPressed; @@ -60,7 +60,7 @@ class QuoteListVM { @required this.isLoading, @required this.isLoaded, @required this.filter, - @required this.onInvoiceTap, + @required this.onQuoteTap, @required this.onDismissed, @required this.onRefreshed, @required this.onClearClientFilterPressed, @@ -75,7 +75,7 @@ class QuoteListVM { } final completer = snackBarCompleter( context, AppLocalization.of(context).refreshComplete); - store.dispatch(LoadInvoices(completer: completer, force: true)); + store.dispatch(LoadQuotes(completer: completer, force: true)); return completer.future; } @@ -94,58 +94,58 @@ class QuoteListVM { isLoading: state.isLoading, isLoaded: state.invoiceState.isLoaded && state.clientState.isLoaded, filter: state.invoiceListState.filter, - onInvoiceTap: (context, invoice) { - store.dispatch(ViewInvoice(invoiceId: invoice.id, context: context)); + onQuoteTap: (context, invoice) { + store.dispatch(ViewQuote(quoteId: invoice.id, context: context)); }, onRefreshed: (context) => _handleRefresh(context), onClearClientFilterPressed: () => - store.dispatch(FilterInvoicesByClient()), + store.dispatch(FilterQuotesByClient()), onViewClientFilterPressed: (BuildContext context) => store.dispatch( ViewClient( clientId: state.invoiceListState.filterClientId, context: context)), - onEntityAction: (context, invoice, action) { + onEntityAction: (context, quote, action) { final localization = AppLocalization.of(context); switch (action) { case EntityAction.pdf: Navigator.of(context).pop(); - viewPdf(invoice, context); + viewPdf(quote, context); break; case EntityAction.markSent: - store.dispatch(MarkSentInvoiceRequest( + store.dispatch(MarkSentQuoteRequest( popCompleter( - context, localization.markedInvoiceAsSent), - invoice.id)); + context, localization.markedQuoteAsSent), + quote.id)); break; - case EntityAction.emailInvoice: - store.dispatch(ShowEmailInvoice( + case EntityAction.email: + store.dispatch(ShowEmailQuote( completer: popCompleter( - context, localization.emailedInvoice), - invoice: invoice, + context, localization.emailedQuote), + quote: quote, context: context)); break; case EntityAction.clone: Navigator.of(context).pop(); store.dispatch( - EditInvoice(context: context, invoice: invoice.clone)); + EditQuote(context: context, quote: quote.clone)); break; case EntityAction.restore: - store.dispatch(RestoreInvoiceRequest( + store.dispatch(RestoreQuoteRequest( popCompleter( - context, localization.restoredInvoice), - invoice.id)); + context, localization.restoredQuote), + quote.id)); break; case EntityAction.archive: - store.dispatch(ArchiveInvoiceRequest( + store.dispatch(ArchiveQuoteRequest( popCompleter( - context, localization.archivedInvoice), - invoice.id)); + context, localization.archivedQuote), + quote.id)); break; case EntityAction.delete: - store.dispatch(DeleteInvoiceRequest( + store.dispatch(DeleteQuoteRequest( popCompleter( - context, localization.deletedInvoice), - invoice.id)); + context, localization.deletedQuote), + quote.id)); break; } }, @@ -154,26 +154,26 @@ class QuoteListVM { final localization = AppLocalization.of(context); if (direction == DismissDirection.endToStart) { if (invoice.isDeleted || invoice.isArchived) { - store.dispatch(RestoreInvoiceRequest( + store.dispatch(RestoreQuoteRequest( snackBarCompleter( - context, localization.restoredInvoice), + context, localization.restoredQuote), invoice.id)); } else { - store.dispatch(ArchiveInvoiceRequest( + store.dispatch(ArchiveQuoteRequest( snackBarCompleter( - context, localization.archivedInvoice), + context, localization.archivedQuote), invoice.id)); } } else if (direction == DismissDirection.startToEnd) { if (invoice.isDeleted) { - store.dispatch(RestoreInvoiceRequest( + store.dispatch(RestoreQuoteRequest( snackBarCompleter( - context, localization.restoredInvoice), + context, localization.restoredQuote), invoice.id)); } else { - store.dispatch(DeleteInvoiceRequest( + store.dispatch(DeleteQuoteRequest( snackBarCompleter( - context, localization.deletedInvoice), + context, localization.deletedQuote), invoice.id)); } } diff --git a/lib/ui/quote/view/quote_view.dart b/lib/ui/quote/view/quote_view.dart index 6f0bf471c..5fad5af4e 100644 --- a/lib/ui/quote/view/quote_view.dart +++ b/lib/ui/quote/view/quote_view.dart @@ -294,7 +294,7 @@ class _CustomAppBar extends StatelessWidget implements PreferredSizeWidget { : null, user.canEditEntity(quote) && client.hasEmailAddress ? ActionMenuChoice( - action: EntityAction.emailInvoice, + action: EntityAction.email, icon: Icons.send, label: AppLocalization.of(context).email, ) diff --git a/lib/ui/quote/view/quote_view_vm.dart b/lib/ui/quote/view/quote_view_vm.dart index ecdca4240..4fe69a5df 100644 --- a/lib/ui/quote/view/quote_view_vm.dart +++ b/lib/ui/quote/view/quote_view_vm.dart @@ -111,7 +111,7 @@ class QuoteViewVM { snackBarCompleter(context, localization.markedQuoteAsSent), quote.id)); break; - case EntityAction.emailInvoice: + case EntityAction.email: store.dispatch(ShowEmailQuote( completer: snackBarCompleter(context, localization.emailedQuote),