Class BaseFacetComponent<TConfig, TModel>Abstract

The Base Facet component is inherited by all facet type copmonents.

Event-Binding Attributes

The following attributes are common to all facet type components. Individual facet types may support additional attribute bindings.

Name Value
hawksearch-facet-value string (if applicable)

When a checkbox input element with this attribute is checked or unchecked, the value of that element will be added or removed from the search request as appropriate. For non-input elements, the attribute value will be used instead of a form element value.

Name Value
hawksearch-facet-value-exclude string

When an element with this attribute is clicked, search results with the corresponding attribute value will be excluded from search results.

Name Value
hawksearch-facet-value-include string

When an element with this attribute is clicked, search results with the corresponding attribute value will no longer be excluded from search results.

Note: Elements with this attribute value should only be displayed for facet values that are excluded.

Name Value
hawksearch-facet-value-toggle

When an element with this attribute is clicked, child facet values will be displayed or hidden as appropriate.

Note: This attribute should only be used for facets that support nested values.

Type Parameters

Hierarchy

Properties

bindFromEvent: boolean = false
configOverride?: TConfig

Optional instance-level configuration to override the global configuration

contentModel?: TModel

The data bound to the Handlebars template.

data?: Facet

The data bound to the component.

handlebars: typeof Handlebars = HawkSearch.handlebars

The Handlebars reference shared by all HawkSearch components.

state: FacetState

Accessors

  • get configuration(): undefined | TConfig
  • The optional configuration object for this component.

    Returns undefined | TConfig

  • get rootElement(): ParentNode
  • The root element which should be used for querying any child elements. This resolves to this.shadowRoot if the Shadow DOM is enabled, otherwise this.

    Returns ParentNode

Methods

  • After the component is rendered, this method is called to bind any child components.

    Returns void

  • Replaces placeholders in a given string with values from a data object.

    Parameters

    • template: string

      The template string.

    • values: Record<string, string>

      The object containing properties which will be bound to template.

    Returns string

    The template string with all placeholders replaced by the values specified in values.

  • After the component is rendered, this method is called for any additional processing (such as attaching event listeners) which needs to occur.

    Returns void

  • Optional method that can be overwritten to register Handlebars helper functions which can be accessed from the template. For more information, see Custom Helpers.

    Returns void

  • Determines whether the data meets the necessary conditions to perform data binding and render content.

    Returns boolean

    Whether the component should be rendered. If false, the component will have empty contents and be set to display: none;.

  • Type Parameters

    • T

    Parameters

    • name: string
    • data: T

    Returns void