This commit is contained in:
unknown 2018-06-17 09:53:01 -07:00
parent bc55ae4ba1
commit 420f38c16b
6 changed files with 33 additions and 47 deletions

View File

@ -0,0 +1,2 @@
class PersistData {}
class PersistUI {}

View File

@ -1,12 +1,9 @@
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:invoiceninja/data/file_storage.dart'; import 'package:invoiceninja/data/file_storage.dart';
import 'package:invoiceninja/data/repositories/persistence_repository.dart'; import 'package:invoiceninja/data/repositories/persistence_repository.dart';
import 'package:invoiceninja/redux/app/app_actions.dart';
import 'package:invoiceninja/redux/app/app_state.dart'; import 'package:invoiceninja/redux/app/app_state.dart';
import 'package:invoiceninja/redux/auth/auth_actions.dart'; import 'package:invoiceninja/redux/auth/auth_actions.dart';
import 'package:invoiceninja/redux/client/client_actions.dart';
import 'package:invoiceninja/redux/dashboard/dashboard_actions.dart';
import 'package:invoiceninja/redux/invoice/invoice_actions.dart';
import 'package:invoiceninja/redux/product/product_actions.dart';
import 'package:invoiceninja/ui/auth/login_vm.dart'; import 'package:invoiceninja/ui/auth/login_vm.dart';
import 'package:redux/redux.dart'; import 'package:redux/redux.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
@ -91,26 +88,7 @@ List<Middleware<AppState>> createStorePersistenceMiddleware([
TypedMiddleware<AppState, UserLogout>(deleteState), TypedMiddleware<AppState, UserLogout>(deleteState),
TypedMiddleware<AppState, LoadStateRequest>(loadState), TypedMiddleware<AppState, LoadStateRequest>(loadState),
TypedMiddleware<AppState, UserLoginSuccess>(userLoggedIn), TypedMiddleware<AppState, UserLoginSuccess>(userLoggedIn),
TypedMiddleware<AppState, PersistData>(dataLoaded),
TypedMiddleware<AppState, LoadDashboardSuccess>(dataLoaded),
TypedMiddleware<AppState, LoadProductsSuccess>(dataLoaded),
TypedMiddleware<AppState, AddProductSuccess>(dataLoaded),
TypedMiddleware<AppState, SaveProductSuccess>(dataLoaded),
TypedMiddleware<AppState, ArchiveProductSuccess>(dataLoaded),
TypedMiddleware<AppState, DeleteProductSuccess>(dataLoaded),
TypedMiddleware<AppState, RestoreProductSuccess>(dataLoaded),
TypedMiddleware<AppState, LoadClientsSuccess>(dataLoaded),
TypedMiddleware<AppState, AddClientSuccess>(dataLoaded),
TypedMiddleware<AppState, SaveClientSuccess>(dataLoaded),
TypedMiddleware<AppState, ArchiveClientSuccess>(dataLoaded),
TypedMiddleware<AppState, DeleteClientSuccess>(dataLoaded),
TypedMiddleware<AppState, RestoreClientSuccess>(dataLoaded),
TypedMiddleware<AppState, LoadInvoicesSuccess>(dataLoaded),
TypedMiddleware<AppState, AddInvoiceSuccess>(dataLoaded),
TypedMiddleware<AppState, SaveInvoiceSuccess>(dataLoaded),
TypedMiddleware<AppState, ArchiveInvoiceSuccess>(dataLoaded),
TypedMiddleware<AppState, DeleteInvoiceSuccess>(dataLoaded),
TypedMiddleware<AppState, RestoreInvoiceSuccess>(dataLoaded),
]; ];
} }
@ -223,6 +201,8 @@ Middleware<AppState> _createDataLoaded(
PersistenceRepository company5Repository, PersistenceRepository company5Repository,
) { ) {
return (Store<AppState> store, action, NextDispatcher next) { return (Store<AppState> store, action, NextDispatcher next) {
print('== Data loaded');
// first process the action so the data is in the state // first process the action so the data is in the state
next(action); next(action);
@ -233,16 +213,16 @@ Middleware<AppState> _createDataLoaded(
company1Repository.saveCompanyState(state.companyState1); company1Repository.saveCompanyState(state.companyState1);
break; break;
case 2: case 2:
company1Repository.saveCompanyState(state.companyState2); company2Repository.saveCompanyState(state.companyState2);
break; break;
case 3: case 3:
company1Repository.saveCompanyState(state.companyState3); company3Repository.saveCompanyState(state.companyState3);
break; break;
case 4: case 4:
company1Repository.saveCompanyState(state.companyState4); company4Repository.saveCompanyState(state.companyState4);
break; break;
case 5: case 5:
company1Repository.saveCompanyState(state.companyState5); company5Repository.saveCompanyState(state.companyState5);
break; break;
} }
}; };

