MySearchField<T> constructor

MySearchField<T>({
  1. Key? key,
  2. required SearchResultCallback<T> onSearchResultFound,
  3. TextFieldConfiguration textFieldConfiguration = const TextFieldConfiguration(),
  4. SuggestionsBoxDecoration suggestionsBoxDecoration = const SuggestionsBoxDecoration(),
  5. Duration debounceDuration = const Duration(milliseconds: 300),
  6. SuggestionsBoxController? suggestionsBoxController,
  7. ScrollController? scrollController,
  8. WidgetBuilder? loadingBuilder,
  9. WidgetBuilder? noItemsFoundBuilder,
  10. ErrorBuilder? errorBuilder,
  11. AnimationTransitionBuilder? transitionBuilder,
  12. double animationStart = 0.25,
  13. Duration animationDuration = const Duration(milliseconds: 500),
  14. bool getImmediateSuggestions = false,
  15. double suggestionsBoxVerticalOffset = 5.0,
  16. AxisDirection direction = AxisDirection.down,
  17. bool hideOnLoading = false,
  18. bool hideOnEmpty = false,
  19. bool hideOnError = false,
  20. bool hideSuggestionsOnKeyboardHide = true,
  21. bool keepSuggestionsOnLoading = true,
  22. bool keepSuggestionsOnSuggestionSelected = false,
  23. bool autoFlipDirection = false,
  24. bool hideKeyboard = false,
  25. int minCharsForSuggestions = 0,
})

Implementation

MySearchField(
    {Key? key,
    // required this.itemBuilder,
    required this.onSearchResultFound,
    this.textFieldConfiguration: const TextFieldConfiguration(),
    this.suggestionsBoxDecoration: const SuggestionsBoxDecoration(),
    this.debounceDuration: const Duration(milliseconds: 300),
    this.suggestionsBoxController,
    this.scrollController,
    this.loadingBuilder,
    this.noItemsFoundBuilder,
    this.errorBuilder,
    this.transitionBuilder,
    this.animationStart: 0.25,
    this.animationDuration: const Duration(milliseconds: 500),
    this.getImmediateSuggestions: false,
    this.suggestionsBoxVerticalOffset: 5.0,
    this.direction: AxisDirection.down,
    this.hideOnLoading: false,
    this.hideOnEmpty: false,
    this.hideOnError: false,
    this.hideSuggestionsOnKeyboardHide: true,
    this.keepSuggestionsOnLoading: true,
    this.keepSuggestionsOnSuggestionSelected: false,
    this.autoFlipDirection: false,
    this.hideKeyboard: false,
    this.minCharsForSuggestions: 0})
    : assert(animationStart >= 0.0 && animationStart <= 1.0),
      assert(
          direction == AxisDirection.down || direction == AxisDirection.up),
      assert(minCharsForSuggestions >= 0),
      super(key: key);