Sailing之元数据
Sailing
对前端来说,Metadata专指从后端获取的各种配置信息, 数据类型带Metadata后缀. 而MetaStatus是指前端运行时要用到的启动后不变的配置信息.
例如前端从后端获取了列表页面的元数据,内含TableItem, 这个就是元数据. 前端在获取了这份元数据后, 还需要解析成SearchbarItem和Table的ColumnItem,
这两份为MetaStatus, MetaStatus的数据类型带MetaStatus后缀.
对后端来说,只有Metadata的概念.
版本化
元数据加载完整过程
- 加载所有MetadataDescriptor.
- 所有的Descriptor加载完原始元数据. Mongo仅加载Json, 不解析; Anotation仅加载Anotation.
- 所有的Descriptor, 根据index, 依次完成:
a. 检查Descriptor中要求的版本.
b. 如果需要迁移, 则为原始元数据执行迁移操作.
c. 将原始元数据解析为对应的Metadata实例.
- 缓存所有Metadata.
- 所有的Descriptor, 根据index, 执行PostProcess.
- 缓存所有Metadata.
其中1-4步, 可以在启动前完成, 5-6步需要在完整环境启动后执行.
Element
- #### ElementMetadata
- #### ElementPropertyMetadata
- #### FieldProertyMetadata
- #### EntityReferenceMetadata
Entity
EntityMask
Process
ListView
- #### ListViewMetadata
- #### ListViewItemMetadata
- path
- title
- uiType
- formatter
- hidden
- width
- index
- linkable
- disable
- editable
- quickSearch
DetailView
- #### DetailViewMetadata**
- #### FormDetailViewPanelMetadata
- #### TableDetailViewPanelMetadata
- #### FormItemMetadata
- path
- title
- uiType
- hidden
- index
- column
- row
- editable
- #### TableItemMetadata
- path
- title
- formatter
- hidden
- width
- index
- linkable
- disable
- editable
Dialog
- #### FormDialogMetadata
- #### SelectorDialogMetadata
元数据验证