ILogBizSystem/src/main/webapp/wb/system/controls.json 是 WebBuilder 的控件元数据注册表。它不仅定义 IDE 控件箱的树结构,也为 XWL 的解析和缓存提供组件的 general、configs 与 events 元数据。
注册与加载
后端 com.wb.interact.Controls 固定读取 wb/system/controls.json。getControlTree() 将整棵树返回给客户端;IDE 请求 m?xwl=dev/cm/get-tree&type=ide 时,后端会把每个叶子节点转换为带 type 和 control: true 的可插入控件节点。
IDE 的控件箱仅将 control: true 的节点加入 Ide.controlMap,拖入设计画布时读取对应节点的 general、configs 和 events。页面解析器与 XWL 缓存也通过 Controls.get(type) 查找同一份注册数据,因此调整本文件会同时影响设计器和运行时生成。
可视化边界
control: true 表示该条目可以作为模块树节点插入。是否能在当前桌面设计画布中直观渲染,还取决于 general.design:值为 false 的条目会以非设计态处理,或仅作为数据、服务、Touch、Bootstrap、图表子项等配置节点存在。
当前注册表有 134 个叶子节点,其中 38 个同时具备 general.xtype 且未设置 general.design: false。它们是本手册“可视化组件分类”页面列出的桌面画布组件。
元数据字段
| 字段 | 设计器用途 |
|---|---|
id |
XWL 节点的 type,也是控件注册表的唯一查找键。 |
text / iconCls |
控件箱中的显示名称和图标。 |
general |
Ext 类、xtype、默认尺寸、容器能力和设计态等基础定义。 |
configs |
属性面板可编辑的配置项及其编辑器类型。 |
events |
事件面板可编辑的事件及其脚本类型。 |
请从 可视化组件分类 查看可拖入桌面画布的组件清单。
本目录
- 可视化组件分类:按控件箱分类查看可在桌面画布中使用的控件。