Reports
This commit is contained in:
parent
f83f62bf41
commit
b634e270eb
|
|
@ -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>(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue