showDialogWithTextFormField static method

void showDialogWithTextFormField({
  1. required String title,
  2. required String hintText,
  3. required TextEditingController controller,
  4. required GlobalKey<FormState> formKey,
  5. required bool isRequired,
  6. required dynamic onSubmit(
    1. String
    ),
})

Implementation

static void showDialogWithTextFormField({
  required String title,
  required String hintText,
  required TextEditingController controller,
  required GlobalKey<FormState> formKey,
  required bool isRequired,
  required Function(String) onSubmit,
}) {
  showCupertinoDialog(
    context: Get.context!,
    builder: (context) {
      return Material(
        type: MaterialType.transparency,
        child: CupertinoAlertDialog(
          title: GNBoldTextWidget(
            title: title,
            align: TextAlign.center,
            fontsize: NumberConst.SUB_HEADER_FONT_SIZE - 1.sp,
            fontcolor: Colors.black,
          ),
          content: Column(
            mainAxisSize: MainAxisSize.min,
            children: [
              const SizedBox(height: 10),
              Form(
                key: formKey,
                child: CustomTextFromFieldNew(
                  validator: (value) {
                    return value!.isEmpty || value.trim().isEmpty ? StringConst.FIELD_REQUIRED : null;
                  },
                  hintText: hintText,
                  hintStyle: TextStyle(
                    fontSize: NumberConst.REGULAR_FONT_SIZE,
                    fontFamily: FONT_STYLE_QUICK_BOLD,
                  ),
                  isSuffixIcon: false,
                  isPrefixIcon: true,
                  isRequired: true,
                  margin: EdgeInsets.zero,
                  contentPadding: EdgeInsets.only(left: CommonSpace.COMMON_HORIZONTAL_SPACE_2W),
                  readOnly: false,
                  label: Row(
                    mainAxisSize: MainAxisSize.min,
                    children: [
                      GNMediumTextWidget(
                        title: hintText,
                        fontsize: regularFontSize,
                      ),
                      isRequired
                          ? GNMediumTextWidget(title: StringConst.ASTERISK, fontcolor: Colors.red, fontsize: NumberConst.HEADER_FONT_SIZE)
                          : Container()
                    ],
                  ),
                  bgColor: Colors.transparent,
                  controller: controller,
                ),
              ),
            ],
          ),
          actions: <Widget>[
            CupertinoDialogAction(
              child: GNBoldTextWidget(
                title: StringConst.CANCEL,
                fontsize: NumberConst.SUB_HEADER_FONT_SIZE - 1.sp,
                fontcolor: Colors.red,
              ),
              onPressed: () {
                controller.clear();
                Navigator.of(context).pop();
              },
            ),
            CupertinoDialogAction(
              isDefaultAction: true,
              child: GNBoldTextWidget(
                title: StringConst.SUBMIT,
                fontsize: NumberConst.SUB_HEADER_FONT_SIZE - 1.sp,
                fontcolor: Colors.blue,
              ),
              onPressed: () {
                if (isRequired && formKey.currentState!.validate()) {
                  Navigator.of(context).pop();
                  onSubmit(controller.text);
                }
              },
            ),
          ],
        ),
      );
    },
  );
}