Class SingleTypeahead
java.lang.Object
org.patternfly.component.ComponentDelegate<HTMLElement, SingleTypeahead>
org.patternfly.component.menu.SingleTypeahead
- All Implemented Interfaces:
Attachable, ElementAttributeMethods<HTMLElement, SingleTypeahead>, ElementClassListMethods<HTMLElement, SingleTypeahead>, ElementConsumerMethods<HTMLElement, SingleTypeahead>, ElementContainerMethods<HTMLElement, SingleTypeahead>, ElementEventMethods<HTMLElement, SingleTypeahead>, ElementIdMethods<HTMLElement, SingleTypeahead>, ElementQueryMethods<HTMLElement>, HTMLElementAttributeMethods<HTMLElement, SingleTypeahead>, HTMLElementDataMethods<HTMLElement, SingleTypeahead>, HTMLElementStyleMethods<HTMLElement, SingleTypeahead>, HTMLElementVisibilityMethods<HTMLElement, SingleTypeahead>, IsElement<HTMLElement>, TypedBuilder<HTMLElement, SingleTypeahead>, Component, Expandable<HTMLElement, SingleTypeahead>, Typeahead<SingleTypeahead>, Modifiers.Disabled<HTMLElement, SingleTypeahead>
public class SingleTypeahead
extends ComponentDelegate<HTMLElement, SingleTypeahead>
implements Typeahead<SingleTypeahead>
A typeahead is a select variant that replaces the typical button toggle for opening the select menu with a text input and
button toggle combo. As a user enters characters into the text input, the menu options will be filtered to match.
This implementation uses the Popover API and CSS anchor positioning instead of Popper.js. The typeahead uses the browser's
top-layer rendering for correct stacking, eliminating z-index issues. CSS position-try-fallbacks handles menu
flipping when there is not enough space.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionAllows the creation of new menu items based on user input.applyToMenuList(Consumer<MenuList> consumer) applyToMenuToggle(Consumer<MenuToggle> consumer) Provides access to the underlying menu toggle using a fluent API stylevoidattach(MutationRecord mutationRecord) voidclear()voidclear(boolean fireEvent) voidcollapse(boolean fireEvent) voiddetach(MutationRecord mutationRecord) disabled(boolean disabled) Adds/removes modifier(disabled)voidexpand(boolean fireEvent) booleanmenu()onLoaded(ComponentHandler<SingleTypeahead> loadedHandler) onNoResults(NoResults noResults) Configures the behavior for generating a "no results" menu item when no matching items are found in the menu list for the given input text.onSearch(SearchFilter searchFilter) Configures the search behavior for this typeahead.onToggle(ToggleHandler<SingleTypeahead> toggleHandler) voidvoidvoidvoidstatic SingleTypeaheadsingleTypeahead(String id, String placeholder) Creates a newSingleTypeaheadcomponent with aMenuToggleof typeMenuToggleType.typeaheadand aSearchInput.static SingleTypeaheadsingleTypeahead(BaseSearchInput<?> searchInput) Creates a newSingleTypeaheadinstance using the providedBaseSearchInput.stayOpen(StayOpenPredicate stayOpen) Specifies a condition that determines whether the menu should remain open when the menu-toggle or the menu is clicked.that()Methods inherited from class ComponentDelegate
componentType, elementMethods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ElementAttributeMethods
aria, aria, aria, attr, attr, attr, role, roleMethods inherited from interface ElementClassListMethods
classList, classList, css, toggle, toggle, toggleMethods inherited from interface ElementConsumerMethods
apply, runMethods inherited from interface ElementContainerMethods
add, add, add, add, addAll, addAll, addAll, addAll, addAll, addAllMethods inherited from interface ElementEventMethods
on, on, onMethods inherited from interface ElementIdMethods
id, uniqueIdMethods inherited from interface ElementQueryMethods
closest, querySelector, querySelectorAllMethods inherited from interface HTMLElementAttributeMethods
titleMethods inherited from interface HTMLElementDataMethods
data, dataMethods inherited from interface HTMLElementVisibilityMethods
hiddenMethods inherited from interface Modifiers.Disabled
disabledMethods inherited from interface Typeahead
allowNewItems
-
Method Details
-
singleTypeahead
Creates a newSingleTypeaheadcomponent with aMenuToggleof typeMenuToggleType.typeaheadand aSearchInput. -
singleTypeahead
Creates a newSingleTypeaheadinstance using the providedBaseSearchInput.- Parameters:
searchInput- theBaseSearchInputused to configure the typeahead component.- Returns:
- a new
SingleTypeaheadinstance initialized with aMenuToggleof typeMenuToggleType.typeahead.
-
allowNewItems
public SingleTypeahead allowNewItems(Function<String, String> prompt, Function<String, Promise<MenuItem>> createItem) Description copied from interface:TypeaheadAllows the creation of new menu items based on user input. This method enables a typeahead component to provide functionality for dynamically adding custom items when the user-provided input does not match any existing items.- Specified by:
allowNewItemsin interfaceTypeahead<SingleTypeahead>- Parameters:
prompt- aFunctionthat takes aStringinput representing the user's data and returns aStringresponse, typically used to prompt the user or display a message.createItem- aFunctionthat takes aStringinput representing the user's data and returns aPromiseof aMenuItem, representing the newly created item.- Returns:
- an instance of the enclosing type, enabling method chaining for further configuration.
-
that
- Specified by:
thatin interfaceTypedBuilder<HTMLElement, SingleTypeahead>
-
applyToMenuList
Applies the providedConsumerto theMenuListassociated with thisSingleSelect. If the menu, menu content, or menu list is not yet initialized, they will be created as part of this method.This method simplifies the process of adding menu items to the component. It is a shortcut for creating and adding a
SingleSelectMenu,MenuContent, andMenuListin a single step. Don't use this method if you need to us another menu type, want to customize the menu, content or list or if you want to useMenuGroups.- Parameters:
consumer- aConsumerthat accepts aMenuListfor customization or modification- Returns:
- the current
SingleSelectinstance for method chaining
-
noDefaultSelectHandler
-
clear
public void clear() -
clear
public void clear(boolean fireEvent) -
select
-
select
-
attach
- Specified by:
attachin interfaceAttachable
-
detach
- Specified by:
detachin interfaceAttachable
-
applyToMenuToggle
Provides access to the underlying menu toggle using a fluent API style -
disabled
Description copied from interface:Modifiers.DisabledAdds/removes modifier(disabled)- Specified by:
disabledin interfaceModifiers.Disabled<HTMLElement, B extends TypedBuilder<HTMLElement, B>>
-
isDisabled
public boolean isDisabled()- Specified by:
isDisabledin interfaceModifiers.Disabled<HTMLElement, B extends TypedBuilder<HTMLElement, B>>
-
placement
-
ariaLabel
-
onLoaded
-
onToggle
-
collapse
public void collapse(boolean fireEvent) - Specified by:
collapsein interfaceExpandable<HTMLElement, B extends TypedBuilder<HTMLElement, B>>
-
expand
public void expand(boolean fireEvent) - Specified by:
expandin interfaceExpandable<HTMLElement, B extends TypedBuilder<HTMLElement, B>>
-