FormeSearchable<T extends Object>.base constructor

FormeSearchable<T extends Object>.base({
  1. required String name,
  2. required FormeSearchableQuery<T> query,
  3. int? maximum,
  4. List<T> onMaximumExceed(
    1. List<T> value,
    2. int maximum
    )?,
  5. Duration? debounce,
  6. List<T>? initialValue,
  7. FormeSearchableQueryFilter? queryFilter,
  8. bool readOnly = false,
  9. dynamic comparator,
  10. bool enabled = true,
  11. int? order,
  12. FormeFieldDecorator<List<T>>? decorator,
  13. FormeFieldStatusChanged<List<T>>? onStatusChanged,
  14. dynamic onInitialed,
  15. FormeFieldSetter<List<T>>? onSaved,
  16. bool quietlyValidate = false,
  17. Duration? asyncValidatorDebounce,
  18. FormeValidator<List<T>>? validator,
  19. FormeAsyncValidator<List<T>>? asyncValidator,
  20. AutovalidateMode? autovalidateMode,
  21. bool registrable = true,
  22. FormeFieldValidationFilter<List<T>>? validationFilter,
  23. bool requestFocusOnUserInteraction = true,
  24. AutocompleteOptionToString<T>? displayStringForOption,
  25. WidgetBuilder? displayBuilder,
  26. FormeSearchableOptionWidgetBuilder<T>? optionWidgetBuilder,
  27. WidgetBuilder? paginationBarBuilder,
  28. WidgetBuilder? processingWidgetBuilder,
  29. WidgetBuilder? emptyContentWidgetBuilder,
  30. FormePaginationConfiguration? defaultPaginationConfiguration,
  31. WidgetBuilder? searchFieldsBuilder,
  32. FormeSearchableErrorWidgetBuilder? errorWidgetBuilder,
  33. InputDecoration? decoration = const InputDecoration(),
  34. FormeBaseConfiguration? baseConfiguration,
  35. WidgetBuilder? contentBuilder,
})

Implementation

factory FormeSearchable.base({
  required String name,
  required FormeSearchableQuery<T> query,
  int? maximum,
  List<T> Function(List<T> value, int maximum)? onMaximumExceed,
  Duration? debounce,
  List<T>? initialValue,
  FormeSearchableQueryFilter? queryFilter,
  bool readOnly = false,
  FormeValueComparator<List<T>>? comparator,
  bool enabled = true,
  int? order,
  FormeFieldDecorator<List<T>>? decorator,
  FormeFieldStatusChanged<List<T>>? onStatusChanged,
  FormeFieldInitialed<List<T>>? onInitialed,
  FormeFieldSetter<List<T>>? onSaved,
  bool quietlyValidate = false,
  Duration? asyncValidatorDebounce,
  FormeValidator<List<T>>? validator,
  FormeAsyncValidator<List<T>>? asyncValidator,
  AutovalidateMode? autovalidateMode,
  bool registrable = true,
  FormeFieldValidationFilter<List<T>>? validationFilter,
  bool requestFocusOnUserInteraction = true,
  AutocompleteOptionToString<T>? displayStringForOption,
  WidgetBuilder? displayBuilder,
  FormeSearchableOptionWidgetBuilder<T>? optionWidgetBuilder,
  WidgetBuilder? paginationBarBuilder,
  WidgetBuilder? processingWidgetBuilder,
  WidgetBuilder? emptyContentWidgetBuilder,
  FormePaginationConfiguration? defaultPaginationConfiguration,
  WidgetBuilder? searchFieldsBuilder,
  FormeSearchableErrorWidgetBuilder? errorWidgetBuilder,
  InputDecoration? decoration = const InputDecoration(),
  FormeBaseConfiguration? baseConfiguration,
  WidgetBuilder? contentBuilder,
}) {
  return FormeSearchable<T>.custom(
    readOnly: readOnly,
    comparator: comparator,
    enabled: enabled,
    order: order,
    decorator: decorator,
    onStatusChanged: onStatusChanged,
    onInitialed: onInitialed,
    onSaved: onSaved,
    quietlyValidate: quietlyValidate,
    asyncValidatorDebounce: asyncValidatorDebounce,
    validator: validator,
    asyncValidator: asyncValidator,
    autovalidateMode: autovalidateMode,
    registrable: registrable,
    validationFilter: validationFilter,
    requestFocusOnUserInteraction: requestFocusOnUserInteraction,
    queryFilter: queryFilter,
    name: name,
    query: query,
    debounce: debounce ?? const Duration(milliseconds: 500),
    builder: (context) {
      return FormeSearchableBaseField<T>(
        contentBuilder: contentBuilder,
        emptyContentWidgetBuilder: emptyContentWidgetBuilder,
        decoration: decoration,
        searchFieldsBuilder: searchFieldsBuilder,
        errorWidgetBuilder: errorWidgetBuilder,
        displayBuilder: displayBuilder,
        optionWidgetBuilder: optionWidgetBuilder,
        paginationBarBuilder: paginationBarBuilder,
        processingWidgetBuilder: processingWidgetBuilder,
        defaultPaginationConfiguration: defaultPaginationConfiguration,
        displayStringForOption:
            displayStringForOption ?? RawAutocomplete.defaultStringForOption,
        mode: Mode.base,
        baseConfiguration:
            baseConfiguration ?? const FormeBaseConfiguration(),
      );
    },
    maximum: maximum,
    onMaximumExceed: onMaximumExceed,
    initialValue: initialValue ?? const [],
  );
}