MultipleSearchSelection<T>.overlay constructor

MultipleSearchSelection<T>.overlay({
  1. required TextField searchField,
  2. required List<T> items,
  3. required Widget pickedItemBuilder(
    1. T
    ),
  4. required String fieldToCheck(
    1. T
    ),
  5. required Widget itemBuilder(
    1. T,
    2. int
    ),
  6. void onItemRemoved(
    1. T
    )?,
  7. void onItemAdded(
    1. T
    )?,
  8. void onPickedChange(
    1. List<T>
    )?,
  9. Widget pickedItemsContainerBuilder(
    1. List<Widget> pickedItems
    )?,
  10. Key? key,
  11. FuzzySearch? fuzzySearch,
  12. double? maximumShowItemsHeight,
  13. OverlayOptions<T>? overlayOptions,
  14. List<T>? initialPickedItems,
  15. Widget? title,
  16. double? showedItemsScrollbarMinThumbLength,
  17. Color? showedItemsScrollbarColor,
  18. double? showedItemsScrollbarMinOverscrollLength,
  19. Radius? showedItemsScrollbarRadius,
  20. double? showedItemContainerHeight,
  21. EdgeInsets? showedItemContainerPadding,
  22. bool? showShowedItemsScrollbar,
  23. bool? showSelectAllButton,
  24. bool? showClearAllButton,
  25. Widget? noResultsWidget,
  26. double? pickedItemSpacing,
  27. double? pickedItemsContainerMaxHeight,
  28. double? pickedItemsContainerMinHeight,
  29. Color? pickedItemsScrollbarColor,
  30. double? pickedItemsScrollbarThickness,
  31. double? pickedItemsScrollbarMinOverscrollLength,
  32. Radius? pickedItemsScrollbarRadius,
  33. double? pickedItemsScrollbarMinThumbLength,
  34. BoxDecoration? pickedItemsBoxDecoration,
  35. bool? showPickedItemScrollbar,
  36. VoidCallback? onTapShowedItem,
  37. ScrollController? pickedItemsScrollController,
  38. ScrollController? showedItemsScrollController,
  39. ScrollPhysics? pickedItemsScrollPhysics,
  40. ScrollPhysics? showedItemsScrollPhysics,
  41. BoxDecoration? showedItemsBoxDecoration,
  42. bool? sortPickedItems,
  43. bool? sortShowedItems,
  44. bool? clearSearchFieldOnSelect,
  45. Widget? showItemsButton,
  46. VoidCallback? onTapShowItems,
  47. Widget? selectAllButton,
  48. VoidCallback? onTapSelectAll,
  49. Widget? clearAllButton,
  50. VoidCallback? onTapClearAll,
  51. bool? caseSensitiveSearch,
  52. String hintText = 'Type here to search',
  53. double? showedItemExtent,
  54. int? maxSelectedItems,
  55. bool? placePickedItemContainerBelow,
  56. MultipleSearchController? controller,
  57. dynamic onSearchChanged(
    1. String
    )?,
})

MultipleSearchSelection.overlay is a widget that can be used to show the search results in an overlay.

This is useful when you don't want the showed items to push the other widgets down.

Implementation

