diff --git a/lib/ui/reports/reports_screen.dart b/lib/ui/reports/reports_screen.dart index 76807d76e..f75be6aeb 100644 --- a/lib/ui/reports/reports_screen.dart +++ b/lib/ui/reports/reports_screen.dart @@ -28,6 +28,7 @@ class ReportsScreen extends StatelessWidget { final localization = AppLocalization.of(context); final store = StoreProvider.of(context); final state = viewModel.state; + final reportsUIState = state.uiState.reportsUIState; return WillPopScope( onWillPop: () async => true, @@ -54,9 +55,9 @@ class ReportsScreen extends StatelessWidget { children: [ AppDropdownButton( 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( 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( child: diff --git a/lib/ui/reports/reports_screen_vm.dart b/lib/ui/reports/reports_screen_vm.dart index 564e447e4..fff028cf9 100644 --- a/lib/ui/reports/reports_screen_vm.dart +++ b/lib/ui/reports/reports_screen_vm.dart @@ -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 store) { final state = store.state; return ReportsScreenVM( state: state, - onSettingsChanged: (String report) { + onSettingsChanged: ({ + String report, + DateRange dateRange, + }) { store.dispatch(UpdateReportSettings( report: report, + dateRange: dateRange, )); }, );