UNPKG

@spartacus/core

Version:

Spartacus - the core framework

71 lines (70 loc) 1.91 kB
import { PaginationModel, SortModel } from './misc.model'; import { Product } from './product.model'; export interface SearchQuery { value?: string; } export interface SearchState { query?: SearchQuery; url?: string; } export interface FacetValue { count?: number; name?: string; query?: SearchState; selected?: boolean; } export interface Breadcrumb { facetCode?: string; facetName?: string; facetValueCode?: string; facetValueName?: string; removeQuery?: SearchState; truncateQuery?: SearchState; } export interface Facet { category?: boolean; multiSelect?: boolean; name?: string; priority?: number; values?: FacetValue[]; visible?: boolean; /** * Indicates whether the facet group is expanded in the UI. An expanded * does not necessarily show all facet value at once, this can be limited * by the so-called `topValueCount`. */ expanded?: boolean; /** * Indicates the top values that will be shown instantly. The top values can be * controlled by business users per facet. */ topValueCount?: number; /** * The OCC backend has topValues with duplicated facet data. * This is not used in the UI, but normalized in the `topValueCount` property. */ topValues?: FacetValue[]; } export interface SpellingSuggestion { query?: string; suggestion?: string; } export interface ProductSearchPage { breadcrumbs?: Breadcrumb[]; categoryCode?: string; currentQuery?: SearchState; facets?: Facet[]; freeTextSearch?: string; keywordRedirectUrl?: string; pagination?: PaginationModel; products?: Product[]; sorts?: SortModel[]; spellingSuggestion?: SpellingSuggestion; } export interface Suggestion { value?: string; } export interface ClearSearch { clearPageResults?: boolean; clearSearchboxResults?: boolean; }