factory MultipleSearchSelection.overlay({
  required TextField searchField,
  required List<T> items,
  required Widget Function(T) pickedItemBuilder,
  required String Function(T) fieldToCheck,
  required Widget Function(T, int) itemBuilder,
  void Function(T)? onItemRemoved,
  void Function(T)? onItemAdded,
  void Function(List<T>)? onPickedChange,
  Widget Function(List<Widget> pickedItems)? pickedItemsContainerBuilder,
  Key? key,
  FuzzySearch? fuzzySearch,
  double? maximumShowItemsHeight,
  OverlayOptions<T>? overlayOptions,
  List<T>? initialPickedItems,
  Widget? title,
  double? showedItemsScrollbarMinThumbLength,
  Color? showedItemsScrollbarColor,
  double? showedItemsScrollbarMinOverscrollLength,
  Radius? showedItemsScrollbarRadius,
  double? showedItemContainerHeight,
  EdgeInsets? showedItemContainerPadding,
  bool? showShowedItemsScrollbar,
  bool? showSelectAllButton,
  bool? showClearAllButton,
  Widget? noResultsWidget,
  double? pickedItemSpacing,
  double? pickedItemsContainerMaxHeight,
  double? pickedItemsContainerMinHeight,
  Color? pickedItemsScrollbarColor,
  double? pickedItemsScrollbarThickness,
  double? pickedItemsScrollbarMinOverscrollLength,
  Radius? pickedItemsScrollbarRadius,
  double? pickedItemsScrollbarMinThumbLength,
  BoxDecoration? pickedItemsBoxDecoration,
  bool? showPickedItemScrollbar,
  VoidCallback? onTapShowedItem,
  ScrollController? pickedItemsScrollController,
  ScrollController? showedItemsScrollController,
  ScrollPhysics? pickedItemsScrollPhysics,
  ScrollPhysics? showedItemsScrollPhysics,
  BoxDecoration? showedItemsBoxDecoration,
  bool? sortPickedItems,
  bool? sortShowedItems,
  bool? clearSearchFieldOnSelect,
  Widget? showItemsButton,
  VoidCallback? onTapShowItems,
  Widget? selectAllButton,
  VoidCallback? onTapSelectAll,
  Widget? clearAllButton,
  VoidCallback? onTapClearAll,
  bool? caseSensitiveSearch,
  String hintText = 'Type here to search',
  double? showedItemExtent,
  int? maxSelectedItems,
  bool? placePickedItemContainerBelow,
  MultipleSearchController? controller,
  Function(String)? onSearchChanged,
}) =>
    MultipleSearchSelection._(
      searchField: searchField,
      items: items,
      title: title,
      maxSelectedItems: maxSelectedItems,
      isCreatable: false,
      isOverlay: true,
      overlayOptions: overlayOptions,
      key: key ?? ValueKey(items.hashCode),
      clearSearchFieldOnSelect: clearSearchFieldOnSelect ?? false,
      fieldToCheck: fieldToCheck,
      itemBuilder: itemBuilder,
      onPickedChange: onPickedChange,
      pickedItemBuilder: pickedItemBuilder,
      clearAllButton: clearAllButton,
      fuzzySearch: fuzzySearch ?? FuzzySearch.none,
      initialPickedItems: initialPickedItems,
      maximumShowItemsHeight: maximumShowItemsHeight ?? 150,
      noResultsWidget: noResultsWidget,
      onItemAdded: onItemAdded,
      onItemRemoved: onItemRemoved,
      onTapClearAll: onTapClearAll,
      onTapSelectAll: onTapSelectAll,
      onTapShowItems: onTapShowItems,
      onTapShowedItem: onTapShowedItem,
      pickedItemSpacing: pickedItemSpacing,
      pickedItemsBoxDecoration: pickedItemsBoxDecoration,
      pickedItemsContainerMaxHeight: pickedItemsContainerMaxHeight,
      pickedItemsContainerMinHeight: pickedItemsContainerMinHeight,
      pickedItemsScrollController:
          pickedItemsScrollController ?? ScrollController(),
      pickedItemsScrollPhysics: pickedItemsScrollPhysics,
      pickedItemsScrollbarColor: pickedItemsScrollbarColor,
      pickedItemsScrollbarMinOverscrollLength:
          pickedItemsScrollbarMinOverscrollLength,
      pickedItemsScrollbarMinThumbLength: pickedItemsScrollbarMinThumbLength,
      pickedItemsScrollbarRadius: pickedItemsScrollbarRadius,
      pickedItemsScrollbarThickness: pickedItemsScrollbarThickness,
      selectAllButton: selectAllButton,
      showClearAllButton: showClearAllButton,
      showItemsButton: showItemsButton,
      showPickedItemScrollbar: showPickedItemScrollbar,
      showSelectAllButton: showSelectAllButton,
      showShowedItemsScrollbar: showShowedItemsScrollbar,
      showedItemContainerHeight: showedItemContainerHeight,
      showedItemContainerPadding: showedItemContainerPadding,
      showedItemsBoxDecoration: showedItemsBoxDecoration,
      showedItemsScrollController: showedItemsScrollController,
      showedItemsScrollPhysics: showedItemsScrollPhysics,
      showedItemsScrollbarColor: showedItemsScrollbarColor,
      showedItemsScrollbarMinOverscrollLength:
          showedItemsScrollbarMinOverscrollLength,
      showedItemsScrollbarMinThumbLength: showedItemsScrollbarMinThumbLength,
      showedItemsScrollbarRadius: showedItemsScrollbarRadius,
      sortPickedItems: sortPickedItems ?? false,
      sortShowedItems: sortShowedItems ?? false,
      caseSensitiveSearch: caseSensitiveSearch ?? false,
      pickedItemsContainerBuilder: pickedItemsContainerBuilder,
      hintText: hintText,
      showedItemExtent: showedItemExtent,
      placePickedItemContainerBelow: placePickedItemContainerBelow ?? false,
      controller: controller ?? MultipleSearchController(),
      onSearchChanged: onSearchChanged,
    );