Просмотр исходного кода

Merge branch '1.7.x'

Conflicts:
	src/css/bootstrap.dark.min.css
	src/css/bootstrap.light.min.css
	src/css/default.min.css
Torkel Ödegaard 11 лет назад
Родитель
Сommit
3d9a4dcbf3

+ 3 - 0
CHANGELOG.md

@@ -8,6 +8,9 @@
 - [Issue #661](https://github.com/grafana/grafana/issues/661). Annotations: Elasticsearch querystring with filter template replacements was not interpolated
 - [Issue #660](https://github.com/grafana/grafana/issues/660). OpenTSDB: fix opentsdb queries that returned more than one series
 
+**Change**
+- [Issue #681](https://github.com/grafana/grafana/issues/681). Dashboard: The panel error bar has been replaced with a small error indicator, this indicator does not change panel height and is a lot less intrusive. Hover over it for short details, click on it for more details.
+
 # 1.7.0-rc1 (2014-08-05)
 
 **New features or improvements**

+ 3 - 3
latest.json

@@ -1,4 +1,4 @@
 {
-	"version": "1.7.0-rc1",
-	"url": "http://grafanarel.s3.amazonaws.com/grafana-1.7.0-rc1.tar.gz"
-}
+	"version": "1.7.0",
+	"url": "http://grafanarel.s3.amazonaws.com/grafana-1.7.0"
+}

+ 1 - 1
package.json

@@ -4,7 +4,7 @@
     "company": "Coding Instinct AB"
   },
   "name": "grafana",
-  "version": "1.7.0-rc1",
+  "version": "1.7.0",
   "repository": {
     "type": "git",
     "url": "http://github.com/torkelo/grafana.git"

+ 14 - 3
src/app/controllers/inspectCtrl.js

@@ -1,7 +1,8 @@
 define([
-  'angular'
+  'angular',
+  'lodash'
 ],
-function (angular) {
+function (angular, _) {
   'use strict';
 
   var module = angular.module('grafana.controllers');
@@ -28,6 +29,16 @@ function (angular) {
         return;
       }
 
+      if (_.isString(model.error.data)) {
+        $scope.response = model.error.data;
+      }
+
+      if (model.error.config && model.error.config.params) {
+        $scope.request_parameters = _.map(model.error.config.params, function(value, key) {
+          return { key: key, value: value};
+        });
+      }
+
       if (model.error.stack) {
         $scope.editor.index = 2;
         $scope.stack_trace = model.error.stack;
@@ -72,4 +83,4 @@ function (angular) {
       };
     });
 
-});
+});

+ 5 - 9
src/app/directives/grafanaPanel.js

@@ -15,16 +15,12 @@ function (angular, $) {
 
       var panelHeader =
       '<div class="panel-header">'+
-        '<div class="row-fluid">' +
-          '<div class="span12 alert-error panel-error small" ng-show="panel.error">' +
-            '<a class="close" ng-click="panel.error=false">&times;</a>' +
-            '<span><i class="icon-exclamation-sign"></i> <strong>Oops!</strong> {{panel.error}} </span>' +
-            '<span class="pointer panel-error-inspector-link" config-modal="app/partials/inspector.html">View details</span>' +
-          '</div>' +
-        '</div>\n' +
-
-        '<div class="row-fluid panel-extra">' +
+       '<div class="row-fluid panel-extra">' +
           '<div class="panel-extra-container">' +
+            '<span class="alert-error panel-error small pointer"' +
+                  'config-modal="app/partials/inspector.html" ng-show="panel.error" bs-tooltip="panel.error">' +
+              '<i class="icon-exclamation-sign"></i><span class="panel-error-arrow"></span>' +
+            '</span>' +
 
             '<span class="panel-loading" ng-show="panelMeta.loading == true">' +
               '<i class="icon-spinner icon-spin icon-large"></i>' +

+ 2 - 1
src/app/partials/inspector.html

@@ -41,6 +41,7 @@
   </div>
 
   <div ng-if="editor.index == 1">
+		<h5 ng-if="response" ng-bind="response"></h5>
 
     <div ng-if="response_html">
       <div iframe-content="response_html"></div>
@@ -65,4 +66,4 @@
 </div>
 <div class="modal-footer">
   <button type="button" class="btn btn-info" ng-click="dismiss()">Close</button>
-</div>
+</div>

+ 3 - 2
src/app/services/influxdb/influxdbDatasource.js

@@ -132,8 +132,8 @@ function (angular, _, kbn, InfluxSeries) {
         return new InfluxSeries({ seriesList: results, annotation: annotation }).getAnnotations();
       });
     };
