From 7a3c701b8ec4d3acc19002a0d618fb9921d07e7f Mon Sep 17 00:00:00 2001 From: Dante Date: Mon, 30 Mar 2015 17:15:04 -0400 Subject: [PATCH] Bug NDD-1 correction --- gulliver/js/pmchart/pmCharts.js | 48 ++++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/gulliver/js/pmchart/pmCharts.js b/gulliver/js/pmchart/pmCharts.js index 2c8b3a599..6fcba252a 100644 --- a/gulliver/js/pmchart/pmCharts.js +++ b/gulliver/js/pmchart/pmCharts.js @@ -89,9 +89,6 @@ BarChart.prototype.addBarTransition = function (bars, scaleX, scaleY) { } BarChart.prototype.drawBars = function(data, canvas, param) { - if (data == null || data.length == 0) { - this.$container.html( "
No data to draw ...
" ); - } var parameter = createDefaultParamsForGraph(param); //graph part of the parameters passed to this object var graphParam = createDefaultParamsForLineChart(param.graph); @@ -111,6 +108,17 @@ BarChart.prototype.drawBars = function(data, canvas, param) { // JavaScript things... var currObj = this; + if (data == null || data.length == 0) { + canvas.append("text") + .attr('class','pm-charts-no-draw') + .attr("y", graphDim.height/2) + .attr("x", graphDim.left*2 + graphDim.width/2) + .attr("dy", "1.5em") + .style("text-anchor", "end") + .text("No data to draw..."); + data = [ {"value":"0", "datalabel":"None"} ]; + } + var xScaleLabels = data.map(function(data){ return data.datalabel; }); @@ -129,6 +137,11 @@ BarChart.prototype.drawBars = function(data, canvas, param) { .nice(); var chart = canvas.append('g'); + /*chart.append("text") + .attr('class','pm-charts-no-draw') + .text("No data to draw!");*/ + + var graphDim = new GraphDim(parameter); drawAxisX(data, chart, xScale, parameter); drawAxisY(data, chart, yScale, parameter); @@ -400,8 +413,17 @@ function stretchCanvas(canvas, $container, params) { .attr('height', '98%') .attr("viewBox", "0 0 " + .$container.width()+ " " + $containr.height()) .attr("preserveAspectRatio", "xMidYMid meet") + .attr("pointer-events", "all");*/ + + if (canvas == null) { + return; + } + canvas.attr('width', '100%') + .attr('height', '98%') + .attr("viewBox", "0 0 " + widthToUse+ " " + heightToUse) + .attr("preserveAspectRatio", "xMidYMid meet") .attr("pointer-events", "all"); - return canvas;*/ + return canvas; } function redrawChart(chart) { @@ -792,6 +814,7 @@ LineChart.prototype.drawChart = function() { stretchCanvas(null, this.$container, this.params); this.canvas = createCanvas(this.params.canvas.containerId, this.params.canvas); + stretchCanvas(this.canvas, this.$container, this.params); this.drawLines(this.originalData, this.canvas, this.params); refreshBreadCrumbs(this); }; @@ -806,7 +829,7 @@ LineChart.prototype.addTransitionToCircle = function(circle, ratio) { LineChart.prototype.drawLines = function (data, canvas, param) { if (data == null || data.length == 0) { - this.$container.html( "
No data to draw ...
" ); + //this.$container.html( "
No data to draw ...
" ); } var parameter = createDefaultParamsForGraph(param); @@ -822,6 +845,19 @@ LineChart.prototype.drawLines = function (data, canvas, param) { // JavaScript things... var currObj = this; + + var chart = canvas.append("g"); + if (data == null || data.length == 0) { + canvas.append("text") + .attr('class','pm-charts-no-draw') + .attr("y", graphDim.height / 2) + .attr("x", graphDim.width/2) + .attr("dy", "1.5em") + .style("text-anchor", "end") + .text("No data to draw..."); + data = [{"value":"0", "datalabel":"None"}]; + } + var xScaleLabels = data.map(function(data){ return data.datalabel; }); @@ -838,8 +874,6 @@ LineChart.prototype.drawLines = function (data, canvas, param) { .domain([0, maxValue]) .range([graphDim.bottom, graphDim.top]).nice(); - var chart = canvas.append("g"); - drawAxisX(data, chart, xScale, parameter); drawAxisY(data, chart, yScale, parameter); drawLinesX(data, chart, xScale, parameter);