SmartSearchMultiDropdown<T>.withCubit constructor
const
SmartSearchMultiDropdown<T>.withCubit ({
- Key? key,
- required SmartPaginationCubit<
T> cubit, - required PaginationRequest searchRequestBuilder(
- String query
- required Widget itemBuilder(
- BuildContext context,
- T item
- ValueChanged<
List< ? onSelectionChanged,T> > - SmartSearchConfig searchConfig = const SmartSearchConfig(),
- SmartSearchOverlayConfig overlayConfig = const SmartSearchOverlayConfig(),
- InputDecoration? decoration,
- TextStyle? style,
- Widget? prefixIcon,
- Widget? suffixIcon,
- bool showClearButton = true,
- BorderRadius? borderRadius,
- WidgetBuilder? loadingBuilder,
- WidgetBuilder? emptyBuilder,
- Widget errorBuilder(
- BuildContext context,
- Exception error
- IndexedWidgetBuilder? separatorBuilder,
- WidgetBuilder? headerBuilder,
- BoxDecoration? overlayDecoration,
- bool showSelected = true,
- Widget selectedItemBuilder(
- BuildContext context,
- T item,
- VoidCallback onRemove
- List<
T> ? initialSelectedValues, - int? maxSelections,
- String? validator()?,
- TextInputAction textInputAction = TextInputAction.search,
- List<
TextInputFormatter> ? inputFormatters, - AutovalidateMode? autovalidateMode,
- ValueChanged<
String> ? onChanged, - int? maxLength,
- TextCapitalization textCapitalization = TextCapitalization.none,
- TextInputType keyboardType = TextInputType.text,
- bool selectedItemsWrap = true,
- double selectedItemsSpacing = 8.0,
- double selectedItemsRunSpacing = 8.0,
- EdgeInsets selectedItemsPadding = const EdgeInsets.only(top: 12),
Creates a multi-selection search dropdown with an external cubit.
Implementation
const SmartSearchMultiDropdown.withCubit({
super.key,
required SmartPaginationCubit<T> cubit,
required this.searchRequestBuilder,
required this.itemBuilder,
this.onSelectionChanged,
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 = true,
this.selectedItemBuilder,
this.initialSelectedValues,
this.maxSelections,
this.validator,
this.textInputAction = TextInputAction.search,
this.inputFormatters,
this.autovalidateMode,
this.onChanged,
this.maxLength,
this.textCapitalization = TextCapitalization.none,
this.keyboardType = TextInputType.text,
this.selectedItemsWrap = true,
this.selectedItemsSpacing = 8.0,
this.selectedItemsRunSpacing = 8.0,
this.selectedItemsPadding = const EdgeInsets.only(top: 12),
}) : _cubit = cubit,
_request = null,
_provider = null,
_listBuilder = null,
_onInsertionCallback = null,
_maxPagesInMemory = 5,
_logger = null,
_retryConfig = null,
_dataAge = null,
_orders = null;