updating the percentage if the screen dimens are changed.

pull/2/head
taha.alam 3 months ago
parent e441d0d6ce
commit a68da808da

@ -121,25 +121,34 @@ class LabsViewModel extends BaseViewModel {
} }
} }
recalculatePercentage(isTablet){
for(int i = 0;i<labResultLists.length;i++){
for (int j = 0; j<(labResultLists[i].patientLabResultList?.length??0 );j++){
labResultLists[i].patientLabResultList![j].percentage = getPercentage(labResultLists[i].patientLabResultList![j].calculatedResultFlag?? ResultFlag.N, isTablet);
}
}
}
double getPercentage(ResultFlag flag, bool isTablet) { double getPercentage(ResultFlag flag, bool isTablet) {
double percentage = 0.0; double percentage = 0.0;
var division = (1/15); var division = (1/15);
print("its a tablet $isTablet"); print("its a tablet $isTablet");
switch (flag) { switch (flag) {
case ResultFlag.N: case ResultFlag.N:
percentage = division * (isTablet?7:6.7); percentage = division * (isTablet?7.25:6.85);
break; break;
case ResultFlag.H: case ResultFlag.H:
percentage = division * (isTablet?11:10.7); percentage = division * (isTablet?11:10.9);
break; break;
case ResultFlag.L: case ResultFlag.L:
percentage = division * (isTablet?3.5:2.5); percentage = division * (isTablet?3.5:2.95);
break; break;
case ResultFlag.CL: case ResultFlag.CL:
case ResultFlag.LCL: case ResultFlag.LCL:
percentage = division * (isTablet?0.7:.01); percentage = division * (isTablet?0.7:.04);
break; break;
case ResultFlag.HCH: case ResultFlag.HCH:

@ -31,13 +31,32 @@ class _LaboratoryResultWidgetState extends State<LaboratoryResultWidget> {
bool _isShowMore = true; bool _isShowMore = true;
late ProjectViewModel projectViewModel; late ProjectViewModel projectViewModel;
late String? labSpecialResult; late String? labSpecialResult;
bool isTabletScreen = false;
LabsViewModel? model;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
labSpecialResult = widget.details ?? TranslationBase.of(context).noDataAvailable; labSpecialResult = widget.details ?? TranslationBase.of(context).noDataAvailable;
} }
@override
void didChangeDependencies() {
super.didChangeDependencies();
print("did change dependency is called");
var oldStateTablateScreenState = isTabletScreen;
isTabletScreen = isTablet(context);
if(isTabletScreen != oldStateTablateScreenState);
{
print("the screen width is changed");
model?.recalculatePercentage(isTabletScreen);
}
}
bool isTablet(BuildContext context) { bool isTablet(BuildContext context) {
final size = MediaQuery.of(context).size; final size = MediaQuery.of(context).size;
final shortestSide = size.shortestSide; final shortestSide = size.shortestSide;
@ -45,10 +64,13 @@ class _LaboratoryResultWidgetState extends State<LaboratoryResultWidget> {
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
isTabletScreen = isTablet(context);
projectViewModel = Provider.of(context); projectViewModel = Provider.of(context);
return BaseView<LabsViewModel>( return BaseView<LabsViewModel>(
onModelReady: (model) => onModelReady: (model) {
model.getPatientLabResult(isVidaPlus: Utils.isVidaPlusProject(projectViewModel, int.parse(widget.patientLabOrder!.projectID!)), patientLabOrder: widget.patientLabOrder!, isTablet: isTablet(context)), this.model = model;
model.getPatientLabResult(isVidaPlus: Utils.isVidaPlusProject(projectViewModel, int.parse(widget.patientLabOrder!.projectID!)), patientLabOrder: widget.patientLabOrder!, isTablet: isTabletScreen);
},
builder: (_, model, w) => NetworkBaseView( builder: (_, model, w) => NetworkBaseView(
baseViewModel: model, baseViewModel: model,
child: Column( child: Column(

Loading…
Cancel
Save