showWithConfig static method
String
showWithConfig(
- BuildContext context, {
- required AlertDialogConfig config,
- bool barrierDismissible = false,
- bool rootOverlay = true,
- bool enableHide = false,
Implementation
static String showWithConfig(
BuildContext context, {
required AlertDialogConfig config,
bool barrierDismissible = false,
bool rootOverlay = true,
bool enableHide = false,
}) {
final dialogId = 'alert_dialog_${DateTime.now().millisecondsSinceEpoch}';
final effectiveCancelConfig = config.cancelConfig ??
(config.cancelText?.isNotEmpty == true ? ButtonConfig(text: config.cancelText!) : null);
final effectiveConfirmConfig = config.confirmConfig ??
(config.defaultText?.isNotEmpty == true
? ButtonConfig(
text: config.defaultText!,
type: config.isDestructive ? TextColorPreset.red : TextColorPreset.blue,
isBold: true,
onClick: config.defaultCallback,
)
: null);
DialogOverlayManager.show(
context: context,
dialogId: dialogId,
barrierDismissible: barrierDismissible,
enableHide: enableHide,
rootOverlay: rootOverlay,
dialog: AtomicAlertDialog(
config: AlertDialogConfig(
title: config.title,
content: config.content,
iconWidget: config.iconWidget,
autoDismiss: config.autoDismiss,
countdownDuration: config.countdownDuration,
itemList: config.itemList,
confirmConfig: effectiveConfirmConfig != null
? ButtonConfig(
text: effectiveConfirmConfig.text,
type: effectiveConfirmConfig.type,
isBold: effectiveConfirmConfig.isBold,
onClick: () {
DialogOverlayManager.dismiss(dialogId);
effectiveConfirmConfig.onClick?.call();
},
)
: null,
cancelConfig: effectiveCancelConfig != null
? ButtonConfig(
text: effectiveCancelConfig.text,
type: effectiveCancelConfig.type,
isBold: effectiveCancelConfig.isBold,
onClick: () {
DialogOverlayManager.dismiss(dialogId);
effectiveCancelConfig.onClick?.call();
},
)
: null,
),
),
);
return dialogId;
}