import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class SelectPatientFamilyDialog extends StatefulWidget { final List getAllSharedRecordsByStatusList; final Function(GetAllSharedRecordsByStatusList) onValueSelected; GetAllSharedRecordsByStatusList selectedPatientFamily; SelectPatientFamilyDialog({Key key, this.getAllSharedRecordsByStatusList, this.onValueSelected,this.selectedPatientFamily}); @override _SelectPatientFamilyDialogState createState() => _SelectPatientFamilyDialogState(); } class _SelectPatientFamilyDialogState extends State { @override void initState() { super.initState(); widget.selectedPatientFamily = widget.selectedPatientFamily?? widget.getAllSharedRecordsByStatusList[0]; } @override Widget build(BuildContext context) { return SimpleDialog( children: [ Column( children: [ Divider(), ...List.generate( widget.getAllSharedRecordsByStatusList.length, (index) => Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( height: 2, ), Row( children: [ Expanded( flex: 1, child: InkWell( onTap: () { setState(() { widget.selectedPatientFamily = widget.getAllSharedRecordsByStatusList[index]; }); }, child: ListTile( title: Text(widget.getAllSharedRecordsByStatusList[index].patientName), leading: Radio( value: widget.getAllSharedRecordsByStatusList[index], groupValue: widget.selectedPatientFamily, activeColor: Colors.red[800], onChanged: (value) { setState(() { widget.selectedPatientFamily = value; }); }, ), ), ), ) ], ), SizedBox( height: 5.0, ), ], ), ), SizedBox( height: 5.0, ), Row( // mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Expanded( flex: 1, child: InkWell( onTap: () { Navigator.pop(context); }, child: Padding( padding: const EdgeInsets.all(8.0), child: Container( child: Center( child: Texts( TranslationBase.of(context).cancel.toUpperCase(), color: Colors.red, ), ), ), ), ), ), Container( width: 1, height: 30, color: Colors.grey[500], ), Expanded( flex: 1, child: InkWell( onTap: () { widget.onValueSelected(widget.selectedPatientFamily); Navigator.pop(context); }, child: Padding( padding: const EdgeInsets.all(8.0), child: Center( child: Texts( TranslationBase.of(context).ok, fontWeight: FontWeight.w400, )), ), ), ), ], ) ], ) ], ); } }