Skip to content

Commit 4829014

Browse files
committed
Show toast messages
1 parent 7bb66c7 commit 4829014

File tree

24 files changed

+170
-152
lines changed

24 files changed

+170
-152
lines changed

lib/redux/app/app_actions.dart

+32-152
Original file line numberDiff line numberDiff line change
@@ -1026,63 +1026,32 @@ void editEntity(
10261026
callback: () {
10271027
switch (entityType) {
10281028
case EntityType.client:
1029-
store.dispatch(
1030-
EditClient(
1031-
client: entity,
1032-
navigator: navigator,
1033-
completer: completer ??
1034-
snackBarCompleter<ClientEntity>(
1035-
context,
1036-
entity.isNew
1037-
? localization.createdClient
1038-
: localization.updatedClient)),
1039-
);
1029+
store.dispatch(EditClient(
1030+
client: entity,
1031+
navigator: navigator,
1032+
completer: completer,
1033+
));
10401034
break;
10411035
case EntityType.user:
1042-
store.dispatch(
1043-
EditUser(
1044-
user: entity,
1045-
navigator: navigator,
1046-
completer: completer ??
1047-
snackBarCompleter<UserEntity>(
1048-
context,
1049-
entity.isNew
1050-
? localization.createdUser
1051-
: localization.updatedUser)),
1052-
);
1036+
store.dispatch(EditUser(
1037+
user: entity,
1038+
navigator: navigator,
1039+
completer: completer,
1040+
));
10531041
break;
10541042
case EntityType.project:
10551043
store.dispatch(EditProject(
1056-
project: entity,
1057-
navigator: navigator,
1058-
completer: completer ??
1059-
snackBarCompleter<ProjectEntity>(
1060-
context,
1061-
entity.isNew
1062-
? localization.createdProject
1063-
: localization.updatedProject)));
1044+
project: entity, navigator: navigator, completer: completer));
10641045
break;
10651046
case EntityType.taxRate:
10661047
store.dispatch(EditTaxRate(
1067-
taxRate: entity,
1068-
navigator: navigator,
1069-
completer: completer ??
1070-
snackBarCompleter<TaxRateEntity>(
1071-
context,
1072-
entity.isNew
1073-
? localization.createdTaxRate
1074-
: localization.updatedTaxRate)));
1048+
taxRate: entity, navigator: navigator, completer: completer));
10751049
break;
10761050
case EntityType.companyGateway:
10771051
store.dispatch(EditCompanyGateway(
10781052
companyGateway: entity,
10791053
navigator: navigator,
1080-
completer: completer ??
1081-
snackBarCompleter<CompanyGatewayEntity>(
1082-
context,
1083-
entity.isNew
1084-
? localization.createdCompanyGateway
1085-
: localization.updatedCompanyGateway)));
1054+
completer: completer));
10861055
break;
10871056
case EntityType.invoice:
10881057
final invoice = entity as InvoiceEntity;
@@ -1108,12 +1077,7 @@ void editEntity(
11081077
store.dispatch(EditInvoice(
11091078
invoice: entity,
11101079
navigator: navigator,
1111-
completer: completer ??
1112-
snackBarCompleter<InvoiceEntity>(
1113-
context,
1114-
entity.isNew
1115-
? localization.createdInvoice
1116-
: localization.updatedInvoice),
1080+
completer: completer,
11171081
invoiceItemIndex: subIndex,
11181082
));
11191083
}
@@ -1122,196 +1086,112 @@ void editEntity(
11221086
store.dispatch(EditQuote(
11231087
quote: entity,
11241088
navigator: navigator,
1125-
completer: completer ??
1126-
snackBarCompleter<InvoiceEntity>(
1127-
context,
1128-
entity.isNew
1129-
? localization.createdQuote
1130-
: localization.updatedQuote),
1089+
completer: completer,
11311090
quoteItemIndex: subIndex,
11321091
));
11331092
break;
11341093
case EntityType.vendor:
11351094
store.dispatch(EditVendor(
11361095
vendor: entity,
11371096
navigator: navigator,
1138-
completer: completer ??
1139-
snackBarCompleter<VendorEntity>(
1140-
context,
1141-
entity.isNew
1142-
? localization.createdVendor
1143-
: localization.updatedVendor),
1097+
completer: completer,
11441098
));
11451099
break;
11461100
case EntityType.product:
11471101
store.dispatch(EditProduct(
1148-
product: entity,
1149-
navigator: navigator,
1150-
completer: completer ??
1151-
snackBarCompleter<ProductEntity>(
1152-
context,
1153-
entity.isNew
1154-
? localization.createdProduct
1155-
: localization.updatedProduct)));
1102+
product: entity, navigator: navigator, completer: completer));
11561103
break;
11571104
case EntityType.task:
11581105
store.dispatch(EditTask(
11591106
task: (entity as TaskEntity).rebuild(
11601107
(b) => b..showAsRunning = (entity as TaskEntity).isRunning),
11611108
navigator: navigator,
11621109
taskTimeIndex: subIndex,
1163-
completer: completer ??
1164-
snackBarCompleter<TaskEntity>(
1165-
context,
1166-
entity.isNew
1167-
? localization.createdTask
1168-
: localization.updatedTask),
1110+
completer: completer,
11691111
));
11701112
break;
11711113
case EntityType.expense:
1172-
store.dispatch(EditExpense(
1173-
expense: entity,
1174-
navigator: navigator,
1175-
completer: completer ??
1176-
snackBarCompleter<ExpenseEntity>(
1177-
context,
1178-
entity.isNew
1179-
? localization.createdExpense
1180-
: localization.updatedExpense),
1181-
));
1114+
store.dispatch(
1115+
EditExpense(
1116+
expense: entity, navigator: navigator, completer: completer),
1117+
);
11821118
break;
1183-
//case EntityType.expenseCategory:
1184-
//store.dispatch(EditExpenseCategory(taxRate: entity, navigator: navigator));
1185-
//break;
1186-
//case EntityType.credit:
1187-
//store.dispatch(EditCredit(credit: entity, navigator: navigator));
1188-
//break;
11891119
case EntityType.payment:
11901120
store.dispatch(EditPayment(
11911121
payment: entity,
11921122
navigator: navigator,
1193-
completer: completer ??
1194-
snackBarCompleter<PaymentEntity>(
1195-
context,
1196-
entity.isNew
1197-
? localization.createdPayment
1198-
: localization.updatedPayment),
1123+
completer: completer,
11991124
));
12001125
break;
12011126
case EntityType.group:
12021127
store.dispatch(EditGroup(
12031128
group: entity,
12041129
navigator: navigator,
1205-
completer: completer ??
1206-
snackBarCompleter<GroupEntity>(
1207-
context,
1208-
entity.isNew
1209-
? localization.createdGroup
1210-
: localization.updatedGroup),
1130+
completer: completer,
12111131
));
12121132
break;
12131133
// STARTER: edit - do not remove comment
12141134
case EntityType.taskStatus:
12151135
store.dispatch(EditTaskStatus(
12161136
taskStatus: entity,
12171137
navigator: navigator,
1218-
completer: completer ??
1219-
snackBarCompleter<TaskStatusEntity>(
1220-
context,
1221-
entity.isNew
1222-
? localization.createdTaskStatus
1223-
: localization.updatedTaskStatus),
1138+
completer: completer,
12241139
));
12251140
break;
12261141

