diff --git a/CHANGELOG.md b/CHANGELOG.md index b7d233c8237..69835953dc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - [Issue #795](https://github.com/grafana/grafana/issues/795). Chrome: Fix for display issue in chrome beta & chrome canary when entering edit mode - [Issue #818](https://github.com/grafana/grafana/issues/818). Graph: Added percent y-axis format - [Issue #828](https://github.com/grafana/grafana/issues/828). Elasticsearch: saving new dashboard with title equal to slugified url would cause it to deleted. +- [Issue #830](https://github.com/grafana/grafana/issues/830). Annotations: Fix for elasticsearch annotations and mapping nested fields # 1.8.0-RC1 (2014-09-12) diff --git a/src/app/directives/dashEditLink.js b/src/app/directives/dashEditLink.js index fbdfc4fa5cc..599cf341fe5 100644 --- a/src/app/directives/dashEditLink.js +++ b/src/app/directives/dashEditLink.js @@ -51,9 +51,12 @@ function (angular, $) { scope.onAppEvent('hide-dash-editor', hideEditorPane); scope.onAppEvent('show-dash-editor', function(evt, payload) { - hideEditorPane(); + if (lastEditor === payload.src) { + hideEditorPane(); + return; + } - if (lastEditor === payload.src) { return; } + hideEditorPane(); scope.exitFullscreen(); diff --git a/src/app/directives/grafanaGraph.js b/src/app/directives/grafanaGraph.js index ee6b0fb7dd7..15f1556aa62 100755 --- a/src/app/directives/grafanaGraph.js +++ b/src/app/directives/grafanaGraph.js @@ -110,11 +110,6 @@ function (angular, $, kbn, moment, _) { // Populate element var options = { - hooks: { - drawSeries: [function() { - console.log('drawSeries', arguments); - }] - }, legend: { show: false }, series: { stackpercent: panel.stack ? panel.percentage : false, diff --git a/src/app/panels/graph/legend.html b/src/app/panels/graph/legend.html index 0e5edc459ce..31458060803 100755 --- a/src/app/panels/graph/legend.html +++ b/src/app/panels/graph/legend.html @@ -5,7 +5,7 @@ ng-class="{'pull-right': series.yaxis === 2, 'graph-legend-series-hidden': hiddenSeries[series.alias]}" >
- +
diff --git a/src/app/services/annotationsSrv.js b/src/app/services/annotationsSrv.js index c1733189462..04fb4224cc6 100644 --- a/src/app/services/annotationsSrv.js +++ b/src/app/services/annotationsSrv.js @@ -57,7 +57,8 @@ define([ function errorHandler(err) { console.log('Annotation error: ', err); - alertSrv.set('Annotations','Could not fetch annotations','error'); + var message = err.message || "Aannotation query failed"; + alertSrv.set('Annotations error', message,'error'); } function addAnnotation(options) { diff --git a/src/app/services/elasticsearch/es-datasource.js b/src/app/services/elasticsearch/es-datasource.js index ab03c614a83..04d1e62ce04 100644 --- a/src/app/services/elasticsearch/es-datasource.js +++ b/src/app/services/elasticsearch/es-datasource.js @@ -86,6 +86,22 @@ function (angular, _, config, kbn, moment) { var list = []; var hits = results.data.hits.hits; + var getFieldFromSource = function(source, fieldName) { + if (!fieldName) { return; } + + var fieldNames = fieldName.split('.'); + var fieldValue = source; + + for (var i = 0; i < fieldNames.length; i++) { + fieldValue = fieldValue[fieldNames[i]]; + } + + if (_.isArray(fieldValue)) { + fieldValue = fieldValue.join(', '); + } + return fieldValue; + }; + for (var i = 0; i < hits.length; i++) { var source = hits[i]._source; var fields = hits[i].fields; @@ -98,21 +114,11 @@ function (angular, _, config, kbn, moment) { var event = { annotation: annotation, time: moment.utc(time).valueOf(), - title: source[titleField], + title: getFieldFromSource(source, titleField), + tags: getFieldFromSource(source, tagsField), + text: getFieldFromSource(source, textField) }; - if (source[tagsField]) { - if (_.isArray(source[tagsField])) { - event.tags = source[tagsField].join(', '); - } - else { - event.tags = source[tagsField]; - } - } - if (textField && source[textField]) { - event.text = source[textField]; - } - list.push(event); } return list; diff --git a/src/config.sample.js b/src/config.sample.js index 6046a753d5a..740c0d4b8c9 100644 --- a/src/config.sample.js +++ b/src/config.sample.js @@ -1,8 +1,7 @@ -///// @scratch /configuration/config.js/1 - // == Configuration - // config.js is where you will find the core Grafana configuration. This file contains parameter that - // must be set before Grafana is run for the first time. - /// +// == Configuration +// config.js is where you will find the core Grafana configuration. This file contains parameter that +// must be set before Grafana is run for the first time. + define(['settings'], function (Settings) { "use strict"; @@ -97,7 +96,7 @@ function (Settings) { // Change window title prefix from 'Grafana - ' window_title_prefix: 'Grafana - ', - // Add your own custom pannels + // Add your own custom panels plugins: { // list of plugin panels panels: [], diff --git a/src/css/less/grafana.less b/src/css/less/grafana.less index 08608cb0e46..86bb7c2cdb8 100644 --- a/src/css/less/grafana.less +++ b/src/css/less/grafana.less @@ -436,6 +436,9 @@ select.grafana-target-segment-input { background-color: rgb(58, 57, 57); border-radius: 5px; z-index: 9999; + max-width: 800px; + max-height: 600px; + overflow: hidden; } .tooltip.in { diff --git a/src/css/less/variables.dark.less b/src/css/less/variables.dark.less index 608dfb609b0..c65a6f99179 100644 --- a/src/css/less/variables.dark.less +++ b/src/css/less/variables.dark.less @@ -257,7 +257,7 @@ // Form states and alerts // ------------------------- @warningText: darken(#c09853, 10%); -@warningBackground: @grayLighter; +@warningBackground: @orange; @warningBorder: transparent; @errorText: #b94a48;