Browse Source

Worked on relative time and timeshift overrides for singlestat, still an issue for how to visualize the time override

Torkel Ödegaard 11 years ago
parent
commit
57b5b4c376

+ 12 - 6
src/app/features/panel/panelSrv.js

@@ -8,7 +8,7 @@ function (angular, _, config) {
 
 
   var module = angular.module('grafana.services');
   var module = angular.module('grafana.services');
 
 
-  module.service('panelSrv', function($rootScope, $timeout, datasourceSrv) {
+  module.service('panelSrv', function($rootScope, $timeout, datasourceSrv, $q) {
 
 
     this.init = function($scope) {
     this.init = function($scope) {
       if (!$scope.panel.span) { $scope.panel.span = 12; }
       if (!$scope.panel.span) { $scope.panel.span = 12; }
@@ -88,21 +88,27 @@ function (angular, _, config) {
         return $scope.dashboardViewState.fullscreen && !$scope.fullscreen;
         return $scope.dashboardViewState.fullscreen && !$scope.fullscreen;
       };
       };
 
 
+      $scope.getCurrentDatasource = function() {
+       if ($scope.datasource) {
+          return $q.when($scope.datasource);
+        }
+
+        return datasourceSrv.get($scope.panel.datasource);
+      };
+
       $scope.get_data = function() {
       $scope.get_data = function() {
         if ($scope.otherPanelInFullscreenMode()) { return; }
         if ($scope.otherPanelInFullscreenMode()) { return; }
 
 
         delete $scope.panelMeta.error;
         delete $scope.panelMeta.error;
         $scope.panelMeta.loading = true;
         $scope.panelMeta.loading = true;
 
 
-        if ($scope.datasource) {
-          return $scope.refreshData($scope.datasource);
-        }
-
-        datasourceSrv.get($scope.panel.datasource).then(function(datasource) {
+        $scope.getCurrentDatasource().then(function(datasource) {
           $scope.datasource = datasource;
           $scope.datasource = datasource;
+
           return $scope.refreshData($scope.datasource).then(function() {
           return $scope.refreshData($scope.datasource).then(function() {
             $scope.panelMeta.loading = false;
             $scope.panelMeta.loading = false;
           });
           });
+
         }, function(err) {
         }, function(err) {
           console.log('Panel data error:', err);
           console.log('Panel data error:', err);
           $scope.panelMeta.loading = false;
           $scope.panelMeta.loading = false;

+ 2 - 2
src/app/panels/singlestat/editor.html

@@ -37,7 +37,7 @@
 					Prefix
 					Prefix
 				</li>
 				</li>
 				<li>
 				<li>
-					<select class="input-small tight-form-input" style="width: 99px;" ng-model="panel.prefixFontSize" ng-options="f for f in fontSizes" ng-change="render()"></select>
+					<select class="input-small tight-form-input" ng-model="panel.prefixFontSize" ng-options="f for f in fontSizes" ng-change="render()"></select>
 				</li>
 				</li>
 				<li class="tight-form-item">
 				<li class="tight-form-item">
 					Value
 					Value
@@ -49,7 +49,7 @@
 					Postfix
 					Postfix
 				</li>
 				</li>
 				<li>
 				<li>
-					<select class="input-small tight-form-input last" style="width: 99px" ng-model="panel.postfixFontSize" ng-options="f for f in fontSizes" ng-change="render()"></select>
+					<select class="input-small tight-form-input last" ng-model="panel.postfixFontSize" ng-options="f for f in fontSizes" ng-change="render()"></select>
 				</li>
 				</li>
 			</ul>
 			</ul>
 			<div class="clearfix"></div>
 			<div class="clearfix"></div>

+ 1 - 1
src/app/panels/singlestat/module.html

@@ -1,4 +1,4 @@
 <grafana-panel>
 <grafana-panel>
 	<div class="singlestat-panel" singlestat-panel></div>
 	<div class="singlestat-panel" singlestat-panel></div>
-  <div class="clearfix"></div>
+	<div class="clearfix"></div>
 </grafana-panel>
 </grafana-panel>

+ 0 - 1
src/app/panels/singlestat/module.js

@@ -88,7 +88,6 @@ function (angular, app, _, TimeSeries, kbn, PanelMeta) {
     };
     };
 
 
     $scope.dataHandler = function(results) {
     $scope.dataHandler = function(results) {
-      $scope.panelMeta.loading = false;
       $scope.series = _.map(results.data, $scope.seriesHandler);
       $scope.series = _.map(results.data, $scope.seriesHandler);
       $scope.render();
       $scope.render();
     };
     };