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, LoadDashboardFailure>(_setLoaded),
TypedReducer<bool, LoadProductsRequest>(_setLoading), TypedReducer<bool, LoadProductsRequest>(_setLoading),
TypedReducer<bool, ProductsLoadedAction>(_setLoaded), TypedReducer<bool, LoadProductsSuccess>(_setLoaded),
TypedReducer<bool, ProductsNotLoadedAction>(_setLoaded), TypedReducer<bool, LoadProductsFailure>(_setLoaded),
TypedReducer<bool, SaveProductRequest>(_setLoading), TypedReducer<bool, SaveProductRequest>(_setLoading),
TypedReducer<bool, SaveProductFailure>(_setLoaded), TypedReducer<bool, SaveProductFailure>(_setLoaded),

View File

@ -12,23 +12,23 @@ class LoadProductsAction {
class LoadProductsRequest {} class LoadProductsRequest {}
class ProductsNotLoadedAction { class LoadProductsFailure {
final dynamic error; final dynamic error;
ProductsNotLoadedAction(this.error); LoadProductsFailure(this.error);
@override @override
String toString() { String toString() {
return 'ProductsNotLoadedAction{error: $error}'; return 'LoadProductsFailure{error: $error}';
} }
} }
class ProductsLoadedAction { class LoadProductsSuccess {
final BuiltList<ProductEntity> products; final BuiltList<ProductEntity> products;
ProductsLoadedAction(this.products); LoadProductsSuccess(this.products);
@override @override
String toString() { String toString() {
return 'ProductsLoadedAction{products: $products}'; return 'LoadProductsSuccess{products: $products}';
} }
} }

View File

@ -126,11 +126,11 @@ Middleware<AppState> _loadProducts(ProductsRepository repository) {
repository repository
.loadList(store.state.selectedCompany(), store.state.authState) .loadList(store.state.selectedCompany(), store.state.authState)
.then((data) { .then((data) {
store.dispatch(ProductsLoadedAction(data)); store.dispatch(LoadProductsSuccess(data));
if (action.completer != null) { if (action.completer != null) {
action.completer.complete(null); action.completer.complete(null);
} }
}).catchError((error) => store.dispatch(ProductsNotLoadedAction(error))); }).catchError((error) => store.dispatch(LoadProductsFailure(error)));
next(action); next(action);
}; };

View File

@ -36,16 +36,10 @@ ListUIState _sortProducts(ListUIState productListState, SortProducts action) {
final productsReducer = combineReducers<ProductState>([ 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, SaveProductSuccess>(_updateProduct),
TypedReducer<ProductState, AddProductSuccess>(_addProduct), TypedReducer<ProductState, AddProductSuccess>(_addProduct),
TypedReducer<ProductState, ProductsLoadedAction>(_setLoadedProducts), TypedReducer<ProductState, LoadProductsSuccess>(_setLoadedProducts),
TypedReducer<ProductState, ProductsNotLoadedAction>(_setNoProducts), TypedReducer<ProductState, LoadProductsFailure>(_setNoProducts),
TypedReducer<ProductState, SelectProductAction>(_selectProduct), TypedReducer<ProductState, SelectProductAction>(_selectProduct),
TypedReducer<ProductState, ArchiveProductRequest>(_archiveProductRequest), TypedReducer<ProductState, ArchiveProductRequest>(_archiveProductRequest),
@ -157,7 +151,7 @@ ProductState _updateProduct(
} }
ProductState _setNoProducts( ProductState _setNoProducts(
ProductState productState, ProductsNotLoadedAction action) { ProductState productState, LoadProductsFailure action) {
return productState; return productState;
} }
@ -167,30 +161,8 @@ ProductState _selectProduct(
..editing.replace(action.product)); ..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 _setLoadedProducts(
ProductState productState, ProductsLoadedAction action) { ProductState productState, LoadProductsSuccess action) {
return productState.rebuild( return productState.rebuild(
(b) => b (b) => b
..lastUpdated = DateTime.now().millisecondsSinceEpoch ..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/data/models/models.dart';
import 'package:invoiceninja/redux/ui/list_ui_state.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(( var memoizedProductList = memo3((
BuiltMap<int, ProductEntity> productMap, BuiltMap<int, ProductEntity> productMap,
BuiltList<int> productList, BuiltList<int> productList,