FAutocomplete constructor

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