Null safety

This commit is contained in:
Hillel Coren 2023-10-01 14:05:54 +03:00
parent b72967a3cf
commit 4adf979cb6
5 changed files with 69 additions and 66 deletions

View File

@ -15,7 +15,8 @@ import 'package:invoiceninja_flutter/redux/ui/entity_ui_state.dart';
import 'package:invoiceninja_flutter/redux/ui/list_ui_state.dart'; import 'package:invoiceninja_flutter/redux/ui/list_ui_state.dart';
EntityUIState clientUIReducer(ClientUIState state, dynamic action) { EntityUIState clientUIReducer(ClientUIState state, dynamic action) {
return state.rebuild((b) => b return state.rebuild(
(b) => b
..listUIState.replace(clientListReducer(state.listUIState, action)) ..listUIState.replace(clientListReducer(state.listUIState, action))
..editing.replace(editingReducer(state.editing, action)!) ..editing.replace(editingReducer(state.editing, action)!)
..editingContact ..editingContact
@ -24,9 +25,8 @@ EntityUIState clientUIReducer(ClientUIState state, dynamic action) {
..forceSelected = forceSelectedReducer(state.forceSelected, action) ..forceSelected = forceSelectedReducer(state.forceSelected, action)
..tabIndex = tabIndexReducer(state.tabIndex, action) ..tabIndex = tabIndexReducer(state.tabIndex, action)
..saveCompleter = saveCompleterReducer(state.saveCompleter, action) ..saveCompleter = saveCompleterReducer(state.saveCompleter, action)
..cancelCompleter = cancelCompleterReducer( ..cancelCompleter = cancelCompleterReducer(state.cancelCompleter, action),
state.cancelCompleter as Completer<SelectableEntity>?, action) );
as Completer<Null>?);
} }
final forceSelectedReducer = combineReducers<bool?>([ final forceSelectedReducer = combineReducers<bool?>([
@ -55,9 +55,9 @@ final saveCompleterReducer = combineReducers<Completer<SelectableEntity>?>([
}), }),
]); ]);
final cancelCompleterReducer = combineReducers<Completer<SelectableEntity>?>([ final cancelCompleterReducer = combineReducers<Completer<Null>?>([
TypedReducer<Completer<SelectableEntity>?, EditClient>((completer, action) { TypedReducer<Completer<Null>?, EditClient>((completer, action) {
return action.cancelCompleter as Completer<SelectableEntity>?; return action.cancelCompleter as Completer<Null>?;
}), }),
]); ]);
@ -137,7 +137,8 @@ final editingReducer = combineReducers<ClientEntity?>([
}), }),
TypedReducer<ClientEntity?, UpdateContact>((client, action) { TypedReducer<ClientEntity?, UpdateContact>((client, action) {
return client!.rebuild((b) => b return client!.rebuild((b) => b
..contacts[action.index] = action.contact..isChanged = true); ..contacts[action.index] = action.contact
..isChanged = true);
}), }),
TypedReducer<ClientEntity?, ViewClient>((client, action) { TypedReducer<ClientEntity?, ViewClient>((client, action) {
return ClientEntity(); return ClientEntity();

View File

@ -15,15 +15,16 @@ import 'package:invoiceninja_flutter/redux/ui/list_ui_state.dart';
EntityUIState expenseCategoryUIReducer( EntityUIState expenseCategoryUIReducer(
ExpenseCategoryUIState state, dynamic action) { ExpenseCategoryUIState state, dynamic action) {
return state.rebuild((b) => b return state.rebuild(
..listUIState.replace(expenseCategoryListReducer(state.listUIState, action)) (b) => b
..listUIState
.replace(expenseCategoryListReducer(state.listUIState, action))
..editing.replace(editingReducer(state.editing, action)!) ..editing.replace(editingReducer(state.editing, action)!)
..selectedId = selectedIdReducer(state.selectedId, action) ..selectedId = selectedIdReducer(state.selectedId, action)
..forceSelected = forceSelectedReducer(state.forceSelected, action) ..forceSelected = forceSelectedReducer(state.forceSelected, action)
..saveCompleter = saveCompleterReducer(state.saveCompleter, action) ..saveCompleter = saveCompleterReducer(state.saveCompleter, action)
..cancelCompleter = cancelCompleterReducer( ..cancelCompleter = cancelCompleterReducer(state.cancelCompleter, action),
state.cancelCompleter as Completer<SelectableEntity>?, action) );
as Completer<Null>?);
} }
final saveCompleterReducer = combineReducers<Completer<SelectableEntity>?>([ final saveCompleterReducer = combineReducers<Completer<SelectableEntity>?>([
@ -33,10 +34,9 @@ final saveCompleterReducer = combineReducers<Completer<SelectableEntity>?>([
}), }),
]); ]);
final cancelCompleterReducer = combineReducers<Completer<SelectableEntity>?>([ final cancelCompleterReducer = combineReducers<Completer<Null>?>([
TypedReducer<Completer<SelectableEntity>?, EditExpenseCategory>( TypedReducer<Completer<Null>?, EditExpenseCategory>((completer, action) {
(completer, action) { return action.cancelCompleter as Completer<Null>?;
return action.cancelCompleter as Completer<SelectableEntity>?;
}), }),
]); ]);

View File

@ -16,16 +16,16 @@ import 'package:invoiceninja_flutter/redux/ui/entity_ui_state.dart';
import 'package:invoiceninja_flutter/redux/ui/list_ui_state.dart'; import 'package:invoiceninja_flutter/redux/ui/list_ui_state.dart';
EntityUIState projectUIReducer(ProjectUIState state, dynamic action) { EntityUIState projectUIReducer(ProjectUIState state, dynamic action) {
return state.rebuild((b) => b return state.rebuild(
(b) => b
..listUIState.replace(projectListReducer(state.listUIState, action)) ..listUIState.replace(projectListReducer(state.listUIState, action))
..editing.replace(editingReducer(state.editing, action)!) ..editing.replace(editingReducer(state.editing, action)!)
..selectedId = selectedIdReducer(state.selectedId, action) ..selectedId = selectedIdReducer(state.selectedId, action)
..forceSelected = forceSelectedReducer(state.forceSelected, action) ..forceSelected = forceSelectedReducer(state.forceSelected, action)
..tabIndex = tabIndexReducer(state.tabIndex, action) ..tabIndex = tabIndexReducer(state.tabIndex, action)
..saveCompleter = saveCompleterReducer(state.saveCompleter, action) ..saveCompleter = saveCompleterReducer(state.saveCompleter, action)
..cancelCompleter = cancelCompleterReducer( ..cancelCompleter = cancelCompleterReducer(state.cancelCompleter, action),
state.cancelCompleter as Completer<SelectableEntity>?, action) );
as Completer<Null>?);
} }
final forceSelectedReducer = combineReducers<bool?>([ final forceSelectedReducer = combineReducers<bool?>([
@ -54,9 +54,9 @@ final saveCompleterReducer = combineReducers<Completer<SelectableEntity>?>([
}), }),
]); ]);
final cancelCompleterReducer = combineReducers<Completer<SelectableEntity>?>([ final cancelCompleterReducer = combineReducers<Completer<Null>?>([
TypedReducer<Completer<SelectableEntity>?, EditProject>((completer, action) { TypedReducer<Completer<Null>?, EditProject>((completer, action) {
return action.cancelCompleter as Completer<SelectableEntity>?; return action.cancelCompleter as Completer<Null>?;
}), }),
]); ]);

