This commit is contained in:
unknown 2018-06-04 03:50:47 -07:00
parent ab4f2feea1
commit 6fd6fc80c5
5 changed files with 14 additions and 46 deletions

View File

@ -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),

View File

@ -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}';
}
}

View File

@ -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);
};

View File

@ -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

View File

@ -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,