MySearchField<T> constructor

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

Implementation

MySearchField(
    {Key? key,
    // required this.itemBuilder,
    required this.onSearchResultFound,
    this.source = "",
    this.searchIndex= 0,
    this.searchSize = 20,
    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);