From a54ec0ef78d84bed5f7e86f47f587cba78b39cd2 Mon Sep 17 00:00:00 2001 From: Elham Rababh Date: Mon, 22 Nov 2021 15:04:23 +0200 Subject: [PATCH 1/2] 5 step from fix screen --- .../PatientRegistrationViewModel.dart | 6 +- .../selected_items/my_selected_allergy.dart | 10 +- .../selected_items/my_selected_assement.dart | 20 +- .../patients/DischargedPatientPage.dart | 18 +- .../pending_orders/pending_orders_screen.dart | 137 ++++++------ .../patient_profile_screen.dart | 15 +- .../profile_gird_for_InPatient.dart | 4 +- .../profile_gird_for_other.dart | 6 +- .../profile_gird_for_search.dart | 6 +- .../referral/my-referral-detail-screen.dart | 52 ++--- .../assessment/add_assessment_details.dart | 6 +- .../assessment/update_assessment_page.dart | 32 +-- .../RegisterSearchPatientPage.dart | 12 +- .../register_patient/VerifyMethodPage.dart | 5 +- .../prescription/add_prescription_form.dart | 4 +- .../reschedule-leaves/reschedule_leave.dart | 204 ++---------------- .../profile_medical_info_widget_search.dart | 8 +- pubspec.lock | 12 +- pubspec.yaml | 2 +- 19 files changed, 188 insertions(+), 371 deletions(-) diff --git a/lib/core/viewModel/PatientRegistrationViewModel.dart b/lib/core/viewModel/PatientRegistrationViewModel.dart index 31d84608..a60d1ed2 100644 --- a/lib/core/viewModel/PatientRegistrationViewModel.dart +++ b/lib/core/viewModel/PatientRegistrationViewModel.dart @@ -142,10 +142,8 @@ class PatientRegistrationViewModel extends BaseViewModel { } Future sendActivationCodeByOTPNotificationType( - {required SendActivationCodeByOTPNotificationTypeForRegistrationModel - registrationModel, - required int otpType, - required PatientRegistrationViewModel user}) async { + { + required int otpType}) async { setState(ViewState.BusyLocal); print(checkPatientForRegistrationModel); print(checkPatientForRegistrationModel); diff --git a/lib/models/SOAP/selected_items/my_selected_allergy.dart b/lib/models/SOAP/selected_items/my_selected_allergy.dart index 512a4f64..b3f58310 100644 --- a/lib/models/SOAP/selected_items/my_selected_allergy.dart +++ b/lib/models/SOAP/selected_items/my_selected_allergy.dart @@ -1,13 +1,13 @@ import 'package:doctor_app_flutter/models/SOAP/master_key_model.dart'; class MySelectedAllergy { - MasterKeyModel selectedAllergySeverity; - MasterKeyModel selectedAllergy; - String remark; - bool isChecked; + MasterKeyModel? selectedAllergySeverity; + MasterKeyModel? selectedAllergy; + String? remark; + bool? isChecked; bool isExpanded; bool isLocal; - int createdBy; + int ?createdBy; bool hasValidationError; MySelectedAllergy( diff --git a/lib/models/SOAP/selected_items/my_selected_assement.dart b/lib/models/SOAP/selected_items/my_selected_assement.dart index 01572e6d..13a95905 100644 --- a/lib/models/SOAP/selected_items/my_selected_assement.dart +++ b/lib/models/SOAP/selected_items/my_selected_assement.dart @@ -1,16 +1,16 @@ import 'package:doctor_app_flutter/models/SOAP/master_key_model.dart'; class MySelectedAssessment { - MasterKeyModel selectedICD; - MasterKeyModel selectedDiagnosisCondition; - MasterKeyModel selectedDiagnosisType; - String remark; - int appointmentId; - int createdBy; - String createdOn; - int doctorID; - String doctorName; - String icdCode10ID; + MasterKeyModel? selectedICD; + MasterKeyModel? selectedDiagnosisCondition; + MasterKeyModel? selectedDiagnosisType; + String? remark; + int? appointmentId; + int? createdBy; + String? createdOn; + int? doctorID; + String? doctorName; + String? icdCode10ID; MySelectedAssessment( {this.selectedICD, diff --git a/lib/screens/patients/DischargedPatientPage.dart b/lib/screens/patients/DischargedPatientPage.dart index 6791785a..7045d694 100644 --- a/lib/screens/patients/DischargedPatientPage.dart +++ b/lib/screens/patients/DischargedPatientPage.dart @@ -74,7 +74,7 @@ class _DischargedPatientState extends State { DoctorApp.filter_1, color: Colors.black, ), - iconSize: 20, + iconSize: 20, onPressed: () { }, ), ), SizedBox( @@ -170,14 +170,14 @@ class _DischargedPatientState extends State { ? model .filterData[ index] - .nationalityName + .nationalityName! .trim() : model.filterData[index].nationality != null ? model .filterData[ index] - .nationality + .nationality! .trim() : model.filterData[index].nationalityId != null @@ -203,16 +203,16 @@ class _DischargedPatientState extends State { .network( model.filterData[index].nationalityFlagURL != null - ? model.filterData[index].nationalityFlagURL + ? model.filterData[index].nationalityFlagURL! : '', height: 25, width: 30, - errorBuilder: (BuildContext context, - Object + errorBuilder: (BuildContext? context, + Object? exception, - StackTrace + StackTrace? stackTrace) { return AppText( '', @@ -320,7 +320,7 @@ class _DischargedPatientState extends State { text: model.filterData[index].admissionDate == null ? "" - : TranslationBase.of(context).admissionDate + + : TranslationBase.of(context).admissionDate! + " : ", style: TextStyle( fontSize: @@ -385,7 +385,7 @@ class _DischargedPatientState extends State { .w300, ), AppText( - "${AppDateUtils.convertStringToDate(model.filterData[index].dischargeDate).difference(AppDateUtils.getDateTimeFromServerFormat(model.filterData[index].admissionDate)).inDays + 1}", + "${AppDateUtils.convertStringToDate(model.filterData[index].dischargeDate!).difference(AppDateUtils.getDateTimeFromServerFormat(model.filterData[index].admissionDate!)).inDays + 1}", fontSize: 15, fontWeight: diff --git a/lib/screens/patients/profile/pending_orders/pending_orders_screen.dart b/lib/screens/patients/profile/pending_orders/pending_orders_screen.dart index c69f3868..6fc9fb4f 100644 --- a/lib/screens/patients/profile/pending_orders/pending_orders_screen.dart +++ b/lib/screens/patients/profile/pending_orders/pending_orders_screen.dart @@ -9,88 +9,85 @@ import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.d import 'package:flutter/material.dart'; class PendingOrdersScreen extends StatelessWidget { - const PendingOrdersScreen({Key key}) : super(key: key); + const PendingOrdersScreen({Key? key}) : super(key: key); @override Widget build(BuildContext context) { - final routeArgs = ModalRoute.of(context).settings.arguments as Map; + final routeArgs = ModalRoute.of(context)!.settings.arguments as Map; PatiantInformtion patient = routeArgs['patient']; patient = routeArgs['patient']; String patientType = routeArgs['patientType']; bool isInpatient = routeArgs['isInpatient']; + return BaseView( - onModelReady: (model) => model.getPendingOrders( - patientId: patient.patientMRN, - admissionNo: int.parse(patient.admissionNo)), - builder: - (BuildContext context, PendingOrdersViewModel model, Widget child) => - AppScaffold( - appBar: PatientProfileAppBar( - patient, - isInpatient: isInpatient, - ), - isShowAppBar: true, - baseViewModel: model, - appBarTitle: "Pending Orders", - body: model.pendingOrdersList == null || + onModelReady: (model) async {}, + builder: (_, model, w) => AppScaffold( + appBar: PatientProfileAppBar( + patient, + isInpatient: isInpatient, + ), + isShowAppBar: true, + baseViewModel: model, + appBarTitle: "Pending Orders", + body: model.pendingOrdersList == null || model.pendingOrdersList.length == 0 - ? DrAppEmbeddedError( - error: TranslationBase.of(context).noDataAvailable) - : Column( - children: [ - Padding( - padding: const EdgeInsets.all(8.0), - child: Column( - children: [ - Row( - children: [ - AppText( - TranslationBase.of(context).pending, - fontSize: 15.0, - fontWeight: FontWeight.w600, - fontFamily: 'Poppins', - ), - ], - ), - Row( - children: [ - AppText( - TranslationBase.of(context).orders, - fontSize: 25.0, - fontWeight: FontWeight.w700, - ), - ], - ), - ], + ? DrAppEmbeddedError( + error: TranslationBase.of(context).noDataAvailable!) + : Column( + children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + children: [ + Row( + children: [ + AppText( + TranslationBase.of(context).pending, + fontSize: 15.0, + fontWeight: FontWeight.w600, + fontFamily: 'Poppins', + ), + ], + ), + Row( + children: [ + AppText( + TranslationBase.of(context).orders, + fontSize: 25.0, + fontWeight: FontWeight.w700, + ), + ], + ), + ], + ), ), - ), - Container( - child: ListView.builder( - scrollDirection: Axis.vertical, - shrinkWrap: true, - itemCount: model.pendingOrdersList.length, - itemBuilder: (BuildContext ctxt, int index) { - return Padding( - padding: EdgeInsets.all(8.0), - child: Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.all( - Radius.circular(10.0), + Container( + child: ListView.builder( + scrollDirection: Axis.vertical, + shrinkWrap: true, + itemCount: model.pendingOrdersList.length, + itemBuilder: (BuildContext ctxt, int index) { + return Padding( + padding: EdgeInsets.all(8.0), + child: Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.all( + Radius.circular(10.0), + ), + border: Border.all( + color: Color(0xFF707070), width: 0.30), + ), + child: Padding( + padding: EdgeInsets.all(8.0), + child: AppText( + model.pendingOrdersList[index].notes), ), - border: Border.all( - color: Color(0xFF707070), width: 0.30), - ), - child: Padding( - padding: EdgeInsets.all(8.0), - child: AppText( - model.pendingOrdersList[index].notes), ), - ), - ); - })), - ], - ), - ), + ); + })), + ], + ), + ), ); } } diff --git a/lib/screens/patients/profile/profile_screen/patient_profile_screen.dart b/lib/screens/patients/profile/profile_screen/patient_profile_screen.dart index 2aa9e669..ffea7c78 100644 --- a/lib/screens/patients/profile/profile_screen/patient_profile_screen.dart +++ b/lib/screens/patients/profile/profile_screen/patient_profile_screen.dart @@ -70,7 +70,7 @@ class _PatientProfileScreenState extends State with Single _tabController.dispose(); super.dispose(); if (isFromLiveCare) { - _liveCareViewModel.removePatientFromDoctorList(patient.vcId); + _liveCareViewModel.removePatientFromDoctorList(patient.vcId!); } } @@ -139,7 +139,7 @@ class _PatientProfileScreenState extends State with Single return BaseView( onModelReady: (model) async { if (isFromLiveCare && patient.patientStatus == 1) - await model.addPatientToDoctorList(patient.vcId); + await model.addPatientToDoctorList(patient!.vcId!); },builder: (_, model, w) => AppScaffold( baseViewModel: model,isLoading: true, appBarTitle: TranslationBase.of(context).patientProfile ?? "", @@ -151,6 +151,7 @@ class _PatientProfileScreenState extends State with Single Column( children: [ PatientProfileAppBar( + patient, patientProfileAppBarModel: PatientProfileAppBarModel( patient: patient, videoCallDurationStream: videoCallDurationStream, @@ -364,7 +365,7 @@ class _PatientProfileScreenState extends State with Single } else { GifLoaderDialogUtils.showMyDialog(context); await model.startCall( - isReCall: false, vCID: patient.vcId); + isReCall: false, vCID: patient.vcId!); if (model.state == ViewState.ErrorLocal) { GifLoaderDialogUtils.hideDialog(context); @@ -398,7 +399,7 @@ class _PatientProfileScreenState extends State with Single : true, callConnected, callDisconnected); - }); + }, type: ''); } } }, @@ -417,16 +418,16 @@ class _PatientProfileScreenState extends State with Single ); } - createEpisode({PatiantInformtion patient, SOAPViewModel model}) async { + createEpisode({required PatiantInformtion patient, required SOAPViewModel model}) async { await locator().logEvent( eventCategory: "Patient Profile", eventAction: "Create Episode", ); GifLoaderDialogUtils.showMyDialog(context); - if (patient.admissionNo != null && patient.admissionNo.isNotEmpty) { + if (patient.admissionNo != null && patient.admissionNo!.isNotEmpty) { PostEpisodeForInpatientRequestModel postEpisodeReqModel = PostEpisodeForInpatientRequestModel( - admissionNo: int.parse(patient.admissionNo), + admissionNo: int.parse(patient!.admissionNo!), patientID: patient.patientId); await model.postEpisodeForInPatient(postEpisodeReqModel); } else { diff --git a/lib/screens/patients/profile/profile_screen/profile_gird_for_InPatient.dart b/lib/screens/patients/profile/profile_screen/profile_gird_for_InPatient.dart index e9451e54..7e861aa8 100644 --- a/lib/screens/patients/profile/profile_screen/profile_gird_for_InPatient.dart +++ b/lib/screens/patients/profile/profile_screen/profile_gird_for_InPatient.dart @@ -42,8 +42,8 @@ class ProfileGridForInPatient extends StatelessWidget { LAB_RESULT, 'patient/lab_results.png', isInPatient: isInpatient), PatientProfileCardModel( - TranslationBase.of(context).lab, - TranslationBase.of(context).special, + TranslationBase.of(context).lab!, + TranslationBase.of(context).special!, ALL_SPECIAL_LAB_RESULT, 'patient/lab_results.png', isInPatient: isInpatient), diff --git a/lib/screens/patients/profile/profile_screen/profile_gird_for_other.dart b/lib/screens/patients/profile/profile_screen/profile_gird_for_other.dart index 7045f6c7..6f1b57d8 100644 --- a/lib/screens/patients/profile/profile_screen/profile_gird_for_other.dart +++ b/lib/screens/patients/profile/profile_screen/profile_gird_for_other.dart @@ -38,13 +38,13 @@ class ProfileGridForOther extends StatelessWidget { PatientProfileCardModel( TranslationBase.of(context).lab!, TranslationBase.of(context).result!, LAB_RESULT, 'patient/lab_results.png', isInPatient: isInpatient), - PatientProfileCardModel(TranslationBase.of(context).lab, TranslationBase.of(context).special, + PatientProfileCardModel(TranslationBase.of(context).lab!, TranslationBase.of(context).special!, ALL_SPECIAL_LAB_RESULT, 'patient/lab_results.png', isInPatient: isInpatient), - PatientProfileCardModel(TranslationBase.of(context).radiology, TranslationBase.of(context).service, + PatientProfileCardModel(TranslationBase.of(context).radiology!, TranslationBase.of(context).service!, RADIOLOGY_PATIENT, 'patient/health_summary.png', isInPatient: isInpatient), - PatientProfileCardModel(TranslationBase.of(context).orders, TranslationBase.of(context).prescription, + PatientProfileCardModel(TranslationBase.of(context).orders!, TranslationBase.of(context).prescription!, ORDER_PRESCRIPTION_NEW, 'patient/order_prescription.png', isInPatient: isInpatient), PatientProfileCardModel(TranslationBase.of(context).health!, TranslationBase.of(context).summary!, HEALTH_SUMMARY, diff --git a/lib/screens/patients/profile/profile_screen/profile_gird_for_search.dart b/lib/screens/patients/profile/profile_screen/profile_gird_for_search.dart index 47097c43..3dc919d1 100644 --- a/lib/screens/patients/profile/profile_screen/profile_gird_for_search.dart +++ b/lib/screens/patients/profile/profile_screen/profile_gird_for_search.dart @@ -35,13 +35,13 @@ class ProfileGridForSearch extends StatelessWidget { PatientProfileCardModel( TranslationBase.of(context).lab!, TranslationBase.of(context).result!, LAB_RESULT, 'patient/lab_results.png', isInPatient: isInpatient), - PatientProfileCardModel(TranslationBase.of(context).lab, TranslationBase.of(context).special, + PatientProfileCardModel(TranslationBase.of(context).lab!, TranslationBase.of(context).special!, ALL_SPECIAL_LAB_RESULT, 'patient/lab_results.png', isInPatient: isInpatient), - PatientProfileCardModel(TranslationBase.of(context).radiology, TranslationBase.of(context).service, + PatientProfileCardModel(TranslationBase.of(context).radiology!, TranslationBase.of(context).service!, RADIOLOGY_PATIENT, 'patient/health_summary.png', isInPatient: isInpatient), - PatientProfileCardModel(TranslationBase.of(context).orders, TranslationBase.of(context).prescription, + PatientProfileCardModel(TranslationBase.of(context).orders!, TranslationBase.of(context).prescription!, ORDER_PRESCRIPTION_NEW, 'patient/order_prescription.png', isInPatient: isInpatient), PatientProfileCardModel(TranslationBase.of(context).health!, TranslationBase.of(context).summary!, HEALTH_SUMMARY, diff --git a/lib/screens/patients/profile/referral/my-referral-detail-screen.dart b/lib/screens/patients/profile/referral/my-referral-detail-screen.dart index ac8ddd16..dab0002a 100644 --- a/lib/screens/patients/profile/referral/my-referral-detail-screen.dart +++ b/lib/screens/patients/profile/referral/my-referral-detail-screen.dart @@ -16,7 +16,7 @@ import 'package:flutter/material.dart'; // ignore: must_be_immutable class MyReferralDetailScreen extends StatelessWidget { - final MyReferralPatientModel referralPatient; + final MyReferralPatientModel? referralPatient; const MyReferralDetailScreen({Key? key, this.referralPatient}) : super(key: key); @@ -29,7 +29,7 @@ class MyReferralDetailScreen extends StatelessWidget { onModelReady: (model) => model.getDoctorProfile(), builder: (_, model, w) => AppScaffold( baseViewModel: model, - appBarTitle: TranslationBase.of(context).referPatient, + appBarTitle: TranslationBase.of(context).referPatient!, isShowAppBar: false, body: Column( children: [ @@ -53,13 +53,13 @@ class MyReferralDetailScreen extends StatelessWidget { ), Expanded( child: AppText( - (Helpers.capitalize(referralPatient.firstName + " " + referralPatient.lastName)), + (Helpers.capitalize(referralPatient!.firstName! + " " + referralPatient!.lastName!)), fontSize: SizeConfig.textMultiplier * 2.5, fontWeight: FontWeight.bold, fontFamily: 'Poppins', ), ), - referralPatient.gender == 1 + referralPatient!.gender! == 1 ? Icon( DoctorApp.male_2, color: Colors.blue, @@ -79,7 +79,7 @@ class MyReferralDetailScreen extends StatelessWidget { width: 60, height: 60, child: Image.asset( - referralPatient.gender == 1 + referralPatient!.gender == 1 ? 'assets/images/male_avatar.png' : 'assets/images/female_avatar.png', fit: BoxFit.cover, @@ -96,20 +96,20 @@ class MyReferralDetailScreen extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ AppText( - referralPatient.referralStatus != null - ? model.getReferralStatusNameByCode(referralPatient.referralStatus, context) + referralPatient!.referralStatus != null + ? model.getReferralStatusNameByCode(referralPatient!.referralStatus!, context) : "", fontFamily: 'Poppins', fontSize: 1.9 * SizeConfig.textMultiplier, fontWeight: FontWeight.w700, - color: referralPatient.referralStatus == 1 + color: referralPatient!.referralStatus == 1 ? Color(0xffc4aa54) - : referralPatient.referralStatus == 46 || referralPatient.referralStatus == 2 + : referralPatient!.referralStatus == 46 || referralPatient!.referralStatus! == 2 ? Colors.green[700] : Colors.red[700], ), AppText( - AppDateUtils.getDayMonthYearDateFormatted(referralPatient.referralDate), + AppDateUtils.getDayMonthYearDateFormatted(referralPatient!.referralDate!), fontFamily: 'Poppins', fontWeight: FontWeight.w600, fontSize: 2.0 * SizeConfig.textMultiplier, @@ -131,7 +131,7 @@ class MyReferralDetailScreen extends StatelessWidget { color: Color(0XFF575757), ), AppText( - "${referralPatient.patientID}", + "${referralPatient!.patientID}", fontFamily: 'Poppins', fontWeight: FontWeight.w700, fontSize: 1.8 * SizeConfig.textMultiplier, @@ -140,7 +140,7 @@ class MyReferralDetailScreen extends StatelessWidget { ], ), AppText( - AppDateUtils.getTimeHHMMA(referralPatient.referralDate), + AppDateUtils.getTimeHHMMA(referralPatient!.referralDate!), fontFamily: 'Poppins', fontWeight: FontWeight.w600, fontSize: 1.8 * SizeConfig.textMultiplier, @@ -166,7 +166,7 @@ class MyReferralDetailScreen extends StatelessWidget { color: Color(0XFF575757), ), AppText( - referralPatient.targetProjectId == referralPatient.sourceProjectId + referralPatient!.targetProjectId! == referralPatient!.sourceProjectId! ? TranslationBase.of(context).sameBranch : TranslationBase.of(context).otherBranch, fontFamily: 'Poppins', @@ -181,7 +181,7 @@ class MyReferralDetailScreen extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( - TranslationBase.of(context).remarks + " : ", + TranslationBase.of(context).remarks! + " : ", fontFamily: 'Poppins', fontWeight: FontWeight.w600, fontSize: 1.7 * SizeConfig.textMultiplier, @@ -189,7 +189,7 @@ class MyReferralDetailScreen extends StatelessWidget { ), Expanded( child: AppText( - referralPatient.referringDoctorRemarks ?? '', + referralPatient!.referringDoctorRemarks ?? '', fontFamily: 'Poppins', fontWeight: FontWeight.w700, fontSize: 1.8 * SizeConfig.textMultiplier, @@ -204,22 +204,22 @@ class MyReferralDetailScreen extends StatelessWidget { Row( children: [ AppText( - referralPatient.nationalityName != null - ? referralPatient.nationalityName + referralPatient!.nationalityName != null + ? referralPatient!.nationalityName : "", fontWeight: FontWeight.bold, color: Color(0xFF2E303A), fontSize: 1.4 * SizeConfig.textMultiplier, ), - referralPatient.nationalityFlagURL != null + referralPatient!.nationalityFlagURL != null ? ClipRRect( borderRadius: BorderRadius.circular(20.0), child: Image.network( - referralPatient.nationalityFlagURL, + referralPatient!.nationalityFlagURL!, height: 25, width: 30, errorBuilder: - (BuildContext context, Object exception, StackTrace stackTrace) { + (BuildContext ?context, Object ?exception, StackTrace? stackTrace) { return Text('No Image'); }, )) @@ -247,7 +247,7 @@ class MyReferralDetailScreen extends StatelessWidget { height: 40, child: CircleAvatar( radius: 25.0, - backgroundImage: NetworkImage(referralPatient.doctorImageURL), + backgroundImage: NetworkImage(referralPatient!.doctorImageURL!), backgroundColor: Colors.transparent, ), ), @@ -259,7 +259,7 @@ class MyReferralDetailScreen extends StatelessWidget { child: Column( children: [ AppText( - referralPatient.doctorName, + referralPatient!.doctorName, fontFamily: 'Poppins', fontWeight: FontWeight.w700, fontSize: 1.7 * SizeConfig.textMultiplier, @@ -293,7 +293,7 @@ class MyReferralDetailScreen extends StatelessWidget { padding: const EdgeInsets.symmetric(horizontal: 16), child: SizedBox( child: ProfileMedicalInfoWidgetSearch( - patient: model.getPatientFromReferralO(referralPatient), + patient: model.getPatientFromReferralO(referralPatient!), patientType: "7", isInpatient: false, from: null, @@ -306,7 +306,7 @@ class MyReferralDetailScreen extends StatelessWidget { ), ), ), - if (referralPatient.referralStatus == 1) + if (referralPatient!.referralStatus == 1) Container( margin: EdgeInsets.symmetric(horizontal: 16, vertical: 16), child: Row( @@ -321,7 +321,7 @@ class MyReferralDetailScreen extends StatelessWidget { vPadding: 12, disabled: model.state == ViewState.Busy, onPressed: () async { - await model.responseReferral(referralPatient, true); + await model.responseReferral(referralPatient!, true); if (model.state == ViewState.ErrorLocal) { DrAppToastMsg.showErrorToast(model.error); } else { @@ -346,7 +346,7 @@ class MyReferralDetailScreen extends StatelessWidget { vPadding: 12, disabled: model.state == ViewState.Busy, onPressed: () async { - await model.responseReferral(referralPatient, false); + await model.responseReferral(referralPatient!, false); if (model.state == ViewState.ErrorLocal) { DrAppToastMsg.showErrorToast(model.error); } else { diff --git a/lib/screens/patients/profile/soap_update/assessment/add_assessment_details.dart b/lib/screens/patients/profile/soap_update/assessment/add_assessment_details.dart index 17b8740c..afe7cb62 100644 --- a/lib/screens/patients/profile/soap_update/assessment/add_assessment_details.dart +++ b/lib/screens/patients/profile/soap_update/assessment/add_assessment_details.dart @@ -115,7 +115,7 @@ class _AddAssessmentDetailsState extends State { baseViewModel: model, isShowAppBar: true, appBar: BottomSheetTitle( - title: TranslationBase.of(context).addAssessmentDetails), + title: TranslationBase.of(context).addAssessmentDetails!), backgroundColor: Theme.of(context).scaffoldBackgroundColor, body: SingleChildScrollView( child: Center( @@ -210,9 +210,9 @@ class _AddAssessmentDetailsState extends State { .width * 0.7, child: AppText( widget.mySelectedAssessment - .selectedICD.description + + .selectedICD!.description! + (' (${widget.mySelectedAssessment - .selectedICD.code} )'), + .selectedICD!.code!} )'), color: Color(0xFF575757), fontSize: 10, fontWeight: FontWeight.w700, diff --git a/lib/screens/patients/profile/soap_update/assessment/update_assessment_page.dart b/lib/screens/patients/profile/soap_update/assessment/update_assessment_page.dart index f42289f9..e2cf91cf 100644 --- a/lib/screens/patients/profile/soap_update/assessment/update_assessment_page.dart +++ b/lib/screens/patients/profile/soap_update/assessment/update_assessment_page.dart @@ -165,7 +165,7 @@ class _UpdateAssessmentPageState extends State ), new TextSpan( text: assessment - .selectedICD.code + .selectedICD!.code .trim() .toUpperCase() ?? ""), @@ -191,7 +191,7 @@ class _UpdateAssessmentPageState extends State children: [ new TextSpan( text: assessment - .selectedICD.description + .selectedICD!.description .toString(), ), ], @@ -249,7 +249,7 @@ class _UpdateAssessmentPageState extends State new TextSpan( text: TranslationBase.of( context) - .condition + + .condition! + " : ", style: new TextStyle( letterSpacing: -0.4, @@ -260,11 +260,11 @@ class _UpdateAssessmentPageState extends State text: projectViewModel .isArabic ? assessment - .selectedDiagnosisCondition - .nameAr + .selectedDiagnosisCondition! + .nameAr! : assessment - .selectedDiagnosisCondition - .nameEn, + .selectedDiagnosisCondition! + .nameEn!, style: new TextStyle( fontSize: SizeConfig .getTextMultiplierBasedOnWidth() * @@ -289,7 +289,7 @@ class _UpdateAssessmentPageState extends State new TextSpan( text: TranslationBase.of( context) - .dType + + .dType! + ' : ', style: new TextStyle( letterSpacing: -0.4, @@ -300,10 +300,10 @@ class _UpdateAssessmentPageState extends State text: projectViewModel .isArabic ? assessment - .selectedDiagnosisType + .selectedDiagnosisType! .nameAr : assessment - .selectedDiagnosisType + .selectedDiagnosisType! .nameEn, style: new TextStyle( fontSize: SizeConfig @@ -331,7 +331,7 @@ class _UpdateAssessmentPageState extends State new TextSpan( text: TranslationBase.of( context) - .doctor + + .doctor! + ' : ', style: new TextStyle( fontSize: SizeConfig @@ -374,7 +374,7 @@ class _UpdateAssessmentPageState extends State '') ? TranslationBase.of( context) - .remarks + + .remarks! + " : " : '', fontSize: SizeConfig @@ -405,8 +405,8 @@ class _UpdateAssessmentPageState extends State ? AppDateUtils .getDayMonthYearDateFormatted( DateTime.parse( - assessment - .createdOn)) + assessment! + .createdOn!)) : AppDateUtils .getDayMonthYearDateFormatted( DateTime.now()), @@ -419,8 +419,8 @@ class _UpdateAssessmentPageState extends State assessment.createdOn != null ? AppDateUtils.getHour( DateTime.parse( - assessment - .createdOn)) + assessment! + .createdOn!)) : AppDateUtils.getHour( DateTime.now()), fontWeight: FontWeight.w600, diff --git a/lib/screens/patients/register_patient/RegisterSearchPatientPage.dart b/lib/screens/patients/register_patient/RegisterSearchPatientPage.dart index fd425c01..3fdbedd2 100644 --- a/lib/screens/patients/register_patient/RegisterSearchPatientPage.dart +++ b/lib/screens/patients/register_patient/RegisterSearchPatientPage.dart @@ -39,10 +39,10 @@ class RegisterSearchPatientPage extends StatefulWidget { } class _RegisterSearchPatientPageState extends State { - String countryError; + late String countryError; dynamic _selectedCountry; - List countryList; + late List countryList; dynamic country; @@ -52,14 +52,14 @@ class _RegisterSearchPatientPageState extends State { TextEditingController(text: "508079569"); TextEditingController _phoneCode = TextEditingController(text: "966"); - String phoneError; + late String phoneError; TextEditingController _idController = TextEditingController(text: "1062938285"); - String idError; + late String idError; - DateTime _birthDateInGregorian; - String birthdateError; + late DateTime _birthDateInGregorian; + late String birthdateError; var birthDateInHijri = new HijriCalendar.now(); CalenderType calenderType = CalenderType.Gregorian; diff --git a/lib/screens/patients/register_patient/VerifyMethodPage.dart b/lib/screens/patients/register_patient/VerifyMethodPage.dart index f2d0646f..61b70110 100644 --- a/lib/screens/patients/register_patient/VerifyMethodPage.dart +++ b/lib/screens/patients/register_patient/VerifyMethodPage.dart @@ -16,7 +16,7 @@ class ActivationPage extends StatefulWidget { final PatientRegistrationViewModel model; final Function changePageViewIndex; - ActivationPage({this.model, this.changePageViewIndex}); + ActivationPage({required this.model, required this.changePageViewIndex}); @override _ActivationPageState createState() => _ActivationPageState(); @@ -393,7 +393,7 @@ class _ActivationPageState extends State { children: [ AppText( TranslationBase.of(context) - .validationMessage + + .validationMessage! + ' ', fontWeight: FontWeight.w600, fontSize: 14, @@ -481,7 +481,6 @@ class _ActivationPageState extends State { sendActivationCode(type) async { GifLoaderDialogUtils.showMyDialog(context); await widget.model.sendActivationCodeByOTPNotificationType(otpType: type); - if (widget.model.state == ViewState.ErrorLocal) { Helpers.showErrorToast(widget.model.error); GifLoaderDialogUtils.hideDialog(context); diff --git a/lib/screens/prescription/add_prescription_form.dart b/lib/screens/prescription/add_prescription_form.dart index 128acac6..fca7cb41 100644 --- a/lib/screens/prescription/add_prescription_form.dart +++ b/lib/screens/prescription/add_prescription_form.dart @@ -426,7 +426,7 @@ class _PrescriptionFormWidgetState extends State { element: model.itemMedicineListUnit.length == 1 ? model.itemMedicineListUnit[0] : units, - elementError: unitError, + elementError: unitError!, keyName: 'description', keyId: 'parameterCode', hintText: 'Select', @@ -448,7 +448,7 @@ class _PrescriptionFormWidgetState extends State { element: model.itemMedicineListRoute.length == 1 ? model.itemMedicineListRoute[0] : route, - elementError: routeError, + elementError: routeError!, keyId: 'parameterCode', keyName: 'description', okFunction: (selectedValue) { diff --git a/lib/screens/reschedule-leaves/reschedule_leave.dart b/lib/screens/reschedule-leaves/reschedule_leave.dart index 7d90c9a8..c554e563 100644 --- a/lib/screens/reschedule-leaves/reschedule_leave.dart +++ b/lib/screens/reschedule-leaves/reschedule_leave.dart @@ -37,9 +37,9 @@ class _RescheduleLeaveScreen extends State { DrAppSharedPreferances sharedPref = new DrAppSharedPreferances(); TextEditingController _toDateController = new TextEditingController(); TextEditingController _toDateController2 = new TextEditingController(); - ProjectViewModel projectsProvider; - SickLeaveViewModel sickLeaveViewModel; - String _selectedClinic; + late ProjectViewModel projectsProvider; + late SickLeaveViewModel sickLeaveViewModel; + late String _selectedClinic; Map profile = {}; var offTime = '1'; var date; @@ -48,8 +48,8 @@ class _RescheduleLeaveScreen extends State { dynamic fromDate; dynamic toDate; var clinicID; - String fromTime; - String toTime; + late String fromTime; + late String toTime; TextEditingController _controller4 = new TextEditingController(); TextEditingController _controller5 = new TextEditingController(); void _presentDatePicker(id) { @@ -119,7 +119,7 @@ class _RescheduleLeaveScreen extends State { child: AppScaffold( baseViewModel: model2, isShowAppBar: true, - appBarTitle: TranslationBase.of(context).rescheduleLeaves, + appBarTitle: TranslationBase.of(context).rescheduleLeaves!, body: Center( child: Container( margin: EdgeInsets.only(top: 10), @@ -127,121 +127,6 @@ class _RescheduleLeaveScreen extends State { widthFactor: 0.9, child: ListView( children: [ - // Container( - // margin: EdgeInsets.all(8), - // decoration: BoxDecoration( - // borderRadius: BorderRadius.all( - // Radius.circular(6.0)), - // border: Border.all( - // width: 1.0, - // color: HexColor("#CCCCCC"))), - // width: double.infinity, - // child: Padding( - // padding: EdgeInsets.only( - // top: SizeConfig.widthMultiplier * 0.9, - // bottom: - // SizeConfig.widthMultiplier * 0.9, - // right: SizeConfig.widthMultiplier * 3, - // left: SizeConfig.widthMultiplier * 3), - // child: Column( - // crossAxisAlignment: - // CrossAxisAlignment.start, - // children: [ - // Row( - // mainAxisSize: MainAxisSize.max, - // children: [ - // Expanded( - // // add Expanded to have your dropdown button fill remaining space - // child: - // DropdownButtonHideUnderline( - // child: new IgnorePointer( - // ignoring: true, - // child: DropdownButton( - // focusColor: - // Colors.grey, - // isExpanded: true, - // dropdownColor: - // Colors.grey, - // value: getClinicName( - // model) ?? - // "", - // iconSize: 0, - // elevation: 16, - // selectedItemBuilder: - // (BuildContext - // context) { - // return model - // .getClinicNameList() - // .map((item) { - // return Row( - // mainAxisSize: - // MainAxisSize - // .max, - // children: < - // Widget>[ - // AppText( - // item, - // fontSize: - // SizeConfig.textMultiplier * - // 2.1, - // color: Colors - // .grey[ - // 500], - // ), - // ], - // ); - // }).toList(); - // }, - // onChanged: - // (newValue) => - // {}, - // items: model - // .getClinicNameList() - // .map((item) { - // return DropdownMenuItem( - // value: item - // .toString(), - // child: Text( - // item, - // textAlign: - // TextAlign - // .end, - // ), - // ); - // }).toList(), - // ))), - // ), - // ], - // ) - // ], - // ), - // )), - - // Container( - // margin: EdgeInsets.all(8), - // decoration: BoxDecoration( - // borderRadius: - // BorderRadius.all(Radius.circular(6.0)), - // border: Border.all( - // width: 1.0, - // color: HexColor("#CCCCCC"))), - // padding: EdgeInsets.all(5), - // child: Column( - // crossAxisAlignment: CrossAxisAlignment.start, - // children: [ - // new IgnorePointer( - // ignoring: true, - // child: AppTextFormField( - // readOnly: true, - // hintText: profile != null - // ? profile['DoctorName'] - // : "", - // borderColor: Colors.white, - // onSaved: (value) {}, - // inputFormatter: ONLY_NUMBERS)) - // ], - // ), - // ), Container( margin: EdgeInsets.all(8), @@ -334,7 +219,7 @@ class _RescheduleLeaveScreen extends State { AppTextFormField( hintText: TranslationBase.of(context).fromDate, borderColor: Colors.white, - prefix: IconButton(icon: Icon(Icons.calendar_today)), + prefix: IconButton(icon: Icon(Icons.calendar_today), onPressed: () { },), textInputType: TextInputType.number, controller: _toDateController, onTap: () { @@ -369,7 +254,7 @@ class _RescheduleLeaveScreen extends State { // () => _valueToValidate4 = val); return null; }, - onSaved: (val) => fromTime = val, + onSaved: (val) => fromTime = val!, ) ], ), @@ -396,7 +281,7 @@ class _RescheduleLeaveScreen extends State { // () => _valueToValidate4 = val); return null; }, - onSaved: (val) => toTime = val, + onSaved: (val) => toTime = val!, ) ], ), @@ -420,7 +305,7 @@ class _RescheduleLeaveScreen extends State { AppTextFormField( hintText: TranslationBase.of(context).fromDate, borderColor: Colors.white, - prefix: IconButton(icon: Icon(Icons.calendar_today)), + prefix: IconButton(icon: Icon(Icons.calendar_today), onPressed: () { },), textInputType: TextInputType.number, readOnly: true, controller: _toDateController, @@ -448,7 +333,7 @@ class _RescheduleLeaveScreen extends State { hintText: TranslationBase.of(context).toDate, readOnly: true, borderColor: Colors.white, - prefix: IconButton(icon: Icon(Icons.calendar_today)), + prefix: IconButton(icon: Icon(Icons.calendar_today), onPressed: () { },), textInputType: TextInputType.number, controller: _toDateController2, onTap: () { @@ -550,8 +435,7 @@ class _RescheduleLeaveScreen extends State { Row( mainAxisSize: MainAxisSize.max, children: [ - model2.coveringDoctors.length > 0 - ? Expanded( + if (model2.coveringDoctors.length > 0) Expanded( // add Expanded to have your dropdown button fill remaining space child: DropdownSearch( mode: Mode.BOTTOM_SHEET, @@ -605,69 +489,7 @@ class _RescheduleLeaveScreen extends State { ), ), ), - // DropdownButtonHideUnderline( - // child: DropdownButton( - // focusColor: Colors.grey, - // isExpanded: true, - // value: doctorID == null - // ? model2 - // .coveringDoctors[0] - // ['doctorID'] - // .toString() - // : doctorID, - // iconSize: 40, - // elevation: 16, - // selectedItemBuilder: - // (BuildContext context) { - // return model2 - // .coveringDoctors - // .map((item) { - // return Row( - // mainAxisSize: - // MainAxisSize.max, - // children: [ - // AppText( - // projectsProvider - // .isArabic - // ? item[ - // 'doctorNameN'] - // : item[ - // 'doctorName'], - // fontSize: SizeConfig - // .textMultiplier * - // 2.1, - // ), - // ], - // ); - // }).toList(); - // }, - // onChanged: (newValue) => { - // setState(() { - // doctorID = newValue; - // }) - // }, - // items: model2 - // .coveringDoctors - // .map((item) { - // return DropdownMenuItem< - // String>( - // value: item['doctorID'] - // .toString(), - // child: Text( - // projectsProvider - // .isArabic - // ? item[ - // 'doctorNameN'] - // : item[ - // 'doctorName'], - // textAlign: - // TextAlign.start, - // ), - // ); - // }).toList(), - // )), - ) - : SizedBox(), + ) else SizedBox(), ], ) ], diff --git a/lib/widgets/patients/profile/profile_medical_info_widget_search.dart b/lib/widgets/patients/profile/profile_medical_info_widget_search.dart index e457b6dd..b5be57ec 100644 --- a/lib/widgets/patients/profile/profile_medical_info_widget_search.dart +++ b/lib/widgets/patients/profile/profile_medical_info_widget_search.dart @@ -8,8 +8,8 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class ProfileMedicalInfoWidgetSearch extends StatefulWidget { - final String from; - final String to; + final String? from; + final String? to; final PatiantInformtion patient; final String patientType; final String? arrivalType; @@ -21,8 +21,8 @@ class ProfileMedicalInfoWidgetSearch extends StatefulWidget { required this.patient, required this.patientType, this.arrivalType, - required this.from, - required this.to, + this.from, + this.to, this.isInpatient = false, this.isDischargedPatient}); diff --git a/pubspec.lock b/pubspec.lock index 957312ba..972d2116 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -35,7 +35,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.8.2" + version: "2.8.1" autocomplete_textfield: dependency: "direct main" description: @@ -154,7 +154,7 @@ packages: name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.1.0" charcode: dependency: transitive description: @@ -315,7 +315,7 @@ packages: name: dropdown_search url: "https://pub.dartlang.org" source: hosted - version: "0.6.3" + version: "2.0.1" equatable: dependency: transitive description: @@ -769,7 +769,7 @@ packages: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.11" + version: "0.12.10" meta: dependency: transitive description: @@ -1173,7 +1173,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.3" + version: "0.4.2" timing: dependency: transitive description: @@ -1257,7 +1257,7 @@ packages: name: vector_math url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" + version: "2.1.0" video_player: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 323cb1b0..b67d4eb5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -45,7 +45,7 @@ dependencies: #Icons eva_icons_flutter: ^3.0.0 font_awesome_flutter: ^9.0.0 - dropdown_search: ^0.6.1 + dropdown_search: ^2.0.1 flutter_staggered_grid_view: ^0.4.0 expandable: ^5.0.1 From 359b337b275d60dbc24d400a70a4d217c4cf1405 Mon Sep 17 00:00:00 2001 From: Elham Rababh Date: Mon, 22 Nov 2021 15:36:56 +0200 Subject: [PATCH 2/2] 6 step from fix screen --- .../my_selected_examination.dart | 10 +++--- .../selected_items/my_selected_history.dart | 4 +-- .../objective/add_examination_page.dart | 2 +- .../objective/add_examination_widget.dart | 16 ++++----- .../objective/examination_item_card.dart | 2 +- .../examinations_list_search_widget.dart | 2 +- .../objective/update_objective_page.dart | 35 +++++++++---------- .../soap_update/plan/update_plan_page.dart | 13 +++---- .../shared_soap_widgets/SOAP_step_header.dart | 2 +- .../bottom_sheet_dialog_button.dart | 4 +-- .../shared_soap_widgets/remark_text.dart | 4 +-- .../shared_soap_widgets/remove_button.dart | 4 +-- .../steper/Step_details_widget.dart | 4 +-- .../steper/status_Label.dart | 6 ++-- .../steper/steps_widget.dart | 22 ++++++------ .../subjective/allergies/add_allergies.dart | 4 +-- .../subjective/allergies/allergies_item.dart | 30 ++++++++-------- ..._key_checkbox_search_allergies_widget.dart | 24 ++++++------- .../allergies/update_allergies_widget.dart | 18 +++++----- .../history/add_history_dialog.dart | 2 +- .../history/update_history_widget.dart | 6 ++-- 21 files changed, 106 insertions(+), 108 deletions(-) diff --git a/lib/models/SOAP/selected_items/my_selected_examination.dart b/lib/models/SOAP/selected_items/my_selected_examination.dart index 75f67ae2..8c2f375b 100644 --- a/lib/models/SOAP/selected_items/my_selected_examination.dart +++ b/lib/models/SOAP/selected_items/my_selected_examination.dart @@ -1,16 +1,16 @@ import 'package:doctor_app_flutter/models/SOAP/master_key_model.dart'; class MySelectedExamination { - MasterKeyModel selectedExamination; - String remark; + MasterKeyModel? selectedExamination; + String? remark; bool isNormal; bool isAbnormal; bool notExamined; bool isNew; bool isLocal; - int createdBy; - String createdOn; - String editedOn; + int? createdBy; + String? createdOn; + String? editedOn; MySelectedExamination({ this.selectedExamination, diff --git a/lib/models/SOAP/selected_items/my_selected_history.dart b/lib/models/SOAP/selected_items/my_selected_history.dart index 177fb46e..814027c9 100644 --- a/lib/models/SOAP/selected_items/my_selected_history.dart +++ b/lib/models/SOAP/selected_items/my_selected_history.dart @@ -1,8 +1,8 @@ import 'package:doctor_app_flutter/models/SOAP/master_key_model.dart'; class MySelectedHistory { - MasterKeyModel selectedHistory; - String remark; + MasterKeyModel? selectedHistory; + String? remark; bool? isChecked; bool? isLocal; diff --git a/lib/screens/patients/profile/soap_update/objective/add_examination_page.dart b/lib/screens/patients/profile/soap_update/objective/add_examination_page.dart index 3f55b8f4..8593dbb9 100644 --- a/lib/screens/patients/profile/soap_update/objective/add_examination_page.dart +++ b/lib/screens/patients/profile/soap_update/objective/add_examination_page.dart @@ -25,7 +25,7 @@ class AddExaminationPage extends StatefulWidget { } class _AddExaminationPageState extends State { - List mySelectedExaminationLocal; + late List mySelectedExaminationLocal; @override initState() { diff --git a/lib/screens/patients/profile/soap_update/objective/add_examination_widget.dart b/lib/screens/patients/profile/soap_update/objective/add_examination_widget.dart index e6df38e7..1f5232f7 100644 --- a/lib/screens/patients/profile/soap_update/objective/add_examination_widget.dart +++ b/lib/screens/patients/profile/soap_update/objective/add_examination_widget.dart @@ -20,7 +20,7 @@ class AddExaminationWidget extends StatefulWidget { final bool Function(MasterKeyModel) isServiceSelected; bool isExpand; final VoidCallback expandClick; - final List mySelectedExamination; + final List? mySelectedExamination; AddExaminationWidget({ required this.item, @@ -44,13 +44,13 @@ class _AddExaminationWidgetState extends State { @override void initState() { if (getSelectedExam(widget.item) != null) { - examination = getSelectedExam(widget.item); + examination = getSelectedExam(widget.item)!; status = examination.isNormal ? 1 : examination.isAbnormal ? 2 : 3; - remarksController.text = examination.remark; + remarksController.text = examination!.remark!; } else { examination.selectedExamination = widget.item; } @@ -75,7 +75,7 @@ class _AddExaminationWidgetState extends State { Checkbox( value:widget.isServiceSelected(widget.item), activeColor: Colors.red[800], - onChanged: (bool newValue) { + onChanged: (bool ?newValue) { onExamTap(); }), Container( @@ -274,11 +274,11 @@ class _AddExaminationWidgetState extends State { }); } - MySelectedExamination getSelectedExam(MasterKeyModel masterKey) { - Iterable exam = widget.mySelectedExamination.where( + MySelectedExamination? getSelectedExam(MasterKeyModel masterKey) { + Iterable exam = widget.mySelectedExamination!.where( (element) => - masterKey.id == element.selectedExamination.id && - masterKey.typeId == element.selectedExamination.typeId); + masterKey.id == element.selectedExamination!.id && + masterKey.typeId == element.selectedExamination!.typeId); if (exam.length > 0) { return exam.first; } diff --git a/lib/screens/patients/profile/soap_update/objective/examination_item_card.dart b/lib/screens/patients/profile/soap_update/objective/examination_item_card.dart index 7ad9dedd..592478f7 100644 --- a/lib/screens/patients/profile/soap_update/objective/examination_item_card.dart +++ b/lib/screens/patients/profile/soap_update/objective/examination_item_card.dart @@ -73,7 +73,7 @@ class ExaminationItemCard extends StatelessWidget { SizedBox( height: 4, ), - if (examination.remark.isNotEmpty) + if (examination.remark!.isNotEmpty) RemarkText(remark: examination.remark), ], ), diff --git a/lib/screens/patients/profile/soap_update/objective/examinations_list_search_widget.dart b/lib/screens/patients/profile/soap_update/objective/examinations_list_search_widget.dart index c89b30d3..480826ce 100644 --- a/lib/screens/patients/profile/soap_update/objective/examinations_list_search_widget.dart +++ b/lib/screens/patients/profile/soap_update/objective/examinations_list_search_widget.dart @@ -19,7 +19,7 @@ class ExaminationsListSearchWidget extends StatefulWidget { {required this.removeExamination, required this.addExamination, required this.isServiceSelected, - required this.masterList, this.mySelectedExamination}); + required this.masterList, required this.mySelectedExamination}); @override _ExaminationsListSearchWidgetState createState() => _ExaminationsListSearchWidgetState(); diff --git a/lib/screens/patients/profile/soap_update/objective/update_objective_page.dart b/lib/screens/patients/profile/soap_update/objective/update_objective_page.dart index 99891220..7ece1622 100644 --- a/lib/screens/patients/profile/soap_update/objective/update_objective_page.dart +++ b/lib/screens/patients/profile/soap_update/objective/update_objective_page.dart @@ -71,7 +71,7 @@ class _UpdateObjectivePageState extends State await model.getMasterLookup(MasterKeysService.PhysicalExamination); } model.patientPhysicalExamList.forEach((element) { - MasterKeyModel examMaster = model.getOneMasterKey( + MasterKeyModel? examMaster = model.getOneMasterKey( masterKeys: MasterKeysService.PhysicalExamination, id: element.examId, ); @@ -152,7 +152,7 @@ class _UpdateObjectivePageState extends State .map((examination) { return ExaminationItemCard(examination, () { removeExamination( - examination.selectedExamination); + examination!.selectedExamination!); }); }).toList(), ), @@ -181,7 +181,7 @@ class _UpdateObjectivePageState extends State .map((examination) { return ExaminationItemCard(examination, () { removeExamination( - examination.selectedExamination); + examination.selectedExamination!); }); }).toList(), ) @@ -205,7 +205,7 @@ class _UpdateObjectivePageState extends State submitUpdateObjectivePage(SOAPViewModel model) async { if (mySelectedExamination.isNotEmpty) { if(!model.isAddExamInProgress && widget.patientInfo.admissionNo != null && - widget.patientInfo.admissionNo.isNotEmpty) { + widget.patientInfo.admissionNo!.isNotEmpty) { Navigator.of(context).pop(); }else{ widget.changeLoadingState(true); @@ -230,8 +230,8 @@ class _UpdateObjectivePageState extends State createdOn: exam.createdOn ?? DateTime.now().toIso8601String(), editedBy: doctorProfile.doctorID, editedOn: DateTime.now().toIso8601String(), - examId: exam.selectedExamination.id, - examType: exam.selectedExamination.typeId, + examId: exam.selectedExamination!.id, + examType: exam.selectedExamination!.typeId, isAbnormal: exam.isAbnormal, isNormal: exam.isNormal, notExamined: exam.notExamined, @@ -248,13 +248,13 @@ class _UpdateObjectivePageState extends State isNew: exam.isNew, ); if (widget.patientInfo.admissionNo != null && - widget.patientInfo.admissionNo.isNotEmpty) { + widget.patientInfo.admissionNo!.isNotEmpty) { listHisProgNotePhysicalExaminationVM.admissionNo = - int.parse(widget.patientInfo.admissionNo); + int.parse(widget.patientInfo.admissionNo!); } else { listHisProgNotePhysicalExaminationVM.admissionNo = 0; } - postPhysicalExamRequestModel.listHisProgNotePhysicalExaminationVM + postPhysicalExamRequestModel.listHisProgNotePhysicalExaminationVM! .add(listHisProgNotePhysicalExaminationVM); }); @@ -268,13 +268,13 @@ class _UpdateObjectivePageState extends State widget.changeLoadingState(false); Helpers.showErrorToast(model.error); if(widget.patientInfo.admissionNo != null && - widget.patientInfo.admissionNo.isNotEmpty) { + widget.patientInfo.admissionNo!.isNotEmpty) { // Navigator.of(context).pop(); model.isAddExamInProgress = false; } } else { if(widget.patientInfo.admissionNo != null && - widget.patientInfo.admissionNo.isNotEmpty) { + widget.patientInfo.admissionNo!.isNotEmpty) { // Navigator.of(context).pop(); widget.changeLoadingState(false); model.isAddExamInProgress = false; @@ -322,9 +322,8 @@ class _UpdateObjectivePageState extends State mySelectedExaminationLocal.forEach((element) { if ((mySelectedExamination.singleWhere( (it) => - it.selectedExamination.id == - element.selectedExamination.id, - orElse: () => null)) == + it.selectedExamination!.id == + element.selectedExamination!.id)) == null) { mySelectedExamination.insert(0,element); } @@ -335,16 +334,16 @@ class _UpdateObjectivePageState extends State mySelectedExamination.forEach((element) { if ((mySelectedExaminationLocal.singleWhere( (it) => - it.selectedExamination.id == - element.selectedExamination.id, - orElse: () => null)) == + it.selectedExamination!.id == + element.selectedExamination!.id, + )) == null) { removedList.add(element); } }); removedList.forEach((element) { - removeExamination(element.selectedExamination); + removeExamination(element.selectedExamination!); }); Navigator.of(context).pop(); } diff --git a/lib/screens/patients/profile/soap_update/plan/update_plan_page.dart b/lib/screens/patients/profile/soap_update/plan/update_plan_page.dart index f2f67f8c..cac5deeb 100644 --- a/lib/screens/patients/profile/soap_update/plan/update_plan_page.dart +++ b/lib/screens/patients/profile/soap_update/plan/update_plan_page.dart @@ -37,7 +37,8 @@ class UpdatePlanPage extends StatefulWidget { required this.changeLoadingState, required this.currentIndex, required this.sOAPViewModel, - this.changeStateFun}); + required this.changeStateFun}); + @override _UpdatePlanPageState createState() => _UpdatePlanPageState(); @@ -90,7 +91,7 @@ class _UpdatePlanPageState extends State ///TODO set progressNote in model; if (widget.sOAPViewModel.patientProgressNoteList.isNotEmpty) { progressNoteController.text = Helpers.parseHtmlString( - widget.sOAPViewModel.patientProgressNoteList[0].planNote); + widget.sOAPViewModel!.patientProgressNoteList[0]!.planNote!); patientProgressNote.planNote = progressNoteController.text; patientProgressNote.createdByName = @@ -126,7 +127,7 @@ class _UpdatePlanPageState extends State if (widget.sOAPViewModel.patientProgressNoteList.isNotEmpty) { progressNoteController.text = Helpers.parseHtmlString( - widget.sOAPViewModel.patientProgressNoteList[0].planNote); + widget.sOAPViewModel.patientProgressNoteList[0].planNote!); patientProgressNote.planNote = progressNoteController.text; patientProgressNote.createdByName = widget.sOAPViewModel.patientProgressNoteList[0].createdByName; @@ -253,7 +254,7 @@ class _UpdatePlanPageState extends State .getDayMonthYearDateFormatted( DateTime.parse( patientProgressNote - .createdOn)) + .createdOn!)) : AppDateUtils .getDayMonthYearDateFormatted( DateTime.now()), @@ -288,7 +289,7 @@ class _UpdatePlanPageState extends State ? AppDateUtils.getHour( DateTime.parse( patientProgressNote - .createdOn)) + .createdOn!)) : AppDateUtils.getHour( DateTime.now()), fontWeight: FontWeight.w600, @@ -385,7 +386,7 @@ class _UpdatePlanPageState extends State .getPatientProgressNote(getGetProgressNoteReqModel); if (widget.sOAPViewModel.patientProgressNoteList.isNotEmpty) { progressNoteController.text = Helpers.parseHtmlString( - widget.sOAPViewModel.patientProgressNoteList[0].planNote); + widget.sOAPViewModel.patientProgressNoteList[0].planNote!); patientProgressNote.planNote = progressNoteController.text; patientProgressNote.createdByName = widget.sOAPViewModel.patientProgressNoteList[0].createdByName; diff --git a/lib/screens/patients/profile/soap_update/shared_soap_widgets/SOAP_step_header.dart b/lib/screens/patients/profile/soap_update/shared_soap_widgets/SOAP_step_header.dart index ef92e0db..92d049c2 100644 --- a/lib/screens/patients/profile/soap_update/shared_soap_widgets/SOAP_step_header.dart +++ b/lib/screens/patients/profile/soap_update/shared_soap_widgets/SOAP_step_header.dart @@ -9,7 +9,7 @@ class SOAPStepHeader extends StatelessWidget { const SOAPStepHeader({ Key? key, required this.currentIndex, - required this.changePageViewIndex, this.patientInfo, + required this.changePageViewIndex, required this.patientInfo, }) : super(key: key); final int currentIndex; diff --git a/lib/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart b/lib/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart index c7d48e1c..b9e6ba14 100644 --- a/lib/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart +++ b/lib/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart @@ -4,8 +4,8 @@ import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; class BottomSheetDialogButton extends StatelessWidget { - final Function onTap; - final String label; + final VoidCallback? onTap; + final String? label; double headerHeight = SizeConfig.heightMultiplier * 12; diff --git a/lib/screens/patients/profile/soap_update/shared_soap_widgets/remark_text.dart b/lib/screens/patients/profile/soap_update/shared_soap_widgets/remark_text.dart index 91ef6954..eb9023f9 100644 --- a/lib/screens/patients/profile/soap_update/shared_soap_widgets/remark_text.dart +++ b/lib/screens/patients/profile/soap_update/shared_soap_widgets/remark_text.dart @@ -3,9 +3,9 @@ import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:flutter/material.dart'; class RemarkText extends StatelessWidget { - final String remark; + final String? remark; const RemarkText({ - Key key, this.remark, + Key? key, this.remark, }) : super(key: key); @override diff --git a/lib/screens/patients/profile/soap_update/shared_soap_widgets/remove_button.dart b/lib/screens/patients/profile/soap_update/shared_soap_widgets/remove_button.dart index c64fe86a..e989852d 100644 --- a/lib/screens/patients/profile/soap_update/shared_soap_widgets/remove_button.dart +++ b/lib/screens/patients/profile/soap_update/shared_soap_widgets/remove_button.dart @@ -7,8 +7,8 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:hexcolor/hexcolor.dart'; class RemoveButton extends StatelessWidget { - final Function onTap; - final String label; + final VoidCallback? onTap; + final String? label; const RemoveButton({Key? key, this.onTap, this.label}) : super(key: key); diff --git a/lib/screens/patients/profile/soap_update/shared_soap_widgets/steper/Step_details_widget.dart b/lib/screens/patients/profile/soap_update/shared_soap_widgets/steper/Step_details_widget.dart index fb1bdcc9..72abc567 100644 --- a/lib/screens/patients/profile/soap_update/shared_soap_widgets/steper/Step_details_widget.dart +++ b/lib/screens/patients/profile/soap_update/shared_soap_widgets/steper/Step_details_widget.dart @@ -4,10 +4,10 @@ import 'package:flutter/material.dart'; class StepDetailsWidget extends StatelessWidget { final String stepLabel; - final double marginLeft; + final double? marginLeft; const StepDetailsWidget({ - Key key, this.stepLabel, this.marginLeft = 0, + Key? key, required this.stepLabel, this.marginLeft = 0, }) : super(key: key); @override diff --git a/lib/screens/patients/profile/soap_update/shared_soap_widgets/steper/status_Label.dart b/lib/screens/patients/profile/soap_update/shared_soap_widgets/steper/status_Label.dart index 10562d53..53f04994 100644 --- a/lib/screens/patients/profile/soap_update/shared_soap_widgets/steper/status_Label.dart +++ b/lib/screens/patients/profile/soap_update/shared_soap_widgets/steper/status_Label.dart @@ -6,9 +6,9 @@ import 'package:hexcolor/hexcolor.dart'; class StatusLabel extends StatelessWidget { const StatusLabel({ - Key key, - this.stepId, - this.selectedStepId, + Key? key, + required this.stepId, + required this.selectedStepId, }) : super(key: key); final int stepId; diff --git a/lib/screens/patients/profile/soap_update/shared_soap_widgets/steper/steps_widget.dart b/lib/screens/patients/profile/soap_update/shared_soap_widgets/steper/steps_widget.dart index 22f92f00..12d9f8fe 100644 --- a/lib/screens/patients/profile/soap_update/shared_soap_widgets/steper/steps_widget.dart +++ b/lib/screens/patients/profile/soap_update/shared_soap_widgets/steper/steps_widget.dart @@ -17,10 +17,10 @@ class StepsWidget extends StatelessWidget { StepsWidget( {Key? key, - this.index, - this.changeCurrentTab, + required this.index, + required this.changeCurrentTab, this.height = 0.0, - this.patientInfo}); + required this.patientInfo}); @override Widget build(BuildContext context) { @@ -52,7 +52,7 @@ class StepsWidget extends StatelessWidget { child: Container( width: MediaQuery.of(context).size.width * (patientInfo.admissionNo == null || - patientInfo.admissionNo.isEmpty + patientInfo.admissionNo!.isEmpty ? 0.9 : 0.85), child: Divider( @@ -115,7 +115,7 @@ class StepsWidget extends StatelessWidget { Positioned( top: circleTop, left: patientInfo.admissionNo == null || - patientInfo.admissionNo.isEmpty + patientInfo.admissionNo!.isEmpty ? MediaQuery.of(context).size.width * 0.25 : MediaQuery.of(context).size.width * 0.71, child: InkWell( @@ -167,7 +167,7 @@ class StepsWidget extends StatelessWidget { ), ), if (patientInfo.admissionNo == null || - patientInfo.admissionNo.isEmpty) + patientInfo.admissionNo!.isEmpty) Positioned( top: circleTop, left: MediaQuery.of(context).size.width * 0.47, @@ -222,7 +222,7 @@ class StepsWidget extends StatelessWidget { ), ), if (patientInfo.admissionNo == null || - patientInfo.admissionNo.isEmpty) + patientInfo.admissionNo!.isEmpty) Positioned( top: circleTop, right: 0, @@ -289,7 +289,7 @@ class StepsWidget extends StatelessWidget { child: Center( child: Container( width: MediaQuery.of(context).size.width * (patientInfo.admissionNo == null || - patientInfo.admissionNo.isEmpty?0.9:0.85), + patientInfo.admissionNo!.isEmpty?0.9:0.85), child: Divider( color: Colors.grey, height: 0.75, @@ -349,7 +349,7 @@ class StepsWidget extends StatelessWidget { Positioned( top: circleTop, right: MediaQuery.of(context).size.width * (patientInfo.admissionNo == null || - patientInfo.admissionNo.isEmpty?0.25:0.71), + patientInfo.admissionNo!.isEmpty?0.25:0.71), child: InkWell( onTap: () => index >= 2 ? changeCurrentTab(1) : null, child: Column( @@ -396,7 +396,7 @@ class StepsWidget extends StatelessWidget { ), ), if (patientInfo.admissionNo == null || - patientInfo.admissionNo.isEmpty) + patientInfo.admissionNo!.isEmpty) Positioned( top: circleTop, right: MediaQuery.of(context).size.width * 0.50, @@ -451,7 +451,7 @@ class StepsWidget extends StatelessWidget { ), ), if (patientInfo.admissionNo == null || - patientInfo.admissionNo.isEmpty) + patientInfo.admissionNo!.isEmpty) Positioned( top: circleTop, left: 0, diff --git a/lib/screens/patients/profile/soap_update/subjective/allergies/add_allergies.dart b/lib/screens/patients/profile/soap_update/subjective/allergies/add_allergies.dart index ff5c6e6f..621e6736 100644 --- a/lib/screens/patients/profile/soap_update/subjective/allergies/add_allergies.dart +++ b/lib/screens/patients/profile/soap_update/subjective/allergies/add_allergies.dart @@ -100,7 +100,7 @@ class _AddAllergiesState extends State { isServiceSelected: (master) => isServiceSelected(master), getServiceSelectedAllergy: (master) => - getSelectedAllergy(master), + getSelectedAllergy(master)!, hintSearchText: '', buttonName: '', ), ), ), @@ -145,7 +145,7 @@ class _AddAllergiesState extends State { myAllergiesListLocal.removeWhere((element) => element.selectedAllergy!.id == masterKey.id); } - MySelectedAllergy? getSelectedAllergy(MasterKeyModel masterKey) { + MySelectedAllergy ? getSelectedAllergy(MasterKeyModel masterKey) { Iterable allergy = myAllergiesListLocal.where((element) => masterKey.id == element.selectedAllergy!.id && masterKey.typeId == element.selectedAllergy!.typeId && diff --git a/lib/screens/patients/profile/soap_update/subjective/allergies/allergies_item.dart b/lib/screens/patients/profile/soap_update/subjective/allergies/allergies_item.dart index cceab871..fe4ee498 100644 --- a/lib/screens/patients/profile/soap_update/subjective/allergies/allergies_item.dart +++ b/lib/screens/patients/profile/soap_update/subjective/allergies/allergies_item.dart @@ -27,12 +27,12 @@ class AddAllergiesItem extends StatefulWidget { const AddAllergiesItem( {Key? key, - this.model, - this.removeAllergy, - this.addAllergy, - this.isServiceSelected, - this.getServiceSelectedAllergy, - this.item}) + required this.model, + required this.removeAllergy, + required this.addAllergy, + required this.isServiceSelected, + required this.getServiceSelectedAllergy, + required this.item}) : super(key: key); @override @@ -40,7 +40,7 @@ class AddAllergiesItem extends StatefulWidget { } class _AddAllergiesItemState extends State { - MasterKeyModel _selectedAllergySeverity; + late MasterKeyModel _selectedAllergySeverity; bool isSubmitted = false; @override @@ -48,7 +48,7 @@ class _AddAllergiesItemState extends State { ProjectViewModel projectViewModel = Provider.of(context); bool isSelected = widget.isServiceSelected(widget.item); - MySelectedAllergy mySelectedAllergy; + MySelectedAllergy mySelectedAllergy =MySelectedAllergy() ; if (isSelected) { mySelectedAllergy = widget.getServiceSelectedAllergy(widget.item); } @@ -58,8 +58,8 @@ class _AddAllergiesItemState extends State { text: isSelected ? mySelectedAllergy.selectedAllergySeverity != null ? projectViewModel.isArabic - ? mySelectedAllergy.selectedAllergySeverity.nameAr - : mySelectedAllergy.selectedAllergySeverity.nameEn + ? mySelectedAllergy.selectedAllergySeverity!.nameAr + : mySelectedAllergy.selectedAllergySeverity!.nameEn : null : null); return HeaderBodyExpandableNotifier( @@ -71,7 +71,7 @@ class _AddAllergiesItemState extends State { Checkbox( value: widget.isServiceSelected(widget.item), activeColor: Colors.red[800], - onChanged: (bool newValue) { + onChanged: (bool ?newValue) { onTapItem(); }), InkWell( @@ -97,12 +97,12 @@ class _AddAllergiesItemState extends State { if (mySelectedAllergy != null) { setState(() { mySelectedAllergy.isExpanded = - mySelectedAllergy.isExpanded ? false : true; + mySelectedAllergy.isExpanded! ? false : true; }); } }, child: Icon( - (mySelectedAllergy != null ? mySelectedAllergy.isExpanded : false) + (mySelectedAllergy!.isExpanded!) ? EvaIcons.arrowIosUpwardOutline : EvaIcons.arrowIosDownwardOutline, color: Color(0xFF575757), @@ -142,14 +142,14 @@ class _AddAllergiesItemState extends State { } : null, isTextFieldHasSuffix: true, - hintText: TranslationBase.of(context).selectSeverity + "*", + hintText: TranslationBase.of(context).selectSeverity! + "*", enabled: false, maxLines: 1, minLines: 1, height: Helpers.getTextFieldHeight(), validationError: mySelectedAllergy != null && mySelectedAllergy.selectedAllergySeverity == null && - mySelectedAllergy.hasValidationError + mySelectedAllergy!.hasValidationError! ? TranslationBase.of(context).severityValidationError : null, controller: severityController, diff --git a/lib/screens/patients/profile/soap_update/subjective/allergies/master_key_checkbox_search_allergies_widget.dart b/lib/screens/patients/profile/soap_update/subjective/allergies/master_key_checkbox_search_allergies_widget.dart index 2c13c5b2..36cdad17 100644 --- a/lib/screens/patients/profile/soap_update/subjective/allergies/master_key_checkbox_search_allergies_widget.dart +++ b/lib/screens/patients/profile/soap_update/subjective/allergies/master_key_checkbox_search_allergies_widget.dart @@ -25,15 +25,15 @@ class MasterKeyCheckboxSearchAllergiesWidget extends StatefulWidget { MasterKeyCheckboxSearchAllergiesWidget( {Key? key, - this.model, - this.addSelectedAllergy, - this.removeAllergy, - this.masterList, - this.addAllergy, - this.isServiceSelected, - this.buttonName, - this.hintSearchText, - this.getServiceSelectedAllergy}) + required this.model, + required this.addSelectedAllergy, + required this.removeAllergy, + required this.masterList, + required this.addAllergy, + required this.isServiceSelected, + required this.buttonName, + required this.hintSearchText, + required this.getServiceSelectedAllergy}) : super(key: key); @override @@ -80,7 +80,7 @@ class _MasterKeyCheckboxSearchAllergiesWidgetState icon: Icon( Icons.search, color: Colors.black, - )), + ), onPressed: () { },), ), DividerWithSpacesAround(), SizedBox( @@ -127,8 +127,8 @@ class _MasterKeyCheckboxSearchAllergiesWidgetState if (query.isNotEmpty) { List dummyListData = []; dummySearchList.forEach((items) { - if (items.nameAr.toLowerCase().contains(query.toLowerCase()) || - items.nameEn.toLowerCase().contains(query.toLowerCase())) { + if (items.nameAr!.toLowerCase().contains(query.toLowerCase()) || + items.nameEn!.toLowerCase().contains(query.toLowerCase())) { dummyListData.add(items); } }); diff --git a/lib/screens/patients/profile/soap_update/subjective/allergies/update_allergies_widget.dart b/lib/screens/patients/profile/soap_update/subjective/allergies/update_allergies_widget.dart index b0902519..e84754eb 100644 --- a/lib/screens/patients/profile/soap_update/subjective/allergies/update_allergies_widget.dart +++ b/lib/screens/patients/profile/soap_update/subjective/allergies/update_allergies_widget.dart @@ -77,11 +77,11 @@ class _UpdateAllergiesWidgetState extends State { AppText( projectViewModel.isArabic ? selectedAllergy - .selectedAllergySeverity.nameAr + .selectedAllergySeverity!.nameAr : selectedAllergy - .selectedAllergySeverity.nameEn + .selectedAllergySeverity!.nameEn! .toUpperCase(), - textDecoration: selectedAllergy.isChecked + textDecoration: selectedAllergy!.isChecked! ? null : TextDecoration.lineThrough, color: Color(0xFFCC9B14), @@ -132,7 +132,7 @@ class _UpdateAllergiesWidgetState extends State { .toList(); if (allergy.length > 0) { - if (allergy.first.isLocal) { + if (allergy!.first!.isLocal!) { setState(() { widget.myAllergiesList.remove(allergy.first); }); @@ -165,9 +165,8 @@ class _UpdateAllergiesWidgetState extends State { mySelectedAllergy.forEach((element) { if ((widget.myAllergiesList.singleWhere( (it) => - it.selectedAllergy.id == - element.selectedAllergy.id, - orElse: () => null)) == + it.selectedAllergy!.id == + element.selectedAllergy!.id,)) == null) { widget.myAllergiesList.add(element); } @@ -178,9 +177,8 @@ class _UpdateAllergiesWidgetState extends State { widget.myAllergiesList.forEach((element) { if ((mySelectedAllergy.singleWhere( (it) => - it.selectedAllergy.id == - element.selectedAllergy.id, - orElse: () => null)) == + it.selectedAllergy!.id == + element.selectedAllergy!.id)) == null) { removedList.add(element); } diff --git a/lib/screens/patients/profile/soap_update/subjective/history/add_history_dialog.dart b/lib/screens/patients/profile/soap_update/subjective/history/add_history_dialog.dart index cb0598cd..bf294b07 100644 --- a/lib/screens/patients/profile/soap_update/subjective/history/add_history_dialog.dart +++ b/lib/screens/patients/profile/soap_update/subjective/history/add_history_dialog.dart @@ -59,7 +59,7 @@ class _AddHistoryDialogState extends State { baseViewModel: model, isShowAppBar: true, appBar: - BottomSheetTitle(title: TranslationBase.of(context).addHistory), + BottomSheetTitle(title: TranslationBase.of(context).addHistory!), body: Center( child: Container( child: Column( diff --git a/lib/screens/patients/profile/soap_update/subjective/history/update_history_widget.dart b/lib/screens/patients/profile/soap_update/subjective/history/update_history_widget.dart index f0512273..06898bdc 100644 --- a/lib/screens/patients/profile/soap_update/subjective/history/update_history_widget.dart +++ b/lib/screens/patients/profile/soap_update/subjective/history/update_history_widget.dart @@ -70,9 +70,9 @@ class _UpdateHistoryWidgetState extends State with TickerPr letterSpacing: -0.48,), width: MediaQuery.of(context).size.width * 0.5, ), - if (myHistory.isChecked) + if (myHistory!.isChecked!) RemoveButton( - onTap: () => removeHistory(myHistory.selectedHistory), + onTap: () => removeHistory(myHistory!.selectedHistory!), ) ], ), @@ -97,7 +97,7 @@ class _UpdateHistoryWidgetState extends State with TickerPr .toList(); if (history.length > 0){ - if (history.first.isLocal) { + if (history!.first!.isLocal!) { setState(() { widget.myHistoryList.remove(history.first); });