import { LEVEL_ENUM, Vertex, Entity, Schema, ActionOptions } from '..'; export interface Display { readonly inDetail: boolean; readonly inFilter: boolean; readonly inForm: boolean; readonly inTable: boolean; } /** * 实体属性类 */ export declare class EntityProperty extends Vertex implements Schema { /** * 概念类型 */ level: LEVEL_ENUM; /** * Id */ readonly id: string; /** * 名称 */ readonly name: string; /** * 标题 */ readonly label: string; /** * 描述 */ readonly description: string; /** * type */ readonly type: string; /** * 数据格式 */ readonly format: string; /** * 是否必须 */ readonly required: boolean; /** * 数据类型 */ readonly $ref: string; /** * 数据结构Id */ readonly $refId: string; /** * 引用关系(多对一、一对多等) */ readonly relationship: string; /** * 规则 */ readonly rules: Array; /** * UI 展示 */ readonly display: Display; /** * 默认值 */ readonly defaultValue: string | boolean | number; /** * 是否为主键 */ readonly primaryKey: boolean; /** * 父级 Id */ readonly entityId: string; /** * 父级引用 */ root: Entity; /** * 节点是否为叶子节点 * 前端 UI 状态 */ isLeaf: boolean; /** * 周边存在的名称 */ existingNames: Array; /** * 数据类型Key,例子:"/#basicType/String",在前端使用 */ readonly typeKey: string; /** * 外键引用实体 */ readonly $relationEntity: string; /** * 外键引用实体字段 */ readonly $relationProperty: string; /** * 外键删除规则 */ readonly relationDelRule: string; /** * 上一版本规则 */ readonly lastVersion: EntityProperty; /** * @param source 需要合并的部分参数 */ constructor(source?: Partial); /** * 添加实体属性 */ create(none?: void, actionOptions?: ActionOptions): Promise; /** * 删除实体属性 */ delete(none?: void, actionOptions?: ActionOptions): Promise; /** * 修改实体属性 */ update(none?: void, actionOptions?: ActionOptions, then?: () => Promise): Promise; /** * 设置实体属性名称 * @param name 名称 */ setName(name: string): Promise; /** * 设置实体属性标题 * @param label 标题 */ setLabel(label: string): Promise; /** * 设置实体属性描述 * @param description 描述 */ setDescription(description: string): Promise; /** * 查找schema 顶点被引用的逻辑顶点列表 */ getSchemaUsage(): Promise; /** * 设置实体属性的数据类型 */ setDataType(schema: Schema): Promise; /** * 设置实体属性关系 */ setRelationship(relationship: string): Promise; /** * 设置实体属性外键 * reference: {$relationEntity, $relationProperty} */ setReference(reference: any): Promise; /** * 清除实体属性外键 */ clearReference(): Promise; setRelationDelRule(relationDelRule: string): Promise; setRules(rules: any): Promise; /** * 设置实体属性的默认值 */ setDefaultValue(defaultValue: string): Promise; /** * 设置实体属性是否必须 * @param required 必须 */ setRequired(required: boolean): Promise; setDisplay(display: Display): Promise; /** * 移动位置 * @param index 目标位置 */ moveTo(index: number, oldIndex?: number): Promise; /** * 上移实体属性 */ moveUp(): Promise; /** * 属性下移 */ moveDown(): Promise; /** * 只更改Entity Property的名称 */ updateLogicParamsForName(entity: Entity, property: EntityProperty): Promise; } export default EntityProperty;