12271142
case EntityType.expenseCategory:
12281143
store.dispatch(EditExpenseCategory(
12291144
expenseCategory: entity,
12301145
navigator: navigator,
1231-
completer: completer ??
1232-
snackBarCompleter<ExpenseCategoryEntity>(
1233-
context,
1234-
entity.isNew
1235-
? localization.createdExpenseCategory
1236-
: localization.updatedExpenseCategory),
1146+
completer: completer,
12371147
));
12381148
break;
12391149

12401150
case EntityType.recurringInvoice:
12411151
store.dispatch(EditRecurringInvoice(
12421152
recurringInvoice: entity,
12431153
navigator: navigator,
1244-
completer: completer ??
1245-
snackBarCompleter<InvoiceEntity>(
1246-
context,
1247-
entity.isNew
1248-
? localization.createdRecurringInvoice
1249-
: localization.updatedRecurringInvoice),
1154+
completer: completer,
12501155
));
12511156
break;
12521157

12531158
case EntityType.webhook:
12541159
store.dispatch(EditWebhook(
12551160
webhook: entity,
12561161
navigator: navigator,
1257-
completer: completer ??
1258-
snackBarCompleter<WebhookEntity>(
1259-
context,
1260-
entity.isNew
1261-
? localization.createdWebhook
1262-
: localization.updatedWebhook),
1162+
completer: completer,
12631163
));
12641164
break;
12651165

12661166
case EntityType.token:
12671167
store.dispatch(EditToken(
12681168
token: entity,
12691169
navigator: navigator,
1270-
completer: completer ??
1271-
snackBarCompleter<TokenEntity>(
1272-
context,
1273-
entity.isNew
1274-
? localization.createdToken
1275-
: localization.updatedToken),
1170+
completer: completer,
12761171
));
12771172
break;
12781173

12791174
case EntityType.paymentTerm:
12801175
store.dispatch(EditPaymentTerm(
12811176
paymentTerm: entity,
12821177
navigator: navigator,
1283-
completer: completer ??
1284-
snackBarCompleter<PaymentTermEntity>(
1285-
context,
1286-
entity.isNew
1287-
? localization.createdPaymentTerm
1288-
: localization.updatedPaymentTerm),
1178+
completer: completer,
12891179
));
12901180
break;
12911181

12921182
case EntityType.design:
12931183
store.dispatch(EditDesign(
12941184
design: entity,
12951185
navigator: navigator,
1296-
completer: completer ??
1297-
snackBarCompleter<DesignEntity>(
1298-
context,
1299-
entity.isNew
1300-
? localization.createdDesign
1301-
: localization.updatedDesign),
1186+
completer: completer,
13021187
));
13031188
break;
13041189

