@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
79 lines (78 loc) • 2.66 kB
TypeScript
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;
}