Recurring
This commit is contained in:
parent
48fabb0256
commit
7fc352981e
|
|
@ -6,6 +6,7 @@ import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
|
|||
import 'package:invoiceninja_flutter/redux/ui/ui_actions.dart';
|
||||
import 'package:invoiceninja_flutter/ui/expense/edit/expense_edit.dart';
|
||||
import 'package:invoiceninja_flutter/ui/expense/edit/expense_edit_vm.dart';
|
||||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:redux/redux.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart';
|
||||
|
|
@ -82,33 +83,36 @@ class RecurringExpenseEditVM extends AbstractExpenseEditVM {
|
|||
}
|
||||
},
|
||||
onSavePressed: (BuildContext context) {
|
||||
final localization = AppLocalization.of(context);
|
||||
final Completer<ExpenseEntity> completer =
|
||||
new Completer<ExpenseEntity>();
|
||||
store.dispatch(SaveRecurringExpenseRequest(
|
||||
completer: completer, recurringExpense: recurringExpense));
|
||||
return completer.future.then((savedRecurringExpense) {
|
||||
showToast(recurringExpense.isNew
|
||||
? localization.createdRecurringExpense
|
||||
: localization.updatedRecurringExpense);
|
||||
if (state.prefState.isMobile) {
|
||||
store
|
||||
.dispatch(UpdateCurrentRoute(RecurringExpenseViewScreen.route));
|
||||
if (recurringExpense.isNew) {
|
||||
Navigator.of(context)
|
||||
.pushReplacementNamed(RecurringExpenseViewScreen.route);
|
||||
Debouncer.runOnComplete(() {
|
||||
final recurringExpense = store.state.recurringExpenseUIState.editing;
|
||||
final localization = AppLocalization.of(context);
|
||||
final Completer<ExpenseEntity> completer =
|
||||
new Completer<ExpenseEntity>();
|
||||
store.dispatch(SaveRecurringExpenseRequest(
|
||||
completer: completer, recurringExpense: recurringExpense));
|
||||
return completer.future.then((savedRecurringExpense) {
|
||||
showToast(recurringExpense.isNew
|
||||
? localization.createdRecurringExpense
|
||||
: localization.updatedRecurringExpense);
|
||||
if (state.prefState.isMobile) {
|
||||
store.dispatch(
|
||||
UpdateCurrentRoute(RecurringExpenseViewScreen.route));
|
||||
if (recurringExpense.isNew) {
|
||||
Navigator.of(context)
|
||||
.pushReplacementNamed(RecurringExpenseViewScreen.route);
|
||||
} else {
|
||||
Navigator.of(context).pop(savedRecurringExpense);
|
||||
}
|
||||
} else {
|
||||
Navigator.of(context).pop(savedRecurringExpense);
|
||||
viewEntity(entity: savedRecurringExpense, force: true);
|
||||
}
|
||||
} else {
|
||||
viewEntity(entity: savedRecurringExpense, force: true);
|
||||
}
|
||||
}).catchError((Object error) {
|
||||
showDialog<ErrorDialog>(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return ErrorDialog(error);
|
||||
});
|
||||
}).catchError((Object error) {
|
||||
showDialog<ErrorDialog>(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return ErrorDialog(error);
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
);
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
|
|||
import 'package:invoiceninja_flutter/redux/ui/ui_actions.dart';
|
||||
import 'package:invoiceninja_flutter/utils/platforms.dart';
|
||||
import 'package:redux/redux.dart';
|
||||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/dialogs/error_dialog.dart';
|
||||
import 'package:invoiceninja_flutter/ui/stub/view/stub_view_vm.dart';
|
||||
|
|
@ -72,29 +73,32 @@ class StubEditVM {
|
|||
}
|
||||
},
|
||||
onSavePressed: (BuildContext context) {
|
||||
final localization = AppLocalization.of(context);
|
||||
final Completer<StubEntity> completer = new Completer<StubEntity>();
|
||||
store.dispatch(SaveStubRequest(completer: completer, stub: stub));
|
||||
return completer.future.then((savedStub) {
|
||||
showToast(stub.isNew
|
||||
? localization.createdStub
|
||||
: localization.updatedStub);
|
||||
if (state.prefState.isMobile) {
|
||||
store.dispatch(UpdateCurrentRoute(StubViewScreen.route));
|
||||
if (stub.isNew) {
|
||||
Navigator.of(context).pushReplacementNamed(StubViewScreen.route);
|
||||
} else {
|
||||
Navigator.of(context).pop(savedStub);
|
||||
}
|
||||
} else {
|
||||
viewEntity( entity: savedStub, force: true);
|
||||
}
|
||||
}).catchError((Object error) {
|
||||
showDialog<ErrorDialog>(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return ErrorDialog(error);
|
||||
});
|
||||
Debouncer.runOnComplete(() {
|
||||
final stub = store.state.stubUIState.editing;
|
||||
final localization = AppLocalization.of(context);
|
||||
final Completer<StubEntity> completer = new Completer<StubEntity>();
|
||||
store.dispatch(SaveStubRequest(completer: completer, stub: stub));
|
||||
return completer.future.then((savedStub) {
|
||||
showToast(stub.isNew
|
||||
? localization.createdStub
|
||||
: localization.updatedStub);
|
||||
if (state.prefState.isMobile) {
|
||||
store.dispatch(UpdateCurrentRoute(StubViewScreen.route));
|
||||
if (stub.isNew) {
|
||||
Navigator.of(context).pushReplacementNamed(StubViewScreen.route);
|
||||
} else {
|
||||
Navigator.of(context).pop(savedStub);
|
||||
}
|
||||
} else {
|
||||
viewEntity( entity: savedStub, force: true);
|
||||
}
|
||||
}).catchError((Object error) {
|
||||
showDialog<ErrorDialog>(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return ErrorDialog(error);
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
);
|
||||
|
|
|
|||
Loading…
Reference in New Issue