This commit is contained in:
Hillel Coren 2020-02-13 10:42:20 +02:00
parent f83f62bf41
commit b634e270eb
3 changed files with 28 additions and 16 deletions

View File

@ -9,7 +9,7 @@ abstract class ReportsUIState
implements Built<ReportsUIState, ReportsUIStateBuilder> { implements Built<ReportsUIState, ReportsUIStateBuilder> {
factory ReportsUIState() { factory ReportsUIState() {
return _$ReportsUIState._( return _$ReportsUIState._(
report: kReportActivity, report: kReportClient,
filters: BuiltMap<String, String>(), filters: BuiltMap<String, String>(),
); );
} }

View File

@ -23,7 +23,7 @@ ReportResult clientReport(UserCompanyEntity userCompany,
final clientReportSettings = final clientReportSettings =
reportSettings != null && reportSettings.containsKey(kReportClient) reportSettings != null && reportSettings.containsKey(kReportClient)
? reportSettings[kReportClient] ? reportSettings[kReportClient]
: null; : ReportSettingsEntity();
if (clientReportSettings != null) { if (clientReportSettings != null) {
columns = clientReportSettings.columns; columns = clientReportSettings.columns;

View File

@ -11,6 +11,7 @@ import 'package:invoiceninja_flutter/redux/ui/pref_state.dart';
import 'package:invoiceninja_flutter/ui/app/dialogs/multiselect_dialog.dart'; import 'package:invoiceninja_flutter/ui/app/dialogs/multiselect_dialog.dart';
import 'package:invoiceninja_flutter/ui/app/form_card.dart'; import 'package:invoiceninja_flutter/ui/app/form_card.dart';
import 'package:invoiceninja_flutter/ui/app/forms/app_dropdown_button.dart'; import 'package:invoiceninja_flutter/ui/app/forms/app_dropdown_button.dart';
import 'package:invoiceninja_flutter/ui/app/forms/date_picker.dart';
import 'package:invoiceninja_flutter/ui/app/history_drawer_vm.dart'; import 'package:invoiceninja_flutter/ui/app/history_drawer_vm.dart';
import 'package:invoiceninja_flutter/ui/app/menu_drawer_vm.dart'; import 'package:invoiceninja_flutter/ui/app/menu_drawer_vm.dart';
import 'package:invoiceninja_flutter/ui/reports/reports_screen_vm.dart'; import 'package:invoiceninja_flutter/ui/reports/reports_screen_vm.dart';
@ -36,6 +37,12 @@ class ReportsScreen extends StatelessWidget {
final reportsUIState = state.uiState.reportsUIState; final reportsUIState = state.uiState.reportsUIState;
final reportResult = viewModel.reportResult; final reportResult = viewModel.reportResult;
final hasCustomDate = reportsUIState.filters.keys.where((column) {
final filter = reportsUIState.filters[column];
return getReportColumnType(column) == ReportColumnType.dateTime &&
filter == DateRange.custom.toString();
}).isNotEmpty;
return WillPopScope( return WillPopScope(
onWillPop: () async { onWillPop: () async {
store.dispatch(ViewDashboard(navigator: Navigator.of(context))); store.dispatch(ViewDashboard(navigator: Navigator.of(context)));
@ -79,19 +86,19 @@ class ReportsScreen extends StatelessWidget {
onChanged: (dynamic value) => onChanged: (dynamic value) =>
viewModel.onSettingsChanged(report: value), viewModel.onSettingsChanged(report: value),
items: [ items: [
kReportActivity, //kReportActivity,
kReportAging, //kReportAging,
kReportClient, kReportClient,
kReportCredit, //kReportCredit,
kReportDocument, //kReportDocument,
kReportExpense, //kReportExpense,
kReportInvoice, //kReportInvoice,
kReportPayment, //kReportPayment,
kReportProduct, //kReportProduct,
kReportProfitAndLoss, //kReportProfitAndLoss,
kReportTask, //kReportTask,
kReportTaxRate, //kReportTaxRate,
kReportQuote, //kReportQuote,
] ]
.map((report) => DropdownMenuItem( .map((report) => DropdownMenuItem(
value: report, value: report,
@ -99,6 +106,13 @@ class ReportsScreen extends StatelessWidget {
)) ))
.toList(), .toList(),
), ),
if (hasCustomDate) ...[
DatePicker(
labelText: localization.startDate,
//selectedDate: _settings.compareStartDate,
//onSelected: (date) => _settings.compareStartDate = date,
),
]
], ],
), ),
Row( Row(
@ -423,8 +437,6 @@ class ReportAmount extends ReportElement {
@override @override
Widget renderWidget(BuildContext context, String column) { Widget renderWidget(BuildContext context, String column) {
print(
'## renderAmount: $column - COLUMN TYPE ${getReportColumnType(column)}');
return Text(formatNumber(value, context, return Text(formatNumber(value, context,
currencyId: currencyId, formatNumberType: formatNumberType)); currencyId: currencyId, formatNumberType: formatNumberType));
} }