View File

@ -15,7 +15,8 @@ import 'package:invoiceninja_flutter/redux/vendor/vendor_actions.dart';
import 'package:invoiceninja_flutter/redux/vendor/vendor_state.dart'; import 'package:invoiceninja_flutter/redux/vendor/vendor_state.dart';
EntityUIState vendorUIReducer(VendorUIState state, dynamic action) { EntityUIState vendorUIReducer(VendorUIState state, dynamic action) {
return state.rebuild((b) => b return state.rebuild(
(b) => b
..listUIState.replace(vendorListReducer(state.listUIState, action)) ..listUIState.replace(vendorListReducer(state.listUIState, action))
..editing.replace(editingReducer(state.editing, action)!) ..editing.replace(editingReducer(state.editing, action)!)
..editingContact ..editingContact
@ -24,9 +25,8 @@ EntityUIState vendorUIReducer(VendorUIState state, dynamic action) {
..forceSelected = forceSelectedReducer(state.forceSelected, action) ..forceSelected = forceSelectedReducer(state.forceSelected, action)
..tabIndex = tabIndexReducer(state.tabIndex, action) ..tabIndex = tabIndexReducer(state.tabIndex, action)
..saveCompleter = saveCompleterReducer(state.saveCompleter, action) ..saveCompleter = saveCompleterReducer(state.saveCompleter, action)
..cancelCompleter = cancelCompleterReducer( ..cancelCompleter = cancelCompleterReducer(state.cancelCompleter, action),
state.cancelCompleter as Completer<SelectableEntity>?, action) );
as Completer<Null>?);
} }
final forceSelectedReducer = combineReducers<bool?>([ final forceSelectedReducer = combineReducers<bool?>([
@ -55,9 +55,9 @@ final saveCompleterReducer = combineReducers<Completer<SelectableEntity>?>([
}), }),
]); ]);
final cancelCompleterReducer = combineReducers<Completer<SelectableEntity>?>([ final cancelCompleterReducer = combineReducers<Completer<Null>?>([
TypedReducer<Completer<SelectableEntity>?, EditVendor>((completer, action) { TypedReducer<Completer<Null>?, EditVendor>((completer, action) {
return action.cancelCompleter as Completer<SelectableEntity>?; return action.cancelCompleter as Completer<Null>?;
}), }),
]); ]);
@ -141,7 +141,8 @@ VendorEntity _removeContact(VendorEntity? vendor, DeleteVendorContact action) {
VendorEntity _updateContact(VendorEntity? vendor, UpdateVendorContact action) { VendorEntity _updateContact(VendorEntity? vendor, UpdateVendorContact action) {
return vendor!.rebuild((b) => b return vendor!.rebuild((b) => b
..contacts[action.index] = action.contact..isChanged = true); ..contacts[action.index] = action.contact
..isChanged = true);
} }
final vendorListReducer = combineReducers<ListUIState>([ final vendorListReducer = combineReducers<ListUIState>([

View File

@ -133,7 +133,8 @@ class InvoiceEditDetailsVM extends EntityEditDetailsVM {
cancelCompleter: Completer<Null>() cancelCompleter: Completer<Null>()
..future.then<Null>((_) { ..future.then<Null>((_) {
store.dispatch(UpdateCurrentRoute(InvoiceEditScreen.route)); store.dispatch(UpdateCurrentRoute(InvoiceEditScreen.route));
})); }),
);
completer.future.then((SelectableEntity client) { completer.future.then((SelectableEntity client) {
store.dispatch(UpdateCurrentRoute(InvoiceEditScreen.route)); store.dispatch(UpdateCurrentRoute(InvoiceEditScreen.route));
}); });