grafana 266 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. commit aa47eeffb2da4cdc8be8f5b1bb5233eeabcd5a03
  2. Author: Torkel Ödegaard <torkel.odegaard@gmail.com>
  3. Date: Thu Sep 18 10:16:25 2014 +0200
  4. added default default support
  5. diff --git a/src/app/routes/p_dashboard.js b/src/app/routes/p_dashboard.js
  6. index 8c4b8d438..de289de7e 100644
  7. --- a/src/app/routes/p_dashboard.js
  8. +++ b/src/app/routes/p_dashboard.js
  9. @@ -1,7 +1,8 @@
  10. define([
  11. 'angular',
  12. + 'store',
  13. ],
  14. -function (angular) {
  15. +function (angular, store) {
  16. "use strict";
  17. var module = angular.module('grafana.routes');
  18. @@ -25,12 +26,29 @@ function (angular) {
  19. });
  20. });
  21. - module.controller('DashFromDBProvider', function($scope, $rootScope, datasourceSrv, $routeParams, alertSrv) {
  22. + module.controller('DashFromDBProvider', function(
  23. + $scope, $rootScope, datasourceSrv, $routeParams,
  24. + alertSrv, $http, $location) {
  25. var db = datasourceSrv.getGrafanaDB();
  26. var isTemp = window.location.href.indexOf('dashboard/temp') !== -1;
  27. +
  28. if (!$routeParams.id) {
  29. - $routeParams.id = 'default';
  30. + var savedRoute = store.get('grafanaDashboardDefault');
  31. +
  32. + if (!savedRoute) {
  33. + $http.get("app/dashboards/default.json?" + new Date().getTime()).then(function(result) {
  34. + var dashboard = angular.fromJson(result.data);
  35. + $scope.emitAppEvent('setup-dashboard', dashboard);
  36. + },function() {
  37. + alertSrv.set('Error',"Could not load default dashboard", 'error');
  38. + });
  39. + return;
  40. + }
  41. + else {
  42. + $location.path(savedRoute);
  43. + return;
  44. + }
  45. }
  46. db.getDashboard($routeParams.id, isTemp)