2
0
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:
Oliver
2023-06-12 22:52:07 +10:00
committed by GitHub
parent b051aeccda
commit 21ace1ae02
12 changed files with 106 additions and 84 deletions

View File

@ -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 [];
}
}
}

View File

@ -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);

View File

@ -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>));
}

View File

@ -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];

View File

@ -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);
}