Merge branch 'origin/branch-1.10.1'

This commit is contained in:
datagear 2020-08-02 20:20:56 +08:00
commit 80b01fa555
6 changed files with 130 additions and 48 deletions

View File

@ -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!

View File

@ -213,8 +213,16 @@ DataGear版本更新日志
改进:自定义图表主题时仅需设置前景色和背景色,即可自动调整图表整体配色风格;
改进数据集编辑页面预览操作参数化SQL语句格式有误时给出友好提示
-----------------------------------------
--v1.11.0
--v1.10.1
-----------------------------------------
修复修复图表数据集参数值表单输入项没有填值时仍会被传递至参数化数据集可能导致其相关判断逻辑出错的BUG
改进表格图表选项添加title.text属性用于自定义标题文本添加table.renderValue属性用于自定义单元格渲染逻辑
改进:简化数据集参数和看板表单的下拉框、单选框、复选框配置格式,允许直接使用字符串定义待选项;
-----------------------------------------
--v1.11.0
-----------------------------------------

View File

@ -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;
}
}
});

View File

@ -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);

View File

@ -1,4 +1,4 @@
DataGear-v1.11.0
DataGear-v1.11.0
DataGear是一款数据管理与可视化分析平台使用Java语言开发采用浏览器/服务器架构,支持多种数据库,
主要功能包括数据管理、SQL工作台、数据导入/导出、数据集管理、图表管理、看板管理等。

View File

@ -1,4 +1,4 @@
DataGear-v1.11.0
DataGear-v1.11.0
DataGear是一款数据管理与可视化分析平台使用Java语言开发采用浏览器/服务器架构,支持多种数据库,
主要功能包括数据管理、SQL工作台、数据导入/导出、数据集管理、图表管理、看板管理等。