showAlert method

void showAlert({
  1. required String title,
  2. required String description,
  3. required String confirmText,
  4. required Function confirmAction,
  5. Function? onComplete,
  6. Function? cancelAction,
  7. String? cancelText,
  8. Color? confirmButtonColor,
  9. Color? cancelButtonColor,
  10. TextStyle? titleStyle,
  11. TextStyle? descriptionStyle,
  12. TextStyle? confirmButtonTextStyle,
  13. TextStyle? cancelButtonTextStyle,
  14. TextAlign? textAlignDescription,
  15. Widget? body,
  16. bool cancelable = false,
  17. double? cornerRadius,
  18. double paddingBody = 15,
  19. double paddingScreen = 15,
  20. double buttonCornerRadius = 100,
  21. double heightButtons = 40,
  22. bool? isHtml = false,
  23. bool? closeButton = false,
  24. double? fixedSize,
})

Implementation

void showAlert({
  required String title,
  required String description,
  required String confirmText,
  required Function confirmAction,
  Function? onComplete,
  Function? cancelAction,
  String? cancelText,
  Color? confirmButtonColor,
  Color? cancelButtonColor,
  TextStyle? titleStyle,
  TextStyle? descriptionStyle,
  TextStyle? confirmButtonTextStyle,
  TextStyle? cancelButtonTextStyle,
  TextAlign? textAlignDescription,
  Widget? body,
  bool cancelable = false,
  double? cornerRadius,
  double paddingBody = 15,
  double paddingScreen = 15,
  double buttonCornerRadius = 100,
  double heightButtons = 40,
  bool? isHtml = false,
  bool? closeButton = false,
  double? fixedSize,
}) {
  hideAlert();
  isOpened = true;

  showDialog(
    barrierDismissible: cancelable,
    context: _context,
    builder: (BuildContext context) {
      return PopScope(
        canPop: cancelable,
        child: Dialog(
          insetPadding: EdgeInsets.all(AwesomeAlertTheme().defaultPaddingAlert ?? paddingScreen),
          backgroundColor: Colors.white,
          shape: RoundedRectangleBorder(
            borderRadius: BorderRadius.all(Radius.circular(cornerRadius ?? AwesomeAlertTheme().borderRadius)),
          ),
          child: ConstrainedBox(
            constraints: (fixedSize != null || AwesomeAlertTheme().fixedSize != null)
                ? BoxConstraints(maxWidth: fixedSize ?? AwesomeAlertTheme().fixedSize ?? 700)
                : BoxConstraints(),
            child: Container(
              decoration: BoxDecoration(
                borderRadius: BorderRadius.all(Radius.circular(cornerRadius ?? AwesomeAlertTheme().borderRadius)),
              ),
              child: Padding(
                padding: EdgeInsets.all(AwesomeAlertTheme().internalBodyPadding ?? paddingBody),
                child: BodyDefaultAlert(
                  close: closeButton == true ? hideAlert : null,
                  title: title,
                  description: description,
                  heightButtons: heightButtons,
                  buttonCornerRadius: buttonCornerRadius,
                  cornerRadius: cornerRadius ?? AwesomeAlertTheme().borderRadius,
                  confirmText: confirmText,
                  confirmAction: confirmAction,
                  confirmButtonTextStyle: confirmButtonTextStyle,
                  confirmButtonColor: confirmButtonColor,
                  cancelButtonColor: cancelButtonColor,
                  cancelButtonTextStyle: cancelButtonTextStyle,
                  textAlignDescription: textAlignDescription,
                  cancelAction: cancelAction,
                  cancelText: cancelText,
                  descriptionStyle: descriptionStyle,
                  titleStyle: titleStyle,
                  body: body,
                  isHtml: isHtml,
                ),
              ),
            ),
          ),
        ),
      );
    },
  ).whenComplete(() {
    isOpened = false;
    if (onComplete != null) onComplete();
  });
}