show<T> static method

Future<void> show<T>(
  1. BuildContext context, {
  2. required Future<List<T>> onSearch(
    1. String query
    ),
  3. required Widget itemBuilder(
    1. BuildContext context,
    2. T item,
    3. bool isSelected
    ),
  4. required void onItemSelected(
    1. T item
    ),
  5. String? hintText,
  6. required String searchIcon,
  7. String barrierLabel = 'Dismiss',
})

Implementation

static Future<void> show<T>(
  BuildContext context, {
  required Future<List<T>> Function(String query) onSearch,
  required Widget Function(BuildContext context, T item, bool isSelected)
  itemBuilder,
  required void Function(T item) onItemSelected,
  String? hintText,
  required String searchIcon,
  String barrierLabel = 'Dismiss',
}) {
  final fluffyTheme = context.fluffyTheme;
  return showGeneralDialog(
    context: context,
    barrierDismissible: true,
    barrierLabel: barrierLabel,
    barrierColor: FluffyColors.barrier,
    transitionDuration: FluffyDurations.dialogTransition,
    transitionBuilder: (context, anim1, anim2, child) {
      return FadeTransition(
        opacity: anim1,
        child: child,
      );
    },
    pageBuilder: (context, anim1, anim2) => FluffyTheme(
      data: fluffyTheme,
      child: SearchDialog<T>(
        onSearch: onSearch,
        itemBuilder: itemBuilder,
        onItemSelected: onItemSelected,
        hintText: hintText,
        searchIcon: searchIcon,
      ),
    ),
  );
}