2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-06-13 10:45:29 +00:00

Many many changes for null-safety support

This commit is contained in:
Oliver
2021-07-09 23:56:38 +10:00
parent 2988716bf3
commit d3eec6a79e
30 changed files with 563 additions and 456 deletions

View File

@ -52,10 +52,10 @@ class ImagePickerField extends FormField<File> {
}
ImagePickerField(BuildContext context, {String label = "Attach Image", Function onSaved, bool required = false}) :
ImagePickerField(BuildContext context, {String? label, Function(File?)? onSaved, bool required = false}) :
super(
onSaved: onSaved,
validator: (File img) {
validator: (File? img) {
if (required && (img == null)) {
return L10().required;
}
@ -63,10 +63,13 @@ class ImagePickerField extends FormField<File> {
return null;
},
builder: (FormFieldState<File> state) {
String _label = label ?? L10().attachImage;
return InputDecorator(
decoration: InputDecoration(
errorText: state.errorText,
labelText: required ? label + "*" : label,
labelText: required ? _label + "*" : _label,
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
@ -92,7 +95,7 @@ class ImagePickerField extends FormField<File> {
class CheckBoxField extends FormField<bool> {
CheckBoxField({String label, String hint, bool initial = false, Function onSaved}) :
CheckBoxField({String? label, String? hint, bool initial = false, Function(bool?)? onSaved}) :
super(
onSaved: onSaved,
initialValue: initial,
@ -111,7 +114,7 @@ class CheckBoxField extends FormField<bool> {
class StringField extends TextFormField {
StringField({String label, String hint, String initial, Function onSaved, Function validator, bool allowEmpty = false, bool isEnabled = true}) :
StringField({String label = "", String? hint, String? initial, Function(String?)? onSaved, Function? validator, bool allowEmpty = false, bool isEnabled = true}) :
super(
decoration: InputDecoration(
labelText: allowEmpty ? label : label + "*",
@ -121,7 +124,7 @@ class StringField extends TextFormField {
onSaved: onSaved,
enabled: isEnabled,
validator: (value) {
if (!allowEmpty && value.isEmpty) {
if (!allowEmpty && value != null && value.isEmpty) {
return L10().valueCannotBeEmpty;
}
@ -140,7 +143,7 @@ class StringField extends TextFormField {
*/
class QuantityField extends TextFormField {
QuantityField({String label = "", String hint = "", String initial = "", double max = null, TextEditingController controller}) :
QuantityField({String label = "", String hint = "", String initial = "", double? max, TextEditingController? controller}) :
super(
decoration: InputDecoration(
labelText: label,
@ -150,9 +153,9 @@ class QuantityField extends TextFormField {
keyboardType: TextInputType.numberWithOptions(signed: false, decimal: true),
validator: (value) {
if (value.isEmpty) return L10().quantityEmpty;
if (value != null && value.isEmpty) return L10().quantityEmpty;
double quantity = double.tryParse(value);
double quantity = double.tryParse(value ?? '0') ?? 0;
if (quantity == null) return L10().quantityInvalid;
if (quantity <= 0) return L10().quantityPositive;