From 86be31fa284fb91bdd2aba8f2568f634757b7db6 Mon Sep 17 00:00:00 2001 From: Mohammed Date: Mon, 27 May 2024 00:02:50 +0100 Subject: [PATCH] updated flutter rocket package --- lib/models/photo_model.dart | 3 ++- lib/models/post_model.dart | 3 ++- lib/models/todo.dart | 3 ++- lib/models/todos.dart | 3 ++- lib/models/user_model.dart | 3 ++- lib/models/user_submodel/address_submodel.dart | 3 ++- lib/models/user_submodel/company_submodel.dart | 3 ++- lib/models/user_submodel/geo_submodel.dart | 3 ++- lib/views/photo_view.dart | 2 +- lib/views/post_view.dart | 2 +- lib/views/todos_view.dart | 2 +- lib/views/user_view.dart | 2 +- pubspec.yaml | 2 +- test/fake_rocket_client.dart | 11 +++++++---- 14 files changed, 28 insertions(+), 17 deletions(-) diff --git a/lib/models/photo_model.dart b/lib/models/photo_model.dart index cabef27..1df9d0b 100755 --- a/lib/models/photo_model.dart +++ b/lib/models/photo_model.dart @@ -22,7 +22,8 @@ class Photo extends RocketModel { }); @override - void fromJson(Map json, {bool isSub = false}) { + void fromJson(Map? json, {bool isSub = false}) { + if (json == null) return; albumId = json[photoAlbumIdField]; id = json[photoIdField]; title = json[photoTitleField]; diff --git a/lib/models/post_model.dart b/lib/models/post_model.dart index c70c1be..483c94e 100755 --- a/lib/models/post_model.dart +++ b/lib/models/post_model.dart @@ -21,7 +21,8 @@ class Post extends RocketModel { }); @override - void fromJson(Map json, {bool isSub = false}) { + void fromJson(Map? json, {bool isSub = false}) { + if (json == null) return; userId = json[postUserIdField]; id = json[postIdField]; title = json[postTitleField]; diff --git a/lib/models/todo.dart b/lib/models/todo.dart index 8b20b8f..ff1a86c 100644 --- a/lib/models/todo.dart +++ b/lib/models/todo.dart @@ -19,7 +19,8 @@ class Todos extends RocketModel { }); @override - void fromJson(Map json, {bool isSub = false}) { + void fromJson(Map? json, {bool isSub = false}) { + if (json == null) return; userId = json[todoUserIdField]; id = json[todoIdField]; title = json[todoTitleField]; diff --git a/lib/models/todos.dart b/lib/models/todos.dart index b0b12f5..f2ba69d 100644 --- a/lib/models/todos.dart +++ b/lib/models/todos.dart @@ -19,7 +19,8 @@ class Todos extends RocketModel { }); @override - void fromJson(Map json, {bool isSub = false}) { + void fromJson(Map? json, {bool isSub = false}) { + if (json == null) return; userId = json[todosUserIdField]; id = json[todosIdField]; title = json[todosTitleField]; diff --git a/lib/models/user_model.dart b/lib/models/user_model.dart index 6e9c614..d15650e 100755 --- a/lib/models/user_model.dart +++ b/lib/models/user_model.dart @@ -39,7 +39,8 @@ class User extends RocketModel { } @override - void fromJson(Map json, {bool isSub = false}) { + void fromJson(Map? json, {bool isSub = false}) { + if (json == null) return; id = json[userIdField]; name = json[userNameField]; username = json[userUsernameField]; diff --git a/lib/models/user_submodel/address_submodel.dart b/lib/models/user_submodel/address_submodel.dart index d8c241e..79f9101 100644 --- a/lib/models/user_submodel/address_submodel.dart +++ b/lib/models/user_submodel/address_submodel.dart @@ -25,7 +25,8 @@ class Address extends RocketModel
{ } @override - void fromJson(Map json, {bool isSub = false}) { + void fromJson(Map? json, {bool isSub = false}) { + if (json == null) return; street = json[addressStreetField]; suite = json[addressSuiteField]; city = json[addressCityField]; diff --git a/lib/models/user_submodel/company_submodel.dart b/lib/models/user_submodel/company_submodel.dart index f16ca07..3d9d88c 100644 --- a/lib/models/user_submodel/company_submodel.dart +++ b/lib/models/user_submodel/company_submodel.dart @@ -16,7 +16,8 @@ class Company extends RocketModel { }); @override - void fromJson(Map json, {bool isSub = false}) { + void fromJson(Map? json, {bool isSub = false}) { + if (json == null) return; name = json[companyNameField]; catchPhrase = json[companyCatchPhraseField]; bs = json[companyBsField]; diff --git a/lib/models/user_submodel/geo_submodel.dart b/lib/models/user_submodel/geo_submodel.dart index d447c54..a4bd84f 100644 --- a/lib/models/user_submodel/geo_submodel.dart +++ b/lib/models/user_submodel/geo_submodel.dart @@ -12,7 +12,8 @@ class Geo extends RocketModel { this.lng, }); @override - void fromJson(Map json, {bool isSub = false}) { + void fromJson(Map? json, {bool isSub = false}) { + if (json == null) return; lat = json[geoLatField]; lng = json[geoLngField]; super.fromJson(json, isSub: isSub); diff --git a/lib/views/photo_view.dart b/lib/views/photo_view.dart index 5e78f2a..2956bde 100755 --- a/lib/views/photo_view.dart +++ b/lib/views/photo_view.dart @@ -18,7 +18,7 @@ class PhotoExample extends StatelessWidget { width: MediaQuery.of(context).size.width, child: RocketView( model: photo, - loader: const CircularProgressIndicator(), + onLoading: () => const CircularProgressIndicator(), // get 5000 items call: () => GetPhotos.getPhotos(photo), builder: (context, modelState) { diff --git a/lib/views/post_view.dart b/lib/views/post_view.dart index 0fa6764..1d56455 100755 --- a/lib/views/post_view.dart +++ b/lib/views/post_view.dart @@ -47,7 +47,7 @@ class PostExample extends StatelessWidget { // callType: CallType.callAsStream, // secondsOfStream: 1, // customized your loading (default widget is CircularProgressIndicator) - loader: const CircularProgressIndicator(), + onLoading: () => const CircularProgressIndicator(), // handle errors onError: (RocketException exception, Function() reload) { diff --git a/lib/views/todos_view.dart b/lib/views/todos_view.dart index 700aec6..a214813 100644 --- a/lib/views/todos_view.dart +++ b/lib/views/todos_view.dart @@ -23,7 +23,7 @@ class TodosExample extends StatelessWidget { body: RocketView( model: todoModel, call: () => GetTodos.getTodos(todoModel), - loader: const CircularProgressIndicator(), + onLoading: () => const CircularProgressIndicator(), callType: CallType.callIfModelEmpty, builder: (context, state) { return ListView.builder( diff --git a/lib/views/user_view.dart b/lib/views/user_view.dart index 3288c05..f99281c 100755 --- a/lib/views/user_view.dart +++ b/lib/views/user_view.dart @@ -38,7 +38,7 @@ class UserExample extends StatelessWidget { // your model model: users, // your widget for show data from model - loader: const CircularProgressIndicator(), + onLoading: () => const CircularProgressIndicator(), builder: (context, modelState) { return ListView.builder( itemCount: users.all!.length, diff --git a/pubspec.yaml b/pubspec.yaml index fe261c2..0f7289f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -30,7 +30,7 @@ environment: dependencies: flutter: sdk: flutter - flutter_rocket: ^0.0.1 + flutter_rocket: ^0.0.7 # The following adds the Cupertino Icons font to your application. diff --git a/test/fake_rocket_client.dart b/test/fake_rocket_client.dart index 3ee76a5..23a3d40 100644 --- a/test/fake_rocket_client.dart +++ b/test/fake_rocket_client.dart @@ -6,13 +6,16 @@ class RocketClientTest extends RocketClient { this.dummyData, ) : super(url: ''); @override - Future request(String endpoint, + @override + Future request(String endpoint, {RocketModel? model, HttpMethods method = HttpMethods.get, - Function(dynamic data)? inspect, - List? targetData, + RocketDataCallback? inspect, + List? target, + RocketOnError? onError, Map? data, - Map? params}) async { + Map? params, + RetryOptions retryOptions = const RetryOptions()}) async { model!.state = RocketState.loading; await Future.delayed(const Duration(seconds: 1)); try {