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 percentage = 0.0;
var division = (1/15);
print("its a tablet $isTablet");
switch (flag) {
case ResultFlag.N:
percentage = division * (isTablet?7:6.7);
percentage = division * (isTablet?7.25:6.85);
break;
case ResultFlag.H:
percentage = division * (isTablet?11:10.7);
percentage = division * (isTablet?11:10.9);
break;
case ResultFlag.L:
percentage = division * (isTablet?3.5:2.5);
percentage = division * (isTablet?3.5:2.95);
break;
case ResultFlag.CL:
case ResultFlag.LCL:
percentage = division * (isTablet?0.7:.01);
percentage = division * (isTablet?0.7:.04);
break;
case ResultFlag.HCH:

@ -31,13 +31,32 @@ class _LaboratoryResultWidgetState extends State<LaboratoryResultWidget> {
bool _isShowMore = true;
late ProjectViewModel projectViewModel;
late String? labSpecialResult;
bool isTabletScreen = false;
LabsViewModel? model;
@override
void initState() {
super.initState();
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) {
final size = MediaQuery.of(context).size;
final shortestSide = size.shortestSide;
@ -45,10 +64,13 @@ class _LaboratoryResultWidgetState extends State<LaboratoryResultWidget> {
}
@override
Widget build(BuildContext context) {
isTabletScreen = isTablet(context);
projectViewModel = Provider.of(context);
return BaseView<LabsViewModel>(
onModelReady: (model) =>
model.getPatientLabResult(isVidaPlus: Utils.isVidaPlusProject(projectViewModel, int.parse(widget.patientLabOrder!.projectID!)), patientLabOrder: widget.patientLabOrder!, isTablet: isTablet(context)),
onModelReady: (model) {
this.model = model;
model.getPatientLabResult(isVidaPlus: Utils.isVidaPlusProject(projectViewModel, int.parse(widget.patientLabOrder!.projectID!)), patientLabOrder: widget.patientLabOrder!, isTablet: isTabletScreen);
},
builder: (_, model, w) => NetworkBaseView(
baseViewModel: model,
child: Column(

Loading…
Cancel
Save