Settings
This commit is contained in:
parent
7f211d3919
commit
5be795e717
|
|
@ -8,8 +8,8 @@ import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||||
import 'package:invoiceninja_flutter/data/web_client.dart';
|
import 'package:invoiceninja_flutter/data/web_client.dart';
|
||||||
|
|
||||||
class ClientRepository {
|
class SettingsRepository {
|
||||||
const ClientRepository({
|
const SettingsRepository({
|
||||||
this.webClient = const WebClient(),
|
this.webClient = const WebClient(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import 'package:invoiceninja_flutter/data/repositories/settings_repository.dart';
|
||||||
import 'package:invoiceninja_flutter/redux/app/app_middleware.dart';
|
import 'package:invoiceninja_flutter/redux/app/app_middleware.dart';
|
||||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||||
import 'package:invoiceninja_flutter/redux/settings/settings_actions.dart';
|
import 'package:invoiceninja_flutter/redux/settings/settings_actions.dart';
|
||||||
|
|
@ -7,9 +8,11 @@ import 'package:invoiceninja_flutter/utils/platforms.dart';
|
||||||
import 'package:redux/redux.dart';
|
import 'package:redux/redux.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
List<Middleware<AppState>> createStoreSettingsMiddleware() {
|
List<Middleware<AppState>> createStoreSettingsMiddleware([
|
||||||
|
SettingsRepository repository = const SettingsRepository(),
|
||||||
|
]) {
|
||||||
final viewSettings = _viewSettings();
|
final viewSettings = _viewSettings();
|
||||||
final saveSettings = _saveSettings();
|
final saveSettings = _saveSettings(repository);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
TypedMiddleware<AppState, ViewSettings>(viewSettings),
|
TypedMiddleware<AppState, ViewSettings>(viewSettings),
|
||||||
|
|
@ -38,10 +41,20 @@ Middleware<AppState> _viewSettings() {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
Middleware<AppState> _saveSettings() {
|
Middleware<AppState> _saveSettings(SettingsRepository settingsRepository) {
|
||||||
return (Store<AppState> store, dynamic dynamicAction, NextDispatcher next) {
|
return (Store<AppState> store, dynamic dynamicAction, NextDispatcher next) {
|
||||||
final action = dynamicAction as SaveSettingsRequest;
|
final action = dynamicAction as SaveSettingsRequest;
|
||||||
|
|
||||||
|
settingsRepository
|
||||||
|
.saveData(store.state.credentials, action.settings)
|
||||||
|
.then((response) {
|
||||||
|
print('Done: $response');
|
||||||
|
}).catchError((Object error) {
|
||||||
|
print(error);
|
||||||
|
store.dispatch(SaveSettingsFailure(error));
|
||||||
|
action.completer.completeError(error);
|
||||||
|
});
|
||||||
|
|
||||||
next(action);
|
next(action);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue