show method
Implementation
show(BuildContext context) {
if (child == null && dialogContainer == null) {
throw AssertionError('dialogContainer or child can not be null');
}
late Widget widget;
double? width;
if (child != null) {
widget = child!;
} else {
width = dialogContainer?.width;
switch (dialogContainer!.type) {
case JJDialogType.list:
case JJDialogType.picker:
case JJDialogType.grid:
case JJDialogType.wrap:
if (dialogContainer!.child is JJDialogList) {
widget = dialogContainer!;
} else {
throw AssertionError('JJDialogType.list .picker .grid .wrap, child should be JJDialogList');
}
break;
case JJDialogType.loading:
position = JJDialogPosition.center;
insetPadding = EdgeInsets.zero;
barrierDismissible = false;
width ??= 100;
dialogContainer?.height ??= width;
break;
case JJDialogType.cupertinoAlert:
position = JJDialogPosition.center;
insetPadding = EdgeInsets.zero;
barrierDismissible = false;
width ??= 260;
dialogContainer?.height ??= width;
_showCupertinoAlert(context, widget: dialogContainer!);
return;
case JJDialogType.alert:
position = JJDialogPosition.center;
insetPadding = EdgeInsets.zero;
barrierDismissible = false;
width ??= 260;
dialogContainer?.decoration = const BoxDecoration(color: Colors.white, borderRadius: BorderRadius.all(Radius.circular(15)));
dialogContainer?.clipBehavior = Clip.antiAlias;
break;
case JJDialogType.custom:
if (dialogContainer!.custom != null) {
widget = dialogContainer!.custom!;
} else {
throw AssertionError('JJDialogType.custom custom can not be null');
}
break;
default:
position = JJDialogPosition.center;
}
widget = dialogContainer!;
}
if (position == JJDialogPosition.bottom) {
_showBottomDialog(context, widget: widget);
} else {
_showDialog(context, widget: widget, width: width);
}
}