gui.json规范
gui.json文件是组件的配置文件。本文介绍gui.json文件的字段详情,您可以参考本文的字段说明,根据自身需求,灵活修改gui.json文件,自定义组件的配置面板。
1 2 3 4 5 6 7 |
{ "name": "newCom", "style": [...], "data": {}, "dataSlot": {...}, "event": {...} } |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
组件名称。 |
style |
是 |
Array of Style object |
组件样式面板配置。 |
data |
是 |
{} |
存放组件更新后的数据,保持值为{},请勿删除。 |
dataSlot |
否 |
Object |
组件数据面板配置,详情请参见组件数据面板配置。 |
event |
否 |
Object |
组件交互面板配置,详情请参见组件交互面板配置。 |
组件样式配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
"style": [ { "label": "全局样式", "labelId": "global_style", "isExpand": true, "children": [ { "label": "字体大小", "name": "fontSize", "type": "number", "min": 12, "max": 32, "value": 12 }, { "label": "字体粗细", "name": "fontWeight", "type": "select", "options": [ { "key": "Normal", "value": "normal" }, { "key": "Bold", "value": "bold" } ], "value": "normal" }, { "label": "颜色", "name": "color", "type": "color", "value": "#ffffff" } ] } ], |
Style参数为数组形式,其中每个数据元素将形成一个样式配置项,每个数据元素还能包含相关的子配置项,最多支持两层,具体参数说明如下:
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
label |
是 |
String |
配置项标签名称。 |
isExpand |
否 |
Boolean |
是否展开子配置项。
|
name |
是 |
String |
配置项key值,用户在命名时要注意唯一性(只限于当前组件)。 |
配置项的其他属性参数 |
否 |
- |
不同UI类型具有不同的属性参数,请参见UI类型介绍。 |
children |
否 |
Array of children object |
配置项所拥有的子配置项,如下图所示全局样式下包含字体和颜色等配置。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
label |
是 |
String |
子配置项标签名称。 |
type |
是 |
String |
样式配置输入框类型,DataArts Insight开放的UI类型请参见UI类型介绍。 |
name |
是 |
String |
子配置项key值,用户在命名时要注意唯一性(只限于当前组件)。 |
value |
是 |
String | Number |
子配置项样式取值。 |
子配置项的其他属性参数 |
是 |
- |
不同UI类型具有不同的属性参数,请参见UI类型介绍。 |
示例如下所示:
区域编号 |
描述 |
---|---|
1 |
对应字段isExpand。 |
2 |
对应字段label。 |
3 |
对应字段type,此处type分别为number、select、color类型。 |
组件数据面板配置
dataSlot:组件的数据面板槽位相关配置。
1 2 3 4 5 6 7 8 9 |
"data": { "version": "2.0" "dynamicData": { "slots": [...], "filter": true, "sort": true }, } |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
version |
是 |
“2.0” |
值固定为“2.0”。 |
slots |
是 |
Slot[] |
数据面板中的数据配置区域,参考slots参数说明。 |
filter |
是 |
Boolean |
数据面板中是否展示过滤槽位。 |
sort |
是 |
Boolean |
数据面板中是否展示排序槽位。 |
- dataSlot配置示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
"dataSlot": { "version": "2.0", "dynamicData": { "slots": [ { "areaId": "area_value", "label": "度量槽位", "rule": { "maxColNum": 1, "mimColNum": 0, "needAggregator": true } } ], "filter": true, "sort": true } },
其中slots为槽位的定义如下:
- AreaId说明
- rule说明
表8 rule值说明 值
是否必选
类型
描述
minColNum
否
Number
数据面板槽位最少需要的字段个数。
maxColNum
否
Number
数据面板槽位最多支持的字段个数。
dataType
否
String[]
支持的字段类型,可选值为“STRING”、“DATE”、“NUMBER”,不配置该字段则默认为匹配AreaId对应的类型。AreaId说明。
typeErrorTip
否
String
向数据面板槽位拖拽字段类型和槽位不匹配时的提示内容。
组件交互面板配置
event:组件的交互相关配置。
示例如下:
"event": { "eventConfig": [ { "type": "select" } ] }
Event为key:value形式的对象,其中key值为交互事件名称定义,value值为交互事件的相关配置,具体如下:
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
eventConfig |
是 |
Arrary |
交互配置,值为数组。 |
参数 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
type |
是 |
select、drive、link |
|