-
     InfluxDatasource.prototype.listColumns = function(seriesName) {
+
       return this._seriesQuery('select * from /' + seriesName + '/ limit 1').then(function(data) {
         if (!data) {
           return [];
@@ -184,6 +184,7 @@ function (angular, _, kbn, InfluxSeries) {
     function retry(deferred, callback, delay) {
       return callback().then(undefined, function(reason) {
         if (reason.status !== 0 || reason.status >= 300) {
+          reason.message = 'InfluxDB Error: <br/>' + reason.data;
           deferred.reject(reason);
         }
         else {
@@ -227,7 +228,7 @@ function (angular, _, kbn, InfluxSeries) {
           inspect: { type: 'influxdb' },
         };
 
-        return $http(options).success(function (data) {
+        return $http(options).then(function (data) {
           deferred.resolve(data);
         });
       }, 10);

Разница между файлами не показана из-за своего большого размера
+ 8 - 0
src/css/bootstrap.dark.min.css


Разница между файлами не показана из-за своего большого размера
+ 8 - 0
src/css/bootstrap.light.min.css


+ 0 - 21
src/css/less/bootswatch.light.less

@@ -12,22 +12,6 @@ body {
 	//url('../img/light.png') repeat right top;
 }
 
-h1 {
-	font-size: 50px;
-}
-
-h2, h3 {
-	font-size: 26px;
-}
-
-h4 {
-	font-size: 14px;
-}
-
-h5, h6 {
-	font-size: 11px;
-}
-
 blockquote {
 
 	padding: 10px 15px;
@@ -527,11 +511,6 @@ a:hover {
 	.box-shadow(none);
 }
 
-[class^="icon-"], [class*=" icon-"] {
-	margin: 0 2px;
-	vertical-align: -2px;
-}
-
 a.thumbnail {
 	background-color: @grayLight;
 

+ 8 - 0
src/css/less/grafana.less

@@ -495,3 +495,11 @@ select.grafana-target-segment-input {
   border-radius: 5px;
   z-index: 9999;
 }
+
+.tooltip.in {
+  .opacity(100);
+}
+.tooltip-inner {
+  max-width: 400px;
+}
+

+ 19 - 7
src/css/less/overrides.less

@@ -112,15 +112,27 @@ code, pre {
 
 .panel-error {
   color: @white;
-  padding: 5px 10px 0px 10px;
+  //padding: 5px 10px 0px 10px;
+  position: absolute;
+  left: 5px;
+  padding: 0px 17px 6px 5px;
+  top: 0;
+  i {
+    position: relative;
+    top: -2px;
+  }
 }
-
-.panel-error-inspector-link {
-  float: right;
-  margin-right: 10px;
+.panel-error-arrow {
+  width: 0;
+  height: 0;
+  position: absolute;
+  border-left: 31px solid transparent;
+  border-right: 30px solid transparent;
+  border-bottom: 27px solid @grafanaPanelBackground;
+  left: 0;
+  bottom: 0;
 }
 
-
 div.editor-row {
   vertical-align: top;
 }
@@ -614,4 +626,4 @@ div.flot-text {
 code, pre {
   background-color: @grafanaPanelBackground;
   color: @textColor;
-}
+}

+ 1 - 1
src/css/less/variables.dark.less

@@ -19,7 +19,7 @@
 @blue:                  #33B5E5;
 @blueDark:              #0099CC;
 @green:                 #669900;
-@red:                   #CC0000;
+@red:                   #CC3900;
 @yellow:                #ECBB13;
 @orange:                #FF8800;
 @pink:                  #FF4444;

+ 3 - 2
src/vendor/angular/angular-strap.js

@@ -797,7 +797,8 @@ angular.module('$strap.directives').directive('bsTooltip', [
           title: function () {
             return angular.isFunction(value) ? value.apply(null, arguments) : value;
           },
-          html: true
+          html: true,
+          container: 'body', // Grafana change
         });
         var tooltip = element.data('tooltip');
         tooltip.show = function () {
@@ -875,4 +876,4 @@ angular.module('$strap.directives').directive('bsTypeahead', [
       }
     };
   }
-]);
+]);

Некоторые файлы не были показаны из-за большого количества измененных файлов