UNPKG

@omnia/fx-models

Version:
79 lines (78 loc) 2.66 kB
import { GuidValue } from "../shared"; import { MultilingualString } from "./MultilingualString"; export declare abstract class ActionHandlerRegistrationId { private value; static create(id: GuidValue): ActionHandlerRegistrationId; abstract toString(): string; } export declare abstract class ActionHandlerManifestId { private value; static create(id: GuidValue): ActionHandlerManifestId; abstract toString(): string; } export interface ActionRegistration { id: ActionHandlerRegistrationId; title: string; settingsElementName?: string; hideInLimitedMode?: boolean; } export interface IActionHandlerSettingsComponent { actionHandler: ActionHandler; updateActionHandler: () => void; } export interface IActionHandlerCustomRendererComponent { actionHandler: ActionHandler; renderingMode: ActionHandlerRenderingModes; } export interface IActionHandlerSettings { } export declare enum ActionHandlerRenderingModes { Icon = 0, Button = 1, ListItem = 2, ListItemWithoutIcon = 3, ListItemWithoutText = 4 } export interface ActionHandler { id: GuidValue; typeId: ActionHandlerRegistrationId; text: MultilingualString; toolTip: MultilingualString; settings?: IActionHandlerSettings; /** * client-side, these properties will not be stored on server-side (i.e. not included in server-side model) **/ loading?: boolean; hidden?: boolean; disabled?: boolean; displayText: MultilingualString; customRendererElementName?: string; } export interface ActionInitializeMessage { actionHandler: ActionHandler; } export interface ActionTriggeredMessage { actionHandler: ActionHandler; renderingCallback: (elementName: string, actionHandler: ActionHandler, themeTargetId?: string) => void; } export interface ActionHandledCompleteMessage { actionHandler: ActionHandler; } export interface IActionHandlerInstanceProperties<TSettings extends IActionHandlerSettings = IActionHandlerSettings> { id: GuidValue; typeId: ActionHandlerRegistrationId; toolTip: MultilingualString; settings: IActionHandlerSettings; loading: boolean; disabled: boolean; displayText: MultilingualString; text: MultilingualString; customRendererElementName: string; hidden: boolean; isTriggered: boolean; } export interface IActionHandlerInstance extends IActionHandlerInstanceProperties { initialized(): void | Promise<void>; triggered(renderingCallback: (elementName: string, themeTargetId?: string, domProps?: Object) => void, setFocusedElementCallback?: () => Promise<HTMLElement>): any; dispose(): void; }