UNPKG

@omnia/foundation

Version:

Provide omnia foundation typings and tooling work on client side for omnia extension.

66 lines (65 loc) 2 kB
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>; }