From 215f78af147350088516a918afb8b84db492787a Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Tue, 26 Apr 2016 12:28:27 -0400 Subject: Prevent graphs bouncing multiples times when loading analytics pages (#2800) --- webapp/components/analytics/line_chart.jsx | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'webapp/components/analytics/line_chart.jsx') diff --git a/webapp/components/analytics/line_chart.jsx b/webapp/components/analytics/line_chart.jsx index 6a3b8c0f0..f45e7f5fa 100644 --- a/webapp/components/analytics/line_chart.jsx +++ b/webapp/components/analytics/line_chart.jsx @@ -1,11 +1,13 @@ // Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import ReactDOM from 'react-dom'; import {FormattedMessage} from 'react-intl'; -import Chart from 'chart.js'; + +import * as Utils from 'utils/utils.jsx'; import React from 'react'; +import ReactDOM from 'react-dom'; +import Chart from 'chart.js'; export default class LineChart extends React.Component { constructor(props) { @@ -19,11 +21,13 @@ export default class LineChart extends React.Component { this.initChart(); } - componentDidUpdate() { - if (this.chart) { - this.chart.destroy(); + 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(); } componentWillUnmount() { -- cgit v1.2.3-1-g7c22