import * as Models from './index'; import { Type, ModuleWithProviders, SchemaMetadata, Component, Provider } from '@angular/core'; export interface ITokenCookie { loginName: string; token: string; } export interface INavSourcesPermissionCookie { navSourceUrl: string; hasReadPermission: boolean; } export interface IOmniaControlDependency { id: string; scope: string; hostId: string; viewId: string; enableSettings: boolean; priority?: number; ignoreView?: boolean; } export interface IViewPortControl { viewPortSettings?: Models.Control.IControlViewPortSettings; svc?: any; html?: string; bootstrapped?: boolean; } export interface BootstrapQueue { data?: any; priority: number; bootstrapFunction: (data) => void; } export interface ComponentTemplate { templateId: string; target: any; } export interface IOmniaControlTemplate { controlId: string; ngfactoryModulePath: string; templates: Array<{ id: string; title: string; component: Type; }>; } export interface IOmniaControlTemplateExtend extends IOmniaControlTemplate { moduleTarget: any; } export interface IOmniaControlMetadataExtend extends Models.IOmniaControlMetadata { moduleTarget?: any; forceBootstrapJit?: boolean; isNg1Control?: boolean; } export interface OmniaAngular2Bootstrapper { bootstrapAngular2HybridApp: (container, modules, configs) => void; bootstrapAngular2App: (component) => void; } export interface IOmniaAdminControlMetadataExtend extends IOmniaAdminControlMetadata { componentTarget?: any; moduleTarget?: any; } export interface IOmniaAdminControlMetadata extends Component { ngsummaryModulePath?: string; ngModulePath?: string; templateId?: string; navigation?: Models.INavigationNode; providers?: Provider[]; declarations?: Array | any[]>; imports?: Array | ModuleWithProviders | any[]>; schemas?: Array; exports?: Array | any[]>; } export interface IOmniaControlNg1 { id: string; title: string; icon: string; group: string; viewId: string; enableSettings: boolean; enableSkeletonLoading: boolean; angularModuleName: string; } export interface INg1Hanlder { getRegisteredControls: () => Array; bootstrapAngularNg1: (elementId, moduleName) => void; destroyAngularNg1: (elementId) => void; bootstrapControlNg1: (containerId: string, container: JQuery, svc: any) => void; }