Reports
This commit is contained in:
parent
83098c1ac8
commit
e4bcc6df37
|
|
@ -28,6 +28,7 @@ class ReportsScreen extends StatelessWidget {
|
||||||
final localization = AppLocalization.of(context);
|
final localization = AppLocalization.of(context);
|
||||||
final store = StoreProvider.of<AppState>(context);
|
final store = StoreProvider.of<AppState>(context);
|
||||||
final state = viewModel.state;
|
final state = viewModel.state;
|
||||||
|
final reportsUIState = state.uiState.reportsUIState;
|
||||||
|
|
||||||
return WillPopScope(
|
return WillPopScope(
|
||||||
onWillPop: () async => true,
|
onWillPop: () async => true,
|
||||||
|
|
@ -54,9 +55,9 @@ class ReportsScreen extends StatelessWidget {
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
AppDropdownButton<String>(
|
AppDropdownButton<String>(
|
||||||
labelText: localization.report,
|
labelText: localization.report,
|
||||||
value: state.uiState.reportsUIState.report,
|
value: reportsUIState.report,
|
||||||
onChanged: (dynamic value) =>
|
onChanged: (dynamic value) =>
|
||||||
viewModel.onSettingsChanged(value),
|
viewModel.onSettingsChanged(report: value),
|
||||||
items: [
|
items: [
|
||||||
kReportActivity,
|
kReportActivity,
|
||||||
kReportAging,
|
kReportAging,
|
||||||
|
|
@ -80,8 +81,9 @@ class ReportsScreen extends StatelessWidget {
|
||||||
),
|
),
|
||||||
AppDropdownButton<DateRange>(
|
AppDropdownButton<DateRange>(
|
||||||
labelText: localization.dateRange,
|
labelText: localization.dateRange,
|
||||||
value: state.uiState.reportsUIState.dateRange,
|
value: reportsUIState.dateRange,
|
||||||
onChanged: (dynamic value) => null,
|
onChanged: (dynamic value) =>
|
||||||
|
viewModel.onSettingsChanged(dateRange: value),
|
||||||
items: DateRange.values
|
items: DateRange.values
|
||||||
.map((dateRange) => DropdownMenuItem<DateRange>(
|
.map((dateRange) => DropdownMenuItem<DateRange>(
|
||||||
child:
|
child:
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_redux/flutter_redux.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/app/app_state.dart';
|
||||||
import 'package:invoiceninja_flutter/redux/reports/reports_actions.dart';
|
import 'package:invoiceninja_flutter/redux/reports/reports_actions.dart';
|
||||||
import 'package:invoiceninja_flutter/redux/reports/reports_state.dart';
|
import 'package:invoiceninja_flutter/redux/reports/reports_state.dart';
|
||||||
|
|
@ -33,16 +34,23 @@ class ReportsScreenVM {
|
||||||
});
|
});
|
||||||
|
|
||||||
final AppState state;
|
final AppState state;
|
||||||
final Function(String report) onSettingsChanged;
|
final Function({
|
||||||
|
String report,
|
||||||
|
DateRange dateRange,
|
||||||
|
}) onSettingsChanged;
|
||||||
|
|
||||||
static ReportsScreenVM fromStore(Store<AppState> store) {
|
static ReportsScreenVM fromStore(Store<AppState> store) {
|
||||||
final state = store.state;
|
final state = store.state;
|
||||||
|
|
||||||
return ReportsScreenVM(
|
return ReportsScreenVM(
|
||||||
state: state,
|
state: state,
|
||||||
onSettingsChanged: (String report) {
|
onSettingsChanged: ({
|
||||||
|
String report,
|
||||||
|
DateRange dateRange,
|
||||||
|
}) {
|
||||||
store.dispatch(UpdateReportSettings(
|
store.dispatch(UpdateReportSettings(
|
||||||
report: report,
|
report: report,
|
||||||
|
dateRange: dateRange,
|
||||||
));
|
));
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue