Refactor
This commit is contained in:
parent
ab4f2feea1
commit
6fd6fc80c5
|
|
@ -13,8 +13,8 @@ final loadingReducer = combineReducers<bool>([
|
|||
TypedReducer<bool, LoadDashboardFailure>(_setLoaded),
|
||||
|
||||
TypedReducer<bool, LoadProductsRequest>(_setLoading),
|
||||
TypedReducer<bool, ProductsLoadedAction>(_setLoaded),
|
||||
TypedReducer<bool, ProductsNotLoadedAction>(_setLoaded),
|
||||
TypedReducer<bool, LoadProductsSuccess>(_setLoaded),
|
||||
TypedReducer<bool, LoadProductsFailure>(_setLoaded),
|
||||
|
||||
TypedReducer<bool, SaveProductRequest>(_setLoading),
|
||||
TypedReducer<bool, SaveProductFailure>(_setLoaded),
|
||||
|
|
|
|||
|
|
@ -12,23 +12,23 @@ class LoadProductsAction {
|
|||
|
||||
class LoadProductsRequest {}
|
||||
|
||||
class ProductsNotLoadedAction {
|
||||
class LoadProductsFailure {
|
||||
final dynamic error;
|
||||
ProductsNotLoadedAction(this.error);
|
||||
LoadProductsFailure(this.error);
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'ProductsNotLoadedAction{error: $error}';
|
||||
return 'LoadProductsFailure{error: $error}';
|
||||
}
|
||||
}
|
||||
|
||||
class ProductsLoadedAction {
|
||||
class LoadProductsSuccess {
|
||||
final BuiltList<ProductEntity> products;
|
||||
ProductsLoadedAction(this.products);
|
||||
LoadProductsSuccess(this.products);
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'ProductsLoadedAction{products: $products}';
|
||||
return 'LoadProductsSuccess{products: $products}';
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -126,11 +126,11 @@ Middleware<AppState> _loadProducts(ProductsRepository repository) {
|
|||
repository
|
||||
.loadList(store.state.selectedCompany(), store.state.authState)
|
||||
.then((data) {
|
||||
store.dispatch(ProductsLoadedAction(data));
|
||||
store.dispatch(LoadProductsSuccess(data));
|
||||
if (action.completer != null) {
|
||||
action.completer.complete(null);
|
||||
}
|
||||
}).catchError((error) => store.dispatch(ProductsNotLoadedAction(error)));
|
||||
}).catchError((error) => store.dispatch(LoadProductsFailure(error)));
|
||||
|
||||
next(action);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -36,16 +36,10 @@ ListUIState _sortProducts(ListUIState productListState, SortProducts action) {
|
|||
|
||||
|
||||
final productsReducer = combineReducers<ProductState>([
|
||||
/*
|
||||
TypedReducer<List<Product>, AddProductAction>(_addProduct),
|
||||
TypedReducer<List<Product>, DeleteProductAction>(_deleteProduct),
|
||||
TypedReducer<List<Product>, ClearCompletedAction>(_clearCompleted),
|
||||
TypedReducer<List<Product>, ToggleAllAction>(_toggleAll),
|
||||
*/
|
||||
TypedReducer<ProductState, SaveProductSuccess>(_updateProduct),
|
||||
TypedReducer<ProductState, AddProductSuccess>(_addProduct),
|
||||
TypedReducer<ProductState, ProductsLoadedAction>(_setLoadedProducts),
|
||||
TypedReducer<ProductState, ProductsNotLoadedAction>(_setNoProducts),
|
||||
TypedReducer<ProductState, LoadProductsSuccess>(_setLoadedProducts),
|
||||
TypedReducer<ProductState, LoadProductsFailure>(_setNoProducts),
|
||||
TypedReducer<ProductState, SelectProductAction>(_selectProduct),
|
||||
|
||||
TypedReducer<ProductState, ArchiveProductRequest>(_archiveProductRequest),
|
||||
|
|
@ -157,7 +151,7 @@ ProductState _updateProduct(
|
|||
}
|
||||
|
||||
ProductState _setNoProducts(
|
||||
ProductState productState, ProductsNotLoadedAction action) {
|
||||
ProductState productState, LoadProductsFailure action) {
|
||||
return productState;
|
||||
}
|
||||
|
||||
|
|
@ -167,30 +161,8 @@ ProductState _selectProduct(
|
|||
..editing.replace(action.product));
|
||||
}
|
||||
|
||||
/*
|
||||
List<ProductEntity> _addProduct(List<ProductEntity> products, AddProductAction action) {
|
||||
return List.from(products)..add(action.product);
|
||||
}
|
||||
|
||||
List<ProductEntity> _deleteProduct(List<ProductEntity> products, DeleteProductAction action) {
|
||||
return products.where((product) => product.id != action.id).toList();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
List<ProductEntity> _clearCompleted(List<Product> products, ClearCompletedAction action) {
|
||||
return products.where((product) => !product.complete).toList();
|
||||
}
|
||||
|
||||
List<ProductEntity> _toggleAll(List<ProductEntity> products, ToggleAllAction action) {
|
||||
final allComplete = allCompleteSelector(products);
|
||||
|
||||
return products.map((product) => product.copyWith(complete: !allComplete)).toList();
|
||||
}
|
||||
*/
|
||||
|
||||
ProductState _setLoadedProducts(
|
||||
ProductState productState, ProductsLoadedAction action) {
|
||||
ProductState productState, LoadProductsSuccess action) {
|
||||
return productState.rebuild(
|
||||
(b) => b
|
||||
..lastUpdated = DateTime.now().millisecondsSinceEpoch
|
||||
|
|
|
|||
|
|
@ -3,10 +3,6 @@ import 'package:built_collection/built_collection.dart';
|
|||
import 'package:invoiceninja/data/models/models.dart';
|
||||
import 'package:invoiceninja/redux/ui/list_ui_state.dart';
|
||||
|
||||
|
||||
//List<ProductEntity> productsSelector(AppState state) =>
|
||||
// state.productState().list.map((id) => state.productState().map[id]);
|
||||
|
||||
var memoizedProductList = memo3((
|
||||
BuiltMap<int, ProductEntity> productMap,
|
||||
BuiltList<int> productList,
|
||||
|
|
|
|||
Loading…
Reference in New Issue