From 215f78af147350088516a918afb8b84db492787a Mon Sep 17 00:00:00 2001
From: Joram Wilander <jwawilander@gmail.com>
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

