show static method

Future show({
  1. required BuildContext context,
  2. String? title,
  3. String? message,
  4. Color titleTxtColor = Colors.black,
  5. Color messageTxtColor = Colors.black,
  6. Color closeBtnColor = Colors.black,
  7. required SCAlertType type,
  8. bool barrierDismissible = false,
  9. ValueChanged<String>? onOkBtnTap,
  10. String okBtnText = "OK",
  11. Color okBtnColor = const Color(0xFF50A1FF),
  12. Color okBtnTxtColor = Colors.white,
  13. ValueChanged<String>? onCancelBtnTap,
  14. String cancelBtnText = "CANCEL",
  15. Color cancelBtnColor = const Color(0xFFEAECF0),
  16. Color cancelBtnTxtColor = Colors.black,
  17. bool showCancelBtn = false,
  18. double borderRadius = 5.0,
  19. ValueChanged<String>? onEmailTextFieldChanged,
  20. ValueChanged<String>? onPasswordTextFieldChanged,
  21. Widget? customWidget,
  22. Map<String, bool>? checkBoxAry,
  23. ValueChanged<Map<String, bool>>? onCheckBoxSelection,
  24. Map<String, int>? radioButtonAry,
  25. ValueChanged<String>? onRadioButtonSelection,
})

Implementation

static Future show({
  required BuildContext context,
  String? title,
  String? message,
  Color titleTxtColor = Colors.black,
  Color messageTxtColor = Colors.black,
  Color closeBtnColor = Colors.black,
  required SCAlertType type,
  bool barrierDismissible = false,
  ValueChanged<String>? onOkBtnTap,
  String okBtnText = "OK",
  Color okBtnColor = const Color(0xFF50A1FF),
  Color okBtnTxtColor = Colors.white,
  ValueChanged<String>? onCancelBtnTap,
  String cancelBtnText = "CANCEL",
  Color cancelBtnColor = const Color(0xFFEAECF0),
  Color cancelBtnTxtColor = Colors.black,
  bool showCancelBtn = false,
  double borderRadius = 5.0,
  ValueChanged<String>? onEmailTextFieldChanged,
  ValueChanged<String>? onPasswordTextFieldChanged,
  Widget? customWidget,
  Map<String, bool>? checkBoxAry,
  ValueChanged<Map<String, bool>>? onCheckBoxSelection,
  Map<String, int>? radioButtonAry,
  ValueChanged<String>? onRadioButtonSelection,
}) {
  // 1
  // Default Child
  Widget defaultChild = AlertDialog(
    contentPadding: EdgeInsets.zero,
    shape: RoundedRectangleBorder(
      borderRadius: BorderRadius.circular(borderRadius),
    ),
    content: Container(),
  );

  // 2
  // Assing the value to the model
  SCAlertModel scAlertModel = SCAlertModel(
      title: title,
      message: message,
      titleTxtColor: titleTxtColor,
      messageTxtColor: messageTxtColor,
      closeBtnColor: closeBtnColor,
      type: type,
      barrierDismissible: barrierDismissible,
      onOkBtnTap: onOkBtnTap,
      okBtnText: okBtnText,
      okBtnColor: okBtnColor,
      okBtnTxtColor: okBtnTxtColor,
      onCancelBtnTap: onCancelBtnTap,
      cancelBtnText: cancelBtnText,
      cancelBtnColor: cancelBtnColor,
      cancelBtnTxtColor: cancelBtnTxtColor,
      showCancelBtn: showCancelBtn,
      borderRadius: borderRadius,
      onEmailTextFieldChanged: onEmailTextFieldChanged,
      onPasswordTextFieldChanged: onPasswordTextFieldChanged,
      customWidget: customWidget,
      checkBoxAry: checkBoxAry,
      onCheckBoxSelection: onCheckBoxSelection,
      radioButtonAry: radioButtonAry,
      onRadioButtonSelection: onRadioButtonSelection);

  return showGeneralDialog(
      barrierColor: Colors.black.withOpacity(0.5),
      transitionDuration: Duration(milliseconds: 200),
      barrierDismissible: barrierDismissible,
      barrierLabel: '',
      context: context,
      pageBuilder: (context, anim1, anim2) {
        switch (type) {
          case SCAlertType.info:
          case SCAlertType.buttons:
            return SCAlertMessage(model: scAlertModel);
            break;
          case SCAlertType.loginform:
            return SCAlertTextField(model: scAlertModel);
          case SCAlertType.custom:
            return SCAlertCustomWidget(model: scAlertModel);
          case SCAlertType.checkbox:
            return SCAlertCheckbox(model: scAlertModel);
          case SCAlertType.radiobutton:
            return SCAlertRadioButton(model: scAlertModel);
          default:
            return defaultChild;
        }
      });
}