导航元数据
菜单,应用程序描述,菜单项
| sequence | 排序,系统按此字段从小到大排列 |
| name |
| icon |
| parent_id | array |
| src |
| security_id |
| title |
安全元数据
security keys ,映射到导航和ui
后台js元数据
前台js元数据
报表元数据
查找项baseenum/lookup元数据
一些 不适合用数据库存储得查找项,如性别,value可以是字符串或数字,根据目标数据库字段而定
{"name":"sex","items":[{"text":"男","value":1},{"text":"女","value":2}]}
lookup 则是不变化的查找项,如员工 ,部门 等,lookup只是为了更好的性能 ,不是返回所谓字段 (相比通用 的rest api)
{"name":"departments":"query":"select id as value,name as text from departments" }
在ui描述中,combobox是baseenum和lookup的最常用 消费者,如下的描述
{"xtype":"combo","baseenum":"sex"}
{"xtype":"combo","lookup":"departments"}
目前,有/lookups/:name,/baseenums/:name 处理这些数据
工作流程元数据
table/view元数据
fields 是一个列表 ,一个field以Ext.data.Field为原型并增加额外得设置,目前
| text | 字段文本,可用于 Ext.grid.ColumnModel的header,Ext.form.Field得fieldLabel |
{"name":"Currency",
"fields":[{"name":"id",
"type":"int"},
{"name":"name",
"type":"string",
"text":"货币"},
{"name":"rate",
"text":"汇率",
"type":"float"}],
"_id":"4ea27530a835559d7c000001"}
ui元数据
基本遵循 extjs config格式,增加 额外 得一些 设置
id命名建议加上对象 后缀 ,如store用 currency_store, 事件可以用java式或是式,但以事件名称结尾,以对象 名称 开头 ,如store得load事件可以用 currency_store_load或currencyStoreLoad,grid的render用gridRender或grid_render
| autoDeclare | 是否将对象动态增加到全局(windows)范围 ,这样 js代码 可以直接引用 |
form非formpanel,此form指元数据
| name |
| title |
| design | 对象,主要界面 |
| windows | array,用于描述通过show显示得窗口 |
| datasources | object,store,可通过全局得datasources.id访问 |
datasources
定义 全局的store,所有对象可以用全局变量(id)访问,系统会查询 listeners对象 ,将其中存在 的函数用全局函数替换 proxy 支持,可以写proxy:{xtype:'http|direct|scripttag',method:'GET|POST'}的形式,系统 自动 转换 为 HttpProxy,DirectProxy,ScriptTagProxy,注意,如果需要load(options) 必须写proxy
method值必须大写
grid
| showRowNumbe | 是否 在ColumnModel中增加 行数列 Ext.grid.RowNumber |
| showCheckbox | 是否显示checkbox,Ext.grid.CheckboxSelectionModel |
| bufferView | object,如果存在,则view使用Ext.ux.grid.BufferView |
对于ColumModel Columns中的每个对象 ,如果 存在 renderer ,则用window中对应的全局函数替换
系统会查询 listeners对象 ,将其中存在 的函数用全局函数替换
paging 定义 Ext.PagingToolbar,额外 增加 position,说明到tbar/bbar,这样处理是不想重复处理tbar/bbar两个 属性 ,paging有store需要转换
treepanel
| loader | 对象,如果存在该定义,则创建Ext.tree.TreeLoader(loader)替换 |
datasource
| autoSearch | 如果 不存在 ,则添加autoSearch=true, 表示自动 调用 load ? |
datasource是store的描述
store默认 为JsonReader,并且使用totalProperty,sucessProperty,id,root等约定 的json格式
{totalProperty:3,successProperty:true,root:[]}