Sort Order not in line with database sort order #377
This commit is contained in:
parent
02c11d1ae5
commit
e8c8e63bf3
|
|
@ -6,6 +6,7 @@ import 'package:built_collection/built_collection.dart';
|
|||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:diacritic/diacritic.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/constants.dart';
|
||||
|
|
@ -385,14 +386,15 @@ abstract class ClientEntity extends Object
|
|||
|
||||
switch (sortField) {
|
||||
case ClientFields.name:
|
||||
response = clientA.displayName
|
||||
response = removeDiacritics(clientA.displayName)
|
||||
.toLowerCase()
|
||||
.compareTo(clientB.displayName.toLowerCase());
|
||||
.compareTo(removeDiacritics(clientB.displayName).toLowerCase());
|
||||
break;
|
||||
case ClientFields.contactName:
|
||||
response = clientA.primaryContact.fullName
|
||||
response = removeDiacritics(clientA.primaryContact.fullName)
|
||||
.toLowerCase()
|
||||
.compareTo(clientB.primaryContact.fullName.toLowerCase());
|
||||
.compareTo(removeDiacritics(clientB.primaryContact.fullName)
|
||||
.toLowerCase());
|
||||
break;
|
||||
case ClientFields.contactEmail:
|
||||
response = clientA.primaryContact.email
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import 'package:built_collection/built_collection.dart';
|
|||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:diacritic/diacritic.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/constants.dart';
|
||||
|
|
@ -412,17 +413,17 @@ abstract class ExpenseEntity extends Object
|
|||
case ExpenseFields.client:
|
||||
final clientA = clientMap[expenseA.clientId] ?? ClientEntity();
|
||||
final clientB = clientMap[expenseB.clientId] ?? ClientEntity();
|
||||
response = clientA.listDisplayName
|
||||
response = removeDiacritics(clientA.listDisplayName)
|
||||
.toLowerCase()
|
||||
.compareTo(clientB.listDisplayName.toLowerCase());
|
||||
.compareTo(removeDiacritics(clientB.listDisplayName).toLowerCase());
|
||||
break;
|
||||
case ExpenseFields.vendorId:
|
||||
case ExpenseFields.vendor:
|
||||
final vendorA = vendorMap[expenseA.vendorId] ?? VendorEntity();
|
||||
final vendorB = vendorMap[expenseB.vendorId] ?? VendorEntity();
|
||||
response = vendorA.listDisplayName
|
||||
response = removeDiacritics(vendorA.listDisplayName)
|
||||
.toLowerCase()
|
||||
.compareTo(vendorB.listDisplayName.toLowerCase());
|
||||
.compareTo(removeDiacritics(vendorB.listDisplayName).toLowerCase());
|
||||
break;
|
||||
case EntityFields.state:
|
||||
final stateA =
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import 'package:built_collection/built_collection.dart';
|
|||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:diacritic/diacritic.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/constants.dart';
|
||||
|
|
@ -609,8 +610,10 @@ abstract class InvoiceEntity extends Object
|
|||
final InvoiceEntity invoiceB = sortAscending ? invoice : this;
|
||||
switch (sortField) {
|
||||
case InvoiceFields.number:
|
||||
var invoiceANumber = invoiceA.number ?? '';
|
||||
var invoiceBNumber = invoiceB.number ?? '';
|
||||
var invoiceANumber =
|
||||
(invoiceA.number ?? '').isEmpty ? 'ZZZZZZZZZZ' : invoiceA.number;
|
||||
var invoiceBNumber =
|
||||
(invoiceB.number ?? '').isEmpty ? 'ZZZZZZZZZZ' : invoiceB.number;
|
||||
invoiceANumber = recurringPrefix.isNotEmpty &&
|
||||
//(invoiceA.recurringId ?? '').isNotEmpty &&
|
||||
invoiceANumber.startsWith(recurringPrefix)
|
||||
|
|
@ -734,9 +737,9 @@ abstract class InvoiceEntity extends Object
|
|||
case InvoiceFields.client:
|
||||
final clientA = clientMap[invoiceA.clientId] ?? ClientEntity();
|
||||
final clientB = clientMap[invoiceB.clientId] ?? ClientEntity();
|
||||
response = clientA.listDisplayName
|
||||
response = removeDiacritics(clientA.listDisplayName)
|
||||
.toLowerCase()
|
||||
.compareTo(clientB.listDisplayName.toLowerCase());
|
||||
.compareTo(removeDiacritics(clientB.listDisplayName).toLowerCase());
|
||||
break;
|
||||
case InvoiceFields.isViewed:
|
||||
response = invoiceB.isViewed ? 1 : -1;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
import 'package:diacritic/diacritic.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
|
|
@ -220,9 +221,9 @@ abstract class ProjectEntity extends Object
|
|||
case ProjectFields.client:
|
||||
final clientA = clientMap[projectA.clientId] ?? ClientEntity();
|
||||
final clientB = clientMap[projectB.clientId] ?? ClientEntity();
|
||||
response = clientA.listDisplayName
|
||||
response = removeDiacritics(clientA.listDisplayName)
|
||||
.toLowerCase()
|
||||
.compareTo(clientB.listDisplayName.toLowerCase());
|
||||
.compareTo(removeDiacritics(clientB.listDisplayName).toLowerCase());
|
||||
break;
|
||||
case ProjectFields.clientNumber:
|
||||
final clientA = clientMap[projectA.clientId] ?? ClientEntity();
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import 'package:built_collection/built_collection.dart';
|
|||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:diacritic/diacritic.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/constants.dart';
|
||||
|
|
@ -629,9 +630,9 @@ abstract class TaskEntity extends Object
|
|||
case TaskFields.client:
|
||||
final clientA = clientMap[taskA.clientId] ?? ClientEntity();
|
||||
final clientB = clientMap[taskB.clientId] ?? ClientEntity();
|
||||
response = clientA.listDisplayName
|
||||
response = removeDiacritics(clientA.listDisplayName)
|
||||
.toLowerCase()
|
||||
.compareTo(clientB.listDisplayName.toLowerCase());
|
||||
.compareTo(removeDiacritics(clientB.listDisplayName).toLowerCase());
|
||||
break;
|
||||
case TaskFields.projectId:
|
||||
case TaskFields.project:
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import 'package:built_collection/built_collection.dart';
|
|||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:diacritic/diacritic.dart';
|
||||
|
||||
// Project imports:
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
|
|
@ -223,8 +224,9 @@ abstract class VendorEntity extends Object
|
|||
|
||||
switch (sortField) {
|
||||
case VendorFields.name:
|
||||
response =
|
||||
vendorA.name.toLowerCase().compareTo(vendorB.name.toLowerCase());
|
||||
response = removeDiacritics(vendorA.name)
|
||||
.toLowerCase()
|
||||
.compareTo(removeDiacritics(vendorB.name).toLowerCase());
|
||||
break;
|
||||
case VendorFields.city:
|
||||
response =
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ dependencies:
|
|||
pointer_interceptor: ^0.9.0
|
||||
contacts_service: ^0.6.1
|
||||
super_editor: ^0.1.0
|
||||
diacritic: ^0.1.3
|
||||
# quick_actions: ^0.2.1
|
||||
# idb_shim: ^1.11.1+1
|
||||
|
||||
|
|
|
|||
|
|
@ -274,6 +274,13 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
diacritic:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: diacritic
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.1.3"
|
||||
extension:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ dependencies:
|
|||
pointer_interceptor: ^0.9.0
|
||||
contacts_service: ^0.6.1
|
||||
super_editor: ^0.1.0
|
||||
diacritic: ^0.1.3
|
||||
# quick_actions: ^0.2.1
|
||||
# idb_shim: ^1.11.1+1
|
||||
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ dependencies:
|
|||
pointer_interceptor: ^0.9.0
|
||||
contacts_service: ^0.6.1
|
||||
super_editor: ^0.1.0
|
||||
diacritic: ^0.1.3
|
||||
# quick_actions: ^0.2.1
|
||||
# idb_shim: ^1.11.1+1
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue