diff --git a/lib/controllers/providers/api/device_transfer_provider.dart b/lib/controllers/providers/api/device_transfer_provider.dart index cd38307c..80189f22 100644 --- a/lib/controllers/providers/api/device_transfer_provider.dart +++ b/lib/controllers/providers/api/device_transfer_provider.dart @@ -14,7 +14,7 @@ class DeviceTransferProvider extends ChangeNotifier { //reset provider data void reset() { - items = null; + items.clear(); nextPage = true; stateCode = null; } @@ -28,7 +28,7 @@ class DeviceTransferProvider extends ChangeNotifier { bool? nextPage = true; // list of user requests - List? items; + List items=[]; // when requests in-process _loading = true // done _loading = true @@ -74,11 +74,13 @@ class DeviceTransferProvider extends ChangeNotifier { // client's request was successfully received List listJson = json.decode(utf8.decode(response.bodyBytes).replaceAll("\\", "")); + print(listJson); List itemsPage = listJson .map((request) => DeviceTransfer.fromJson(request)) .toList(); - items ??= []; - items?.addAll(itemsPage); + print(itemsPage.length); + items.clear(); + items.addAll(itemsPage); if (itemsPage.length == pageItemNumber) { nextPage = true; } else { diff --git a/lib/models/device/device.dart b/lib/models/device/device.dart index b5d1f486..e266d366 100644 --- a/lib/models/device/device.dart +++ b/lib/models/device/device.dart @@ -30,8 +30,8 @@ class Device { id: parsedJson["nid"] ?? parsedJson["id"], serialNumber: parsedJson["sn"] ?? parsedJson["value"], number: parsedJson["asset_no"], - brand: parsedJson["brand"].toString(), - model: parsedJson["model"].toString(), + brand: parsedJson["brand"] as String?, + model: parsedJson["model"] as String?, productionDate: getDateFromString(parsedJson["production_date"]), supplyDate: getDateFromString(parsedJson["supply_date "]), installDate: getDateFromString(parsedJson["install_date "]), diff --git a/lib/models/lookup.dart b/lib/models/lookup.dart index 0ddf72f4..805498aa 100644 --- a/lib/models/lookup.dart +++ b/lib/models/lookup.dart @@ -31,7 +31,7 @@ class Lookup{ factory Lookup.fromJson(Map parsedJson){ return Lookup( label: parsedJson["value"], - id: parsedJson["id"] is int + id: parsedJson["id"] is int? ? parsedJson["id"] : int.tryParse(parsedJson["id"] ?? parsedJson["uid"]), ); diff --git a/lib/views/pages/device_transfer/track_device_transfer.dart b/lib/views/pages/device_transfer/track_device_transfer.dart index 49791085..1daa017d 100644 --- a/lib/views/pages/device_transfer/track_device_transfer.dart +++ b/lib/views/pages/device_transfer/track_device_transfer.dart @@ -33,11 +33,12 @@ class _TrackDeviceTransferPageState extends State _settingProvider = Provider.of(context); Subtitle? _subtitle = AppLocalization.of(context)?.subtitle; + //print(_deviceTransferProvider.items.length); return Scaffold( body: SafeArea( child: LoadingManager( - isLoading: _deviceTransferProvider.isLoading??false, - isFailedLoading: _deviceTransferProvider.items == null, + isLoading: _deviceTransferProvider.isLoading, + //isFailedLoading: _deviceTransferProvider.items == null, stateCode: _deviceTransferProvider.stateCode, onRefresh: () async { _deviceTransferProvider.reset(); diff --git a/lib/views/pages/user/gas_refill/track_gas_refill.dart b/lib/views/pages/user/gas_refill/track_gas_refill.dart index 05f92035..16a91f2c 100644 --- a/lib/views/pages/user/gas_refill/track_gas_refill.dart +++ b/lib/views/pages/user/gas_refill/track_gas_refill.dart @@ -36,9 +36,9 @@ class _TrackGasRefillPageState extends State return Scaffold( body: SafeArea( child: LoadingManager( - isLoading: _gasRefillProvider?.isLoading??false, + isLoading: _gasRefillProvider?.isLoading, isFailedLoading: _gasRefillProvider?.items == null, - stateCode: _gasRefillProvider?.stateCode??0, + stateCode: _gasRefillProvider?.stateCode, onRefresh: () async { _gasRefillProvider?.reset(); await _gasRefillProvider?.getRequests( diff --git a/lib/views/widgets/departments/single_department_picker.dart b/lib/views/widgets/departments/single_department_picker.dart index 6520f5c5..5335fcc9 100644 --- a/lib/views/widgets/departments/single_department_picker.dart +++ b/lib/views/widgets/departments/single_department_picker.dart @@ -34,8 +34,8 @@ class _SingleDepartmentPickerState extends State { return Scaffold( resizeToAvoidBottomInset: false, body: LoadingManager( - isLoading: _departmentsProvider?.isLoading??false, - stateCode: _departmentsProvider?.stateCode??0, + isLoading: _departmentsProvider?.isLoading, + stateCode: _departmentsProvider?.stateCode, isFailedLoading: _departmentsProvider?.departments == null, onRefresh: () async { _departmentsProvider?.reset(); diff --git a/lib/views/widgets/hospitals/single_hospital_picker.dart b/lib/views/widgets/hospitals/single_hospital_picker.dart index 4a99a6a0..f7c2ea34 100644 --- a/lib/views/widgets/hospitals/single_hospital_picker.dart +++ b/lib/views/widgets/hospitals/single_hospital_picker.dart @@ -35,8 +35,8 @@ class _SingleHospitalPickerState extends State { return Scaffold( resizeToAvoidBottomInset: false, body: LoadingManager( - isLoading: _hospitalsProvider?.isLoading??false, - stateCode: _hospitalsProvider?.stateCode??0, + isLoading: _hospitalsProvider?.isLoading, + stateCode: _hospitalsProvider?.stateCode, isFailedLoading: _hospitalsProvider?.hospitals == null, onRefresh: () async { _hospitalsProvider?.reset(); diff --git a/lib/views/widgets/loaders/loading_manager.dart b/lib/views/widgets/loaders/loading_manager.dart index 83ce2833..567304e7 100644 --- a/lib/views/widgets/loaders/loading_manager.dart +++ b/lib/views/widgets/loaders/loading_manager.dart @@ -9,9 +9,9 @@ import 'failed_loading.dart'; class LoadingManager extends StatefulWidget { final bool? isLoading; final bool? isFailedLoading; - final bool? isNotPage; + final bool isNotPage; final int? progress; - final bool? askOnBack; + final bool askOnBack; final int? stateCode; final Future Function()? onRefresh; final Widget? child;