import { Injector, ApplicationRef, ComponentFactoryResolver } from '@angular/core'; import { HttpClient } from "@angular/common/http"; import { GspCommonDataType, GSPCommonObject } from '@gsp-bef/gsp-cm-metadata'; import { Schema } from './common/Schema'; import { NewSchema } from './common/NewSchema'; import { ExpressionContextEntity, ExprEditMode, VarEntity, FunctionEntity, InjectedEntity, InjectedType, CustomizedSetting, DataArea, ExtendFunction, SmartHelpInfo, ExpressionModelDetail } from './common/ExpressEntity'; import { Adapter } from './utils/adapter'; /** * 表达式对外提供服务类 * 功能:提供打开、预置等接口 */ export declare class ExpressionService { private injector; private applicationRef; private compFactRes; private http; private localeId; private localePipe; private computePipe; private ExpressionTitle; private ExpressionSave; private ExpressionCancel; private functionSuffixs; exprEditMode: ExprEditMode; exprEntity: ExpressionContextEntity; setting: CustomizedSetting; adapter: Adapter; private modalService; private functions; private computeEditorSetting; constructor(injector: Injector, applicationRef: ApplicationRef, compFactRes: ComponentFactoryResolver, http: HttpClient); /** * 设置表达式模式(Conditional:简易表达式 Advanced:高级表达式) * @param exprEditMode ExprEditMode */ setEditPattern(exprEditMode: ExprEditMode): void; /** * 打开表达式窗口 * @param readOnly 高级表达式是否只读模式,默认false可编辑 * @param hideExpressButton 条件表达式是否隐藏切换高级表达式按钮,默认false不隐藏 * @param semantic 是否返回高级表达式的语义化文本 * @returns Promise对象,使用.then()获取保存后结果 */ buildExpression(readOnly?: boolean, hideExpressButton?: boolean, semantic?: boolean): Promise<{}>; /** * 设置简易表达式的宽度和高度 * @param width 宽度 * @param height 高度 */ setComputeSize(width?: number, height?: number): void; /** * 预置表达式展示文本 * @param text 表达式文本 */ addExpressionText(text: string): void; /** * 添加上下文变量 * @param contextEntity 上下文变量 */ addContext(contextEntity: VarEntity): void; /** * 添加会话变量 * @param sessionEntity 会话变量 */ addSession(sessionEntity: VarEntity): void; /** * 添加扩展函数 * @deprecated * @param FunctionEntity 函数实体 */ addFunction(functionEntity: FunctionEntity): void; /** * 批量添加扩展函数 * @deprecated * @param FunctionEntity[] 函数列表序列化后的字符串 */ addFunctions(funcList: string): void; /** * 添加扩展函数 * @param func 函数实体 */ addExtendFunction(func: ExtendFunction): void; /** * 展示数据模型信息,决定展示哪个数据模型 * @param name 自定义根节点名称。可不填,不填则使用第三个参数typeNameInSchema。 * @param schemaName 展示哪个数据模型,与addNewSchema或addSchema的第一个参数对应,默认为"CommonObject" * @param typeNameInSchema 数据模型根节点EntityType的信息,使用Schema为根节点EntityType的name,使用NewSchema为根节点EntityType的code * @param injectedType 数据模型的类型,默认为EntityType */ addInjectedEntity(name: string, schemaName: string, typeNameInSchema: string, injectedType?: InjectedType): void; /** * 添加NewSchema,NewSchema为数据模型描述信息 * @param name 表达式可存储多个数据模型,添加数据模型需要为模型定义一个name,用于确定展示哪个模型 * @param newSchema NewSchema */ addNewSchema(name: string, newSchema: NewSchema): void; /** * 预置CommonObject(NewSchema) * @param commonObject GSPCommonObject */ addCommonObjectOfNewSchema(commonObject: GSPCommonObject): void; /** * 预置GspCommonDataType(NewSchema) * @param gspCDTs GspCommonDataType[] */ addCDTOfNewSchema(gspCDTs: GspCommonDataType[]): void; /** * 清空注入实体 */ clearInjectedEntity(): void; /** * 清空NewSchemaMap内容 */ clearNewSchema(): void; /** * 清空Context变量 */ clearContext(): void; /** * 清空Session变量 */ clearSession(): void; /** * 获取Injector对象 * @returns Injector */ getInjector(): Injector; toSemantic(expression: string, contextList?: VarEntity[], sessionList?: VarEntity[], functionList?: FunctionEntity[], injectedEntity?: InjectedEntity[], schemaMap?: Map, newSchemaMap?: Map): string; /** * 提取表达式列表使用的变量 * @param expressions 表达式列表 * @returns 表达式 */ getDataPropertyAndVariables(expressions: any[]): Promise>; /** * 预置帮助 * @param help 帮助描述实体 */ addSmartHelpEntity(help: SmartHelpInfo): void; /** * 添加Schema,Schema为数据模型描述信息 * @param name 表达式可存储多个数据模型,添加数据模型需要为模型定义一个name,用于确定展示哪个模型 * @param schema schema实体类 * @deprecated */ addSchema(name: string, schema: Schema): void; /** * 预置CommonObject * @param commonObject GSPCommonObject * @deprecated */ addCommonObject(commonObject: GSPCommonObject): void; /** * 预置GspCommonDataType * @param gspCDTs GspCommonDataType[] * @deprecated */ addCDT(gspCDTs: GspCommonDataType[]): void; /** * * @param windowWidth * @deprecated */ addWindowWidth(windowWidth: number): void; /** * 是否展示子表的[0] * @param show 是否展示[0],默认展示 */ showChildTableSymbol(show?: boolean): void; /** * 设置数据区域的默认选中tab页 * @param defaultSelect 选中tab页,默认数据模型 */ selectDataArea(defaultSelect?: DataArea): void; /** * 表达式页面设置:{Function_ShowExtend: boolean, DataArea_Variable_Context: any, DataArea_Variable_Session: any} * @param setting 设置信息 */ setSetting(setting?: any): void; private GetUnCamelParse; private ConvertToUncamel; }