Sorting..

This commit is contained in:
unknown 2018-05-31 00:33:23 -07:00
parent ecc68040f1
commit 87193bf168
2 changed files with 18 additions and 8 deletions

View File

@ -71,6 +71,23 @@ abstract class ProductEntity implements Built<ProductEntity, ProductEntityBuilde
//@JsonKey(name: 'custom_value2')
//String customValue2;
int compareTo(ProductEntity product, String sortField, bool sortAscending) {
int response = 0;
ProductEntity productA = sortAscending ? this : product;
ProductEntity productB = sortAscending ? product: this;
switch (sortField) {
case ProductFields.cost:
response = productA.cost.compareTo(productB.cost);
}
if (response == 0) {
return productA.productKey.compareTo(productB.productKey);
} else {
return response;
}
}
ProductEntity._();
factory ProductEntity([updates(ProductEntityBuilder b)]) = _$ProductEntity;
static Serializer<ProductEntity> get serializer => _$productEntitySerializer;

View File

@ -21,14 +21,7 @@ List<ProductEntity> filteredProductsSelector(
list.sort((productAId, productBId) {
var productA = productState.map[productAId];
var productB = productState.map[productBId];
var sortField = productUIState.sortField;
switch (sortField) {
case ProductFields.productKey:
return productA.productKey.compareTo(productB.productKey);
case ProductFields.cost:
return productA.cost.compareTo(productB.cost);
}
return productA.compareTo(productB, productUIState.sortField, productUIState.sortAscending);
});
print('== SORTING LIST');