@corvina/corvina-app-connect
Version:
This library enables an application embedded as an iframe in Corvina to retrieve some information such as JWT, organization id, ...
84 lines (83 loc) • 3.44 kB
TypeScript
import { IDisposable, CorvinaPages, PreauthorizedCreditTransactionInDTO } from "./common";
import { ITheme } from "./ITheme";
export declare enum CorvinaConnectEventType {
ORGANIZATION_ID_CHANGED = "ORGANIZATION_ID_CHANGED",
ORGANIZATION_RESOURCE_ID_CHANGED = "ORGANIZATION_RESOURCE_ID_CHANGED",
JWT_CHANGED = "JWT_CHANGED",
USER_CHANGED = "USER_CHANGED",
THEME_CHANGED = "THEME_CHANGED",
BRAND_NAME_CHANGED = "BRAND_NAME_CHANGED",
IFRAME_HREF_CHANGED = "IFRAME_HREF_CHANGED",
TRANSACTIONS_AUTHORIZATION_RESPONSE = "TRANSACTIONS_AUTHORIZATION_RESPONSE",
USER_PREFERENCE_GET_REQUEST = "USER_PREFERENCE_GET_REQUEST",
USER_PREFERENCE_GET_RESPONSE = "USER_PREFERENCE_GET_RESPONSE",
USER_PREFERENCE_SET_REQUEST = "USER_PREFERENCE_SET_REQUEST",
USER_PREFERENCE_SET_RESPONSE = "USER_PREFERENCE_SET_RESPONSE"
}
export declare class CorvinaConnect implements IDisposable {
private _jwt;
private _username;
private _organizationId;
private _organizationResourceId;
private _corvinaHost;
private _corvinaDomain;
private _theme;
private _defaultStandardTime;
private _corvinaHostWindow;
private _eventCallback;
private _onMessageRef;
private _brandName;
private _href;
private _urlWatcher;
private static _instance;
private _window;
constructor({ jwt, username, organizationId, organizationResourceId, corvinaHost, corvinaDomain, theme, brandName, defaultStandardTime, currentWindow, corvinaHostWindow }: {
jwt: string;
username: string;
organizationId: string;
organizationResourceId: string;
corvinaHost: string;
corvinaDomain: string;
theme?: ITheme;
brandName: string;
defaultStandardTime: any;
currentWindow?: Window;
corvinaHostWindow: Window;
});
static dispose(): void;
dispose(): void;
get jwt(): string;
get username(): string;
get organizationId(): string;
get organizationResourceId(): string | undefined;
get corvinaHost(): string;
get corvinaDomain(): string;
get theme(): ITheme | undefined;
get defaultStandardTime(): any;
get brandName(): string;
private onMessage;
private onThemeChanged;
private onBrandNameChanged;
private onUserChanged;
private onJwtChanged;
private onOrganizationIdChanged;
private onOrganizationResourceIdChanged;
private onIframeHrefChanged;
private onPreauthorizedTransactionResponse;
private onUserPreferenceGetResponse;
private onUserPreferenceSetResponse;
off(event: CorvinaConnectEventType, callback?: (value: any) => void): void;
on(event: CorvinaConnectEventType, callback: (value: any) => void): ((value: any) => void);
navigateTo(page: string | CorvinaPages): void;
static create({ corvinaHost, currentWindow, corvinaHostWindow, timeoutMs }: {
corvinaHost: string;
currentWindow?: Window;
corvinaHostWindow?: Window;
timeoutMs?: number;
}): Promise<CorvinaConnect>;
enableNavigationSync(filterNewHref?: (newHref: string) => string): void;
disableNavigationSync(): void;
promptPreauthorizedTransactionAuthorization(dto: PreauthorizedCreditTransactionInDTO[]): void;
setUserPreference(key: string, value: string, timeoutMs?: number): Promise<void>;
getUserPreference(key: string, timeoutMs?: number): Promise<string | undefined>;
}