Merge branch 'majd_development_new' into 'main_latest_merged'

version 0.7.4 - update pentry

See merge request haroon6138/cloudsolutions-atoms!25
merge-requests/26/merge
Sikander Saleem 3 years ago
commit 7561dd2332

@ -11,17 +11,19 @@ import 'package:test_sa/models/user.dart';
class DevicesProvider extends ChangeNotifier { class DevicesProvider extends ChangeNotifier {
//reset provider data //reset provider data
void reset() { void reset() {
_devices = null; _devices = [];
_stateCode = null; _stateCode = null;
} }
final pageItemNumber = 10;
bool nextPage = true;
// state code of current request to defied error message // state code of current request to defied error message
// like 400 customer request failed // like 400 customer request failed
// 500 service not available // 500 service not available
int _stateCode; int _stateCode;
int get stateCode => _stateCode; int get stateCode => _stateCode;
List<Device> _devices; List<Device> _devices=[];
List<Device> get devices => _devices; List<Device> get devices => _devices;
// when categories in-process _loading = true // when categories in-process _loading = true
@ -52,7 +54,8 @@ class DevicesProvider extends ChangeNotifier {
Response response; Response response;
try { try {
response = await ApiManager.instance.post(URLs.getEquipment, body: { response = await ApiManager.instance.post(URLs.getEquipment, body: {
"pageSize": 50, "pageSize": pageItemNumber ,
"pageNumber":devices.length ~/ pageItemNumber + 1,
"siteId": hospitalId, "siteId": hospitalId,
if (serialNumber?.isEmpty == false) "assetSerialNumber": serialNumber, if (serialNumber?.isEmpty == false) "assetSerialNumber": serialNumber,
if (number?.isEmpty == false) "assetNo": number, if (number?.isEmpty == false) "assetNo": number,
@ -67,7 +70,11 @@ class DevicesProvider extends ChangeNotifier {
if (response.statusCode >= 200 && response.statusCode < 300) { if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received // client's request was successfully received
List equipmentListJson = json.decode(response.body)["data"]; List equipmentListJson = json.decode(response.body)["data"];
_devices = equipmentListJson.map<Device>((device) => Device.fromJson(device)).toList(); _devices.addAll(equipmentListJson.map<Device>((device) => Device.fromJson(device)).toList());
nextPage = true;
}else
{
nextPage = false;
} }
_loading = false; _loading = false;
notifyListeners(); notifyListeners();
@ -89,8 +96,9 @@ class DevicesProvider extends ChangeNotifier {
Response response; Response response;
try { try {
response = await ApiManager.instance.post(URLs.getEquipment, body: { response = await ApiManager.instance.post(URLs.getEquipment, body: {
"pageSize": 50, "pageSize": pageItemNumber,
"siteId": hospitalId, "pageNumber":devices.length ~/ pageItemNumber + 1,
"siteId": devices.length ~/ pageItemNumber + 1,
if (serialNumber?.isEmpty == false) "assetSerialNumber": serialNumber, if (serialNumber?.isEmpty == false) "assetSerialNumber": serialNumber,
if (number?.isEmpty == false) "assetNo": number, if (number?.isEmpty == false) "assetNo": number,
}); });
@ -105,6 +113,8 @@ class DevicesProvider extends ChangeNotifier {
// client's request was successfully received // client's request was successfully received
List equipmentListJson = json.decode(response.body)["data"]; List equipmentListJson = json.decode(response.body)["data"];
page = equipmentListJson.map((device) => Device.fromJson(device)).toList(); page = equipmentListJson.map((device) => Device.fromJson(device)).toList();
_devices.addAll(equipmentListJson.map<Device>((device) => Device.fromJson(device)).toList());
notifyListeners();
} }
return page; return page;
} catch (error) { } catch (error) {

@ -68,16 +68,17 @@ class _RequestDeviceTransferState extends State<RequestDeviceTransfer> {
_isLoading = false; _isLoading = false;
setState(() {}); setState(() {});
if (status >= 200 && status < 300) { if (status >= 200 && status < 300) {
Fluttertoast.showToast( // Fluttertoast.showToast(
msg: _subtitle.requestCompleteSuccessfully, // msg: _subtitle.requestCompleteSuccessfully,
); // );
Navigator.of(context).pop(); Navigator.of(context).pop();
} else {
String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle);
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text(errorMessage),
));
} }
// else {
// String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle);
// ScaffoldMessenger.of(context).showSnackBar(SnackBar(
// content: Text(errorMessage),
// ));
// }
} }
@override @override

@ -8,6 +8,7 @@ import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
import 'package:test_sa/models/device/device.dart'; import 'package:test_sa/models/device/device.dart';
import 'package:test_sa/models/subtitle.dart'; import 'package:test_sa/models/subtitle.dart';
import 'package:test_sa/views/widgets/equipment/device_item.dart'; import 'package:test_sa/views/widgets/equipment/device_item.dart';
import 'package:test_sa/views/widgets/loaders/lazy_loading.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/loaders/no_item_found.dart'; import 'package:test_sa/views/widgets/loaders/no_item_found.dart';
import 'package:test_sa/views/widgets/qr/scan_qr.dart'; import 'package:test_sa/views/widgets/qr/scan_qr.dart';
@ -74,7 +75,6 @@ class _SingleDevicePickerState extends State<SingleDevicePicker> {
if(_firstTime && _devicesProvider.devices != null){ if(_firstTime && _devicesProvider.devices != null){
_searchableList.clear(); _searchableList.clear();
_searchableList.addAll(_devicesProvider.devices); _searchableList.addAll(_devicesProvider.devices);
_firstTime = false;
} }
_subtitle = AppLocalization.of(context).subtitle; _subtitle = AppLocalization.of(context).subtitle;
return Scaffold( return Scaffold(
@ -143,7 +143,18 @@ class _SingleDevicePickerState extends State<SingleDevicePicker> {
Expanded( Expanded(
child: _searchableList.isEmpty ? child: _searchableList.isEmpty ?
NoItemFound(message: _subtitle.noDeviceFound,): NoItemFound(message: _subtitle.noDeviceFound,):
ListView.builder( LazyLoading(
nextPage: _devicesProvider.nextPage,
onLazyLoad: () async {
await _devicesProvider.getDevicesList(
user: _userProvider.user,
host: _settingProvider.host,
hospitalId: _userProvider.user.hospital?.id,
serialNumber: snController.text,
number: numberController.text
);
},
child:ListView.builder(
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
shrinkWrap: true, shrinkWrap: true,
itemCount: _searchableList.length, itemCount: _searchableList.length,
@ -156,6 +167,7 @@ class _SingleDevicePickerState extends State<SingleDevicePicker> {
); );
}, },
), ),
)
), ),
], ],
), ),

@ -27,12 +27,10 @@ class _LazyLoadingState extends State<LazyLoading> with TickerProviderStateMixin
_scrollListener() async { _scrollListener() async {
if (!_animationController.isAnimating && !_animationController.isCompleted && widget.nextPage) { if (!_animationController.isAnimating && !_animationController.isCompleted && widget.nextPage) {
_animationController.forward(); //_animationController.forward();
setState(() {});
await widget.onLazyLoad(); await widget.onLazyLoad();
await Future.delayed(Duration(milliseconds: 600)); await Future.delayed(Duration(milliseconds: 600));
setState(() {}); // _animationController.reverse();
_animationController.reverse();
} }
} }

Loading…
Cancel
Save