UNPKG

@klevu/core

Version:

Typescript SDK that simplifies development on Klevu backend. Klevu provides advanced AI-powered search and discovery solutions for online retailers.

58 lines (57 loc) 1.73 kB
/** * @category KlevuEvents * Global custom document events that @klevu/core sends */ export var KlevuDomEvents; (function (KlevuDomEvents) { /** * When list of last searched terms update */ KlevuDomEvents["LastSearchUpdate"] = "klevu-last-search-update"; /** * When filter manager selection has changed */ KlevuDomEvents["FilterSelectionUpdate"] = "klevu-filter-selection-updates"; /** * When filters have been applied from results */ KlevuDomEvents["FiltersApplied"] = "klevu-filters-applied"; /** * When any click event has been fired on the page */ KlevuDomEvents["ClickEventSent"] = "klevu-click-event-sent"; /** * User consent given changed */ KlevuDomEvents["UserConsentGivenChanged"] = "klevu-user-consent-given-changed"; /** * Use consent value changed */ KlevuDomEvents["UseConsentChanged"] = "klevu-use-consent-changed"; })(KlevuDomEvents || (KlevuDomEvents = {})); /** * Helper function to listen Klevu Dom events * * @example ```ts * import { KlevuDomEvents, KlevuListenDomEvent } from '@klevu/core' * * // Event to listen * const stopListen = KlevuListenDomEvent(KlevuDomEvents.LastSearchUpdate, (event) => { * console.log('last search updated!', event.detail) * }) * * // stop listening * stopListen(); * ``` * * @category KlevuEvents * @param klevuDomEvent What event to listen * @param callback What to do when event is fired * @returns Function to stop listening */ export function KlevuListenDomEvent(klevuDomEvent, callback) { document.addEventListener(klevuDomEvent, callback); return () => { document.removeEventListener(klevuDomEvent, callback); }; }