import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/models/patient/patient_model.dart';
import 'package:doctor_app_flutter/widgets/shared/app_text_form_field.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';

class DynamicElements extends StatefulWidget {
  final PatientModel _patientSearchFormValues;
  DynamicElements(this._patientSearchFormValues);
  @override
  _DynamicElementsState createState() => _DynamicElementsState();
}

class _DynamicElementsState extends State<DynamicElements> {
  TextEditingController _toDateController = new TextEditingController();
  TextEditingController _fromDateController = new TextEditingController();
  void _presentDatePicker(id) {
    showDatePicker(
      context: context,
      initialDate: DateTime.now(),
      firstDate: DateTime(2019),
      lastDate: DateTime.now(),
    ).then((pickedDate) {
      if (pickedDate == null) {
        return;
      }
      setState(() {
        print(id);
        var selectedDate = DateFormat.yMd().format(pickedDate);

        if (id == '_selectedFromDate') {
      //    _fromDateController.text = selectedDate;
          selectedDate = pickedDate.year.toString() +
              "-" +
              pickedDate.month.toString().padLeft(2, '0') +
              "-" +
              pickedDate.day.toString().padLeft(2, '0');

         _fromDateController.text = selectedDate;



        } else {


          selectedDate = pickedDate.year.toString() +
              "-" +
              pickedDate.month.toString().padLeft(2, '0') +
              "-" +
              pickedDate.day.toString().padLeft(2, '0');

          _toDateController.text = selectedDate;
      //    _toDateController.text = selectedDate;
        }
      });
    });
  }

  @override
  Widget build(BuildContext context) {
    return LayoutBuilder(
      builder: (ctx, constraints) {
        return Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
            SizedBox(
              height: 10,
            ),
            AppTextFormField(
              textInputType: TextInputType.number,
              hintText: 'From',
              controller: _fromDateController,

              inputFormatter: ONLY_DATE,
              onTap: () {
                _presentDatePicker('_selectedFromDate');
              },

              // validator: (value) {
              //   return TextValidator().validateDate(_fromDateController.text);
              // },
              /*
 *@author: Amjad Amireh 
 *@Date:13/5/2020
 *@param:
 *@return:check if field empty added static value 

 *@desc:
 */
              onSaved: (value) {
                if (_fromDateController.text.toString().trim().isEmpty) {
                  widget._patientSearchFormValues.From = "0";
                } else {
                  widget._patientSearchFormValues.From = _fromDateController.text.replaceAll("/", "-");



                     // _fromDateController.text;
                }
              },
            ),
            SizedBox(
              height: 10,
            ),
            AppTextFormField(
              textInputType: TextInputType.number,
              hintText: 'TO',
              controller: _toDateController,
              onTap: () {
                _presentDatePicker('_selectedToDate');
              },
              // validator: (value) {
              //   return TextValidator().validateDate(_toDateController.text);
              // },
              /*
 *@author: Amjad Amireh 
 *@Date:13/5/2020
 *@param:
 *@return:check if field empty added static value 

 *@desc:
 */
              inputFormatter: ONLY_DATE,
              onSaved: (value) {
                if (_toDateController.text.toString().trim().isEmpty) {
                  widget._patientSearchFormValues.To = "0";
                } else {
                  widget._patientSearchFormValues.To = _toDateController.text.replaceAll("/", "-");
                }
              },
            ),
          ],
        );
      },
    );
  }
}
