Commit 3d9a4dcb by Torkel Ödegaard

Merge branch '1.7.x'

Conflicts:
	src/css/bootstrap.dark.min.css
	src/css/bootstrap.light.min.css
	src/css/default.min.css
parents aa03de8e 577efbf0
...@@ -8,6 +8,9 @@ ...@@ -8,6 +8,9 @@
- [Issue #661](https://github.com/grafana/grafana/issues/661). Annotations: Elasticsearch querystring with filter template replacements was not interpolated - [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 - [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) # 1.7.0-rc1 (2014-08-05)
**New features or improvements** **New features or improvements**
......
{ {
"version": "1.7.0-rc1", "version": "1.7.0",
"url": "http://grafanarel.s3.amazonaws.com/grafana-1.7.0-rc1.tar.gz" "url": "http://grafanarel.s3.amazonaws.com/grafana-1.7.0"
} }
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
"company": "Coding Instinct AB" "company": "Coding Instinct AB"
}, },
"name": "grafana", "name": "grafana",
"version": "1.7.0-rc1", "version": "1.7.0",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "http://github.com/torkelo/grafana.git" "url": "http://github.com/torkelo/grafana.git"
......
define([ define([
'angular' 'angular',
'lodash'
], ],
function (angular) { function (angular, _) {
'use strict'; 'use strict';
var module = angular.module('grafana.controllers'); var module = angular.module('grafana.controllers');
...@@ -28,6 +29,16 @@ function (angular) { ...@@ -28,6 +29,16 @@ function (angular) {
return; 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) { if (model.error.stack) {
$scope.editor.index = 2; $scope.editor.index = 2;
$scope.stack_trace = model.error.stack; $scope.stack_trace = model.error.stack;
...@@ -72,4 +83,4 @@ function (angular) { ...@@ -72,4 +83,4 @@ function (angular) {
}; };
}); });
}); });
\ No newline at end of file
...@@ -15,16 +15,12 @@ function (angular, $) { ...@@ -15,16 +15,12 @@ function (angular, $) {
var panelHeader = var panelHeader =
'<div class="panel-header">'+ '<div class="panel-header">'+
'<div class="row-fluid">' + '<div class="row-fluid panel-extra">' +
'<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="panel-extra-container">' + '<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">' + '<span class="panel-loading" ng-show="panelMeta.loading == true">' +
'<i class="icon-spinner icon-spin icon-large"></i>' + '<i class="icon-spinner icon-spin icon-large"></i>' +
......
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
</div> </div>
<div ng-if="editor.index == 1"> <div ng-if="editor.index == 1">
<h5 ng-if="response" ng-bind="response"></h5>
<div ng-if="response_html"> <div ng-if="response_html">
<div iframe-content="response_html"></div> <div iframe-content="response_html"></div>
...@@ -65,4 +66,4 @@ ...@@ -65,4 +66,4 @@
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-info" ng-click="dismiss()">Close</button> <button type="button" class="btn btn-info" ng-click="dismiss()">Close</button>
</div> </div>
\ No newline at end of file
...@@ -132,8 +132,8 @@ function (angular, _, kbn, InfluxSeries) { ...@@ -132,8 +132,8 @@ function (angular, _, kbn, InfluxSeries) {
return new InfluxSeries({ seriesList: results, annotation: annotation }).getAnnotations(); return new InfluxSeries({ seriesList: results, annotation: annotation }).getAnnotations();
}); });
}; };
InfluxDatasource.prototype.listColumns = function(seriesName) { InfluxDatasource.prototype.listColumns = function(seriesName) {
return this._seriesQuery('select * from /' + seriesName + '/ limit 1').then(function(data) { return this._seriesQuery('select * from /' + seriesName + '/ limit 1').then(function(data) {
if (!data) { if (!data) {
return []; return [];
...@@ -184,6 +184,7 @@ function (angular, _, kbn, InfluxSeries) { ...@@ -184,6 +184,7 @@ function (angular, _, kbn, InfluxSeries) {
function retry(deferred, callback, delay) { function retry(deferred, callback, delay) {
return callback().then(undefined, function(reason) { return callback().then(undefined, function(reason) {
if (reason.status !== 0 || reason.status >= 300) { if (reason.status !== 0 || reason.status >= 300) {
reason.message = 'InfluxDB Error: <br/>' + reason.data;
deferred.reject(reason); deferred.reject(reason);
} }
else { else {
...@@ -227,7 +228,7 @@ function (angular, _, kbn, InfluxSeries) { ...@@ -227,7 +228,7 @@ function (angular, _, kbn, InfluxSeries) {
inspect: { type: 'influxdb' }, inspect: { type: 'influxdb' },
}; };
return $http(options).success(function (data) { return $http(options).then(function (data) {
deferred.resolve(data); deferred.resolve(data);
}); });
}, 10); }, 10);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -12,22 +12,6 @@ body { ...@@ -12,22 +12,6 @@ body {
//url('../img/light.png') repeat right top; //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 { blockquote {
padding: 10px 15px; padding: 10px 15px;
...@@ -527,11 +511,6 @@ a:hover { ...@@ -527,11 +511,6 @@ a:hover {
.box-shadow(none); .box-shadow(none);
} }
[class^="icon-"], [class*=" icon-"] {
margin: 0 2px;
vertical-align: -2px;
}
a.thumbnail { a.thumbnail {
background-color: @grayLight; background-color: @grayLight;
......
...@@ -495,3 +495,11 @@ select.grafana-target-segment-input { ...@@ -495,3 +495,11 @@ select.grafana-target-segment-input {
border-radius: 5px; border-radius: 5px;
z-index: 9999; z-index: 9999;
} }
.tooltip.in {
.opacity(100);
}
.tooltip-inner {
max-width: 400px;
}
...@@ -112,15 +112,27 @@ code, pre { ...@@ -112,15 +112,27 @@ code, pre {
.panel-error { .panel-error {
color: @white; 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-arrow {
.panel-error-inspector-link { width: 0;
float: right; height: 0;
margin-right: 10px; position: absolute;
border-left: 31px solid transparent;
border-right: 30px solid transparent;
border-bottom: 27px solid @grafanaPanelBackground;
left: 0;
bottom: 0;
} }
div.editor-row { div.editor-row {
vertical-align: top; vertical-align: top;
} }
...@@ -614,4 +626,4 @@ div.flot-text { ...@@ -614,4 +626,4 @@ div.flot-text {
code, pre { code, pre {
background-color: @grafanaPanelBackground; background-color: @grafanaPanelBackground;
color: @textColor; color: @textColor;
} }
\ No newline at end of file
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
@blue: #33B5E5; @blue: #33B5E5;
@blueDark: #0099CC; @blueDark: #0099CC;
@green: #669900; @green: #669900;
@red: #CC0000; @red: #CC3900;
@yellow: #ECBB13; @yellow: #ECBB13;
@orange: #FF8800; @orange: #FF8800;
@pink: #FF4444; @pink: #FF4444;
......
...@@ -797,7 +797,8 @@ angular.module('$strap.directives').directive('bsTooltip', [ ...@@ -797,7 +797,8 @@ angular.module('$strap.directives').directive('bsTooltip', [
title: function () { title: function () {
return angular.isFunction(value) ? value.apply(null, arguments) : value; return angular.isFunction(value) ? value.apply(null, arguments) : value;
}, },
html: true html: true,
container: 'body', // Grafana change
}); });
var tooltip = element.data('tooltip'); var tooltip = element.data('tooltip');
tooltip.show = function () { tooltip.show = function () {
...@@ -875,4 +876,4 @@ angular.module('$strap.directives').directive('bsTypeahead', [ ...@@ -875,4 +876,4 @@ angular.module('$strap.directives').directive('bsTypeahead', [
} }
}; };
} }
]); ]);
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment