FAutocomplete constructor

FAutocomplete({
  1. required List<String> items,
  2. FAutocompleteControl control = const .managed(),
  3. FPopoverControl popoverControl = const .managed(),
  4. FAutocompleteStyleDelta style = const .context(),
  5. Widget? label,
  6. String? hint,
  7. Widget? description,
  8. TextMagnifierConfiguration? magnifierConfiguration,
  9. Object groupId = EditableText,
  10. FocusNode? focusNode,
  11. TextInputType? keyboardType,
  12. TextInputAction? textInputAction,
  13. TextCapitalization textCapitalization = .none,
  14. TextAlign textAlign = .start,
  15. TextAlignVertical? textAlignVertical,
  16. TextDirection? textDirection,
  17. VoidCallback? contentOnTapHide,
  18. bool autofocus = false,
  19. String obscuringCharacter = '•',
  20. bool obscureText = false,
  21. bool autocorrect = true,
  22. SmartDashesType? smartDashesType,
  23. SmartQuotesType? smartQuotesType,
  24. bool enableSuggestions = true,
  25. int? minLines,
  26. int? maxLines = 1,
  27. bool expands = false,
  28. bool readOnly = false,
  29. bool? showCursor,
  30. int? maxLength,
  31. MaxLengthEnforcement? maxLengthEnforcement,
  32. bool onTapAlwaysCalled = false,
  33. VoidCallback? onEditingComplete,
  34. ValueChanged<String>? onSubmit,
  35. AppPrivateCommandCallback? onAppPrivateCommand,
  36. List<TextInputFormatter>? inputFormatters,
  37. bool enabled = true,
  38. bool? ignorePointers,
  39. bool enableInteractiveSelection = true,
  40. TextSelectionControls? selectionControls,
  41. DragStartBehavior dragStartBehavior = .start,
  42. MouseCursor? mouseCursor,
  43. FTextFieldCounterBuilder? counterBuilder,
  44. ScrollPhysics? scrollPhysics,
  45. ScrollController? scrollController,
  46. Iterable<String>? autofillHints,
  47. String? restorationId,
  48. bool stylusHandwritingEnabled = true,
  49. bool enableIMEPersonalizedLearning = true,
  50. ContentInsertionConfiguration? contentInsertionConfiguration,
  51. EditableTextContextMenuBuilder? contextMenuBuilder,
  52. bool canRequestFocus = true,
  53. UndoHistoryController? undoController,
  54. SpellCheckConfiguration? spellCheckConfiguration,
  55. FFieldIconBuilder<FAutocompleteStyle>? prefixBuilder,
  56. FFieldIconBuilder<FAutocompleteStyle>? suffixBuilder,
  57. bool clearable(
    1. TextEditingValue value
    ) = _clearable,
  58. FormFieldSetter<String>? onSaved,
  59. VoidCallback? onReset,
  60. FormFieldValidator<String>? validator,
  61. AutovalidateMode autovalidateMode = .disabled,
  62. String? forceErrorText,
  63. Widget errorBuilder(
    1. BuildContext context,
    2. String message
    ) = FFormFieldProperties.defaultErrorBuilder,
  64. AlignmentGeometry contentAnchor = .topStart,
  65. AlignmentGeometry fieldAnchor = .bottomStart,
  66. FPortalConstraints contentConstraints = const FAutoWidthPortalConstraints(maxHeight: 300),
  67. FPortalSpacing contentSpacing = const .spacing(4),
  68. FPortalOverflow contentOverflow = .flip,
  69. Offset contentOffset = .zero,
  70. FPopoverHideRegion contentHideRegion = .excludeChild,
  71. Object? contentGroupId,
  72. bool autoHide = true,
  73. FFieldBuilder<FAutocompleteStyle> builder = _builder,
  74. bool rightArrowToComplete = false,
  75. FutureOr<Iterable<String>> filter(
    1. String query
    )?,
  76. FAutoCompleteContentBuilder? contentBuilder,
  77. ScrollController? contentScrollController,
  78. ScrollPhysics contentPhysics = const ClampingScrollPhysics(),
  79. FItemDivider contentDivider = .none,
  80. Widget contentEmptyBuilder(
    1. BuildContext context,
    2. FAutocompleteContentStyle style
    ) = defaultContentEmptyBuilder,
  81. Widget contentLoadingBuilder(
    1. BuildContext context,
    2. FAutocompleteContentStyle style
    ) = defaultContentLoadingBuilder,
  82. Widget contentErrorBuilder(
    1. BuildContext context,
    2. Object? error,
    3. StackTrace stackTrace
    )?,
  83. Key? key,
})

