@lcap/asl
Version:
NetEase Application Specific Language
192 lines (191 loc) • 4.32 kB
TypeScript
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<string>;
/**
* UI 展示
*/
readonly display: Display;
/**
* 默认值
*/
readonly defaultValue: string | boolean | number;
/**
* 是否为主键
*/
readonly primaryKey: boolean;
/**
* 父级 Id
*/
readonly entityId: string;
/**
* 父级引用
*/
root: Entity;
/**
* 节点是否为叶子节点
* 前端 UI 状态
*/
isLeaf: boolean;
/**
* 周边存在的名称
*/
existingNames: Array<string>;
/**
* 数据类型Key,例子:"/#basicType/String",在前端使用
*/
readonly typeKey: string;
/**
* 外键引用实体
*/
readonly $relationEntity: string;
/**
* 外键引用实体字段
*/
readonly $relationProperty: string;
/**
* 外键删除规则
*/
readonly relationDelRule: string;
/**
* 上一版本规则
*/
readonly lastVersion: EntityProperty;
/**
* @param source 需要合并的部分参数
*/
constructor(source?: Partial<EntityProperty>);
/**
* 添加实体属性
*/
create(none?: void, actionOptions?: ActionOptions): Promise<this>;
/**
* 删除实体属性
*/
delete(none?: void, actionOptions?: ActionOptions): Promise<void>;
/**
* 修改实体属性
*/
update(none?: void, actionOptions?: ActionOptions, then?: () => Promise<any>): Promise<this>;
/**
* 设置实体属性名称
* @param name 名称
*/
setName(name: string): Promise<void>;
/**
* 设置实体属性标题
* @param label 标题
*/
setLabel(label: string): Promise<void>;
/**
* 设置实体属性描述
* @param description 描述
*/
setDescription(description: string): Promise<void>;
/**
* 查找schema 顶点被引用的逻辑顶点列表
*/
getSchemaUsage(): Promise<any>;
/**
* 设置实体属性的数据类型
*/
setDataType(schema: Schema): Promise<void>;
/**
* 设置实体属性关系
*/
setRelationship(relationship: string): Promise<void>;
/**
* 设置实体属性外键
* reference: {$relationEntity, $relationProperty}
*/
setReference(reference: any): Promise<void>;
/**
* 清除实体属性外键
*/
clearReference(): Promise<void>;
setRelationDelRule(relationDelRule: string): Promise<void>;
setRules(rules: any): Promise<void>;
/**
* 设置实体属性的默认值
*/
setDefaultValue(defaultValue: string): Promise<void>;
/**
* 设置实体属性是否必须
* @param required 必须
*/
setRequired(required: boolean): Promise<void>;
setDisplay(display: Display): Promise<void>;
/**
* 移动位置
* @param index 目标位置
*/
moveTo(index: number, oldIndex?: number): Promise<void>;
/**
* 上移实体属性
*/
moveUp(): Promise<void>;
/**
* 属性下移
*/
moveDown(): Promise<void>;
/**
* 只更改Entity Property的名称
*/
updateLogicParamsForName(entity: Entity, property: EntityProperty): Promise<void>;
}
export default EntityProperty;