blood sugar dialog improvement.

merge-update-with-lab-changes
Sikander Saleem 4 years ago
parent d38de8c494
commit c1ce3a0489

@ -237,7 +237,8 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
buttonCancelText: Text(TranslationBase.of(context).cancel),
buttonCancelColor: Colors.grey,
onlyCancelButton: true,
));
),
);
},
child: Container(width: 250, height: 200, child: Image.asset('assets/images/BloodChrt_EN.png'), color: Colors.white),
),

@ -8,8 +8,8 @@ import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/RadioStringDialog.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/ConfirmWithMessageDialog.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/radio_selection_dialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@ -41,6 +41,8 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
String measureUnitSelectedType = 'mg/dlt';
int measuredTime = 1;
bool isButtonDisabled = true;
int _selectedMeasureUnitIndex = 0;
final List<String> measureUnitList = ['mg/dlt', 'mol/L'];
final List<String> measureTimeEnList = [
'Before Breakfast',
@ -66,6 +68,7 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
"صائم",
"آخر",
];
int _selectedMeasureTimeIndex;
String measureTimeSelectedType;
@override
@ -92,15 +95,14 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
showNewAppBar: true,
showNewAppBarTitle: true,
appBarTitle: widget.isUpdate ? TranslationBase.of(context).update : TranslationBase.of(context).add,
body: SingleChildScrollView(
body: Column(
children: [
Expanded(
child: SingleChildScrollView(
physics: BouncingScrollPhysics(),
child: Container(
margin: EdgeInsets.all(15),
padding: EdgeInsets.all(21),
child: Column(
children: [
SizedBox(
height: 15,
),
NewTextFields(
hintText: TranslationBase.of(context).sugarAdd,
controller: _bloodSugarValueController,
@ -109,9 +111,7 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
fontWeight: FontWeight.normal,
fontSize: 14,
),
SizedBox(
height: 8,
),
SizedBox(height: 12),
InkWell(
onTap: () {
confirmSelectMeasureUnitDialog();
@ -133,9 +133,7 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
),
),
),
SizedBox(
height: 8,
),
SizedBox(height: 12),
InkWell(
onTap: () {
DatePicker.showDatePicker(context, showTitleActions: true, minTime: DateTime(DateTime.now().year - 1, 1, 1), maxTime: DateTime.now(), onConfirm: (date) {
@ -158,9 +156,7 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
),
),
),
SizedBox(
height: 8,
),
SizedBox(height: 12),
InkWell(
onTap: () {
DatePicker.showTimePicker(context, showTitleActions: true, onConfirm: (date) {
@ -180,9 +176,7 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
),
),
),
SizedBox(
height: 8,
),
SizedBox(height: 12),
InkWell(
onTap: () {
confirmSelectMeasureTimeDialog(projectViewModel.isArabic ? measureTimeArList : measureTimeEnList);
@ -218,14 +212,11 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
color: Colors.red[900],
),
onTap: () {
ConfirmDialog dialog = new ConfirmDialog(
showDialog(
context: context,
confirmMessage: TranslationBase.of(context).removeMeasure,
okText: TranslationBase.of(context).ok,
cancelText: TranslationBase.of(context).cancel,
okFunction: () async {
ConfirmDialog.closeAlertDialog(context);
child: ConfirmWithMessageDialog(
message: TranslationBase.of(context).removeMeasure,
onTap: () async {
GifLoaderDialogUtils.showMyDialog(context);
widget.bloodSugarViewMode.deactivateDiabeticStatus(lineItemNo: widget.lineItemNo).then((value) {
GifLoaderDialogUtils.hideDialog(context);
@ -238,23 +229,20 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
AppToast.showErrorToast(message: widget.bloodSugarViewMode.error);
});
},
cancelFunction: () => {});
dialog.showAlertDialog(context);
),
);
},
)
],
))
),
)
: Container()
],
),
),
),
bottomSheet: Container(
color: Theme.of(context).scaffoldBackgroundColor,
child: Padding(
padding: const EdgeInsets.all(20.0),
child: DefaultButton(
TranslationBase.of(context).save.toUpperCase(),
DefaultButton(
TranslationBase.of(context).save,
isButtonDisabled
? null
: () async {
@ -291,9 +279,10 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
}
},
disabledColor: Colors.grey,
).insideContainer,
],
),
),
));
);
}
String getDate() {
@ -305,33 +294,41 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
}
void confirmSelectMeasureUnitDialog() {
List<RadioSelectionDialogModel> list = [
RadioSelectionDialogModel("mg/dlt", 0),
RadioSelectionDialogModel("mol/L", 1),
];
showDialog(
context: context,
child: RadioStringDialog(
radioList: measureUnitList,
title: TranslationBase.of(context).measureUnit,
selectedValue: measureUnitSelectedType,
onValueSelected: (value) {
setState(() {
measureUnitSelectedType = value;
});
child: RadioSelectionDialog(
listData: list,
selectedIndex: _selectedMeasureUnitIndex,
onValueSelected: (index) {
_selectedMeasureUnitIndex = index;
measureUnitSelectedType = list[index].title;
setState(() {});
},
),
);
}
void confirmSelectMeasureTimeDialog(List<String> list) {
void confirmSelectMeasureTimeDialog(List<String> dataList) {
List<RadioSelectionDialogModel> list = [
for (int i = 0; i < dataList.length; i++) RadioSelectionDialogModel(dataList[i], i),
];
showDialog(
context: context,
child: RadioStringDialog(
radioList: list,
title: TranslationBase.of(context).measureTime,
selectedValue: measureTimeSelectedType,
onValueSelected: (value) {
setState(() {
measureTimeSelectedType = value;
measuredTime = list.indexOf(value);
});
child: RadioSelectionDialog(
listData: list,
selectedIndex: _selectedMeasureTimeIndex,
isScrollable: true,
onValueSelected: (index) {
_selectedMeasureTimeIndex = index;
measureTimeSelectedType = list[index].title;
measuredTime = index;
setState(() {});
},
),
);

Loading…
Cancel
Save