Improve dates in the reports

This commit is contained in:
Hillel Coren 2022-04-26 19:11:08 +03:00
parent 8c6aab618a
commit 7448f6b87a
1 changed files with 22 additions and 7 deletions

View File

@ -15,6 +15,7 @@ import 'package:invoiceninja_flutter/redux/app/app_state.dart';
import 'package:invoiceninja_flutter/redux/dashboard/dashboard_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/ui/pref_reducer.dart';
import 'package:invoiceninja_flutter/redux/ui/pref_state.dart';
import 'package:invoiceninja_flutter/ui/app/actions_menu_button.dart';
import 'package:invoiceninja_flutter/ui/app/app_border.dart';
@ -201,16 +202,32 @@ class ReportsScreen extends StatelessWidget {
ReportColumnType.dateTime,
].contains(getReportColumnType(column, context)));
final dateField = filterColumns.isNotEmpty ? filterColumns.first : null;
print(
'## dateField: $dateField, filters: $filterColumns, dates: $dateColumns');
final dateRange = (reportState.filters[dateField] ?? '').isNotEmpty
? DateRange.valueOf(reportState.filters[dateField])
: null;
final dateChildren = [
AppDropdownButton<String>(
labelText: localization.date,
value: dateField,
showBlank: true,
onChanged: (dynamic value) {
//
viewModel.onReportFiltersChanged(
context,
reportState.filters.rebuild((b) => b
..addAll(
(value ?? '').isEmpty
? {filterColumns.first: ''}
: {
value: (reportState.filters[value] ?? '').isNotEmpty
? reportState.filters[value]
: DateRange.thisQuarter.toString(),
if (filterColumns.isNotEmpty &&
filterColumns.first != value)
filterColumns.first: ''
},
)),
);
},
items: dateColumns
.map((column) => DropdownMenuItem<String>(
@ -224,9 +241,7 @@ class ReportsScreen extends StatelessWidget {
labelText: localization.range,
showBlank: true,
blankValue: null,
value: (reportState.filters[dateField] ?? '').isNotEmpty
? DateRange.valueOf(reportState.filters[dateField])
: null,
value: dateRange,
onChanged: (dynamic value) {
viewModel.onReportFiltersChanged(
context,