Creates a FAutocomplete from the given items.

For more control over the appearance of items, use FAutocomplete.builder.

Implementation

FAutocomplete({
  required List<String> items,
  FAutocompleteControl control = const .managed(),
  FPopoverControl popoverControl = const .managed(),
  FAutocompleteStyleDelta style = const .context(),
  Widget? label,
  String? hint,
  Widget? description,
  TextMagnifierConfiguration? magnifierConfiguration,
  Object groupId = EditableText,
  FocusNode? focusNode,
  TextInputType? keyboardType,
  TextInputAction? textInputAction,
  TextCapitalization textCapitalization = .none,
  TextAlign textAlign = .start,
  TextAlignVertical? textAlignVertical,
  TextDirection? textDirection,
  VoidCallback? contentOnTapHide,
  bool autofocus = false,
  String obscuringCharacter = '•',
  bool obscureText = false,
  bool autocorrect = true,
  SmartDashesType? smartDashesType,
  SmartQuotesType? smartQuotesType,
  bool enableSuggestions = true,
  int? minLines,
  int? maxLines = 1,
  bool expands = false,
  bool readOnly = false,
  bool? showCursor,
  int? maxLength,
  MaxLengthEnforcement? maxLengthEnforcement,
  bool onTapAlwaysCalled = false,
  VoidCallback? onEditingComplete,
  ValueChanged<String>? onSubmit,
  AppPrivateCommandCallback? onAppPrivateCommand,
  List<TextInputFormatter>? inputFormatters,
  bool enabled = true,
  bool? ignorePointers,
  bool enableInteractiveSelection = true,
  TextSelectionControls? selectionControls,
  DragStartBehavior dragStartBehavior = .start,
  MouseCursor? mouseCursor,
  FTextFieldCounterBuilder? counterBuilder,
  ScrollPhysics? scrollPhysics,
  ScrollController? scrollController,
  Iterable<String>? autofillHints,
  String? restorationId,
  bool stylusHandwritingEnabled = true,
  bool enableIMEPersonalizedLearning = true,
  ContentInsertionConfiguration? contentInsertionConfiguration,
  EditableTextContextMenuBuilder? contextMenuBuilder,
  bool canRequestFocus = true,
  UndoHistoryController? undoController,
  SpellCheckConfiguration? spellCheckConfiguration,
  FFieldIconBuilder<FAutocompleteStyle>? prefixBuilder,
  FFieldIconBuilder<FAutocompleteStyle>? suffixBuilder,
  bool Function(TextEditingValue value) clearable = _clearable,
  FormFieldSetter<String>? onSaved,
  VoidCallback? onReset,
  FormFieldValidator<String>? validator,
  AutovalidateMode autovalidateMode = .disabled,
  String? forceErrorText,
  Widget Function(BuildContext context, String message) errorBuilder = FFormFieldProperties.defaultErrorBuilder,
  AlignmentGeometry contentAnchor = .topStart,
  AlignmentGeometry fieldAnchor = .bottomStart,
  FPortalConstraints contentConstraints = const FAutoWidthPortalConstraints(maxHeight: 300),
  FPortalSpacing contentSpacing = const .spacing(4),
  FPortalOverflow contentOverflow = .flip,
  Offset contentOffset = .zero,
  FPopoverHideRegion contentHideRegion = .excludeChild,
  Object? contentGroupId,
  bool autoHide = true,
  FFieldBuilder<FAutocompleteStyle> builder = _builder,
  bool rightArrowToComplete = false,
  FutureOr<Iterable<String>> Function(String query)? filter,
  FAutoCompleteContentBuilder? contentBuilder,
  ScrollController? contentScrollController,
  ScrollPhysics contentPhysics = const ClampingScrollPhysics(),
  FItemDivider contentDivider = .none,
  Widget Function(BuildContext context, FAutocompleteContentStyle style) contentEmptyBuilder =
      defaultContentEmptyBuilder,
  Widget Function(BuildContext context, FAutocompleteContentStyle style) contentLoadingBuilder =
      defaultContentLoadingBuilder,
  Widget Function(BuildContext context, Object? error, StackTrace stackTrace)? contentErrorBuilder,
  Key? key,
}) : this.builder(
       filter: filter ?? (query) => items.where((item) => item.toLowerCase().startsWith(query.toLowerCase())),
       contentBuilder:
           contentBuilder ?? (context, query, values) => [for (final value in values) .item(value: value)],
       control: control,
       popoverControl: popoverControl,
       style: style,
       label: label,
       hint: hint,
       description: description,
       magnifierConfiguration: magnifierConfiguration,
       groupId: groupId,
       focusNode: focusNode,
       keyboardType: keyboardType,
       textInputAction: textInputAction,
       textCapitalization: textCapitalization,
       textAlign: textAlign,
       textAlignVertical: textAlignVertical,
       textDirection: textDirection,
       contentOnTapHide: contentOnTapHide,
       autofocus: autofocus,
       obscuringCharacter: obscuringCharacter,
       obscureText: obscureText,
       autocorrect: autocorrect,
       smartDashesType: smartDashesType,
       smartQuotesType: smartQuotesType,
       enableSuggestions: enableSuggestions,
       minLines: minLines,
       maxLines: maxLines,
       expands: expands,
       readOnly: readOnly,
       showCursor: showCursor,
       maxLength: maxLength,
       maxLengthEnforcement: maxLengthEnforcement,
       onTapAlwaysCalled: onTapAlwaysCalled,
       onEditingComplete: onEditingComplete,
       onSubmit: onSubmit,
       onAppPrivateCommand: onAppPrivateCommand,
       inputFormatters: inputFormatters,
       enabled: enabled,
       ignorePointers: ignorePointers,
       enableInteractiveSelection: enableInteractiveSelection,
       selectionControls: selectionControls,
       dragStartBehavior: dragStartBehavior,
       mouseCursor: mouseCursor,
       counterBuilder: counterBuilder,
       scrollPhysics: scrollPhysics,
       scrollController: scrollController,
       autofillHints: autofillHints,
       restorationId: restorationId,
       stylusHandwritingEnabled: stylusHandwritingEnabled,
       enableIMEPersonalizedLearning: enableIMEPersonalizedLearning,
       contentInsertionConfiguration: contentInsertionConfiguration,
       contextMenuBuilder: contextMenuBuilder,
       canRequestFocus: canRequestFocus,
       undoController: undoController,
       spellCheckConfiguration: spellCheckConfiguration,
       prefixBuilder: prefixBuilder,
       suffixBuilder: suffixBuilder,
       clearable: clearable,
       onSaved: onSaved,
       onReset: onReset,
       validator: validator,
       autovalidateMode: autovalidateMode,
       forceErrorText: forceErrorText,
       errorBuilder: errorBuilder,
       contentAnchor: contentAnchor,
       fieldAnchor: fieldAnchor,
       contentConstraints: contentConstraints,
       contentSpacing: contentSpacing,
       contentOverflow: contentOverflow,
       contentOffset: contentOffset,
       contentHideRegion: contentHideRegion,
       contentGroupId: contentGroupId,
       autoHide: autoHide,
       builder: builder,
       rightArrowToComplete: rightArrowToComplete,
       contentScrollController: contentScrollController,
       contentPhysics: contentPhysics,
       contentDivider: contentDivider,
       contentEmptyBuilder: contentEmptyBuilder,
       contentLoadingBuilder: contentLoadingBuilder,
       contentErrorBuilder: contentErrorBuilder,
       key: key,
     );