import { OnInit, EventEmitter, Injector, OnChanges, OnDestroy } from '@angular/core'; import { ExpressionEventService } from '../utils/expression-event-service'; import { VarType } from '../expression-var-grid/vartype'; import { GspCommonDataType, GSPCommonObject } from '@gsp-bef/gsp-cm-metadata'; import { HttpClient } from "@angular/common/http"; import { NewSchema } from '../common/NewSchema'; import { FarrisSidebarComponent } from '@farris/ui-sidebar'; import { AdvancedCheckResult, CustomizedSetting, ExpressionContextEntity, ExtendFunction, FunctionEntity, InjectedEntity, SmartHelpInfo, InjectedType, VarEntity } from '../common/ExpressEntity'; import { Schema } from '../common/Schema'; import { Adapter } from '../utils/adapter'; import { Observable } from 'rxjs'; export declare class ExpressioneditorComponent implements OnInit, OnChanges, OnDestroy { private eventService; private injector; http: HttpClient; private locale; private localePipe; Advanced: string; String: string; Analytical: string; Translate: string; Math: string; DateTime: string; Extend: string; Variable: string; Entity: string; Help: string; FunctionDescription: string; VarDescription: string; CurrentProp: string; CurrentChosedProp: string; HelpButtonDesc: string; PopverTitleDesc: string; private notifyService; private messageService; private functions; private notifies; constructor(eventService: ExpressionEventService, injector: Injector, http: HttpClient); private ExpressionHandler; private functionSuffixs; options: { language: string; automaticLayout: boolean; minimap: { enabled: boolean; }; readOnly: boolean; fontSize: string; }; aiAssistant: FarrisSidebarComponent; readOnly: boolean; semantic: boolean; funcExtend: FunctionEntity[]; expressionEntity: ExpressionContextEntity; contextEntities: VarEntity[]; sessionEntities: VarEntity[]; injectedEntities: InjectedEntity[]; smartHelp: SmartHelpInfo[]; text: string; isPanel: boolean; funcEntities: FunctionEntity[]; extendFuncEntities: ExtendFunction[]; gspCDTs: GspCommonDataType[]; commonObjects: GSPCommonObject[]; customSchemaName: string; customSchema: Schema; customSchemaMap: Map; injectName: string; injectSchemaName: string; injectNameInSchema: string; injectedType: InjectedType; customNewSchemaName: string; customNewSchema: NewSchema; customNewSchemaMap: Map; windowWidth: number; setting: CustomizedSetting; language: string; textWithMultiLanguage: Map; result: EventEmitter; resultWithMultiLangauge: EventEmitter>; closeModalEmitter: EventEmitter; lastLanguage: string; switchWithDefaultLanguage: boolean; isReturnSyntax: boolean; selectnewfunc: boolean; selectedResource: boolean; currentFuncTabType: string; currentVarType: VarType; expressioninfo: string; code: string; descriptinfo: string; standardFunctions: any[]; allFunctions: any[]; variableFuncNames: string[]; schema: Map; newSchemaMap: Map; adapter: Adapter; DataArea_DefaultSelectString: string; showAssistant: boolean; ngOnInit(): void; ngOnDestroy(): void; ngOnChanges(): void; private OninitWindows; private OninitPanel; funcTabChange($event: any): void; selectFuncRowChange($event: any): void; /** * 双击插入函数 * @param $event * 1:判断是否为Advanced,如果是:直接获取对应的name插入;如果不是:获取对应的name,然后拼接参数 */ dbclickInsert($event: any): void; private getParamText; selectentitychange($event: any): void; dbclickEntityInsert($event: any): void; selectVarRowChange($event: any): void; selectVarInfoRowChange($event: any): void; dbclickVarInsert($event: any): void; selectHelpInfoRowChange($event: any): void; insertHelpValue($event: any): void; reset(): void; check(showError?: boolean): Map; private showErrorIfNecessary; /** * 语法校验 * @param thisObj 当前对象 * @param esprima 语法解析对象 * @param context 校验上下文 * @param tokens 分词 */ private checkSyntax; /** * 校验:处理Esprima校验后异常 * @param errors * @param err */ private handleEsprimaError; /** * 校验:组装异常信息 * @param errors 异常集合 * @returns 格式化后的异常 */ private buildErrors; /** * 校验:判断是否为return语法 * @param textTokens tokens列表 * @returns boolean */ private judgeReturnSyntax; /** * 获取表达式返回值(弹出框用) */ getExprs(): void; /** * 返回多语的表达式文本(面板用) */ getExprWithMultiLanguage(): Map; /** * 获取表达式返回值(面板用) * @returns 表达式返回值 */ getExpr(): string; /** * 带校验的表达式保存(面板用) * @returns Promise */ getExprWithCheck(): Promise; /** * 外部校验方法 * @returns Promise 语法错误信息,无语法错误返回null */ checkExpression(): Promise; hide(): void; showMoreButton: boolean; openButtonArea(): void; tabChange($event: any): void; onInitHandler($event: any): void; onChangeHandler(event: any): void; onTouchedHandler($event: any): void; onPlus(): void; onMinus(): void; onMultiple(): void; onDivision(): void; onPercent(): void; onDoubleQuotation(): void; onEqual(): void; onUnequal(): void; onBrace(): void; onSparen(): void; onOr(): void; onAnd(): void; onMoreequal(): void; onLessequal(): void; onLess(): void; onMore(): void; changeText(textii: string): void; changeInjectEntity(injectName: string, injectSchemaName: string, injectNameInSchema: string, injectedType?: InjectedType): void; changeCO(commonObjects: GSPCommonObject[]): void; changeContextVar(contextEntities: VarEntity[]): void; private applySetting; getExtendFunc(): Observable; showAiAssistant(): void; private cycle; }