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 2 years ago
commit 7561dd2332

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

@ -68,16 +68,17 @@ class _RequestDeviceTransferState extends State<RequestDeviceTransfer> {
_isLoading = false;
setState(() {});
if (status >= 200 && status < 300) {
Fluttertoast.showToast(
msg: _subtitle.requestCompleteSuccessfully,
);
// Fluttertoast.showToast(
// msg: _subtitle.requestCompleteSuccessfully,
// );
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

@ -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/subtitle.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/no_item_found.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){
_searchableList.clear();
_searchableList.addAll(_devicesProvider.devices);
_firstTime = false;
}
_subtitle = AppLocalization.of(context).subtitle;
return Scaffold(
@ -143,19 +143,31 @@ class _SingleDevicePickerState extends State<SingleDevicePicker> {
Expanded(
child: _searchableList.isEmpty ?
NoItemFound(message: _subtitle.noDeviceFound,):
ListView.builder(
padding: EdgeInsets.zero,
shrinkWrap: true,
itemCount: _searchableList.length,
itemBuilder: (listContext,itemIndex){
return DeviceItem(
device: _searchableList[itemIndex],
onPressed: (device){
Navigator.of(context).pop(device);
},
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,
shrinkWrap: true,
itemCount: _searchableList.length,
itemBuilder: (listContext,itemIndex){
return DeviceItem(
device: _searchableList[itemIndex],
onPressed: (device){
Navigator.of(context).pop(device);
},
);
},
),
)
),
],
),

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

Loading…
Cancel
Save