UNPKG

@omnia/fx

Version:

Provide Omnia Fx typings and tooling for clientside Omnia development.

105 lines (104 loc) 4.52 kB
import { MessageBusTopicMediator } from "@omnia/fx"; import { ActionHandler, ActionRegistration, ActionHandlerRegistrationId, ApiPath, GuidValue, IActionHandlerInstance, IActionHandlerInstanceProperties, IActionHandlerSettings, IExtendApiManifestWithConfiguration, IMessageBusTopicPublishSubscriber, MultilingualString } from "@omnia/fx-models"; import { MessageBusExposeOnlySubscription } from "../../core"; export interface IActionHandlerTriggeredRendererComponent { actionHandler: ActionHandlerInstance; } export interface IActionHandlerEventsApi { actionTriggered: IMessageBusTopicPublishSubscriber<ActionHandlerInstance>; actionInitialized: IMessageBusTopicPublishSubscriber<ActionHandlerInstance>; actionCompleted: IMessageBusTopicPublishSubscriber<ActionHandlerInstance>; } export interface IActionApi { registrations: Promise<IActionRegistrationApi>; handlers: Promise<IActionHandlerRegisterApi>; } declare module "@omnia/fx-models/ux/UxApi" { interface IOmniaUxApi { actions: IActionApi; } interface IOmniaUxExtendApiManifest { actions: { registrations: ApiPath; handlers: IExtendApiManifestWithConfiguration<ActionHandlerRegistrationId>; }; } } export interface IActionHandlerRegisterApi { register: (action: ActionHandlerRegistration) => void; getActionHandler: (id: ActionHandlerRegistrationId) => Promise<new () => ActionHandlerBase>; } export interface IActionRegistrationApi { registerActionHandler: (action: ActionRegistration | ActionRegistration[]) => void; getAllHandlers: () => ActionRegistration[]; } export declare abstract class ActionHandlerBase<TSettings extends IActionHandlerSettings = IActionHandlerSettings> implements IActionHandlerInstanceProperties<TSettings> { abstract onActivated(): void | Promise<void>; abstract onTriggered(renderingCallback: (elementName: string, themeTargetId?: string, domProps?: Object) => void, setFocusedElementCallback?: () => Promise<HTMLElement>): any; abstract onDisposing(): any; customTextColor?(settings: IActionHandlerSettings): string; customBackgroundColor?(settings: IActionHandlerSettings): string; constructor(); id: GuidValue; typeId: ActionHandlerRegistrationId; toolTip: MultilingualString; settings: IActionHandlerSettings; loading: boolean; disabled: boolean; displayText: MultilingualString; text: MultilingualString; customRendererElementName: string; hidden: boolean; isTriggered: boolean; onChanged: MessageBusTopicMediator<{ propertyName: string; newValue: any; oldValue: any; }>; private _reactiveProps; protected createReactiveProperty(propName: string, value: any): void; private configProxy; } export declare class ActionHandlerRegistration { typeId: ActionHandlerRegistrationId; handler: new () => ActionHandlerBase; constructor(typeId: ActionHandlerRegistrationId, handler: new () => ActionHandlerBase); } export declare class ActionHandlerContext { private serviceContainerContext; createInstance<T extends ActionHandlerInstance = ActionHandlerInstance>(actionHandler: ActionHandler): Promise<T>; } export declare class ActionHandlerInstance implements IActionHandlerInstance { private instance; private actionHandlerStore; constructor(instance: ActionHandlerBase, actionHandler: ActionHandler); id: GuidValue; typeId: ActionHandlerRegistrationId; toolTip: MultilingualString; settings: IActionHandlerSettings; loading: boolean; disabled: boolean; displayText: MultilingualString; text: MultilingualString; customRendererElementName: string; hidden: boolean; isTriggered: boolean; private _initializedMessage; private _triggeredMessage; private _disposedMessage; private _initialized; initialized(): void | Promise<void>; triggered(renderingCallback: (elementName: string, themeTargetId?: string, domProps?: Object) => void, setFocusedElementCallback?: () => Promise<HTMLElement>): void; customTextColor(): string; customBackgroundColor(): string; dispose(): void; onActivated(): MessageBusExposeOnlySubscription<void>; onTriggered(): MessageBusExposeOnlySubscription<void>; onDisposed(): MessageBusExposeOnlySubscription<void>; onChanged(): MessageBusExposeOnlySubscription<{ propertyName: string; newValue: any; oldValue: any; }>; private configProxy; }