2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-06-17 20:55:26 +00:00

Format code

This commit is contained in:
Asterix\Oliver
2025-06-14 10:59:13 +10:00
parent 0349ebb0b3
commit 387dc1eb39
96 changed files with 5478 additions and 7340 deletions

View File

@ -9,11 +9,8 @@ import "package:one_context/one_context.dart";
import "package:inventree/l10.dart";
class FilePickerDialog {
static Future<File?> pickImageFromCamera() async {
final picker = ImagePicker();
final pickedImage = await picker.pickImage(source: ImageSource.camera);
@ -26,7 +23,6 @@ class FilePickerDialog {
}
static Future<File?> pickImageFromGallery() async {
final picker = ImagePicker();
final pickedImage = await picker.pickImage(source: ImageSource.gallery);
@ -39,7 +35,6 @@ class FilePickerDialog {
}
static Future<File?> pickFileFromDevice() async {
final FilePickerResult? result = await FilePicker.platform.pickFiles();
if (result != null) {
@ -54,8 +49,11 @@ class FilePickerDialog {
}
// Present a dialog to pick a file, either from local file system or from camera
static Future<void> pickFile({String message = "", bool allowImages = true, bool allowFiles = true, Function(File)? onPicked}) async {
static Future<void> pickFile(
{String message = "",
bool allowImages = true,
bool allowFiles = true,
Function(File)? onPicked}) async {
String title = "";
if (allowImages && !allowFiles) {
@ -65,48 +63,38 @@ class FilePickerDialog {
}
// Construct actions
List<Widget> actions = [
];
List<Widget> actions = [];
if (message.isNotEmpty) {
actions.add(
ListTile(
title: Text(message)
)
);
actions.add(ListTile(title: Text(message)));
}
actions.add(
SimpleDialogOption(
child: ListTile(
leading: Icon(TablerIcons.arrow_up),
title: Text(allowFiles ? L10().selectFile : L10().selectImage),
),
onPressed: () async {
actions.add(SimpleDialogOption(
child: ListTile(
leading: Icon(TablerIcons.arrow_up),
title: Text(allowFiles ? L10().selectFile : L10().selectImage),
),
onPressed: () async {
// Close the dialog
OneContext().popDialog();
// Close the dialog
OneContext().popDialog();
File? file;
if (allowFiles) {
file = await pickFileFromDevice();
} else {
file = await pickImageFromGallery();
}
File? file;
if (allowFiles) {
file = await pickFileFromDevice();
} else {
file = await pickImageFromGallery();
if (file != null) {
if (onPicked != null) {
onPicked(file);
}
if (file != null) {
if (onPicked != null) {
onPicked(file);
}
}
},
)
);
}
},
));
if (allowImages) {
actions.add(
SimpleDialogOption(
actions.add(SimpleDialogOption(
child: ListTile(
leading: Icon(TablerIcons.camera),
title: Text(L10().takePicture),
@ -122,100 +110,99 @@ class FilePickerDialog {
onPicked(file);
}
}
}
)
);
}));
}
OneContext().showDialog(
builder: (context) {
return SimpleDialog(
title: Text(title),
children: actions,
);
}
);
OneContext().showDialog(builder: (context) {
return SimpleDialog(
title: Text(title),
children: actions,
);
});
}
}
class CheckBoxField extends FormField<bool> {
CheckBoxField({
String? label,
bool? initial = false,
bool tristate = false,
Function(bool?)? onSaved,
TextStyle? labelStyle,
String? helperText,
TextStyle? helperStyle,
}) :
super(
onSaved: onSaved,
initialValue: initial,
builder: (FormFieldState<bool> state) {
return CheckboxListTile(
title: label != null ? Text(label, style: labelStyle) : null,
value: state.value,
tristate: tristate,
onChanged: state.didChange,
subtitle: helperText != null ? Text(helperText, style: helperStyle) : null,
contentPadding: EdgeInsets.zero,
);
}
);
String? label,
bool? initial = false,
bool tristate = false,
Function(bool?)? onSaved,
TextStyle? labelStyle,
String? helperText,
TextStyle? helperStyle,
}) : super(
onSaved: onSaved,
initialValue: initial,
builder: (FormFieldState<bool> state) {
return CheckboxListTile(
title: label != null ? Text(label, style: labelStyle) : null,
value: state.value,
tristate: tristate,
onChanged: state.didChange,
subtitle: helperText != null
? Text(helperText, style: helperStyle)
: null,
contentPadding: EdgeInsets.zero,
);
});
}
class StringField extends TextFormField {
StringField(
{String label = "",
String? hint,
String? initial,
Function(String?)? onSaved,
Function(String?)? validator,
bool allowEmpty = false,
bool isEnabled = true})
: super(
decoration: InputDecoration(
labelText: allowEmpty ? label : label + "*", hintText: hint),
initialValue: initial,
onSaved: onSaved,
enabled: isEnabled,
validator: (value) {
if (!allowEmpty && value != null && value.isEmpty) {
return L10().valueCannotBeEmpty;
}
StringField({String label = "", String? hint, String? initial, Function(String?)? onSaved, Function(String?)? validator, bool allowEmpty = false, bool isEnabled = true}) :
super(
decoration: InputDecoration(
labelText: allowEmpty ? label : label + "*",
hintText: hint
),
initialValue: initial,
onSaved: onSaved,
enabled: isEnabled,
validator: (value) {
if (!allowEmpty && value != null && value.isEmpty) {
return L10().valueCannotBeEmpty;
}
if (validator != null) {
return validator(value) as String?;
}
if (validator != null) {
return validator(value) as String?;
}
return null;
}
);
return null;
});
}
/*
* Helper class for quantity values
*/
class QuantityField extends TextFormField {
QuantityField(
{String label = "",
String hint = "",
double? max,
TextEditingController? controller})
: super(
decoration: InputDecoration(
labelText: label,
hintText: hint,
),
controller: controller,
keyboardType:
TextInputType.numberWithOptions(signed: false, decimal: true),
validator: (value) {
if (value != null && value.isEmpty) return L10().quantityEmpty;
QuantityField({String label = "", String hint = "", double? max, TextEditingController? controller}) :
super(
decoration: InputDecoration(
labelText: label,
hintText: hint,
),
controller: controller,
keyboardType: TextInputType.numberWithOptions(signed: false, decimal: true),
validator: (value) {
double quantity = double.tryParse(value.toString()) ?? 0;
if (value != null && value.isEmpty) return L10().quantityEmpty;
if (quantity <= 0) return L10().quantityPositive;
if ((max != null) && (quantity > max))
return "Quantity must not exceed ${max}";
double quantity = double.tryParse(value.toString()) ?? 0;
if (quantity <= 0) return L10().quantityPositive;
if ((max != null) && (quantity > max)) return "Quantity must not exceed ${max}";
return null;
},
);
}
return null;
},
);
}