customSingleInputDialog function

dynamic customSingleInputDialog(
  1. BuildContext context,
  2. Widget title,
  3. DialogTextField dialogTextField, {
  4. Widget? icon,
  5. String? positiveButtonText,
  6. dynamic positiveButtonAction(
    1. String
    )?,
  7. String? negativeButtonText,
  8. Function? negativeButtonAction,
  9. String? neutralButtonText,
  10. Function? neutralButtonAction,
  11. bool hideNeutralButton = false,
  12. bool closeOnBackPress = false,
})

customSingleInputDialog function with title and content widgets

positiveButtonText for positive button text negativeButtonText for negative button text neutralButtonText for negative button text hideNeutralButton to hide the Neutral Button default is false closeOnBackPress to close dialog on back button default is false

Implementation

customSingleInputDialog(
  BuildContext context,
  Widget title,
  DialogTextField dialogTextField, {
  Widget? icon,
  String? positiveButtonText,
  Function(String)? positiveButtonAction,
  String? negativeButtonText,
  Function? negativeButtonAction,
  String? neutralButtonText,
  Function? neutralButtonAction,
  bool hideNeutralButton = false,
  bool closeOnBackPress = false,
}) {
  return showGeneralDialog(
    context: context,
    barrierDismissible: closeOnBackPress,
    barrierLabel: "",
    barrierColor: getBarrierColor(),
    transitionDuration: getDialogPopUpAnimationDuration(),
    transitionBuilder: (c2, a1, a2, widget) {
      return getDialogAnimation(a1, a2, widget);
    },
    pageBuilder: (c1, a1, a2) => WillPopScope(
      child: SingleInputDialog(
        icon,
        title,
        dialogTextField,
        negativeButtonText: negativeButtonText,
        negativeButtonAction: negativeButtonAction,
        positiveButtonText: positiveButtonText,
        positiveButtonAction: positiveButtonAction,
        neutralButtonText: neutralButtonText,
        neutralButtonAction: neutralButtonAction,
        hideNeutralButton: hideNeutralButton,
      ),
      onWillPop: () async => closeOnBackPress,
    ),
  );
}