change make referral page loading behaviour

merge-requests/224/head
mosazaid 5 years ago
parent b5a102add3
commit 88ee50f7cb

@ -41,7 +41,7 @@ class PatientReferralViewModel extends BaseViewModel {
} }
Future getBranches() async { Future getBranches() async {
setState(ViewState.Busy); setState(ViewState.BusyLocal);
await _referralPatientService.getProjectsList(); await _referralPatientService.getProjectsList();
if (_referralPatientService.hasError) { if (_referralPatientService.hasError) {
error = _referralPatientService.error; error = _referralPatientService.error;
@ -52,7 +52,7 @@ class PatientReferralViewModel extends BaseViewModel {
} }
Future getClinics(int projectId) async { Future getClinics(int projectId) async {
setState(ViewState.Busy); setState(ViewState.BusyLocal);
await _referralPatientService.getClinicsList(projectId); await _referralPatientService.getClinicsList(projectId);
await _referralPatientService.getProjectInfo(projectId); await _referralPatientService.getProjectInfo(projectId);
if (_referralPatientService.hasError) { if (_referralPatientService.hasError) {
@ -63,7 +63,7 @@ class PatientReferralViewModel extends BaseViewModel {
} }
Future getClinicDoctors(String clinicId) async { Future getClinicDoctors(String clinicId) async {
setState(ViewState.Busy); setState(ViewState.BusyLocal);
await _referralPatientService.getDoctorsList(clinicId); await _referralPatientService.getDoctorsList(clinicId);
if (_referralPatientService.hasError) { if (_referralPatientService.hasError) {
error = _referralPatientService.error; error = _referralPatientService.error;

@ -10,6 +10,7 @@ import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_buttons_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_buttons_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_loader_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/dialogs/dailog-list-select.dart'; import 'package:doctor_app_flutter/widgets/shared/dialogs/dailog-list-select.dart';
@ -55,7 +56,8 @@ class _PatientMakeReferralScreenState extends State<PatientMakeReferralScreen> {
final screenSize = MediaQuery.of(context).size; final screenSize = MediaQuery.of(context).size;
return BaseView<PatientReferralViewModel>( return BaseView<PatientReferralViewModel>(
onModelReady: (model) => model.getMasterLookup(MasterKeysService.physiotherapyGoals), onModelReady: (model) =>
model.getMasterLookup(MasterKeysService.physiotherapyGoals),
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
appBarTitle: TranslationBase.of(context).referPatient, appBarTitle: TranslationBase.of(context).referPatient,
@ -64,6 +66,14 @@ class _PatientMakeReferralScreenState extends State<PatientMakeReferralScreen> {
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround, mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [ children: [
if (model.state == ViewState.BusyLocal)
Container(
color: Colors.white,
width: 50,
height: 50,
child: AppLoaderWidget(
containerColor: Colors.white,
)),
Column( Column(
children: [ children: [
PatientPageHeaderWidget(patient), PatientPageHeaderWidget(patient),
@ -333,14 +343,15 @@ class _PatientMakeReferralScreenState extends State<PatientMakeReferralScreen> {
_remarksController.text == null) return; _remarksController.text == null) return;
model model
.makeReferral( .makeReferral(
patient, patient,
appointmentDate.toIso8601String(), appointmentDate.toIso8601String(),
_selectedBranch['ID'], _selectedBranch['ID'],
_selectedClinic['ClinicID'], _selectedClinic['ClinicID'],
_selectedDoctor['DoctorID'], _selectedDoctor['DoctorID'],
_remarksController.text) _remarksController.text)
.then((_) { .then((_) {
DrAppToastMsg.showSuccesToast(TranslationBase.of(context).referralSuccessMsg); DrAppToastMsg.showSuccesToast(
TranslationBase.of(context).referralSuccessMsg);
Navigator.pop(context); Navigator.pop(context);
}); });
}, },
@ -368,7 +379,7 @@ class _PatientMakeReferralScreenState extends State<PatientMakeReferralScreen> {
setState(() { setState(() {
appointmentDate = picked; appointmentDate = picked;
}); });
/* model /* model
.getPatientArrivalList(DateUtils.convertStringToDateFormat( .getPatientArrivalList(DateUtils.convertStringToDateFormat(
appointmentDate.toString(), "yyyy-MM-dd")) appointmentDate.toString(), "yyyy-MM-dd"))
.then((_) { .then((_) {

@ -9,9 +9,10 @@ import 'package:progress_hud_v2/progress_hud.dart';
*@desc: AppLoaderWidget to create loader *@desc: AppLoaderWidget to create loader
*/ */
class AppLoaderWidget extends StatefulWidget { class AppLoaderWidget extends StatefulWidget {
AppLoaderWidget({Key key, this.title}) : super(key: key); AppLoaderWidget({Key key, this.title, this.containerColor}) : super(key: key);
final String title; final String title;
final Color containerColor;
@override @override
_AppLoaderWidgetState createState() => new _AppLoaderWidgetState(); _AppLoaderWidgetState createState() => new _AppLoaderWidgetState();
@ -30,7 +31,7 @@ class _AppLoaderWidgetState extends State<AppLoaderWidget> {
*@desc: create loader the desing *@desc: create loader the desing
*/ */
_progressHUD = new ProgressHUD( _progressHUD = new ProgressHUD(
backgroundColor: Colors.black12, backgroundColor: widget.containerColor == null ? Colors.black12 : widget.containerColor,
color: Colors.black, color: Colors.black,
// containerColor: Colors.blue, // containerColor: Colors.blue,
borderRadius: 5.0, borderRadius: 5.0,

Loading…
Cancel
Save