SearchableDropdownPlusFormField<C extends BlocBase<S>, S> constructor

SearchableDropdownPlusFormField<C extends BlocBase<S>, S>({
  1. required C cubit,
  2. required void onSearch(
    1. String query
    ),
  3. required void onStateChange(
    1. S state,
    2. void updateList(
      1. List<DropdownItem>
      ),
    3. void updateLoading(
      1. bool
      )
    ),
  4. required String hintText,
  5. Key? key,
  6. DropdownItem? initialValue,
  7. FormFieldValidator<DropdownItem?>? validator,
  8. FormFieldSetter<DropdownItem?>? onSaved,
  9. AutovalidateMode? autovalidateMode,
  10. bool enabled = true,
  11. String? searchHint,
  12. String? noResultsText,
  13. String? loadingText,
  14. bool needInitialFetch = false,
  15. DropdownPlusTheme? dropdownTheme,
  16. DropdownPlusThemeStyle? themeStyle,
  17. Widget itemBuilder(
    1. DropdownItem item,
    2. bool isSelected
    )?,
  18. Widget selectedValueBuilder(
    1. DropdownItem selectedItem
    )?,
  19. Future<bool> checkInternetConnection()?,
  20. Duration debounceDuration = Duration.zero,
  21. bool autofocusSearch = false,
  22. DropdownEmptyBuilder? emptyBuilder,
  23. DropdownLoadingBuilder? loadingBuilder,
  24. Object? error,
  25. VoidCallback? onRetry,
  26. DropdownErrorBuilder? errorBuilder,
  27. String? semanticsLabel,
  28. int minSearchLength = 0,
})

Implementation

SearchableDropdownPlusFormField({
  required C cubit,
  required void Function(String query) onSearch,
  required void Function(
    S state,
    void Function(List<DropdownItem<dynamic>>) updateList,
    void Function(bool) updateLoading,
  ) onStateChange,
  required String hintText,
  super.key,
  DropdownItem<dynamic>? initialValue,
  super.validator,
  super.onSaved,
  super.autovalidateMode,
  super.enabled,
  String? searchHint,
  String? noResultsText,
  String? loadingText,
  bool needInitialFetch = false,
  DropdownPlusTheme? dropdownTheme,
  DropdownPlusThemeStyle? themeStyle,
  Widget Function(DropdownItem<dynamic> item, bool isSelected)? itemBuilder,
  Widget Function(DropdownItem<dynamic> selectedItem)? selectedValueBuilder,
  Future<bool> Function()? checkInternetConnection,
  Duration debounceDuration = Duration.zero,
  bool autofocusSearch = false,
  DropdownEmptyBuilder? emptyBuilder,
  DropdownLoadingBuilder? loadingBuilder,
  Object? error,
  VoidCallback? onRetry,
  DropdownErrorBuilder? errorBuilder,
  String? semanticsLabel,
  int minSearchLength = 0,
}) : super(
        initialValue: initialValue,
        builder: (state) {
          return dropdownFormFieldDecoration(
            state: state,
            dropdown: SearchableDropdownPlus<C, S>(
              cubit: cubit,
              onSearch: onSearch,
              onStateChange: onStateChange,
              hintText: hintText,
              selectedValue: state.value,
              onSelectionChanged: (item) => state.didChange(item),
              searchHint: searchHint,
              noResultsText: noResultsText,
              loadingText: loadingText,
              needInitialFetch: needInitialFetch,
              dropdownTheme: dropdownTheme,
              themeStyle: themeStyle,
              itemBuilder: itemBuilder,
              selectedValueBuilder: selectedValueBuilder,
              checkInternetConnection: checkInternetConnection,
              debounceDuration: debounceDuration,
              enabled: enabled,
              autofocusSearch: autofocusSearch,
              emptyBuilder: emptyBuilder,
              loadingBuilder: loadingBuilder,
              error: error,
              onRetry: onRetry,
              errorBuilder: errorBuilder,
              semanticsLabel: semanticsLabel,
              minSearchLength: minSearchLength,
            ),
          );
        },
      );