File

projects/core/src/model/product-search.model.ts

Index

Properties

Properties

breadcrumbs
breadcrumbs: Breadcrumb[]
Type : Breadcrumb[]
Optional
categoryCode
categoryCode: string
Type : string
Optional
currentQuery
currentQuery: SearchState
Type : SearchState
Optional
facets
facets: Facet[]
Type : Facet[]
Optional
freeTextSearch
freeTextSearch: string
Type : string
Optional
keywordRedirectUrl
keywordRedirectUrl: string
Type : string
Optional
pagination
pagination: PaginationModel
Type : PaginationModel
Optional
products
products: Product[]
Type : Product[]
Optional
sorts
sorts: SortModel[]
Type : SortModel[]
Optional
spellingSuggestion
spellingSuggestion: SpellingSuggestion
Type : SpellingSuggestion
Optional
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;
}

result-matching ""

    No results matching ""