Correct persitence
This commit is contained in:
parent
c4a0c956d3
commit
6c88a570cd
|
|
@ -152,6 +152,7 @@ const int kMillisecondsToRefreshActivities = 1000 * 60 * 60 * 24; // 1 day
|
|||
const int kMillisecondsToRefreshStaticData = 1000 * 60 * 60 * 24; // 1 day
|
||||
const int kMillisecondsToDebounceUpdate = 500; // .5 second
|
||||
const int kMillisecondsToDebounceSave = 1500; // 1.5 seconds
|
||||
const int kMillisecondsToDebounceWrite = 3000; // 3 seconds
|
||||
|
||||
const String kLanguageEnglish = '1';
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ import 'package:invoiceninja_flutter/ui/app/app_builder.dart';
|
|||
import 'package:invoiceninja_flutter/ui/app/main_screen.dart';
|
||||
import 'package:invoiceninja_flutter/ui/auth/login_vm.dart';
|
||||
import 'package:invoiceninja_flutter/ui/dashboard/dashboard_screen_vm.dart';
|
||||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/dialogs.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
|
@ -405,6 +406,8 @@ Middleware<AppState> _createPersistData(
|
|||
};
|
||||
}
|
||||
|
||||
final _persistUIDebouncer =
|
||||
Debouncer(milliseconds: kMillisecondsToDebounceWrite);
|
||||
Middleware<AppState> _createPersistUI(PersistenceRepository uiRepository) {
|
||||
return (Store<AppState> store, dynamic dynamicAction, NextDispatcher next) {
|
||||
final action = dynamicAction as PersistUI;
|
||||
|
|
@ -412,7 +415,9 @@ Middleware<AppState> _createPersistUI(PersistenceRepository uiRepository) {
|
|||
next(action);
|
||||
|
||||
if (store.state.prefState.persistUI) {
|
||||
uiRepository.saveUIState(store.state.uiState);
|
||||
_persistUIDebouncer.run(() {
|
||||
uiRepository.saveUIState(store.state.uiState);
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import 'package:invoiceninja_flutter/utils/completers.dart';
|
|||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class ViewClientList implements StopLoading {
|
||||
class ViewClientList implements PersistUI {
|
||||
ViewClientList({
|
||||
this.force = false,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import 'package:invoiceninja_flutter/utils/completers.dart';
|
|||
import 'package:invoiceninja_flutter/utils/dialogs.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class ViewCompanyGatewayList implements StopLoading {
|
||||
class ViewCompanyGatewayList implements PersistUI {
|
||||
ViewCompanyGatewayList({this.force = false});
|
||||
|
||||
final bool force;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import 'package:invoiceninja_flutter/utils/dialogs.dart';
|
|||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class ViewCreditList implements StopLoading {
|
||||
class ViewCreditList implements PersistUI {
|
||||
ViewCreditList({this.force = false});
|
||||
|
||||
final bool force;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart'
|
|||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class ViewDesignList implements StopLoading {
|
||||
class ViewDesignList implements PersistUI {
|
||||
ViewDesignList({
|
||||
this.force = false,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart'
|
|||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class ViewDocumentList implements StopLoading {
|
||||
class ViewDocumentList implements PersistUI {
|
||||
ViewDocumentList({this.force = false});
|
||||
|
||||
final bool force;
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart'
|
|||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class ViewExpenseList implements StopLoading {
|
||||
class ViewExpenseList implements PersistUI {
|
||||
ViewExpenseList({this.force = false});
|
||||
|
||||
final bool force;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import 'package:invoiceninja_flutter/utils/completers.dart';
|
|||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart';
|
||||
|
||||
class ViewExpenseCategoryList implements StopLoading {
|
||||
class ViewExpenseCategoryList implements PersistUI {
|
||||
ViewExpenseCategoryList({
|
||||
this.force = false,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart'
|
|||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class ViewGroupList implements StopLoading {
|
||||
class ViewGroupList implements PersistUI {
|
||||
ViewGroupList({this.force = false});
|
||||
|
||||
final bool force;
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import 'package:invoiceninja_flutter/utils/dialogs.dart';
|
|||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class ViewInvoiceList implements StopLoading {
|
||||
class ViewInvoiceList implements PersistUI {
|
||||
ViewInvoiceList({this.force = false});
|
||||
|
||||
final bool force;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart'
|
|||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class ViewPaymentList implements StopLoading {
|
||||
class ViewPaymentList implements PersistUI {
|
||||
ViewPaymentList({this.force = false});
|
||||
|
||||
final bool force;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart'
|
|||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class ViewPaymentTermList implements StopLoading {
|
||||
class ViewPaymentTermList implements PersistUI {
|
||||
ViewPaymentTermList({
|
||||
this.force = false,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart'
|
|||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class ViewProductList implements StopLoading {
|
||||
class ViewProductList implements PersistUI {
|
||||
ViewProductList({this.force = false});
|
||||
|
||||
final bool force;
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart'
|
|||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class ViewProjectList implements StopLoading {
|
||||
class ViewProjectList implements PersistUI {
|
||||
ViewProjectList({this.force = false});
|
||||
|
||||
final bool force;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import 'package:invoiceninja_flutter/utils/dialogs.dart';
|
|||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class ViewQuoteList implements StopLoading {
|
||||
class ViewQuoteList implements PersistUI {
|
||||
ViewQuoteList({this.force = false});
|
||||
|
||||
final bool force;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import 'package:invoiceninja_flutter/utils/completers.dart';
|
|||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart';
|
||||
|
||||
class ViewRecurringExpenseList implements StopLoading {
|
||||
class ViewRecurringExpenseList implements PersistUI {
|
||||
ViewRecurringExpenseList({
|
||||
this.force = false,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import 'package:invoiceninja_flutter/utils/dialogs.dart';
|
|||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class ViewRecurringInvoiceList implements StopLoading {
|
||||
class ViewRecurringInvoiceList implements PersistUI {
|
||||
ViewRecurringInvoiceList({
|
||||
this.force = false,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import 'package:invoiceninja_flutter/utils/completers.dart';
|
|||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart';
|
||||
|
||||
class ViewSubscriptionList implements StopLoading {
|
||||
class ViewSubscriptionList implements PersistUI {
|
||||
ViewSubscriptionList({
|
||||
this.force = false,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import 'package:invoiceninja_flutter/utils/completers.dart';
|
|||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class ViewTaskList implements StopLoading {
|
||||
class ViewTaskList implements PersistUI {
|
||||
ViewTaskList({this.force = false});
|
||||
|
||||
final bool force;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import 'package:invoiceninja_flutter/utils/completers.dart';
|
|||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart';
|
||||
|
||||
class ViewTaskStatusList implements StopLoading {
|
||||
class ViewTaskStatusList implements PersistUI {
|
||||
ViewTaskStatusList({
|
||||
this.force = false,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart'
|
|||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
|
||||
class ViewTaxRateList implements StopLoading {
|
||||
class ViewTaxRateList implements PersistUI {
|
||||
ViewTaxRateList({this.force = false});
|
||||
|
||||
final bool force;
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart'
|
|||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class ViewTokenList implements StopLoading {
|
||||
class ViewTokenList implements PersistUI {
|
||||
ViewTokenList({
|
||||
this.force = false,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import 'package:invoiceninja_flutter/utils/dialogs.dart';
|
|||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
|
||||
class ViewUserList implements StopLoading {
|
||||
class ViewUserList implements PersistUI {
|
||||
ViewUserList({this.force = false});
|
||||
|
||||
final bool force;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart'
|
|||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class ViewVendorList implements StopLoading {
|
||||
class ViewVendorList implements PersistUI {
|
||||
ViewVendorList({this.force = false});
|
||||
|
||||
final bool force;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart'
|
|||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class ViewWebhookList implements StopLoading {
|
||||
class ViewWebhookList implements PersistUI {
|
||||
ViewWebhookList({
|
||||
this.force = false,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import 'package:invoiceninja_flutter/utils/completers.dart';
|
|||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/entities/entity_actions_dialog.dart';
|
||||
|
||||
class ViewStubList implements StopLoading {
|
||||
class ViewStubList implements PersistUI {
|
||||
ViewStubList({
|
||||
this.force = false
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue