From f9d2c69bbe4911d77adf541195e1288ac3d1dde8 Mon Sep 17 00:00:00 2001
From: Sam <sam.saffron@gmail.com>
Date: Wed, 16 May 2018 16:44:13 +1000
Subject: [PATCH] correct it so we always load Chart just before creating it

---
 .../admin/components/dashboard-mini-chart.js.es6            | 6 +++++-
 .../javascripts/admin/routes/admin-dashboard-next.js.es6    | 6 +-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/app/assets/javascripts/admin/components/dashboard-mini-chart.js.es6 b/app/assets/javascripts/admin/components/dashboard-mini-chart.js.es6
index f0028b965d3..2e7f58778e6 100644
--- a/app/assets/javascripts/admin/components/dashboard-mini-chart.js.es6
+++ b/app/assets/javascripts/admin/components/dashboard-mini-chart.js.es6
@@ -2,6 +2,7 @@ import { ajax } from "discourse/lib/ajax";
 import AsyncReport from "admin/mixins/async-report";
 import Report from "admin/models/report";
 import { number } from 'discourse/lib/formatter';
+import loadScript from "discourse/lib/load-script";
 
 function collapseWeekly(data, average) {
   let aggregate = [];
@@ -110,7 +111,10 @@ export default Ember.Component.extend(AsyncReport, {
       if (this._chart) {
         this._chart.destroy();
       }
-      this._chart = new window.Chart(context, this._buildChartConfig(data));
+
+      loadScript("/javascripts/Chart.min.js").then(() => {
+        this._chart = new window.Chart(context, this._buildChartConfig(data));
+      });
     });
   },
 
diff --git a/app/assets/javascripts/admin/routes/admin-dashboard-next.js.es6 b/app/assets/javascripts/admin/routes/admin-dashboard-next.js.es6
index c877f07bf50..30ca9b033c0 100644
--- a/app/assets/javascripts/admin/routes/admin-dashboard-next.js.es6
+++ b/app/assets/javascripts/admin/routes/admin-dashboard-next.js.es6
@@ -1,9 +1,5 @@
-import loadScript from "discourse/lib/load-script";
-
 export default Discourse.Route.extend({
   activate() {
-    loadScript("/javascripts/Chart.min.js").then(() => {
-      this.controllerFor('admin-dashboard-next').fetchDashboard();
-    });
+    this.controllerFor('admin-dashboard-next').fetchDashboard();
   }
 });