diff --git a/datagear-web/src/main/resources/org/datagear/web/builtInDashboardTemplates/dashboard-chart-icon.zip b/datagear-web/src/main/resources/org/datagear/web/builtInDashboardTemplates/dashboard-chart-icon.zip index 907e7c7f..704386ee 100644 Binary files a/datagear-web/src/main/resources/org/datagear/web/builtInDashboardTemplates/dashboard-chart-icon.zip and b/datagear-web/src/main/resources/org/datagear/web/builtInDashboardTemplates/dashboard-chart-icon.zip differ diff --git a/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.sunburst.zip b/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.sunburst.zip new file mode 100644 index 00000000..3596ab91 Binary files /dev/null and b/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.sunburst.zip differ diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartFactory.js b/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartFactory.js index f4561574..4227c5b1 100644 --- a/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartFactory.js +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartFactory.js @@ -1073,6 +1073,63 @@ "borderWidth" : 1 } }, + "tree": + { + "label": + { + "color": chartTheme.color + }, + "lineStyle": { "color": chartTheme.axisScaleLineColor }, + "emphasis" : + { + "itemStyle" : { + "shadowBlur" : 10, + "shadowOffsetX" : 0, + "shadowColor" : chartTheme.axisColor, + } + } + }, + "treemap": + { + "itemStyle" : + { + "borderWidth": 0.5, + "borderColor": chartTheme.backgroundColor + }, + "emphasis" : + { + "itemStyle" : { + "shadowBlur" : 10, + "shadowOffsetX" : 0, + "shadowColor" : chartTheme.axisColor, + "borderWidth" : 0, + "borderColor" : chartTheme.axisColor + } + }, + "breadcrumb": + { + "itemStyle": + { + "color": chartTheme.backgroundColor, + "borderColor": chartTheme.borderColor, + "shadowBlur": 0, + "textStyle": { color: chartTheme.color } + } + } + }, + "sunburst": + { + "emphasis" : + { + "itemStyle" : { + "shadowBlur" : 10, + "shadowOffsetX" : 0, + "shadowColor" : chartTheme.axisColor, + "borderWidth" : 0, + "borderColor" : chartTheme.axisColor + } + } + }, "graph" : { "itemStyle" : { "borderWidth" : 0, diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartSupport.js b/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartSupport.js index 7b7d3029..59567d12 100644 --- a/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartSupport.js +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartSupport.js @@ -1221,8 +1221,6 @@ chartSupport.treeRender = function(chart, idSign, nameSign, parentSign, valueSign, options) { var chartDataSet = chart.chartDataSetFirst(); - //echarts主题没找到tree的定义方式,先在这里直接设置 - var chartTheme = (chart.theme() || {}); options = chart.options($.extend(true, { @@ -1241,8 +1239,7 @@ { position: "left", verticalAlign: "middle", - align: "right", - color: chartTheme.color + align: "right" }, leaves: { @@ -1258,7 +1255,6 @@ top: "12%", bottom: "12%", orient: "LR", - lineStyle: { color: chartTheme.axisScaleLineColor}, expandAndCollapse: true }] }, @@ -1272,6 +1268,93 @@ chartSupport.treeUpdate = function(chart, results, idSign, nameSign, parentSign, valueSign) { var initOptions= chartSupport.initOptions(chart); + + var mySeries = chartSupport.buildTreeNodeSeries(chart, results, idSign, nameSign, parentSign, valueSign); + var series = [ chartSupport.optionsSeries(initOptions, 0, mySeries) ]; + + var options = { series: series }; + chart.echartsOptions(options); + }; + + //矩形树图 + chartSupport.treemapRender = function(chart, idSign, nameSign, parentSign, valueSign, options) + { + var chartDataSet = chart.chartDataSetFirst(); + + options = chart.options($.extend(true, + { + title: { + text: chart.nameNonNull() + }, + tooltip: + { + trigger: "item" + }, + series: [{ + name: "", + type: "treemap", + data: [] + }] + }, + options)); + + chartSupport.initOptions(chart, options); + + chart.echartsInit(options, false); + }; + + chartSupport.treemapUpdate = function(chart, results, idSign, nameSign, parentSign, valueSign) + { + var initOptions= chartSupport.initOptions(chart); + + var mySeries = chartSupport.buildTreeNodeSeries(chart, results, idSign, nameSign, parentSign, valueSign); + var series = [ chartSupport.optionsSeries(initOptions, 0, mySeries) ]; + + var options = { series: series }; + chart.echartsOptions(options); + }; + + //旭日图 + + chartSupport.sunburstRender = function(chart, idSign, nameSign, parentSign, valueSign, options) + { + var chartDataSet = chart.chartDataSetFirst(); + + options = chart.options($.extend(true, + { + title: { + text: chart.nameNonNull() + }, + tooltip: + { + trigger: "item" + }, + series: [{ + name: "", + type: "sunburst", + data: [] + }] + }, + options)); + + chartSupport.initOptions(chart, options); + + chart.echartsInit(options, false); + }; + + chartSupport.sunburstUpdate = function(chart, results, idSign, nameSign, parentSign, valueSign) + { + var initOptions= chartSupport.initOptions(chart); + + var mySeries = chartSupport.buildTreeNodeSeries(chart, results, idSign, nameSign, parentSign, valueSign); + var series = [ chartSupport.optionsSeries(initOptions, 0, mySeries) ]; + + var options = { series: series }; + chart.echartsOptions(options); + }; + + chartSupport.buildTreeNodeSeries = function(chart, results, idSign, nameSign, parentSign, valueSign) + { var chartDataSets = chart.chartDataSetsNonNull(); var seriesName = ""; @@ -1301,9 +1384,7 @@ if(vp) { node.value = chart.resultRowCell(data[i], vp); - //标识节点值需要动态计算 - if(node.value == null || node.value == 0) - node._evalValue = true; + chartSupport.treeNodeEvalValueMark(node); } var added = false; @@ -1319,63 +1400,16 @@ if(!added) seriesData.push(node); } - - seriesData = seriesData.concat(data); } - var series = [ chartSupport.optionsSeries(initOptions, 0, { name: seriesName, data: seriesData }) ]; - - var options = { series: series }; - chart.echartsOptions(options); + return { name: seriesName, data: seriesData }; }; - //矩形树图 - chartSupport.treemapRender = function(chart, idSign, nameSign, parentSign, valueSign, options) + chartSupport.treeNodeEvalValueMark = function(node) { - var chartDataSet = chart.chartDataSetFirst(); - //echarts主题没找到tree的定义方式,先在这里直接设置 - var chartTheme = (chart.theme() || {}); - - options = chart.options($.extend(true, - { - title: { - text: chart.nameNonNull() - }, - tooltip: - { - trigger: "item" - }, - series: [{ - name: "", - type: "treemap", - data: [], - itemStyle: - { - borderWidth: 0.5, - borderColor: chartTheme.backgroundColor - }, - breadcrumb: - { - itemStyle: - { - color: chartTheme.backgroundColor, - borderColor: chartTheme.borderColor, - shadowBlur: 0, - textStyle: { color: chartTheme.color } - } - } - }] - }, - options)); - - chartSupport.initOptions(chart, options); - - chart.echartsInit(options, false); - }; - - chartSupport.treemapUpdate = function(chart, results, idSign, nameSign, parentSign, valueSign) - { - chartSupport.treeUpdate(chart, results, idSign, nameSign, parentSign, valueSign) + //标识节点值需要动态计算 + if(node.value == null || node.value == 0) + node._evalValue = true; }; chartSupport.treeAppendNode = function(treeNode, node)