From e75297053bc54808e649e96c1b866e115dbbfb11 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 31 Mar 2020 23:03:05 +1100 Subject: [PATCH] Cleanup of list creation --- lib/inventree_object.dart | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/lib/inventree_object.dart b/lib/inventree_object.dart index f5df15d8..3aea150d 100644 --- a/lib/inventree_object.dart +++ b/lib/inventree_object.dart @@ -51,7 +51,7 @@ class InvenTreeObject { String get url{ return path.join(_URL, pk.toString()); } // Return list of objects from the database, with optional filters - Future list({Map filters}) async { + Future> list({Map filters}) async { if (filters == null) { filters = {}; @@ -62,24 +62,27 @@ class InvenTreeObject { // TODO - Add "timeout" // TODO - Add error catching + InvenTreeAPI().get(_URL, params:filters).then((http.Response response) { + // A list of "InvenTreeObject" items + List results = new List(); + final data = json.decode(response.body); for (var d in data) { print(d); - var obj = _createFromJson(d); + // Create a new object (of the current class type + InvenTreeObject obj = _createFromJson(d); - if (obj is InvenTreePart) { - print("Part -> " + obj.name + obj.description); - } else { - print("Not part :'("); - print(obj.runtimeType); + if (obj != null) { + results.add(obj); } } - // var obj = _createFromJson(data); + + return results; }); }