@omnia/foundation
Version:
Provide omnia foundation typings and tooling work on client side for omnia extension.
66 lines (65 loc) • 2 kB
TypeScript
import { Enums } from '../extensibility';
import { Type } from '@angular/core';
export declare module Control {
interface IControlConfig {
id?: string;
hostId?: string;
viewId?: string;
init?: string;
scope?: string;
enableSettings?: boolean;
settingsKey?: string;
settingsObsoleteKey?: string;
settings?: any;
}
interface IControlScope {
containerId?: string;
config?: Control.IControlConfig;
settingsTemplateId?: string;
settingsController?: string;
pageInEditMode?: boolean;
canEditSettings?: () => boolean;
onSettingsChangedHandler?: () => void;
settingComponent?: any;
settingModule?: any;
}
interface IControlWithViewedHistoryScope extends Control.IControlScope {
hasNewData: boolean;
controlIsVisible: boolean;
getItemIds: () => Array<string>;
}
interface IControlViewPortSettings {
type?: Enums.ControlViewPortType;
viewPort?: number;
}
}
export interface IOmniaControlMetadata {
id: string;
enableSettings?: boolean;
skeletonTemplate?: string;
onBootstrapping?: () => void;
title?: string;
icon?: string;
group?: string;
showInPageDesigner?: boolean;
showInLayoutDesigner?: boolean;
insertUsingSelector?: OmniaControlSelectorInsertion | Array<OmniaControlSelectorInsertion>;
ngfactoryModulePath: string;
bootstrapComponent: Type<any>;
useDynamicResource?: {
resources: Array<string>;
bootstrapComponentPath: string;
ngModulePath?: string;
};
}
export interface OmniaControlSelectorInsertion {
instanceId: string;
cssClass?: string;
insertTo: any;
scope?: string;
uiControl?: boolean;
sequence?: number;
priority?: number;
controlContainer?: JQuery;
delayBootstrap?: () => Promise<void>;
}