SmartSearchDropdown<T>.withCubit constructor

const SmartSearchDropdown<T>.withCubit({
  1. Key? key,
  2. required SmartPaginationCubit<T> cubit,
  3. required PaginationRequest searchRequestBuilder(
    1. String query
    ),
  4. required Widget itemBuilder(
    1. BuildContext context,
    2. T item
    ),
  5. ValueChanged<T>? onItemSelected,
  6. SmartSearchConfig searchConfig = const SmartSearchConfig(),
  7. SmartSearchOverlayConfig overlayConfig = const SmartSearchOverlayConfig(),
  8. InputDecoration? decoration,
  9. TextStyle? style,
  10. Widget? prefixIcon,
  11. Widget? suffixIcon,
  12. bool showClearButton = true,
  13. BorderRadius? borderRadius,
  14. WidgetBuilder? loadingBuilder,
  15. WidgetBuilder? emptyBuilder,
  16. Widget errorBuilder(
    1. BuildContext context,
    2. Exception error
    )?,
  17. IndexedWidgetBuilder? separatorBuilder,
  18. WidgetBuilder? headerBuilder,
  19. WidgetBuilder? footerBuilder,
  20. BoxDecoration? overlayDecoration,
  21. bool showSelected = false,
  22. Widget selectedItemBuilder(
    1. BuildContext context,
    2. T item,
    3. VoidCallback onClear
    )?,
  23. T? initialSelectedValue,
  24. String? validator(
    1. String?
    )?,
  25. TextInputAction textInputAction = TextInputAction.search,
  26. List<TextInputFormatter>? inputFormatters,
  27. AutovalidateMode? autovalidateMode,
  28. ValueChanged<String>? onChanged,
  29. int? maxLength,
  30. TextCapitalization textCapitalization = TextCapitalization.none,
  31. TextInputType keyboardType = TextInputType.text,
})

Creates a search dropdown with an external cubit.

Implementation

const SmartSearchDropdown.withCubit({
  super.key,
  required SmartPaginationCubit<T> cubit,
  required this.searchRequestBuilder,
  required this.itemBuilder,
  this.onItemSelected,
  this.searchConfig = const SmartSearchConfig(),
  this.overlayConfig = const SmartSearchOverlayConfig(),
  this.decoration,
  this.style,
  this.prefixIcon,
  this.suffixIcon,
  this.showClearButton = true,
  this.borderRadius,
  this.loadingBuilder,
  this.emptyBuilder,
  this.errorBuilder,
  this.separatorBuilder,
  this.headerBuilder,
  this.footerBuilder,
  this.overlayDecoration,
  this.showSelected = false,
  this.selectedItemBuilder,
  this.initialSelectedValue,
  this.validator,
  this.textInputAction = TextInputAction.search,
  this.inputFormatters,
  this.autovalidateMode,
  this.onChanged,
  this.maxLength,
  this.textCapitalization = TextCapitalization.none,
  this.keyboardType = TextInputType.text,
})  : _cubit = cubit,
      _request = null,
      _provider = null,
      _listBuilder = null,
      _onInsertionCallback = null,
      _maxPagesInMemory = 5,
      _logger = null,
      _retryConfig = null,
      _dataAge = null,
      _orders = null;