@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
59 lines (58 loc) • 3.01 kB
TypeScript
import { AppInstanceTabSettings, VersionedLayoutDefinition, AppLayoutTabSettings, AppNamingPolicyTabSettings, AppTemplateTabSettings, ElementRenderer, GuidValue, IAppManagementInstanceConfigurationApi, IAppManagementInstanceHandler, IAppManagementUsageApi } from "@omnia/fx-models";
import { OmniaUxLocalization } from "@omnia/fx/ux";
import { Ref } from "vue";
import { AppManagementLocalization } from "../core";
export interface IAppManagementInstanceApi extends IAppManagementInstanceConfigurationApi {
readonly appDefinitionId: GuidValue;
readonly appInstanceTabSettings: AppInstanceTabSettings;
readonly appTemplateTabSettings: AppTemplateTabSettings;
readonly appLayoutTabSettings: AppLayoutTabSettings;
readonly appNamingPolicyTabSettings: AppNamingPolicyTabSettings;
readonly tabs: ElementRenderer[];
readonly headerVisibility: Ref<boolean>;
readonly uxColCols: number;
readonly events: {
onLayoutEditorOpened: (cb: () => void) => void;
onLayoutEditorClosed: (cb: () => void) => void;
};
}
export interface IInternalAppManagementUsageApi extends IAppManagementUsageApi {
getHandler: (appDefinitionId: GuidValue) => Promise<new () => IAppManagementInstanceHandler>;
}
export declare class AppManagementInstanceApi implements IAppManagementInstanceApi, IAppManagementInstanceConfigurationApi {
readonly instanceId: GuidValue;
appDefinitionId: GuidValue;
appInstanceTabSettings: AppInstanceTabSettings;
appTemplateTabSettings: AppTemplateTabSettings;
appLayoutTabSettings: AppLayoutTabSettings;
appNamingPolicyTabSettings: AppNamingPolicyTabSettings;
tabs: ElementRenderer[];
headerVisibility: Ref<boolean>;
uxColColsRef: Ref<number>;
allowProvisioning: Ref<boolean>;
get uxColCols(): number;
get canProvision(): boolean;
omniaLoc: OmniaUxLocalization;
loc: AppManagementLocalization.ILocalize;
onLayoutEditorOpenedHook: () => void;
onLayoutEditorClosedHook: () => void;
constructor(appDefinitionId: GuidValue);
setProvisioningCability: (allowProvisioning: boolean) => this;
addAppInstanceTab: (settings: AppInstanceTabSettings) => this;
addAppTemplateTab: (settings: AppTemplateTabSettings) => this;
addAppLayoutTab: (settings: AppLayoutTabSettings<VersionedLayoutDefinition>) => this;
addNamingPolicyTab: (settings: AppNamingPolicyTabSettings) => this;
addCustomTab: (elementRenderer: ElementRenderer) => this;
getAppInstanceTabSettings: () => AppInstanceTabSettings;
getAppTemplateTabSettings: () => AppTemplateTabSettings;
getAppLayoutTabSettings: () => AppLayoutTabSettings<VersionedLayoutDefinition>;
getNamingPolicyTabSettings: () => AppNamingPolicyTabSettings;
getTabs: () => ElementRenderer[];
sortTabs: () => void;
events: {
onLayoutEditorOpened: (cb: () => void) => void;
onLayoutEditorClosed: (cb: () => void) => void;
};
render: () => import("vue").VNode;
dispose: () => void;
}