This commit is contained in:
Hillel Coren 2020-02-10 16:29:28 +02:00
parent 83098c1ac8
commit e4bcc6df37
2 changed files with 16 additions and 6 deletions

View File

@ -28,6 +28,7 @@ class ReportsScreen extends StatelessWidget {
final localization = AppLocalization.of(context);
final store = StoreProvider.of<AppState>(context);
final state = viewModel.state;
final reportsUIState = state.uiState.reportsUIState;
return WillPopScope(
onWillPop: () async => true,
@ -54,9 +55,9 @@ class ReportsScreen extends StatelessWidget {
children: <Widget>[
AppDropdownButton<String>(
labelText: localization.report,
value: state.uiState.reportsUIState.report,
value: reportsUIState.report,
onChanged: (dynamic value) =>
viewModel.onSettingsChanged(value),
viewModel.onSettingsChanged(report: value),
items: [
kReportActivity,
kReportAging,
@ -80,8 +81,9 @@ class ReportsScreen extends StatelessWidget {
),
AppDropdownButton<DateRange>(
labelText: localization.dateRange,
value: state.uiState.reportsUIState.dateRange,
onChanged: (dynamic value) => null,
value: reportsUIState.dateRange,
onChanged: (dynamic value) =>
viewModel.onSettingsChanged(dateRange: value),
items: DateRange.values
.map((dateRange) => DropdownMenuItem<DateRange>(
child:

View File

@ -2,6 +2,7 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_redux/flutter_redux.dart';
import 'package:invoiceninja_flutter/data/models/dashboard_model.dart';
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
import 'package:invoiceninja_flutter/redux/reports/reports_actions.dart';
import 'package:invoiceninja_flutter/redux/reports/reports_state.dart';
@ -33,16 +34,23 @@ class ReportsScreenVM {
});
final AppState state;
final Function(String report) onSettingsChanged;
final Function({
String report,
DateRange dateRange,
}) onSettingsChanged;
static ReportsScreenVM fromStore(Store<AppState> store) {
final state = store.state;
return ReportsScreenVM(
state: state,
onSettingsChanged: (String report) {
onSettingsChanged: ({
String report,
DateRange dateRange,
}) {
store.dispatch(UpdateReportSettings(
report: report,
dateRange: dateRange,
));
},
);