From d0f810dee5e4783f1ec71e8a717902e202598aa2 Mon Sep 17 00:00:00 2001 From: Neil Lalonde <neillalonde@gmail.com> Date: Fri, 29 Mar 2013 16:05:29 -0400 Subject: [PATCH] Don't request list of problems from server as often if there weren't any problems --- .../javascripts/admin/routes/admin_dashboard_route.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/admin/routes/admin_dashboard_route.js b/app/assets/javascripts/admin/routes/admin_dashboard_route.js index 8024edc75..41e78f8eb 100644 --- a/app/assets/javascripts/admin/routes/admin_dashboard_route.js +++ b/app/assets/javascripts/admin/routes/admin_dashboard_route.js @@ -7,6 +7,9 @@ @module Discourse **/ Discourse.AdminDashboardRoute = Discourse.Route.extend({ + + problemsCheckInterval: '1 minute ago', + setupController: function(c) { this.fetchDashboardData(c); this.fetchGithubCommits(c); @@ -32,11 +35,17 @@ Discourse.AdminDashboardRoute = Discourse.Route.extend({ c.set('problems', d.problems); c.set('loading', false); }); - } else if( !c.get('problemsFetchedAt') || Date.create('1 minute ago', 'en') > c.get('problemsFetchedAt') ) { + } else if( !c.get('problemsFetchedAt') || Date.create(this.problemsCheckInterval, 'en') > c.get('problemsFetchedAt') ) { c.set('problemsFetchedAt', new Date()); + var _this = this; Discourse.AdminDashboard.fetchProblems().then(function(d) { c.set('problems', d.problems); c.set('loading', false); + if( d.problems && d.problems.length > 0 ) { + _this.problemsCheckInterval = '1 minute ago'; + } else { + _this.problemsCheckInterval = '10 minutes ago'; + } }); } },