import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/shared/dialogs/dailog-list-select.dart'; import 'package:doctor_app_flutter/widgets/shared/text_fields/app-textfield-custom.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class PrescriptionTextFiled extends StatefulWidget { dynamic element; final String elementError; final bool? isSubmitted; final List elementList; final String keyName; final String keyId; final String hintText; final double? width; final Function(dynamic) okFunction; PrescriptionTextFiled( {Key? key, required this.element, required this.elementError, this.width, required this.elementList, required this.keyName, required this.keyId, required this.hintText, required this.okFunction, this.isSubmitted}) : super(key: key); @override _PrescriptionTextFiledState createState() => _PrescriptionTextFiledState(); } class _PrescriptionTextFiledState extends State { @override Widget build(BuildContext context) { return Container( width: widget.width ?? null, child: InkWell( onTap: widget.elementList != null ? () { Helpers.hideKeyboard(context); ListSelectDialog dialog = ListSelectDialog( list: widget.elementList, attributeName: '${widget.keyName}', attributeValueId: widget.elementList.length == 1 ? widget.elementList[0]['${widget.keyId}'] : '${widget.keyId}', okText: TranslationBase.of(context).ok, okFunction: (selectedValue) => widget.okFunction(selectedValue), ); showDialog( barrierDismissible: false, context: context, builder: (BuildContext context) { return dialog; }, ); } : null, child: AppTextFieldCustom( hintText: widget.hintText, dropDownText: widget.elementList.length == 1 ? widget.elementList[0]['${widget.keyName}'] : widget.element != null ? widget.element['${widget.keyName}'] : null, isTextFieldHasSuffix: true, validationError: widget.element == null && widget.isSubmitted == true && widget.elementList.length != 1 ? widget.elementError : null, enabled: false, ), ), ); } }