mirror of
https://github.com/inventree/inventree-app.git
synced 2025-06-14 11:15:26 +00:00
Package updates (#365)
* Update dart version * Update flutter version in workflow * Update packages * Updates to android workflow * Specify dart verrsion in CI * Run flutter upgrade * Helps to check which workflow is actually running I guess * Disable linting check * linting fixes * linting * Bug fix for paginator
This commit is contained in:
20
lib/api.dart
20
lib/api.dart
@ -80,6 +80,26 @@ class APIResponse {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper function to interpret response, and return a list.
|
||||
* Handles case where the response is paginated, or a complete set of results
|
||||
*/
|
||||
List<dynamic> resultsList() {
|
||||
|
||||
if (isList()) {
|
||||
return asList();
|
||||
} else if (isMap()) {
|
||||
var response = asMap();
|
||||
if (response.containsKey("results")) {
|
||||
return response["results"] as List<dynamic>;
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -538,13 +538,7 @@ class APIFormField {
|
||||
final APIResponse response = await InvenTreeAPI().get(api_url, params: _filters);
|
||||
|
||||
if (response.isValid()) {
|
||||
List<dynamic> results = [];
|
||||
|
||||
for (var result in response.data["results"] ?? []) {
|
||||
results.add(result);
|
||||
}
|
||||
|
||||
return results;
|
||||
return response.resultsList();
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
@ -1334,10 +1328,10 @@ class _APIFormWidgetState extends State<APIFormWidget> {
|
||||
// Ensure the response is a valid JSON structure
|
||||
Map<String, dynamic> json = {};
|
||||
|
||||
if (response.data != null && response.data is Map) {
|
||||
for (dynamic key in response.data.keys) {
|
||||
json[key.toString()] = response.data[key];
|
||||
}
|
||||
var data = response.asMap();
|
||||
|
||||
for (String key in data.keys) {
|
||||
json[key.toString()] = data[key];
|
||||
}
|
||||
|
||||
successFunc(json);
|
||||
|
@ -726,7 +726,9 @@ class InvenTreeModel {
|
||||
|
||||
page.results = [];
|
||||
|
||||
for (var result in response.data["results"]) {
|
||||
List<dynamic> results = dataMap["results"] as List<dynamic>;
|
||||
|
||||
for (dynamic result in results) {
|
||||
page.addResult(createFromJson(result as Map<String, dynamic>));
|
||||
}
|
||||
|
||||
|
@ -79,7 +79,8 @@ Future<void> showErrorDialog(String title, {String description = "", APIResponse
|
||||
switch (response.statusCode) {
|
||||
case 400: // Bad request (typically bad input)
|
||||
if (response.data is Map<String, dynamic>) {
|
||||
for (String field in response.data.keys) {
|
||||
|
||||
for (String field in response.asMap().keys) {
|
||||
|
||||
dynamic error = response.data[field];
|
||||
|
||||
|
@ -280,7 +280,8 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
|
||||
},
|
||||
).then((APIResponse response) {
|
||||
if (response.isValid() && response.statusCode == 200) {
|
||||
for (var label in response.data) {
|
||||
|
||||
for (var label in response.resultsList()) {
|
||||
if (label is Map<String, dynamic>) {
|
||||
labels.add(label);
|
||||
}
|
||||
|
Reference in New Issue
Block a user