textfieldWidget static method

Widget textfieldWidget({
  1. required TextEditingController controller,
  2. required String? remark,
  3. required String labelText,
  4. String? hintText,
  5. String? validator(
    1. String?
    )?,
  6. List<TextInputFormatter>? inputFormatters,
  7. void onChanged(
    1. String
    )?,
  8. void onSaved(
    1. String?
    )?,
  9. void onEditingComplete()?,
  10. void onFieldSubmitted(
    1. String
    )?,
  11. void onTap()?,
  12. required Size size,
  13. bool isMandatory = false,
  14. TextInputType? keyboardType,
  15. int? maxLength,
  16. bool readOnly = true,
  17. FocusNode? focusNode,
  18. TextInputAction textInputAction = TextInputAction.done,
  19. AutovalidateMode? autovalidateMode,
  20. String? counterText = '',
  21. Color? textClr,
  22. Color? labelClr,
  23. Color? hintClr,
  24. Color? erTextClr,
  25. Color? borderClr,
  26. Color? focusedBorderClr,
  27. Color? enabledBorderClr,
  28. Color? focusedErBorderClr,
  29. Color? erBorderClr,
})

Implementation

static Widget textfieldWidget({
  required TextEditingController controller,
  required String? remark,
  required String labelText,
  String? hintText,
  String? Function(String?)? validator,
  List<TextInputFormatter>? inputFormatters,
  void Function(String)? onChanged,
  void Function(String?)? onSaved,
  void Function()? onEditingComplete,
  void Function(String)? onFieldSubmitted,
  void Function()? onTap,
  required Size size,
  bool isMandatory = false,
  TextInputType? keyboardType,
  int? maxLength,
  bool readOnly = true,
  FocusNode? focusNode,
  TextInputAction textInputAction = TextInputAction.done,
  AutovalidateMode? autovalidateMode,
  String? counterText = '',
  Color? textClr,
  Color? labelClr,
  Color? hintClr,
  Color? erTextClr,
  Color? borderClr,
  Color? focusedBorderClr,
  Color? enabledBorderClr,
  Color? focusedErBorderClr,
  Color? erBorderClr,
}) {
  return Padding(
    padding: const EdgeInsets.only(bottom: 10.0),
    child: batchWidget(
        remark: remark,
        widget: TextFormField(
            autovalidateMode: autovalidateMode,
            inputFormatters: inputFormatters,
            minLines: null,
            maxLines: null,
            readOnly: readOnly,
            // controller: controller
            //   ..selection =
            //       TextSelection.collapsed(offset: controller.text.length),
            controller: controller,
            validator: validator,
            autofocus: false,
            focusNode: focusNode,
            onChanged: onChanged,
            onSaved: onSaved,
            onEditingComplete: onEditingComplete,
            onTap: onTap,
            onFieldSubmitted: onFieldSubmitted,
            keyboardType: keyboardType,
            maxLength: maxLength,
            textInputAction: textInputAction,
            style: TextStyle(
              color: textClr ?? TextFieldColor.textClr,
              fontSize: size.width * 0.04,
            ),
            decoration: InputDecoration(
              contentPadding: const EdgeInsets.all(15.0),
              counterText: counterText,
              label: Text(
                isMandatory ? '$labelText *' : labelText,
                style: TextStyle(
                  color: labelClr ?? TextFieldColor.labelClr,
                  fontSize: size.width * 0.04,
                ),
              ),
              hintText: hintText,
              hintStyle: TextStyle(
                  fontSize: size.width * 0.035,
                  color: hintClr ?? TextFieldColor.hintClr),
              errorStyle: TextStyle(
                  fontSize: size.width * 0.030,
                  color: erTextClr ?? TextFieldColor.erTextClr),
              isDense: true,
              border: OutlineInputBorder(
                borderRadius: BorderRadius.circular(5.0),
                borderSide:
                    BorderSide(color: borderClr ?? TextFieldColor.borderClr),
              ),
              focusedBorder: OutlineInputBorder(
                borderRadius: BorderRadius.circular(5.0),
                borderSide: BorderSide(
                    color:
                        focusedBorderClr ?? TextFieldColor.focusedBorderClr),
              ),
              enabledBorder: OutlineInputBorder(
                borderRadius: BorderRadius.circular(5.0),
                borderSide: BorderSide(
                    color:
                        enabledBorderClr ?? TextFieldColor.enabledBorderClr),
              ),
              focusedErrorBorder: OutlineInputBorder(
                borderRadius: BorderRadius.circular(5.0),
                borderSide: BorderSide(
                    color: focusedErBorderClr ??
                        TextFieldColor.focusedErBorderClr),
              ),
              errorBorder: OutlineInputBorder(
                borderRadius: BorderRadius.circular(5.0),
                borderSide: BorderSide(
                    color: erBorderClr ?? TextFieldColor.erBorderClr),
              ),
            ))),
  );
}