forked from p81075629/datagear
Merge branch 'origin/branch-1.10.1'
This commit is contained in:
commit
80b01fa555
|
@ -437,6 +437,10 @@ ALTER TABLE DATAGEAR_DATA_SET_PAR ADD COLUMN PAR_INPUT_TYPE VARCHAR(50);
|
|||
--添加数据集参数输入框载荷
|
||||
ALTER TABLE DATAGEAR_DATA_SET_PAR ADD COLUMN PAR_INPUT_PAYLOAD VARCHAR(1000);
|
||||
|
||||
|
||||
-----------------------------------------
|
||||
--version[1.10.1], DO NOT EDIT THIS LINE!
|
||||
-----------------------------------------
|
||||
|
||||
-----------------------------------------
|
||||
--version[1.11.0], DO NOT EDIT THIS LINE!
|
||||
|
|
|
@ -213,8 +213,16 @@ DataGear版本更新日志
|
|||
改进:自定义图表主题时仅需设置前景色和背景色,即可自动调整图表整体配色风格;
|
||||
改进:数据集编辑页面预览操作参数化SQL语句格式有误时给出友好提示;
|
||||
|
||||
|
||||
|
||||
-----------------------------------------
|
||||
--v1.11.0
|
||||
--v1.10.1
|
||||
-----------------------------------------
|
||||
|
||||
修复:修复图表数据集参数值表单输入项没有填值时仍会被传递至参数化数据集,可能导致其相关判断逻辑出错的BUG;
|
||||
改进:表格图表选项添加title.text属性,用于自定义标题文本,添加table.renderValue属性,用于自定义单元格渲染逻辑;
|
||||
改进:简化数据集参数和看板表单的下拉框、单选框、复选框配置格式,允许直接使用字符串定义待选项;
|
||||
|
||||
|
||||
-----------------------------------------
|
||||
--v1.11.0
|
||||
-----------------------------------------
|
||||
|
|
|
@ -308,9 +308,14 @@
|
|||
* dataSetParam.inputPayload格式可以为:
|
||||
* null、空字符串
|
||||
* 或者
|
||||
* [ { name: '...', value: ... }, ... ]
|
||||
* "[ 待选项名值对象, ... ]"、
|
||||
* "{ multiple: true | false, options: [ 待选项名值对象, ... ] }" //数据集定义功能时
|
||||
* 或者
|
||||
* { multiple: true | false, options: [ { name: '...', value: ... }, ... ] }
|
||||
* [ 待选项名值对象, ... ]、
|
||||
* { multiple: true | false, options: [ 待选项名值对象, ... ] } //看板表单功能时
|
||||
*
|
||||
* 其中,待选项名值对象格式允许为:
|
||||
* { name: "...", value: ... }、{name: "..."}、{value: ...}、"..."
|
||||
*
|
||||
* @param $parent
|
||||
* @param dataSetParam
|
||||
|
@ -342,9 +347,18 @@
|
|||
|
||||
for(var i=0; i<opts.length; i++)
|
||||
{
|
||||
var $opt = $("<option />").attr("value", opts[i].value).html(opts[i].name).appendTo($input);
|
||||
var opt = opts[i];
|
||||
|
||||
if(chartForm.containsValueForString(value, opts[i].value))
|
||||
var optName = (opt.name != null ? opt.name : opt.value);
|
||||
var optVal = (opt.value != null ? opt.value : opt.name);
|
||||
if(optName == null)
|
||||
optName = opt;
|
||||
if(optVal == null)
|
||||
optVal = opt;
|
||||
|
||||
var $opt = $("<option />").attr("value", optVal).html(optName).appendTo($input);
|
||||
|
||||
if(chartForm.containsValueForString(value, optVal))
|
||||
$opt.attr("selected", "selected");
|
||||
}
|
||||
|
||||
|
@ -359,9 +373,11 @@
|
|||
* 渲染输入项:日期框
|
||||
*
|
||||
* dataSetParam.inputPayload格式可以为:
|
||||
* null、空字符串
|
||||
* null、空字符串、
|
||||
* 或者
|
||||
* { ... } //datetimepicker配置选项
|
||||
* "{ ... }" //datetimepicker配置选项JSON字符串,数据集定义功能时
|
||||
* 或者
|
||||
* { ... } //datetimepicker配置选项对象,看板表单功能时
|
||||
*
|
||||
* @param $parent
|
||||
* @param dataSetParam
|
||||
|
@ -394,9 +410,11 @@
|
|||
* 渲染输入项:时间框
|
||||
*
|
||||
* dataSetParam.inputPayload格式可以为:
|
||||
* null、空字符串
|
||||
* null、空字符串、
|
||||
* 或者
|
||||
* { ... } //datetimepicker配置选项
|
||||
* "{ ... }" //datetimepicker配置选项JSON字符串,数据集定义功能时
|
||||
* 或者
|
||||
* { ... } //datetimepicker配置选项对象,看板表单功能时
|
||||
*
|
||||
* @param $parent
|
||||
* @param dataSetParam
|
||||
|
@ -430,9 +448,11 @@
|
|||
* 渲染输入项:日期时间框
|
||||
*
|
||||
* dataSetParam.inputPayload格式可以为:
|
||||
* null、空字符串
|
||||
* null、空字符串、
|
||||
* 或者
|
||||
* { ... } //datetimepicker配置选项
|
||||
* "{ ... }" //datetimepicker配置选项JSON字符串,数据集定义功能时
|
||||
* 或者
|
||||
* { ... } //datetimepicker配置选项对象,看板表单功能时
|
||||
*
|
||||
* @param $parent
|
||||
* @param dataSetParam
|
||||
|
@ -467,13 +487,18 @@
|
|||
* dataSetParam.inputPayload格式可以为:
|
||||
* null、空字符串
|
||||
* 或者
|
||||
* [ { name: '...', value: ... }, ... ]
|
||||
* "[ 待选项名值对象, ... ]" //数据集定义功能时
|
||||
* 或者
|
||||
* [ 待选项名值对象, ... ] //看板表单功能时
|
||||
*
|
||||
* 其中,待选项名值对象格式允许为:
|
||||
* { name: "...", value: ... }、{name: "..."}、{value: ...}、"..."
|
||||
*
|
||||
* @param $parent
|
||||
* @param dataSetParam
|
||||
* @param value 可选
|
||||
* @param chartTheme 可选
|
||||
* @param defaultSelOpts 可选,默认下拉框选项集
|
||||
* @param defaultSelOpts 可选,默认单选框选项集
|
||||
*/
|
||||
chartForm.renderDataSetParamValueFormInputRadio = function($parent, dataSetParam, value, chartTheme, defaultSelOpts)
|
||||
{
|
||||
|
@ -486,16 +511,25 @@
|
|||
|
||||
for(var i=0; i<opts.length; i++)
|
||||
{
|
||||
var opt = opts[i];
|
||||
|
||||
var optName = (opt.name != null ? opt.name : opt.value);
|
||||
var optVal = (opt.value != null ? opt.value : opt.name);
|
||||
if(optName == null)
|
||||
optName = opt;
|
||||
if(optVal == null)
|
||||
optVal = opt;
|
||||
|
||||
var eleId = global.chartFactory.nextElementId();
|
||||
|
||||
var $wrapper = $("<div class='dg-dspv-form-radio-wrapper' />").appendTo($inputsWrapper);
|
||||
|
||||
var $input = $("<input type='radio' class='dg-dspv-form-input' />")
|
||||
.attr("id", eleId).attr("name", dataSetParam.name).attr("value", opts[i].value).appendTo($wrapper);
|
||||
.attr("id", eleId).attr("name", dataSetParam.name).attr("value", optVal).appendTo($wrapper);
|
||||
|
||||
$("<label />").attr("for", eleId).html(opts[i].name).appendTo($wrapper);
|
||||
$("<label />").attr("for", eleId).html(optName).appendTo($wrapper);
|
||||
|
||||
if((value+"") == (opts[i].value+""))
|
||||
if((value+"") == (optVal+""))
|
||||
$input.attr("checked", "checked");
|
||||
|
||||
if((dataSetParam.required+"") == "true")
|
||||
|
@ -512,13 +546,18 @@
|
|||
* dataSetParam.inputPayload格式可以为:
|
||||
* null、空字符串
|
||||
* 或者
|
||||
* [ { name: '...', value: ... }, ... ]
|
||||
* "[ 待选项名值对象, ... ]" //数据集定义功能时
|
||||
* 或者
|
||||
* [ 待选项名值对象, ... ] //看板表单功能时
|
||||
*
|
||||
* 其中,待选项名值对象格式允许为:
|
||||
* { name: "...", value: ... }、{name: "..."}、{value: ...}、"..."
|
||||
*
|
||||
* @param $parent
|
||||
* @param dataSetParam
|
||||
* @param value 可选,值、值数组
|
||||
* @param chartTheme 可选
|
||||
* @param defaultSelOpts 可选,默认下拉框选项集
|
||||
* @param defaultSelOpts 可选,默认复选框选项集
|
||||
*/
|
||||
chartForm.renderDataSetParamValueFormInputCheckbox = function($parent, dataSetParam, value, chartTheme, defaultSelOpts)
|
||||
{
|
||||
|
@ -536,16 +575,25 @@
|
|||
|
||||
for(var i=0; i<opts.length; i++)
|
||||
{
|
||||
var opt = opts[i];
|
||||
|
||||
var optName = (opt.name != null ? opt.name : opt.value);
|
||||
var optVal = (opt.value != null ? opt.value : opt.name);
|
||||
if(optName == null)
|
||||
optName = opt;
|
||||
if(optVal == null)
|
||||
optVal = opt;
|
||||
|
||||
var eleId = global.chartFactory.nextElementId();
|
||||
|
||||
var $wrapper = $("<div class='dg-dspv-form-checkbox-wrapper' />").appendTo($inputsWrapper);
|
||||
|
||||
var $input = $("<input type='checkbox' class='dg-dspv-form-input' />")
|
||||
.attr("id", eleId).attr("name", dataSetParam.name).attr("value", opts[i].value).appendTo($wrapper);
|
||||
.attr("id", eleId).attr("name", dataSetParam.name).attr("value", optVal).appendTo($wrapper);
|
||||
|
||||
$("<label />").attr("for", eleId).html(opts[i].name).appendTo($wrapper);
|
||||
$("<label />").attr("for", eleId).html(optName).appendTo($wrapper);
|
||||
|
||||
if(chartForm.containsValueForString(value, opts[i].value))
|
||||
if(chartForm.containsValueForString(value, optVal))
|
||||
$input.attr("checked", "checked");
|
||||
|
||||
if((dataSetParam.required+"") == "true")
|
||||
|
@ -816,11 +864,11 @@
|
|||
var $form = $(form);
|
||||
var array = $form.serializeArray();
|
||||
|
||||
var namesOfArray = {};
|
||||
var multipleValNames = {};
|
||||
$("input[type='checkbox'], select[multiple]", $form).each(function()
|
||||
{
|
||||
var name = $(this).attr("name");
|
||||
namesOfArray[name] = true;
|
||||
multipleValNames[name] = true;
|
||||
});
|
||||
|
||||
var re = {};
|
||||
|
@ -830,13 +878,27 @@
|
|||
var name = this.name;
|
||||
var value = this.value;
|
||||
|
||||
//XXX 如果是null值,无论是否多值输入项,都应该忽略
|
||||
//XXX 切勿修改此处逻辑,因为可能会影响参数化数据集的SQL语句逻辑
|
||||
if(value == null)
|
||||
return;
|
||||
|
||||
//XXX 对于没有填写的空值,当是单值输入框时忽略,多值输入框时保留
|
||||
//XXX 切勿修改此处逻辑,因为可能会影响参数化数据集的SQL语句逻辑
|
||||
if(value == "" && !multipleValNames[name])
|
||||
return;
|
||||
|
||||
if(re[name] === undefined)
|
||||
{
|
||||
//XXX 如果是多选输入项,即使单值也应该设为数组
|
||||
re[name] = (namesOfArray[name] ? [ value ] : value);
|
||||
//XXX 如果是多值输入项,即使单值也应该设为数组
|
||||
//XXX 切勿修改此处逻辑,因为可能会影响参数化数据集的SQL语句逻辑
|
||||
re[name] = (multipleValNames[name] ? [ value ] : value);
|
||||
}
|
||||
else
|
||||
{
|
||||
//XXX 如果有多个同名的单值输入框,则将值转换为数组
|
||||
//XXX 切勿修改此处逻辑,因为可能会影响参数化数据集的SQL语句逻辑
|
||||
|
||||
var prev = re[name];
|
||||
|
||||
if($.isArray(prev))
|
||||
|
@ -844,8 +906,8 @@
|
|||
else
|
||||
{
|
||||
prev = [ prev ];
|
||||
re[name] = prev;
|
||||
prev.push(value);
|
||||
re[name] = prev;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -3607,24 +3607,6 @@
|
|||
|
||||
var chartTheme = chart.theme();
|
||||
|
||||
var cps = chartSupport.tableGetColumnProperties(chart, columnSign);
|
||||
|
||||
var columns = [];
|
||||
|
||||
for(var i=0; i<cps.length; i++)
|
||||
{
|
||||
var column =
|
||||
{
|
||||
title: chart.dataSetPropertyLabel(cps[i]),
|
||||
data: cps[i].name,
|
||||
defaultContent: "",
|
||||
orderable: true,
|
||||
searchable: false
|
||||
};
|
||||
|
||||
columns.push(column);
|
||||
}
|
||||
|
||||
var chartEle = chart.elementJquery();
|
||||
chartEle.addClass("dg-chart-table");
|
||||
|
||||
|
@ -3634,6 +3616,7 @@
|
|||
//标题样式
|
||||
"title":
|
||||
{
|
||||
"text": chart.nameNonNull(),
|
||||
"show": true,
|
||||
"color": chartTheme.titleColor,
|
||||
"backgroundColor": chartTheme.backgroundColor
|
||||
|
@ -3674,12 +3657,37 @@
|
|||
"color": chartTheme.highlightTheme.color,
|
||||
"backgroundColor": chartTheme.highlightTheme.backgroundColor
|
||||
}
|
||||
},
|
||||
//单元格内容渲染函数
|
||||
renderValue: function(value, type, row, meta)
|
||||
{
|
||||
return value;
|
||||
}
|
||||
}
|
||||
},
|
||||
chart.options(),
|
||||
options);
|
||||
|
||||
var cps = chartSupport.tableGetColumnProperties(chart, columnSign);
|
||||
var columns = [];
|
||||
for(var i=0; i<cps.length; i++)
|
||||
{
|
||||
var column =
|
||||
{
|
||||
title: chart.dataSetPropertyLabel(cps[i]),
|
||||
data: cps[i].name,
|
||||
defaultContent: "",
|
||||
orderable: true,
|
||||
searchable: false,
|
||||
render: function(value, type, row, meta)
|
||||
{
|
||||
return chartOptions.table.renderValue(value, type, row, meta);
|
||||
}
|
||||
};
|
||||
|
||||
columns.push(column);
|
||||
}
|
||||
|
||||
options = $.extend({}, chartOptions,
|
||||
{
|
||||
"columns" : columns,
|
||||
|
@ -3703,7 +3711,7 @@
|
|||
if(!options.title || !options.title.show)
|
||||
chartEle.addClass("dg-hide-title");
|
||||
|
||||
var chartTitle = $("<div class='dg-chart-table-title' />").html(chart.nameNonNull()).appendTo(chartEle);
|
||||
var chartTitle = $("<div class='dg-chart-table-title' />").html(chartOptions.title.text).appendTo(chartEle);
|
||||
global.chartFactory.setStyles(chartTitle, chartOptions.title);
|
||||
var chartContent = $("<div class='dg-chart-table-content' />").appendTo(chartEle);
|
||||
var table = $("<table width='100%' class='hover stripe'></table>").appendTo(chartContent);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
DataGear-v1.11.0
|
||||
DataGear-v1.11.0
|
||||
|
||||
DataGear是一款数据管理与可视化分析平台,使用Java语言开发,采用浏览器/服务器架构,支持多种数据库,
|
||||
主要功能包括数据管理、SQL工作台、数据导入/导出、数据集管理、图表管理、看板管理等。
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
DataGear-v1.11.0
|
||||
DataGear-v1.11.0
|
||||
|
||||
DataGear是一款数据管理与可视化分析平台,使用Java语言开发,采用浏览器/服务器架构,支持多种数据库,
|
||||
主要功能包括数据管理、SQL工作台、数据导入/导出、数据集管理、图表管理、看板管理等。
|
||||
|
|
Loading…
Reference in New Issue