Browse Source

added default default support

Torkel Ödegaard 11 years ago
parent
commit
aa47eeffb2
1 changed files with 21 additions and 3 deletions
  1. 21 3
      src/app/routes/p_dashboard.js

+ 21 - 3
src/app/routes/p_dashboard.js

@@ -1,7 +1,8 @@
 define([
 define([
   'angular',
   'angular',
+  'store',
 ],
 ],
-function (angular) {
+function (angular, store) {
   "use strict";
   "use strict";
 
 
   var module = angular.module('grafana.routes');
   var module = angular.module('grafana.routes');
@@ -25,12 +26,29 @@ function (angular) {
       });
       });
   });
   });
 
 
-  module.controller('DashFromDBProvider', function($scope, $rootScope, datasourceSrv, $routeParams, alertSrv) {
+  module.controller('DashFromDBProvider', function(
+        $scope, $rootScope, datasourceSrv, $routeParams,
+        alertSrv, $http, $location) {
 
 
     var db = datasourceSrv.getGrafanaDB();
     var db = datasourceSrv.getGrafanaDB();
     var isTemp = window.location.href.indexOf('dashboard/temp') !== -1;
     var isTemp = window.location.href.indexOf('dashboard/temp') !== -1;
+
     if (!$routeParams.id) {
     if (!$routeParams.id) {
-      $routeParams.id = 'default';
+      var savedRoute = store.get('grafanaDashboardDefault');
+
+      if (!savedRoute) {
+        $http.get("app/dashboards/default.json?" + new Date().getTime()).then(function(result) {
+          var dashboard = angular.fromJson(result.data);
+          $scope.emitAppEvent('setup-dashboard', dashboard);
+        },function() {
+          alertSrv.set('Error',"Could not load default dashboard", 'error');
+        });
+        return;
+      }
+      else {
+        $location.path(savedRoute);
+        return;
+      }
     }
     }
 
 
     db.getDashboard($routeParams.id, isTemp)
     db.getDashboard($routeParams.id, isTemp)