import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/model/er/TriageQuestionsModel.dart'; import 'package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/er/EdOnlineViewModel.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; // ignore: must_be_immutable class EdOnlineQuestionsPage extends StatefulWidget { final HospitalsModel selectedHospital; final Function changePageViewIndex; List selectedQuestions; EdOnlineQuestionsPage({Key key, this.selectedHospital, this.selectedQuestions, this.changePageViewIndex}); @override _EdOnlineQuestionsPageState createState() => _EdOnlineQuestionsPageState(); } class _EdOnlineQuestionsPageState extends State { @override Widget build(BuildContext context) { return BaseView( onModelReady: (model) => model.getQuestions(), builder: (_, model, w) => AppScaffold( baseViewModel: model, body: SingleChildScrollView( physics: BouncingScrollPhysics(), child: Column( children: [ ...List.generate( model.triageQuestionsModelList.length, (index) => InkWell( onTap: () { setState(() { if (widget.selectedQuestions.contains(model.triageQuestionsModelList[index])) { widget.selectedQuestions.remove(model.triageQuestionsModelList[index]); } else { widget.selectedQuestions.add(model.triageQuestionsModelList[index]); } }); }, child: Container( margin: EdgeInsets.only(bottom: 10.0), child: Row( children: [ Checkbox( value: widget.selectedQuestions.contains(model.triageQuestionsModelList[index]), activeColor: Color(0xffD02127), tristate: false, materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, onChanged: (bool newValue) { setState(() { if (widget.selectedQuestions.contains(model.triageQuestionsModelList[index])) { widget.selectedQuestions.remove(model.triageQuestionsModelList[index]); } else { widget.selectedQuestions.add(model.triageQuestionsModelList[index]); } }); }), SizedBox(width: 6), Expanded( child: Text( model.triageQuestionsModelList[index].question, overflow: TextOverflow.clip, style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64), ), ), ], ), ), ), ), SizedBox( height: 120, ) ], ), ), bottomSheet: Container( color: CustomColors.appBackgroudGreyColor, child: Container( color: CustomColors.appBackgroudGreyColor, margin: EdgeInsets.all(14), height: 45.0, child: Row( mainAxisAlignment: MainAxisAlignment.end, children: [ Expanded( flex: 1, child: ButtonTheme( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10.0), ), height: 45.0, child: RaisedButton( color: new Color(0xffc5272d), textColor: Colors.white, elevation: 0, disabledTextColor: Colors.white, disabledColor: new Color(0xFFbcc2c4), onPressed: () { widget.changePageViewIndex(0); }, child: Text(TranslationBase.of(context).back, style: TextStyle(fontSize: 16.0)), ), ), ), mWidth(7), Expanded( flex: 1, child: ButtonTheme( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10.0), ), height: 45.0, child: RaisedButton( color: CustomColors.green, textColor: Colors.white, elevation: 0, disabledTextColor: Colors.white, disabledColor: new Color(0xFFbcc2c4), onPressed: widget.selectedQuestions.isEmpty ? null : () { GifLoaderDialogUtils.showMyDialog(context); model .saveQuestionsInformation( chiefComplaint: "", notes: "", selectedQuestions: widget.selectedQuestions, projectId: widget.selectedHospital.iD, selectedTime: DateTime.now()) .then((value) { GifLoaderDialogUtils.hideDialog(context); if (model.state == ViewState.ErrorLocal) AppToast.showErrorToast(message: model.error); else { widget.changePageViewIndex(4); } }).catchError((onError) { GifLoaderDialogUtils.hideDialog(context); AppToast.showErrorToast(message: onError.toString()); }); // widget.changePageViewIndex(4); }, child: Text(TranslationBase.of(context).next, style: TextStyle(fontSize: 16.0)), ), ), ), ], ), ), ), // Padding( // padding: const EdgeInsets.all(8.0), // child: Container( // height: 56, // child: Row( // children: [ // Expanded( // child: Container( // margin: EdgeInsets.only(left: 5, right: 5), // child: SecondaryButton( // textColor: Colors.white, // color: Theme.of(context).primaryColor, // label: TranslationBase.of(context).back.toUpperCase(), // onTap: () => widget.changePageViewIndex(1), // ), // ), // ), // SizedBox( // width: 10, // ), // Expanded( // child: Container( // margin: EdgeInsets.only(left: 5, right: 5), // child: SecondaryButton( // textColor: Colors.white, // color: Theme.of(context).primaryColor, // label: TranslationBase.of(context).next.toUpperCase(), // disabled: widget.selectedQuestions.isEmpty, // onTap: () => widget.changePageViewIndex(3), // ), // ), // ), // ], // ), // ), // ), ), ); } }