import { Injector } from '@angular/core'; import { BackEndMessage, FrameContext, Translate } from '@farris/devkit'; /** * 后端消息处理服务 * @description * ### 服务注入位置 * 1、整个表单的root-component * 2、弹出窗口的root-component */ export declare class BackEndMessageHandler implements BackEndMessage.IBackEndMessageHandler { private injector; private frameContext; private translate; constructor(injector: Injector, frameContext: FrameContext, translate: Translate); /** * 处理后端返回的消息或错误 * @param message 消息或错误 */ handle(message: BackEndMessage.IMessage, context: any): void; /** * 收集汇总信息和form信息 * @param backEndMessage */ private collect; private mergeMessage; private buildItemTitle; /** * 根据表名或nodeCode获取绑定路径 * @param appContext appContext * @param ns ns * @param nodeCode 表名 */ private getBindingPath; /** * 通过绑定路径和列名找到所有符合条件的视图模型(包括grid和form) * @param appContext appContext * @param ns namespace * @param bindingPath 绑定路径 * @param columnName 列名 */ private getFrameContextsByBindingPathAndColumnName; /** * 是否为datagrid组件 * @param frameComponent component */ private isDataGridComponent; /** * grid组件是否是只读的 * @param frameComponent frameComponent * @returns */ private isReadonlyDataGrid; /** * id是否为当前行 * @param appContext appContext * @param ns namespace * @param bindingPath bindingPath * @param id id */ private isCurrentRow; /** * 获取当前ns下的rootFrameContext * @param appContext appcontext * @param ns namespace */ private getFrameContext; /** * 通过绑定路径和列名获取绑定到该列的formControl */ private getFormControlByColumnName; private resetFormMessage; /** * 递归找到展示消息的组件上下文 * @param frameContext frameContext */ private findTargetFrameContext; }