User Interface Extensions
Last modified by Manuel Leduc on 2024/10/23 17:08
Description
User Interface Extensions (UIX) are a generic mechanism to inject UI elements at a given location, call User Interface Extension Point (UIXP) by extension.
Any UI Component can define an UIXP with a unique id. Then, any extension can provide UIX for known UIXP ids.
Supported Backends
Backend agnostic.
User
N/A
Admin
N/A
Developer
APIs
User Interface Extensions
interface UIExtension {
/**
* The unique id of an UI Extension
*/
id: string;
/**
* The id of the extension point where this UIX should be injected.
*/
uixpName: string;
/**
* The order of the UIX. The lowest values are expected to be presented
* first.
*/
order: number;
/**
* A free set of parameters.
*/
parameters: { [key: string]: unknown };
/**
* Compute if the UIX should be displayed.
*/
enabled(): Promise<boolean>;
/**
* The UI component of the UIX.
*/
component(): Promise<Component>;
}
/**
* The unique id of an UI Extension
*/
id: string;
/**
* The id of the extension point where this UIX should be injected.
*/
uixpName: string;
/**
* The order of the UIX. The lowest values are expected to be presented
* first.
*/
order: number;
/**
* A free set of parameters.
*/
parameters: { [key: string]: unknown };
/**
* Compute if the UIX should be displayed.
*/
enabled(): Promise<boolean>;
/**
* The UI component of the UIX.
*/
component(): Promise<Component>;
}
User Iterface Extensions Manager
/**
* @since 0.11
*/
interface UIExtensionsManager {
/**
*
* @param name the name of the UIXP
* @return a list of UIExtension components, sorted by ascending order. disabled UIExtensions are excluded
*/
list(name: string): Promise<UIExtension[]>;
}
* @since 0.11
*/
interface UIExtensionsManager {
/**
*
* @param name the name of the UIXP
* @return a list of UIExtension components, sorted by ascending order. disabled UIExtensions are excluded
*/
list(name: string): Promise<UIExtension[]>;
}