@awhere/api
Version:
The awesome aWhere API for JavaScript.
51 lines (50 loc) • 1.75 kB
TypeScript
import { APIKey, OAuth, BasicAuth, BearerToken } from '../../identity/credential';
export declare enum WidgetBaseEvent {
Ready = "ready",
PostWidgetParameters = "post-widget-parameters",
Error = "error",
CloseWithError = "close-with-error"
}
export interface IWidgetBaseProps {
widgetOrigin: string;
widgetPath?: string;
credential?: APIKey | OAuth | BasicAuth | BearerToken;
locale?: string;
theme?: string;
}
export default class WidgetBase {
private _origin;
private _messageToken;
private _eventHandlers;
protected _widgetOrigin: string;
protected _widgetPath: string;
protected _credential?: APIKey | OAuth | BasicAuth | BearerToken;
protected _locale: string;
protected _theme: string;
protected _element?: HTMLIFrameElement;
protected _isReady: boolean;
protected _queuedMessages: any[];
get widgetOrigin(): string;
set widgetOrigin(v: string);
get widgetPath(): string;
set widgetPath(v: string);
get credential(): APIKey | OAuth | BasicAuth | BearerToken | undefined;
set locale(v: string);
set theme(v: string);
get element(): HTMLIFrameElement | undefined;
get isReady(): boolean;
constructor(props: IWidgetBaseProps);
private _addPostMessageEventListener;
private _removePostMessageEventListener;
private _handleMessage;
private _emitEvent;
private _addEventHandler;
private _removeEventHandler;
private _postMessage;
protected _build(widgetName: string, target: Element, widgetParameters?: any, widgetPostParameters?: any): void;
protected _destroy(): void;
on(event: string, handler: (data?: any) => void): {
reconnect: () => void;
disconnect: () => void;
};
}