View File

@ -2,6 +2,7 @@ import 'dart:async';
import 'package:invoiceninja/data/models/models.dart'; import 'package:invoiceninja/data/models/models.dart';
import 'package:built_collection/built_collection.dart'; import 'package:built_collection/built_collection.dart';
import 'package:invoiceninja/redux/app/app_actions.dart';
class LoadClientsAction { class LoadClientsAction {
final Completer completer; final Completer completer;
@ -22,7 +23,7 @@ class LoadClientsFailure {
} }
} }
class LoadClientsSuccess { class LoadClientsSuccess extends PersistData {
final BuiltList<ClientEntity> clients; final BuiltList<ClientEntity> clients;
LoadClientsSuccess(this.clients); LoadClientsSuccess(this.clients);
@ -43,7 +44,7 @@ class SaveClientRequest {
SaveClientRequest(this.completer, this.client); SaveClientRequest(this.completer, this.client);
} }
class SaveClientSuccess { class SaveClientSuccess extends PersistData {
final ClientEntity client; final ClientEntity client;
SaveClientSuccess(this.client); SaveClientSuccess(this.client);
@ -55,7 +56,7 @@ class ArchiveClientRequest {
ArchiveClientRequest(this.completer, this.clientId); ArchiveClientRequest(this.completer, this.clientId);
} }
class ArchiveClientSuccess { class ArchiveClientSuccess extends PersistData {
final ClientEntity client; final ClientEntity client;
ArchiveClientSuccess(this.client); ArchiveClientSuccess(this.client);
} }
@ -70,7 +71,7 @@ class DeleteClientRequest {
DeleteClientRequest(this.completer, this.clientId); DeleteClientRequest(this.completer, this.clientId);
} }
class DeleteClientSuccess { class DeleteClientSuccess extends PersistData {
final ClientEntity client; final ClientEntity client;
DeleteClientSuccess(this.client); DeleteClientSuccess(this.client);
} }
@ -84,7 +85,7 @@ class RestoreClientRequest {
final int clientId; final int clientId;
RestoreClientRequest(this.completer, this.clientId); RestoreClientRequest(this.completer, this.clientId);
} }
class RestoreClientSuccess { class RestoreClientSuccess extends PersistData {
final ClientEntity client; final ClientEntity client;
RestoreClientSuccess(this.client); RestoreClientSuccess(this.client);
} }
@ -93,7 +94,7 @@ class RestoreClientFailure {
RestoreClientFailure(this.client); RestoreClientFailure(this.client);
} }
class AddClientSuccess { class AddClientSuccess extends PersistData {
final ClientEntity client; final ClientEntity client;
AddClientSuccess(this.client); AddClientSuccess(this.client);
} }

View File

