The Facet controller allows you to create a search interface component that the end user can use to refine a query by selecting filters based on item metadata (i.e., field values). If you have enabled a Dynamic Navigation Experience (DNE) model, the Facet controller automatically reorders facet values according to the user query.

Examples:

interface Facet {
    facetSearch: FacetSearch;
    state: FacetState;
    deselectAll(): void;
    disable(): void;
    enable(): void;
    isSortedBy(criterion: FacetSortCriterion): boolean;
    isValueExcluded(value: FacetValue): boolean;
    isValueSelected(value: FacetValue): boolean;
    showLessValues(): void;
    showMoreValues(): void;
    sortBy(criterion: FacetSortCriterion): void;
    subscribe(listener: () => void): Unsubscribe;
    toggleExclude(selection: FacetValue): void;
    toggleSelect(selection: FacetValue): void;
    toggleSingleExclude(selection: FacetValue): void;
    toggleSingleSelect(selection: FacetValue): void;
}

Hierarchy (View Summary)

Methods

Properties

facetSearch: FacetSearch

Provides methods to search the facet's values.

state: FacetState

The state of the Facet controller.