Torkel Ödegaard 11 лет назад
Родитель
Сommit
631c7adf12
2 измененных файлов с 25 добавлено и 4 удалено
  1. 0 0
      src/app/partials/pro/solo-panel.html
  2. 25 4
      src/app/routes/p_solo-panel.js

+ 0 - 0
src/app/partials/solo-panel.html → src/app/partials/pro/solo-panel.html


+ 25 - 4
src/app/routes/p_solo-panel.js

@@ -1,15 +1,16 @@
 define([
   'angular',
+  'lodash',
 ],
-function (angular) {
+function (angular, _) {
   "use strict";
 
   var module = angular.module('grafana.routes');
 
   module.config(function($routeProvider) {
     $routeProvider
-      .when('/solo-panel/db/:id', {
-        templateUrl: 'app/partials/solo-panel.html',
+      .when('/dashboard/:id/panel/:panelId', {
+        templateUrl: 'app/partials/pro/solo-panel.html',
         controller : 'SoloPanelCtrl',
       });
   });
@@ -17,6 +18,7 @@ function (angular) {
   module.controller('SoloPanelCtrl', function($scope, $rootScope, datasourceSrv, $routeParams, alertSrv, dashboardSrv, filterSrv) {
 
     var db = datasourceSrv.getGrafanaDB();
+    var panelId = parseInt($routeParams.panelId);
 
     db.getDashboard($routeParams.id, false)
       .then(function(dashboardData) {
@@ -33,13 +35,32 @@ function (angular) {
       };
       $scope.test = "Hej";
       $scope.$index = 0;
-      $scope.panel = $scope.dashboard.rows[0].panels[0];
+      $scope.panel = $scope.getPanelById(panelId);
+
       $scope.panel.span = 12;
+      $scope.dashboardViewState = {
+        registerPanel: function() {
+        }
+      };
 
       $scope.filter = filterSrv;
       $scope.filter.init($scope.dashboard);
     };
 
+    $scope.getPanelById = function(id) {
+      var rows = $scope.dashboard.rows;
+      for (var i = 0; i < rows.length; i++) {
+        var row = rows[i];
+        for (var j = 0; j < row.panels.length; j++) {
+          var panel = row.panels[j];
+          if (panel.id === id) {
+            return panel;
+          }
+        }
+      }
+      return null;
+    };
+
   });
 
 });