wrapInYesCancelConfirmDialog static method
void
wrapInYesCancelConfirmDialog(
- BuildContext context,
- String title, {
- String? contentString,
- Widget? contentWidget,
- String action1Text = 'Yes',
- required VoidCallback action1,
- Color? action1ButtonFgColor,
- String cancelActionText = 'Cancel',
- bool preActionValidation()?,
Implementation
static void wrapInYesCancelConfirmDialog(BuildContext context, String title, {
String? contentString,
Widget? contentWidget,
String action1Text = 'Yes',
required VoidCallback action1,
Color? action1ButtonFgColor,
String cancelActionText = 'Cancel',
bool Function()? preActionValidation
})
{
if (contentString.isNullOrEmpty && contentWidget == null) {
throw 'Either contentString or contentWidget should be supplied';
}
Widget content = contentString != null
? Text(contentString)
: contentWidget!;
showDialog(context: context, builder: (context) {
return AlertDialog(
title: Text(title),
content: content,
actions: [
TextButton(
onPressed: () {
bool execute = preActionValidation == null || preActionValidation();
if (execute) {
action1();
Navigator.pop(context);
}
},
style: ButtonStyle(
foregroundColor: MaterialStatePropertyAll(action1ButtonFgColor)
),
child: Text(action1Text)
),
TextButton(onPressed: () => Navigator.pop(context), child: Text(cancelActionText)),
],
);
});
}