dateTimePickerField method

String dateTimePickerField(
  1. String elementName,
  2. String type,
  3. Map<String, dynamic> map, {
  4. String? parent,
})

Implementation

String dateTimePickerField(String elementName, String type, Map<String, dynamic> map, {String? parent}) {
  return '''
    SizedBox(
      height: 60,
      child: Row(
        children: [
          SizedBox(
            width: 100,
            child: InputDatePickerFormField(
                autofocus: ${map['autofocus'] ?? false},
                errorFormatText: "${map['errorFormatText'] ?? 'Invalid Date format'}",
                errorInvalidText: "${map['errorInvalidText'] ?? 'The date is not valid. It is earlier than first date, later than last date, or doesn\'t pass the selectable day test.'}",
                fieldHintText: "${map['fieldHintText'] ?? 'Select a date'}",
                fieldLabelText:" ${map['fieldLabelText'] ?? '$elementName'}",
                initialDate: DateTime.parse(
                  _formData['$elementName'] ?? initialDate
                ),
                firstDate: DateTime.parse(firstDate),
                lastDate: DateTime.parse(lastDate),
                onDateSaved: (DateTime date) {
                  _formData['$elementName'] = date.toIso8601String();
                  onSaved('$elementName', date.toIso8601String());
                },
                selectableDayPredicate: ${map['selectableDayPredicate'] ?? 'null'},
              ), // end InputDatePickerFormField
          ), // end SizedBox
          Padding(
            padding: const EdgeInsets.only(top: 8.0),
            child: IconButton(
                onPressed: () async {
                  DateTime? date = await showDatePicker(
                    context: context,
                    initialDate: DateTime.parse(
                  _formData['$elementName'] ?? initialDate
                ),
                firstDate: DateTime.parse(firstDate ),
                lastDate: DateTime.parse(lastDate),
                    selectableDayPredicate: null,
                  );
                  if (date != null) {
                    _formData['$elementName'] = date.toIso8601String();
                    onSaved('$elementName', date.toIso8601String());
                  }
                },
                icon: const Icon(Icons.calendar_today)),
          ),
        ],
      ), // end Row
    )
''';
}