From 1b2fd5af5e55b6da3a2da5534570f357b0c643f3 Mon Sep 17 00:00:00 2001 From: enahum Date: Thu, 9 Jun 2016 12:08:20 -0300 Subject: PLT-3257 Fix Team Statistics (#3290) --- webapp/components/analytics/doughnut_chart.jsx | 12 ++++++------ webapp/components/analytics/line_chart.jsx | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'webapp/components') diff --git a/webapp/components/analytics/doughnut_chart.jsx b/webapp/components/analytics/doughnut_chart.jsx index b946ad8bb..5834e290a 100644 --- a/webapp/components/analytics/doughnut_chart.jsx +++ b/webapp/components/analytics/doughnut_chart.jsx @@ -23,26 +23,26 @@ export default class DoughnutChart extends React.Component { componentDidUpdate(prevProps) { if (!Utils.areObjectsEqual(prevProps.data, this.props.data) || !Utils.areObjectsEqual(prevProps.options, this.props.options)) { - if (this.chart) { - this.chart.destroy(); - } - this.initChart(); + this.initChart(true); } } componentWillUnmount() { - if (this.chart) { + if (this.chart && this.refs.canvas) { this.chart.destroy(); } } - initChart() { + initChart(update) { if (!this.refs.canvas) { return; } var el = ReactDOM.findDOMNode(this.refs.canvas); var ctx = el.getContext('2d'); this.chart = new Chart(ctx, {type: 'doughnut', data: this.props.data, options: this.props.options || {}}); //eslint-disable-line new-cap + if (update) { + this.chart.update(); + } } render() { diff --git a/webapp/components/analytics/line_chart.jsx b/webapp/components/analytics/line_chart.jsx index bebeb0223..aa603d819 100644 --- a/webapp/components/analytics/line_chart.jsx +++ b/webapp/components/analytics/line_chart.jsx @@ -23,26 +23,26 @@ export default class LineChart extends React.Component { componentDidUpdate(prevProps) { if (!Utils.areObjectsEqual(prevProps.data, this.props.data) || !Utils.areObjectsEqual(prevProps.options, this.props.options)) { - if (this.chart) { - this.chart.destroy(); - } - this.initChart(); + this.initChart(true); } } componentWillUnmount() { - if (this.chart) { + if (this.chart && this.refs.canvas) { this.chart.destroy(); } } - initChart() { + initChart(update) { if (!this.refs.canvas) { return; } var el = ReactDOM.findDOMNode(this.refs.canvas); var ctx = el.getContext('2d'); this.chart = new Chart(ctx, {type: 'line', data: this.props.data, options: this.props.options || {}}); //eslint-disable-line new-cap + if (update) { + this.chart.update(); + } } render() { -- cgit v1.2.3-1-g7c22