customSingleSelectionDialogWithBuilder function

dynamic customSingleSelectionDialogWithBuilder(
  1. BuildContext context, {
  2. required Widget titleWidget,
  3. required List<SimpleItem> items,
  4. required Widget itemBuilder(
    1. BuildContext,
    2. int,
    3. SimpleItem,
    4. String,
    ),
  5. required dynamic onItemClick(
    1. SimpleItem
    ),
  6. bool hideTitleDivider = false,
  7. bool closeOnBackPress = true,
  8. bool itemDivider = true,
  9. bool hideSubTitle = true,
})

customSingleSelectionDialog with title Widget

Implementation

customSingleSelectionDialogWithBuilder(
  BuildContext context, {
  required Widget titleWidget,
  required List<SimpleItem> items,
  required Widget Function(BuildContext, int, SimpleItem, String) itemBuilder,
  required Function(SimpleItem) onItemClick,
  bool hideTitleDivider = false,
  bool closeOnBackPress = true,
  bool itemDivider = true,
  bool hideSubTitle = true,
}) {
  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: SingleSelectionDialog(
        titleWidget: titleWidget,
        items: items,
        itemBuilder: itemBuilder,
        onItemClick: onItemClick,
        hideTitleDivider: hideTitleDivider,
        itemDivider: itemDivider,
        hideSubTitle: hideSubTitle,
      ),
      onWillPop: () async => closeOnBackPress,
    ),
  );
}