@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
50 lines (49 loc) • 2.04 kB
TypeScript
import { AppInstance, AppTemplate, AppDefinition, GuidValue, AppInstanceCreateInfo } from '.';
export interface AppProvisioningStepRegistrationMsg {
/**
* The title of the app provisioning step
*/
info: AppProvisioningStepInfo;
/**
* This influence the order of the app provisioning steps displayed in Provisioning Template flow, be nice, use ordering with gap -100, 0, 100, 200
So other extensions etc can inject between
Note: Users can still be able to change the order in Provisioning Template flow
*/
weight: number;
}
export interface AppProvisioningStepContext {
stepId: GuidValue;
stepTitle: string;
appInstance: AppInstance;
appTemplate: AppTemplate;
appDefinition: AppDefinition;
appInstanceSettingElementTag?: string;
}
export interface AppProvisioningStepInfo {
id: GuidValue;
title: string;
elementToRender: string;
appDefinitionId: GuidValue;
isFeature: boolean;
}
export interface IAppProvisioningStepComponent {
context: AppProvisioningStepContext;
registerOnGoToNext: (onGoToNext: () => Promise<boolean>) => void;
registerOnGoToPrev: (onGoToPrev: () => Promise<boolean>) => void;
}
export interface AppProvisioningHandler {
/**
* Register callback to run right before app instance provisioning flow is triggered
*/
onBeforeCreateAppInstance: (appInstance: AppInstance, appInstanceCreateInfo: AppInstanceCreateInfo) => Promise<AppInstanceCreateInfo>;
/**
* Manifest Id for the approval blade for the app definition in Omnia Admin
*/
adminApprovalBladeManifestId?: GuidValue;
/**
* Get override setting component tag name
*/
getAppInstanceSettingElementTag?: (appInstance: AppInstance, appTemplate: AppTemplate) => string;
}
export declare const AppProvisioningEnterprisePropertiesStepId = "9330B10C-1473-475B-8AFA-AB03686058FA";
export declare const AppProvisioningDefaultSteps: AppProvisioningStepRegistrationMsg[];