13051190
case EntityType.credit:
13061191
store.dispatch(EditCredit(
13071192
credit: entity,
13081193
navigator: navigator,
1309-
completer: completer ??
1310-
snackBarCompleter<InvoiceEntity>(
1311-
context,
1312-
entity.isNew
1313-
? localization.createdCredit
1314-
: localization.updatedCredit),
1194+
completer: completer,
13151195
));
13161196
break;
13171197
}

lib/ui/client/edit/client_edit_vm.dart

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'dart:async';
22

33
import 'package:flutter/material.dart';
44
import 'package:flutter_redux/flutter_redux.dart';
5+
import 'package:flutter_styled_toast/flutter_styled_toast.dart';
56
import 'package:invoiceninja_flutter/data/models/models.dart';
67
import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
78
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
@@ -11,6 +12,7 @@ import 'package:invoiceninja_flutter/redux/ui/ui_actions.dart';
1112
import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart';
1213
import 'package:invoiceninja_flutter/ui/client/edit/client_edit.dart';
1314
import 'package:invoiceninja_flutter/ui/client/view/client_view_vm.dart';
15+
import 'package:invoiceninja_flutter/ui/settings/localization_vm.dart';
1416
import 'package:invoiceninja_flutter/utils/localization.dart';
1517
import 'package:invoiceninja_flutter/utils/platforms.dart';
1618
import 'package:redux/redux.dart';
@@ -98,9 +100,11 @@ class ClientEditVM {
98100
return null;
99101
}
100102
final Completer<ClientEntity> completer = Completer<ClientEntity>();
103+
final localization = AppLocalization.of(context);
101104
store.dispatch(
102105
SaveClientRequest(completer: completer, client: client));
103106
return completer.future.then((savedClient) {
107+
showToast(client.isNew ? localization.createdClient : localization.updatedClient);
104108
if (isMobile(context)) {
105109
store.dispatch(UpdateCurrentRoute(ClientViewScreen.route));
106110
if (client.isNew && state.clientUIState.saveCompleter == null) {

lib/ui/company_gateway/edit/company_gateway_edit_vm.dart

+7
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ import 'dart:async';
22
import 'package:flutter/foundation.dart';
33
import 'package:flutter/material.dart';
44
import 'package:flutter_redux/flutter_redux.dart';
5+
import 'package:flutter_styled_toast/flutter_styled_toast.dart';
56
import 'package:invoiceninja_flutter/constants.dart';
67
import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
78
import 'package:invoiceninja_flutter/redux/ui/ui_actions.dart';
9+
import 'package:invoiceninja_flutter/utils/localization.dart';
810
import 'package:invoiceninja_flutter/utils/platforms.dart';
911
import 'package:redux/redux.dart';
1012
import 'package:invoiceninja_flutter/data/models/models.dart';
@@ -68,11 +70,16 @@ class CompanyGatewayEditVM {
6870
store.dispatch(UpdateCurrentRoute(state.uiState.previousRoute));
6971
},
7072
onSavePressed: (BuildContext context) {
73+
final localization = AppLocalization.of(context);
7174
final Completer<CompanyGatewayEntity> completer =
7275
new Completer<CompanyGatewayEntity>();
7376
store.dispatch(SaveCompanyGatewayRequest(
7477
completer: completer, companyGateway: companyGateway));
7578
return completer.future.then((savedCompanyGateway) {
79+
showToast(companyGateway.isNew
80+
? localization.createdCompanyGateway
81+
: localization.updatedCompanyGateway);
82+
7683
if (isMobile(context)) {
7784
store.dispatch(UpdateCurrentRoute(CompanyGatewayViewScreen.route));
7885
if (companyGateway.isNew) {

lib/ui/credit/edit/credit_edit_vm.dart

+6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'dart:async';
22
import 'package:flutter/foundation.dart';
33
import 'package:flutter/material.dart';
44
import 'package:flutter_redux/flutter_redux.dart';
5+
import 'package:flutter_styled_toast/flutter_styled_toast.dart';
56
import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
67
import 'package:invoiceninja_flutter/redux/credit/credit_actions.dart';
78
import 'package:invoiceninja_flutter/redux/ui/ui_actions.dart';
@@ -79,9 +80,14 @@ class CreditEditVM extends EntityEditVM {
7980
});
8081
return null;
8182
}
83+
final localization = AppLocalization.of(context);
8284
final Completer<InvoiceEntity> completer = Completer<InvoiceEntity>();
8385
store.dispatch(SaveCreditRequest(completer: completer, credit: credit));
8486
return completer.future.then((savedCredit) {
87+
showToast(credit.isNew
88+
? localization.createdCredit
89+
: localization.updatedCredit);
90+
8591
if (isMobile(context)) {
8692
store.dispatch(UpdateCurrentRoute(CreditViewScreen.route));
8793
if (credit.isNew) {

0 commit comments

Comments
 (0)