From dcb921c5f53d04b1df4b693da4f37fc3007324a7 Mon Sep 17 00:00:00 2001 From: Aaron Lindsay Date: Tue, 10 Jan 2017 20:41:08 -0500 Subject: [PATCH] BarChart: Print message if data is empty --- js/components/BarChart.js | 52 +++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/js/components/BarChart.js b/js/components/BarChart.js index d7c28ca..f72b1ad 100644 --- a/js/components/BarChart.js +++ b/js/components/BarChart.js @@ -11,33 +11,37 @@ module.exports = React.createClass({ * {'Label': 'bar', 'Value': 8} * ]; */ - if (this.props.data.length < 1) - return (
); - - var max = parseFloat(this.props.data[0].Value); - var min = parseFloat(this.props.data[0].Value); - for (var i = 0; i < this.props.data.length; i++) { - var cur = parseFloat(this.props.data[i].Value); - if (cur > max) - max = cur; - if (cur < min) - min = cur; - } var rows = []; - for (var i = 0; i < this.props.data.length; i++) { - var rowData = this.props.data[i]; - if ((max - min) == 0.0) - var percent = 100; - else if (min < 0) - var percent = 100*(parseFloat(rowData.Value)-min)/(max-min); - else - var percent = 100*parseFloat(rowData.Value)/max; + if (this.props.data.length >= 1) { + var max = parseFloat(this.props.data[0].Value); + var min = parseFloat(this.props.data[0].Value); + for (var i = 0; i < this.props.data.length; i++) { + var cur = parseFloat(this.props.data[i].Value); + if (cur > max) + max = cur; + if (cur < min) + min = cur; + } + + for (var i = 0; i < this.props.data.length; i++) { + var rowData = this.props.data[i]; + if ((max - min) == 0.0) + var percent = 100; + else if (min < 0) + var percent = 100*(parseFloat(rowData.Value)-min)/(max-min); + else + var percent = 100*parseFloat(rowData.Value)/max; + rows.push(( + + {rowData.Label + " (" + rowData.Value + ")"} +
 
+ + )); + } + } else { rows.push(( - - {rowData.Label + " (" + rowData.Value + ")"} -
 
- + No data )); }