2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-06-16 12:15:31 +00:00

Refactor the refactor

This commit is contained in:
Oliver Walters
2023-04-21 19:59:53 +10:00
parent 8cc767d019
commit 27f2fd4826

View File

@ -69,51 +69,48 @@ class InvenTreeModel {
jsondata[key] = value; jsondata[key] = value;
} }
// Helper function to get string value from JSON data // return a dynamic value from the JSON data
String getString(String key, {String backup = ""}) { // optionally we can specifiy a "subKey" to get a value from a sub-dictionary
String value = backup; dynamic getValue(String key, {dynamic backup, String subKey = ""}) {
Map<String, dynamic> data = jsondata;
if (jsondata.containsKey(key)) { // If a subKey is specified, we need to dig deeper into the JSON data
value = jsondata[key].toString(); if (subKey.isNotEmpty) {
data = (data[subKey] ?? {}) as Map<String, dynamic>;
} }
return value; if (data.containsKey(key)) {
return data[key];
} else {
return backup;
}
}
// Helper function to get string value from JSON data
String getString(String key, {String backup = "", String subKey = ""}) {
dynamic value = getValue(key, backup: backup, subKey: subKey);
return value.toString();
} }
// Helper function to get integer value from JSON data // Helper function to get integer value from JSON data
int getInt(String key, {int backup = -1}) { int getInt(String key, {int backup = -1, String subKey = ""}) {
int value = backup; dynamic value = getValue(key, backup: backup, subKey: subKey);
return int.tryParse(value.toString()) ?? backup;
if (jsondata.containsKey(key)) {
value = int.tryParse(jsondata[key].toString()) ?? backup;
}
return value;
} }
// Helper function to get double value from JSON data // Helper function to get double value from JSON data
double getDouble(String key, {double backup = 0.0}) { double getDouble(String key, {double backup = 0.0, String subKey = ""}) {
double value = backup; dynamic value = getValue(key, backup: backup, subKey: subKey);
return double.tryParse(value.toString()) ?? backup;
if (jsondata.containsKey(key)) {
value = double.tryParse(jsondata[key].toString()) ?? backup;
}
return value;
} }
// Helper function to get boolean value from json data // Helper function to get boolean value from json data
bool getBool(String key, {bool backup = false}) { bool getBool(String key, {bool backup = false, String subKey = ""}) {
bool value = backup; dynamic value = getValue(key, backup: backup, subKey: subKey);
return value.toString().toLowerCase() == "true";
if (jsondata.containsKey(key)) {
String str_value = (jsondata[key] ?? backup.toString()) as String;
value = str_value.toLowerCase() == "true";
}
return value;
} }
// Return the InvenTree web server URL for this object
String get webUrl { String get webUrl {
if (api.isConnected()) { if (api.isConnected()) {