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