From 805fe56df057b229ea9c6afe4be97b0c9a526304 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Fri, 15 May 2020 13:07:55 +0300 Subject: [PATCH] Client data table --- lib/data/models/client_model.dart | 6 ++++++ lib/ui/app/tables/app_data_table.dart | 4 ++-- lib/ui/app/tables/entity_list.dart | 5 +++-- lib/ui/client/client_presenter.dart | 8 ++++++-- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/lib/data/models/client_model.dart b/lib/data/models/client_model.dart index c13e24f0e..8f24fa42e 100644 --- a/lib/data/models/client_model.dart +++ b/lib/data/models/client_model.dart @@ -323,6 +323,9 @@ abstract class ClientEntity extends Object case ClientFields.balance: response = clientA.balance.compareTo(clientB.balance); break; + case ClientFields.paidToDate: + response = clientA.paidToDate.compareTo(clientB.paidToDate); + break; case ClientFields.updatedAt: response = clientA.updatedAt.compareTo(clientB.updatedAt); break; @@ -352,6 +355,9 @@ abstract class ClientEntity extends Object .toLowerCase() .compareTo(clientB.customValue4.toLowerCase()); break; + default: + print('## ERROR: sort by $sortField not implemented'); + break; } if (response == 0) { diff --git a/lib/ui/app/tables/app_data_table.dart b/lib/ui/app/tables/app_data_table.dart index 8ef90a6e3..d0a127b5e 100644 --- a/lib/ui/app/tables/app_data_table.dart +++ b/lib/ui/app/tables/app_data_table.dart @@ -749,8 +749,8 @@ class AppDataTable extends StatelessWidget { : null, // IGNORE SORTING ON FIRST COLUMN sorted: displayCheckboxColumn - ? dataColumnIndex == sortColumnIndex - : (dataColumnIndex - 1) == sortColumnIndex, + ? (dataColumnIndex + 1) == sortColumnIndex + : dataColumnIndex == sortColumnIndex, ascending: sortAscending, ); rowIndex = 1; diff --git a/lib/ui/app/tables/entity_list.dart b/lib/ui/app/tables/entity_list.dart index 2147c6f51..78e027fbb 100644 --- a/lib/ui/app/tables/entity_list.dart +++ b/lib/ui/app/tables/entity_list.dart @@ -171,8 +171,9 @@ class _EntityListState extends State { ), ), numeric: EntityPresenter.isFieldNumeric(field), - onSort: (int columnIndex, bool ascending) => - widget.onSortColumn(field))), + onSort: (int columnIndex, bool ascending) { + widget.onSortColumn(field); + })), ], source: dataTableSource, header: DatatableHeader( diff --git a/lib/ui/client/client_presenter.dart b/lib/ui/client/client_presenter.dart index 9b49baef3..c66f13a1b 100644 --- a/lib/ui/client/client_presenter.dart +++ b/lib/ui/client/client_presenter.dart @@ -6,13 +6,14 @@ import 'package:invoiceninja_flutter/utils/formatting.dart'; class ClientPresenter extends EntityPresenter { static List getTableFields(UserCompanyEntity userCompany) { return [ + ClientFields.idNumber, ClientFields.name, + ClientFields.balance, + ClientFields.paidToDate, ClientFields.contact, ClientFields.contactEmail, - ClientFields.idNumber, EntityFields.createdAt, //ClientFields.contactLastLogin, - ClientFields.balance, EntityFields.state, ]; } @@ -34,6 +35,9 @@ class ClientPresenter extends EntityPresenter { return Text(client.idNumber); case ClientFields.balance: return Text(formatNumber(client.balance, context, clientId: client.id)); + case ClientFields.paidToDate: + return Text( + formatNumber(client.paidToDate, context, clientId: client.id)); } return super.getField(field: field, context: context);