@farris/renderer
Version:
Render schema to web page with farris ui.
59 lines (58 loc) • 1.51 kB
TypeScript
import { Injector, Module } from "@farris/devkit-vue";
import { FormMetadataService } from "../service";
/**
* 模型值解析器
*/
export declare class ModelValueResolver {
private formMetadataService;
private module;
private injector;
/**
* 模型值
* @summary
* key = 组件ID;
* value = 绑定值(字段值或表数据)
*/
private modelValue;
/**
* 构造函数
* @param formMetadataService 表单元数据服务
* @param module 模块实例
* @param injector 注入器
*/
constructor(formMetadataService: FormMetadataService, module: Module, injector: Injector);
/**
* 解析模型
*/
resolve(): Record<string, any>;
/**
* 解析组件
* @param viewSchema 组件配置
* @returns 递归解析组件及下级组件的绑定值
*/
resolveModelValue(viewSchema: Record<string, any>): void;
/**
* 解析字段绑定
* @param viewSchema
* @returns 绑定的字段值
*/
resolveBindingValue(viewSchema: Record<string, any>): any | null;
/**
* 解析集合数据绑定
* @param viewSchema 组件配置
* @returns 绑定的集合数据
*/
resolveDataSourceValue(viewSchema: Record<string, any>): any[] | null;
/**
* 实体仓库
*/
private get entityStore();
/**
* 实体元数据
*/
private get entityMetadata();
/**
* 实体元数据
*/
private getEntityMetadata;
}