File: src\internal\ui\uiConfig.ts
/// <reference path="authInfo.ts" />
/// <reference path="uiInfo.ts" />
/// <reference path="theme/config.ts" />
/**
* @module UI
* @namespace ui
*/
namespace internal.ui {
/**
* Base class that defines common properties & events of a UI component
* @class UIConfig
* @static
*/
export interface UIConfig {
[key: string]: any;
/**
* A {{#crossLink "ui.UIInfo"}}{{/crossLink}} object that describes how the UI component will be rendered.
* @property {UIInfo} uiInfo
*/
uiInfo: UIInfo;
/**
* A {{#crossLink "ui.AuthInfo"}}{{/crossLink}} object that specifies the authentication information.
* @property {ui.AuthInfo} authInfo
*/
authInfo?: AuthInfo;
/**
* A {{#crossLink "ui.theme.Config"}}{{/crossLink}} provides theme customization for a UI feature(The UI feature MUST support theme customization, otherwise this will be ignored)
* @property {ui.theme.Config} theme
*/
theme?: theme.Config;
/**
* Fired when an error occurs
* @event onError
* @param {object} data An object that contains error information
* @param {string} data.message Error message
*/
onError?: EventListener;
/**
* Fires when user sign-in is requested
* @event onSignInRequest
* @param {Array} data An array that contains information for supported sign-in types. i.e. [{ type: "MSA", policy: "MBI_SSL" }, { type: "ADD" }]
*/
onSignInRequest?: EventListener;
/**
* Fired when popu window redirects to login page
* @event onSignInRedirect
*/
onSignInRedirect?: EventListener;
/**
* Fired when the ui component is closed
* @event onUnloaded
*/
onUnloaded?: EventListener;
}
}