@ -1,6 +1,7 @@
import 'dart:async'; import 'dart:async';
import 'package:invoiceninja/data/models/models.dart'; import 'package:invoiceninja/data/models/models.dart';
import 'package:invoiceninja/redux/app/app_actions.dart';
class LoadDashboardAction { class LoadDashboardAction {
final Completer completer; final Completer completer;
@ -22,7 +23,7 @@ class LoadDashboardFailure {
} }
} }
class LoadDashboardSuccess { class LoadDashboardSuccess extends PersistData {
final DashboardEntity data; final DashboardEntity data;
LoadDashboardSuccess(this.data); LoadDashboardSuccess(this.data);

View File

@ -2,6 +2,7 @@ import 'dart:async';
import 'package:invoiceninja/data/models/models.dart'; import 'package:invoiceninja/data/models/models.dart';
import 'package:built_collection/built_collection.dart'; import 'package:built_collection/built_collection.dart';
import 'package:invoiceninja/redux/app/app_actions.dart';
class LoadInvoicesAction { class LoadInvoicesAction {
final Completer completer; final Completer completer;
@ -22,7 +23,7 @@ class LoadInvoicesFailure {
} }
} }
class LoadInvoicesSuccess { class LoadInvoicesSuccess extends PersistData {
final BuiltList<InvoiceEntity> invoices; final BuiltList<InvoiceEntity> invoices;
LoadInvoicesSuccess(this.invoices); LoadInvoicesSuccess(this.invoices);
@ -43,7 +44,7 @@ class SaveInvoiceRequest {
SaveInvoiceRequest(this.completer, this.invoice); SaveInvoiceRequest(this.completer, this.invoice);
} }
class SaveInvoiceSuccess { class SaveInvoiceSuccess extends PersistData {
final InvoiceEntity invoice; final InvoiceEntity invoice;
SaveInvoiceSuccess(this.invoice); SaveInvoiceSuccess(this.invoice);
@ -55,7 +56,7 @@ class ArchiveInvoiceRequest {
ArchiveInvoiceRequest(this.completer, this.invoiceId); ArchiveInvoiceRequest(this.completer, this.invoiceId);
} }
class ArchiveInvoiceSuccess { class ArchiveInvoiceSuccess extends PersistData {
final InvoiceEntity invoice; final InvoiceEntity invoice;
ArchiveInvoiceSuccess(this.invoice); ArchiveInvoiceSuccess(this.invoice);
} }
@ -70,7 +71,7 @@ class DeleteInvoiceRequest {
DeleteInvoiceRequest(this.completer, this.invoiceId); DeleteInvoiceRequest(this.completer, this.invoiceId);
} }
class DeleteInvoiceSuccess { class DeleteInvoiceSuccess extends PersistData {
final InvoiceEntity invoice; final InvoiceEntity invoice;
DeleteInvoiceSuccess(this.invoice); DeleteInvoiceSuccess(this.invoice);
} }
@ -84,7 +85,7 @@ class RestoreInvoiceRequest {
final int invoiceId; final int invoiceId;
RestoreInvoiceRequest(this.completer, this.invoiceId); RestoreInvoiceRequest(this.completer, this.invoiceId);
} }
class RestoreInvoiceSuccess { class RestoreInvoiceSuccess extends PersistData {
final InvoiceEntity invoice; final InvoiceEntity invoice;
RestoreInvoiceSuccess(this.invoice); RestoreInvoiceSuccess(this.invoice);
} }
@ -93,7 +94,7 @@ class RestoreInvoiceFailure {
RestoreInvoiceFailure(this.invoice); RestoreInvoiceFailure(this.invoice);
} }
class AddInvoiceSuccess { class AddInvoiceSuccess extends PersistData {
final InvoiceEntity invoice; final InvoiceEntity invoice;
AddInvoiceSuccess(this.invoice); AddInvoiceSuccess(this.invoice);
} }

View File

@ -2,6 +2,7 @@ import 'dart:async';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:invoiceninja/data/models/models.dart'; import 'package:invoiceninja/data/models/models.dart';
import 'package:built_collection/built_collection.dart'; import 'package:built_collection/built_collection.dart';
import 'package:invoiceninja/redux/app/app_actions.dart';
class LoadProductsAction { class LoadProductsAction {
final Completer completer; final Completer completer;
@ -22,7 +23,7 @@ class LoadProductsFailure {
} }
} }
class LoadProductsSuccess { class LoadProductsSuccess extends PersistData {
final BuiltList<ProductEntity> products; final BuiltList<ProductEntity> products;
LoadProductsSuccess(this.products); LoadProductsSuccess(this.products);
@ -44,7 +45,7 @@ class SaveProductRequest {
SaveProductRequest(this.completer, this.product); SaveProductRequest(this.completer, this.product);
} }
class SaveProductSuccess { class SaveProductSuccess extends PersistData {
final ProductEntity product; final ProductEntity product;
SaveProductSuccess(this.product); SaveProductSuccess(this.product);
@ -56,7 +57,7 @@ class ArchiveProductRequest {
ArchiveProductRequest(this.completer, this.productId); ArchiveProductRequest(this.completer, this.productId);
} }
class ArchiveProductSuccess { class ArchiveProductSuccess extends PersistData {
final ProductEntity product; final ProductEntity product;
ArchiveProductSuccess(this.product); ArchiveProductSuccess(this.product);
} }
@ -71,7 +72,7 @@ class DeleteProductRequest {
DeleteProductRequest(this.completer, this.productId); DeleteProductRequest(this.completer, this.productId);
} }
class DeleteProductSuccess { class DeleteProductSuccess extends PersistData {
final ProductEntity product; final ProductEntity product;
DeleteProductSuccess(this.product); DeleteProductSuccess(this.product);
} }
@ -85,7 +86,7 @@ class RestoreProductRequest {
final int productId; final int productId;
RestoreProductRequest(this.completer, this.productId); RestoreProductRequest(this.completer, this.productId);
} }
class RestoreProductSuccess { class RestoreProductSuccess extends PersistData {
final ProductEntity product; final ProductEntity product;
RestoreProductSuccess(this.product); RestoreProductSuccess(this.product);
} }
@ -94,7 +95,7 @@ class RestoreProductFailure {
RestoreProductFailure(this.product); RestoreProductFailure(this.product);
} }
class AddProductSuccess { class AddProductSuccess extends PersistData {
final ProductEntity product; final ProductEntity product;
AddProductSuccess(this.product); AddProductSuccess(this.product);
} }