UGC Widgets
    Preparing search index...

    Interface EventsSDK

    The Events SDK provides methods for interacting with widget events, including registering listeners, triggering events, and querying emitted or registered events. Use this SDK to add event listeners, trigger custom or built-in events, and inspect the event lifecycle for a widget placement.

    interface EventsSDK {
        addEventListener: <T extends string>(
            event: T,
            callback: (event: CustomEvent<any>) => void,
            htmlSelector?: Element | NodeListOf<Element>,
        ) => void;
        getEmittedEvents: () => string[];
        getRegisteredEvents: () => string[];
        loadMore: () => Promise<void>;
        triggerEvent: <T extends string>(
            event: T,
            data: Record<string, unknown> | TileEvent,
            scope?: string,
        ) => void;
    }
    Index

    Properties

    addEventListener: <T extends string>(
        event: T,
        callback: (event: CustomEvent<any>) => void,
        htmlSelector?: Element | NodeListOf<Element>,
    ) => void

    Allows the addition of event listeners to the widget

    // Listen for the 'loadMore' event on all .load-more buttons
    sdk.addEventListener('loadMore', (event) => console.log(event), document.querySelectorAll('.load-more'));
    // Listen for a custom event globally
    sdk.addEventListener('customEvent', (event) => alert(event));
    getEmittedEvents: () => string[]

    Type declaration

      • (): string[]
      • Returns string[]

        • returns ['moreLoad', 'lessLoad']

    Returns the list of events that have been emitted

    // Get all emitted events for this widget
    const events = sdk.getEmittedEvents();
    events.forEach(e => console.log(e));
    getRegisteredEvents: () => string[]

    Returns the list of events that have been registered

    // List all registered event types
    const registered = sdk.getRegisteredEvents();
    registered.forEach(e => console.log(e));
    loadMore: () => Promise<void>

    Type declaration

      • (): Promise<void>
      • Returns Promise<void>

        void

    Loads more tiles

    // Programmatically load more tiles
    await sdk.loadMore();
    triggerEvent: <T extends string>(
        event: T,
        data: Record<string, unknown> | TileEvent,
        scope?: string,
    ) => void

    Allows particular events to be triggered to operate when a listener is called

    // Trigger the 'loadMore' event with custom data
    sdk.triggerEvent('loadMore', { page: 2 });
    // Trigger a custom event with a scope
    sdk.triggerEvent('customEvent', { foo: 'bar' }, 'myScope');