Null safety

This commit is contained in:
Hillel Coren 2023-10-05 11:56:41 +03:00
parent befbe8f431
commit cc6755a016
5 changed files with 7 additions and 7 deletions

View File

@ -51,7 +51,7 @@ class EntityDropdown extends StatefulWidget {
final bool? autofocus; final bool? autofocus;
final BuiltMap<String?, SelectableEntity?>? entityMap; final BuiltMap<String?, SelectableEntity?>? entityMap;
final Function(SelectableEntity?) onSelected; final Function(SelectableEntity?) onSelected;
final Function? validator; final String? Function(String?)? validator;
final bool autoValidate; final bool autoValidate;
final bool allowClearing; final bool allowClearing;
final Function(String?)? onFieldSubmitted; final Function(String?)? onFieldSubmitted;
@ -331,7 +331,7 @@ class _EntityDropdownState extends State<EntityDropdown> {
FocusNode focusNode, FocusNode focusNode,
VoidCallback onFieldSubmitted) { VoidCallback onFieldSubmitted) {
return DecoratedFormField( return DecoratedFormField(
validator: widget.validator as dynamic Function(String)?, validator: widget.validator,
showClear: showClear, showClear: showClear,
label: widget.labelText, label: widget.labelText,
autofocus: autofocus:
@ -424,7 +424,7 @@ class _EntityDropdownState extends State<EntityDropdown> {
child: TextFormField( child: TextFormField(
focusNode: _focusNode, focusNode: _focusNode,
readOnly: true, readOnly: true,
validator: widget.validator as String? Function(String?)?, validator: widget.validator,
autovalidateMode: widget.autoValidate autovalidateMode: widget.autoValidate
? AutovalidateMode.always ? AutovalidateMode.always
: AutovalidateMode.onUserInteraction, : AutovalidateMode.onUserInteraction,

View File

@ -49,7 +49,7 @@ class ClientPicker extends StatelessWidget {
entityList: memoizedDropdownClientList(clientState.map, clientState.list, entityList: memoizedDropdownClientList(clientState.map, clientState.list,
state.userState.map, state.staticState), state.userState.map, state.staticState),
entityMap: clientState.map, entityMap: clientState.map,
validator: (String val) => isRequired && val.trim().isEmpty validator: (String? val) => isRequired && (val ?? '').trim().isEmpty
? AppLocalization.of(context)!.pleaseSelectAClient ? AppLocalization.of(context)!.pleaseSelectAClient
: null, : null,
onSelected: onSelected, onSelected: onSelected,

View File

@ -46,7 +46,7 @@ class VendorPicker extends StatelessWidget {
entityList: memoizedDropdownVendorList(vendorState.map, vendorState.list, entityList: memoizedDropdownVendorList(vendorState.map, vendorState.list,
state.userState.map, state.staticState), state.userState.map, state.staticState),
entityMap: vendorState.map, entityMap: vendorState.map,
validator: (String val) => val.trim().isEmpty validator: (String? val) => (val ?? '').trim().isEmpty
? AppLocalization.of(context)!.pleaseSelectAVendor ? AppLocalization.of(context)!.pleaseSelectAVendor
: null, : null,
onSelected: onSelected, onSelected: onSelected,

View File

@ -211,7 +211,7 @@ class _PaymentEditState extends State<PaymentEdit> {
entityType: EntityType.client, entityType: EntityType.client,
labelText: AppLocalization.of(context)!.client, labelText: AppLocalization.of(context)!.client,
entityId: payment.clientId, entityId: payment.clientId,
validator: (String val) => val.trim().isEmpty validator: (String? val) => (val ?? '').trim().isEmpty
? AppLocalization.of(context)!.pleaseSelectAClient ? AppLocalization.of(context)!.pleaseSelectAClient
: null, : null,
onSelected: (client) { onSelected: (client) {

View File

@ -168,7 +168,7 @@ class _ProjectEditState extends State<ProjectEdit> {
state.clientState.list, state.clientState.list,
state.userState.map, state.userState.map,
state.staticState), state.staticState),
validator: (String val) => val.trim().isEmpty validator: (String? val) => (val ?? '').trim().isEmpty
? localization.pleaseSelectAClient ? localization.pleaseSelectAClient
: null, : null,
onSelected: (client) { onSelected: (client) {