Improve dates in the reports
This commit is contained in:
parent
8c6aab618a
commit
7448f6b87a
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue