|
|
|
@ -8,10 +8,8 @@ import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/Text.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/TextFields.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/app_buttons_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/dialogs/master_key_dailog.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/divider_with_spaces_around.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/master_key_checkbox_search_allergies_widget.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart';
|
|
|
|
@ -21,8 +19,6 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
|
|
|
|
import 'package:hexcolor/hexcolor.dart';
|
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
|
|
|
|
|
|
import '../custom_validation_error.dart';
|
|
|
|
|
|
|
|
|
|
class UpdateAllergiesWidget extends StatefulWidget {
|
|
|
|
|
List<MySelectedAllergy> myAllergiesList;
|
|
|
|
|
|
|
|
|
@ -202,15 +198,27 @@ class _UpdateAllergiesWidgetState extends State<UpdateAllergiesWidget> {
|
|
|
|
|
builder: (context) {
|
|
|
|
|
return AddAllergies(
|
|
|
|
|
myAllergiesList: widget.myAllergiesList,
|
|
|
|
|
addAllergiesFun: (List<MySelectedAllergy> mySelectedAllergy){
|
|
|
|
|
setState(() {
|
|
|
|
|
widget.myAllergiesList.addAll(mySelectedAllergy);
|
|
|
|
|
addAllergiesFun: (List<MySelectedAllergy> mySelectedAllergy) {
|
|
|
|
|
bool isAllDataFilled = true;
|
|
|
|
|
mySelectedAllergy.forEach((element) {
|
|
|
|
|
if (element.selectedAllergySeverity == null) {
|
|
|
|
|
isAllDataFilled = false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
if (isAllDataFilled) {
|
|
|
|
|
mySelectedAllergy.forEach((element) {
|
|
|
|
|
if (!widget.myAllergiesList.contains(element)) {
|
|
|
|
|
widget.myAllergiesList.add(element);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
changeParentState();
|
|
|
|
|
Navigator.of(context).pop();
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
helpers.showErrorToast(TranslationBase
|
|
|
|
|
.of(context)
|
|
|
|
|
.requiredMsg);
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -363,9 +371,9 @@ class _AddAllergiesState extends State<AddAllergies> {
|
|
|
|
|
child: MasterKeyCheckboxSearchAllergiesWidget(
|
|
|
|
|
model: model,
|
|
|
|
|
masterList: model.allergiesList,
|
|
|
|
|
removeAllergy: (history){
|
|
|
|
|
removeAllergy: (master) {
|
|
|
|
|
setState(() {
|
|
|
|
|
// widget.allergie(history);
|
|
|
|
|
removeAllergyFromLocalList(master);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
addAllergy: (MySelectedAllergy mySelectedAllergy){
|
|
|
|
@ -382,190 +390,6 @@ class _AddAllergiesState extends State<AddAllergies> {
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
// Container(
|
|
|
|
|
// height: screenSize.height * 0.070,
|
|
|
|
|
// child: InkWell(
|
|
|
|
|
// onTap: model.allergiesList != null
|
|
|
|
|
// ? () {
|
|
|
|
|
// setState(() {
|
|
|
|
|
// _selectedAllergy = null;
|
|
|
|
|
// allergyController.text = null;
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
// : null,
|
|
|
|
|
// child: _selectedAllergy==null? AutoCompleteTextField<MasterKeyModel>(
|
|
|
|
|
// decoration: textFieldSelectorDecoration(
|
|
|
|
|
// TranslationBase
|
|
|
|
|
// .of(context)
|
|
|
|
|
// .selectAllergy,
|
|
|
|
|
// _selectedAllergy != null
|
|
|
|
|
// ? _selectedAllergy.nameEn
|
|
|
|
|
// : null, true, icon: EvaIcons.search),
|
|
|
|
|
// itemSubmitted: (item) =>
|
|
|
|
|
// setState(() {
|
|
|
|
|
// _selectedAllergy = item;
|
|
|
|
|
// allergyController.text =
|
|
|
|
|
// projectViewModel.isArabic
|
|
|
|
|
// ? _selectedAllergy
|
|
|
|
|
// .nameAr
|
|
|
|
|
// : _selectedAllergy
|
|
|
|
|
// .nameEn;
|
|
|
|
|
// }),
|
|
|
|
|
// key: key,
|
|
|
|
|
// suggestions: model.allergiesList,
|
|
|
|
|
// itemBuilder: (context, suggestion) =>
|
|
|
|
|
// new Padding(
|
|
|
|
|
// child: Texts(
|
|
|
|
|
// projectViewModel.isArabic ? suggestion
|
|
|
|
|
// .nameAr : suggestion.nameEn),
|
|
|
|
|
// padding: EdgeInsets.all(2.0)),
|
|
|
|
|
// itemSorter: (a, b) => 1,
|
|
|
|
|
// itemFilter: (suggestion, input) =>
|
|
|
|
|
// suggestion.nameAr.toLowerCase().startsWith(
|
|
|
|
|
// input.toLowerCase()) ||
|
|
|
|
|
// suggestion.nameEn.toLowerCase()
|
|
|
|
|
// .startsWith(input.toLowerCase()),
|
|
|
|
|
// ) :
|
|
|
|
|
// TextFields(
|
|
|
|
|
// onTapTextFields: model.allergiesList != null
|
|
|
|
|
// ? () {
|
|
|
|
|
// setState(() {
|
|
|
|
|
// _selectedAllergy = null;
|
|
|
|
|
// allergyController.text = null;
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
// : null,
|
|
|
|
|
// hasLabelText: allergyController.text !=
|
|
|
|
|
// '' ? true : false,
|
|
|
|
|
// showLabelText: true,
|
|
|
|
|
// hintText: TranslationBase
|
|
|
|
|
// .of(context)
|
|
|
|
|
// .selectAllergy,
|
|
|
|
|
// fontSize: 13.5,
|
|
|
|
|
// readOnly: true,
|
|
|
|
|
// fontWeight: FontWeight.w600,
|
|
|
|
|
// maxLines: 2,
|
|
|
|
|
// minLines: 1,
|
|
|
|
|
// controller: allergyController,
|
|
|
|
|
// suffixIcon: EvaIcons.search,
|
|
|
|
|
// validator: (value) {
|
|
|
|
|
// if (value == null)
|
|
|
|
|
// return TranslationBase
|
|
|
|
|
// .of(context)
|
|
|
|
|
// .emptyMessage;
|
|
|
|
|
// else
|
|
|
|
|
// return null;
|
|
|
|
|
// })
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// if(isFormSubmitted && _selectedAllergy == null)
|
|
|
|
|
// CustomValidationError(),
|
|
|
|
|
// SizedBox(
|
|
|
|
|
// height: 10,
|
|
|
|
|
// ),
|
|
|
|
|
// TextFields(
|
|
|
|
|
// onTapTextFields: model
|
|
|
|
|
// .allergySeverityList != null
|
|
|
|
|
// ? () {
|
|
|
|
|
// MasterKeyDailog dialog = MasterKeyDailog(
|
|
|
|
|
// list: model.allergySeverityList,
|
|
|
|
|
// okText: TranslationBase
|
|
|
|
|
// .of(context)
|
|
|
|
|
// .ok,
|
|
|
|
|
// okFunction: (selectedValue) {
|
|
|
|
|
// setState(() {
|
|
|
|
|
// _selectedAllergySeverity =
|
|
|
|
|
// selectedValue;
|
|
|
|
|
//
|
|
|
|
|
// severityController.text =
|
|
|
|
|
// projectViewModel.isArabic
|
|
|
|
|
// ? _selectedAllergySeverity
|
|
|
|
|
// .nameAr
|
|
|
|
|
// : _selectedAllergySeverity
|
|
|
|
|
// .nameEn;
|
|
|
|
|
// });
|
|
|
|
|
// },
|
|
|
|
|
// );
|
|
|
|
|
// showDialog(
|
|
|
|
|
// barrierDismissible: false,
|
|
|
|
|
// context: context,
|
|
|
|
|
// builder: (BuildContext context) {
|
|
|
|
|
// return dialog;
|
|
|
|
|
// },
|
|
|
|
|
// );
|
|
|
|
|
// }
|
|
|
|
|
// : null,
|
|
|
|
|
// hasLabelText: severityController.text !=
|
|
|
|
|
// '' ? true : false,
|
|
|
|
|
// showLabelText: true,
|
|
|
|
|
// hintText: TranslationBase
|
|
|
|
|
// .of(context)
|
|
|
|
|
// .selectSeverity,
|
|
|
|
|
// fontSize: 13.5,
|
|
|
|
|
// readOnly: true,
|
|
|
|
|
// // hintColor: Colors.black,
|
|
|
|
|
// fontWeight: FontWeight.w600,
|
|
|
|
|
// maxLines: 2,
|
|
|
|
|
// minLines: 1,
|
|
|
|
|
// controller: severityController,
|
|
|
|
|
// validator: (value) {
|
|
|
|
|
// if (value == null)
|
|
|
|
|
// return TranslationBase
|
|
|
|
|
// .of(context)
|
|
|
|
|
// .emptyMessage;
|
|
|
|
|
// else
|
|
|
|
|
// return null;
|
|
|
|
|
// }), SizedBox(
|
|
|
|
|
// height: 5,
|
|
|
|
|
// ),
|
|
|
|
|
// if(isFormSubmitted &&
|
|
|
|
|
// _selectedAllergySeverity == null)
|
|
|
|
|
// CustomValidationError(),
|
|
|
|
|
//
|
|
|
|
|
// SizedBox(
|
|
|
|
|
// height: 10,
|
|
|
|
|
// ),
|
|
|
|
|
// Container(
|
|
|
|
|
// margin: EdgeInsets.only(
|
|
|
|
|
// left: 0, right: 0, top: 15),
|
|
|
|
|
// child: TextFields(
|
|
|
|
|
// hasLabelText: remarkController.text != ''?true:false,
|
|
|
|
|
// showLabelText: true,
|
|
|
|
|
// hintText: TranslationBase.of(context).remarks,
|
|
|
|
|
// fontSize: 13.5,
|
|
|
|
|
// // hintColor: Colors.black,
|
|
|
|
|
// fontWeight: FontWeight.w600,
|
|
|
|
|
// maxLines: 25,
|
|
|
|
|
// minLines: 10,
|
|
|
|
|
// controller: remarkController,
|
|
|
|
|
// validator: (value) {
|
|
|
|
|
// if (value == null)
|
|
|
|
|
// return TranslationBase
|
|
|
|
|
// .of(context)
|
|
|
|
|
// .emptyMessage;
|
|
|
|
|
// else
|
|
|
|
|
// return null;
|
|
|
|
|
// }),
|
|
|
|
|
// ), SizedBox(
|
|
|
|
|
// height: 10,
|
|
|
|
|
// ),
|
|
|
|
|
// AppButton(
|
|
|
|
|
// title: TranslationBase.of(context).add.toUpperCase(),
|
|
|
|
|
// onPressed: () {
|
|
|
|
|
// setState(() {
|
|
|
|
|
// isFormSubmitted = true;
|
|
|
|
|
// });
|
|
|
|
|
// if(_selectedAllergy !=null && _selectedAllergySeverity !=null) {
|
|
|
|
|
// MySelectedAllergy mySelectedAllergy = new MySelectedAllergy(
|
|
|
|
|
// remark: remarkController.text,
|
|
|
|
|
// selectedAllergy: _selectedAllergy,
|
|
|
|
|
// isChecked: true,
|
|
|
|
|
// selectedAllergySeverity: _selectedAllergySeverity,);
|
|
|
|
|
// widget.addAllergiesFun(mySelectedAllergy);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// },
|
|
|
|
|
// ),
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
),
|
|
|
|
@ -589,6 +413,11 @@ class _AddAllergiesState extends State<AddAllergies> {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
removeAllergyFromLocalList(MasterKeyModel masterKey) {
|
|
|
|
|
myAllergiesListLocal.removeWhere((element) =>
|
|
|
|
|
element.selectedAllergy.id == masterKey.id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MySelectedAllergy getSelectedAllergy(MasterKeyModel masterKey) {
|
|
|
|
|
Iterable<MySelectedAllergy> allergy =
|
|
|
|
|
myAllergiesListLocal.where((element) =>
|
|
|
|
|