UNPKG

coveo-search-ui

Version:

Coveo JavaScript Search Framework

117 lines (102 loc) 5.06 kB
// The reference to magic-box with the triple slash is needed for dts-generator import { IOmniboxData, IOmniboxDataRow } from '../ui/Omnibox/OmniboxInterface'; import { Omnibox } from '../ui/Omnibox/Omnibox'; import { Suggestion } from '../magicbox/SuggestionsManager'; import { Result } from '../magicbox/Result/Result'; import { IQuerySuggestRequest, IQuerySuggestCompletion } from '../rest/QuerySuggest'; /** * The `IPopulateOmniboxSuggestionsEventArgs` interface describes the object that all * [`populateOmniboxSuggestions`]{@link OmniboxEvents.populateOmniboxSuggestions} event handlers receive as an argument. */ export interface IPopulateOmniboxSuggestionsEventArgs { /** * The [`Omnibox`]{@link Omnibox} component instance. */ omnibox: Omnibox; /** * The list of resolved query completion suggestions, and/or query completion suggestion promises. */ suggestions: Array<Suggestion[] | Promise<Suggestion[]>>; } export interface IPopulateOmniboxEventArgs extends IOmniboxData {} export interface IPopulateOmniboxEventRow extends IOmniboxDataRow {} export interface IOmniboxPreprocessResultForQueryEventArgs { result: Result; } export interface IBuildingQuerySuggestArgs { payload: IQuerySuggestRequest; } export interface IQuerySuggestSuccessArgs { completions: IQuerySuggestCompletion[]; } export interface IQuerySuggestRenderedArgs { numberOfSuggestions: number; } /** * Describes the object that all [`querySuggestGetFocus`]{@link querySuggestGetFocus} and [`querySuggestSelection`]{@link querySuggestSelection} event handlers receive as an argument. */ export interface IQuerySuggestSelection { /** * The query suggestion that had focus or was selected. */ suggestion: string; } /** * The `OmniboxEvents` static class contains the string definitions of all events that strongly relate to the * [`Omnibox`]{@link Omnibox} component. */ export class OmniboxEvents { public static populateOmnibox = 'populateOmnibox'; /** * Triggered by the [`Omnibox`]{@link Omnibox} component before query completion suggestions are rendered. * * The out-of-the-box Coveo JavaScript Search Framework query completion suggestion addons (see the * [`enableFieldAddon`]{@link Omnibox.options.enableFieldAddon}, * [`enableQueryExtensionAddon`]{@link Omnibox.options.enableQueryExtensionAddon}, and * [`enableQuerySuggestAddon`]{@link Omnibox.options.enableQuerySuggestAddon} options of the `Omnibox`) push their * respective suggestions in the argument object which is passed along with this event. * * All `populateOmniboxSuggestions` event handlers receive a * [`PopulateOmniboxSuggestionsEventArgs`]{@link IPopulateOmniboxSuggestionsEventArgs} object as an argument. * * @type {string} The string value is `populateOmniboxSuggestions`. */ public static populateOmniboxSuggestions = 'populateOmniboxSuggestions'; public static omniboxPreprocessResultForQuery = 'omniboxPreprocessResultForQuery'; /** * Triggered by the [`Omnibox`]{@link Omnibox} component before sending a query suggestion request to the Search API. * * Allows external functions to refine the payload b3efore sending the request. * * This event is only triggered by standard ML-powered query suggestions, and not {@link AnalyticsSuggestions} or {@link FieldSuggestions}. */ public static buildingQuerySuggest = 'buildingQuerySuggest'; /** * Triggered by the [`Omnibox`]{@link Omnibox} component when query suggestions are received from the Search API. * * Allows external functions to look into the received query suggestions, and modify them if needed. * * This event is only triggered by standard ML-powered query suggestions, and not {@link AnalyticsSuggestions} or {@link FieldSuggestions}. */ public static querySuggestSuccess = 'querySuggestSuccess'; /** * Triggered by the [`Omnibox`]{@link Omnibox} component when a query suggestion has finished rendering. */ public static querySuggestRendered = 'querySuggestRendered'; /** * Triggered by the [`Omnibox`]{@link Omnibox} component when a query suggestion gets focus following a mouse hovering or keyboard navigation event. * * All `querySuggestGetFocus` event handlers receive an object implementing the [`IQuerySuggestSelection`]{@link IQuerySuggestSelection} interface as an argument. */ public static querySuggestGetFocus = 'querySuggestGetFocus'; /** * Triggered by the [`Omnibox`]{@link Omnibox} component when a query suggestion loses focus following a mouse hovering or keyboard navigation event. */ public static querySuggestLoseFocus = 'querySuggestLooseFocus'; /** * Triggered by the [`Omnibox`]{@link Omnibox} component when a query suggestion is selected by a mouse click or pressing the enter key. * * All `querySuggestSelection` event handlers receive an object implementing the [`IQuerySuggestSelection`]{@link IQuerySuggestSelection} interface as an argument. */ public static querySuggestSelection = 'querySuggestSelection'; }