dg-dashboard-form
功能:定义看板表单,设置看板级的交互操作表单,联动看板内任意图表。
必填:是
元素:<form>
格式:
{
//必选,表单输入项对象、数组
items: 表单输入项对象、 [ 表单输入项对象, ... ],
//可选,表单提交操作时执行的联动图表设置
link: 图表联动设置对象,
//可选,表单提交按钮文本
submitText: "...",
//可选,图表渲染完成回调函数
//form 表单DOM对象
render: function(form){ ... }
}
其中
表单输入项对象格式为:
{
//必选,输入项名称
name: "...",
//可选,默认值
value: ...,
//可选,输入项标签
label: "...",
//可选,输入项类型:"STRING" 字符串;"BOOLEAN" 布尔值;"NUMBER" 数值。默认值为:"STRING"
type: "...",
//可选,是否必填:true 必填;false 选填。默认为false
required: ...,
//可选,输入框类型:
//"text" 文本框;"select" 下拉框;"date" 日期框;"time" 时间框;"datetime" 日期时间框;
//"radio" 单选框;"checkbox" 复选框;"textarea" 文本域。默认值为:"text"
inputType: "...",
//可选,输入框配置,与定义数据集-设置参数输入框类型表格中的输入框配置格式相同
inputPayload: ...,
//可选,此表单输入项值要联动设置到的目标图表数据集参数
link: 图表数据集参数索引对象、[ 图表数据集参数索引对象, ... ]
}
图表联动设置对象格式为:
{
//必选,联动目标图表元素ID、ID数组
target: "..."、["...", ...],
//可选,联动数据设置
data:
{
表单输入项名称 : 图表数据集参数索引对象、[ 图表数据集参数索引对象, ... ],
...
}
或者,可简写为图表联动设置对象的target属性值。
图表数据集参数索引对象用于定义表单输入项值要设置到的目标图表数据集参数,格式为:
{
//可选,目标图表在上述图表联动设置对象的target数组中的索引数值,默认为:0
chart: ...,
//可选,目标图表数据集数组的索引数值,默认为:0
dataSet: ...,
//可选,目标图表数据集的参数数组索引/参数名,默认为:0
param: ...,
//可选,自定义映射源值至目标参数值处理函数
//sourceValue 表单输入项值
//formData 看板表单数据对象:{ 表单输入项名称 : 表单输入项值, ... }
//form 看板表单DOM对象
value: function(sourceValue, formData, form){ return ...; }
}
或者,可简写为图表数据集参数索引对象的param属性值。
示例:
<html>
<head>
<script type="text/javascript">
var dashboarForm =
{
items:
[
{
name: "地区", inputType: "select",
inputPayload:
[
{name: '北京',value: '北京'},
{name: '上海',value: '上海'},
{name: '广州',value: '广州'}
],
//将此输入项的值分别设置为chart0、chart1的第0个数据集的第0个参数值
link: [{chart: 0}, {chart: 1}]
},
{
name:"日期", inputType:"date",
//将此输入项的值分别设置为chart0、chart1的第0个数据集的第1个参数值
link: [{chart: 0, param: 1}, {chart: 1, param: 1}]
}
],
//当表单提交时,联动图表chart0、chart1
link: ["chart0", "chart1"]
};
</script>
</head>
<body>
<form dg-dashboard-form="dashboarForm" class="dg-inline"></form>
<div id="chart0" dg-chart-widget="..."></div>
<div id="chart1" dg-chart-widget="..."></div>
</body>
</html>
系统内置了一些常用的看板表单布局样式类,可添加至<form>看板表单元素的class属性,具体包括:
样式类名 | 样式说明 |
---|---|
dg-inline | 表单内所有标签、输入框、提交按钮显示在单行内 |
dg-col-2 | 表单输入项条目分两列显示,提交按钮在新行中显示 |
dg-col-3 | 表单输入项条目分三列显示,提交按钮在新行中显示 |
dg-col-4 | 表单输入项条目分四列显示,提交按钮在新行中显示 |
dg-col-5 | 表单输入项条目分五列显示,提交按钮在新行中显示 |
dg-item-inline | 表单输入项条目的标签、输入框在单行中显示,可与dg-col-*组合使用 |