This commit is contained in:
Hillel Coren 2019-10-03 08:00:02 +03:00
parent db98ab217f
commit 105d03dbe8
5 changed files with 40 additions and 17 deletions

View File

@ -117,8 +117,8 @@ const List<String> kSettingsSections = [
kSettingsBuyNowButtons,
kSettingsEmailSettings,
kSettingsTemplatesAndReminders,
kSettingsCreditCardsAndBanks,
kSettingsDataVisualizations,
//kSettingsCreditCardsAndBanks,
//kSettingsDataVisualizations,
];
const int kPaymentStatusPending = 1;

View File

@ -1,7 +1,11 @@
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_redux/flutter_redux.dart';
import 'package:invoiceninja_flutter/data/models/company_model.dart';
import 'package:invoiceninja_flutter/redux/settings/settings_actions.dart';
import 'package:invoiceninja_flutter/ui/settings/localization.dart';
import 'package:invoiceninja_flutter/utils/completers.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:redux/redux.dart';
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
@ -22,6 +26,7 @@ class LocalizationBuilder extends StatelessWidget {
class LocalizationVM {
LocalizationVM({
@required this.state,
@required this.onChanged,
@required this.onSavePressed,
@required this.onCancelPressed,
});
@ -30,11 +35,21 @@ class LocalizationVM {
final state = store.state;
return LocalizationVM(
state: state,
);
state: state,
onChanged: (company) {
store.dispatch(UpdateSettings(company: company));
},
onSavePressed: (context) {
final completer = snackBarCompleter(
context, AppLocalization.of(context).refreshData);
store.dispatch(SaveSettingsRequest(
completer: completer,
settings: state.uiState.settingsUIState.editing));
});
}
final AppState state;
final Function(CompanyEntity) onChanged;
final Function(BuildContext) onSavePressed;
final Function(BuildContext) onCancelPressed;
}

View File

@ -95,6 +95,7 @@ class SettingsList extends StatelessWidget {
section: kSettingsTemplatesAndReminders,
viewModel: viewModel,
),
/*
SettingsListTile(
section: kSettingsCreditCardsAndBanks,
viewModel: viewModel,
@ -103,6 +104,7 @@ class SettingsList extends StatelessWidget {
section: kSettingsDataVisualizations,
viewModel: viewModel,
),
*/
],
);
}

View File

@ -80,7 +80,7 @@ class _UserDetailsState extends State<UserDetails> {
return WillPopScope(
onWillPop: () async {
viewModel.onBackPressed();
//viewModel.onBackPressed();
return true;
},
child: Scaffold(

View File

@ -1,7 +1,11 @@
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_redux/flutter_redux.dart';
import 'package:invoiceninja_flutter/data/models/company_model.dart';
import 'package:invoiceninja_flutter/redux/settings/settings_actions.dart';
import 'package:invoiceninja_flutter/ui/settings/user_details.dart';
import 'package:invoiceninja_flutter/utils/completers.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:redux/redux.dart';
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
@ -22,28 +26,30 @@ class UserDetailsBuilder extends StatelessWidget {
class UserDetailsVM {
UserDetailsVM({
@required this.state,
@required this.onChanged,
@required this.onSavePressed,
@required this.onCancelPressed,
@required this.onBackPressed,
});
static UserDetailsVM fromStore(Store<AppState> store) {
//final state = store.state;
final state = store.state;
return UserDetailsVM(
state: store.state,
onBackPressed: () {
/*
if (state.uiState.currentRoute.contains(ProductScreen.route)) {
store.dispatch(UpdateCurrentRoute(ProductScreen.route));
}
*/
},
);
state: state,
onChanged: (company) {
store.dispatch(UpdateSettings(company: company));
},
onSavePressed: (context) {
final completer = snackBarCompleter(
context, AppLocalization.of(context).refreshData);
store.dispatch(SaveSettingsRequest(
completer: completer,
settings: state.uiState.settingsUIState.editing));
});
}
final AppState state;
final Function(CompanyEntity) onChanged;
final Function(BuildContext) onSavePressed;
final Function(BuildContext) onCancelPressed;
final Function onBackPressed;
}