Commit ae6cae07 by Torkel Ödegaard

Merge branch 'master' of github.com:grafana/grafana

parents 2b99b64e 16cd2728
# 3.0.0 (unrelased master branch)
### Breaking changes
**InfluxDB 0.8.x** The data source for the old version of influxdb (0.8.x) is no longer included in default builds. Can easily be installed via improved plugin system, closes #3523
**KairosDB** The data source is no longer included in default builds. Can easily be installed via improved plugin system, closes #3524
......@@ -8,6 +7,7 @@
### Enhancements ###
* **Sessions**: Support for memcached as session storage, closes [#3458](https://github.com/grafana/grafana/pull/3458)
* **mysql**: Grafana now supports ssl for mysql, closes [#3584](https://github.com/grafana/grafana/pull/3584)
* **snapshot**: Annotations are now included in snapshots, closes [#3635](https://github.com/grafana/grafana/pull/3635)
# 2.6.1 (unrelased, 2.6.x branch)
......
......@@ -47,6 +47,7 @@
"karma-phantomjs-launcher": "0.2.1",
"load-grunt-tasks": "3.4.0",
"mocha": "2.3.4",
"phantomjs": "^1.9.19",
"reflect-metadata": "0.1.2",
"rxjs": "5.0.0-beta.0",
"systemjs": "0.19.6",
......
......@@ -38,10 +38,19 @@ define([
var rangeRaw = timeSrv.timeRange(false);
var promises = _.map(annotations, function(annotation) {
if (annotation.snapshotData) {
self.receiveAnnotationResults(annotation.snapshotData);
return;
}
return datasourceSrv.get(annotation.datasource).then(function(datasource) {
var query = {range: range, rangeRaw: rangeRaw, annotation: annotation};
return datasource.annotationQuery(query)
.then(self.receiveAnnotationResults)
.then(function(results) {
if (dashboard.snapshot) {
annotation.snapshotData = angular.copy(results);
}
})
.then(null, errorHandler);
}, this);
});
......@@ -58,6 +67,8 @@ define([
for (var i = 0; i < results.length; i++) {
self.addAnnotation(results[i]);
}
return results;
};
this.addAnnotation = function(options) {
......
......@@ -101,8 +101,18 @@ function (angular, _) {
panel.links = [];
panel.datasource = null;
});
// remove annotations
dash.annotations.list = [];
// remove annotation queries
dash.annotations.list = _.chain(dash.annotations.list)
.filter(function(annotation) {
return annotation.enable;
})
.map(function(annotation) {
return {
name: annotation.name,
enable: annotation.enable,
snapshotData: annotation.snapshotData
};
}).value();
// remove template queries
_.each(dash.templating.list, function(variable) {
variable.query = "";
......@@ -122,6 +132,9 @@ function (angular, _) {
$scope.dashboard.forEachPanel(function(panel) {
delete panel.snapshotData;
});
_.each($scope.dashboard.annotations.list, function(annotation) {
delete annotation.snapshotData;
});
};
$scope.deleteSnapshot = function() {
......
......@@ -11,7 +11,7 @@ function (_, moment) {
}
IndexPattern.intervalMap = {
"Hours": { startOf: 'hour', amount: 'hours'},
"Hourly": { startOf: 'hour', amount: 'hours'},
"Daily": { startOf: 'day', amount: 'days'},
"Weekly": { startOf: 'isoWeek', amount: 'weeks'},
"Monthly": { startOf: 'month', amount: 'months'},
......
......@@ -21,7 +21,7 @@ function (angular, _, moment, kbn, TimeSeries, PanelMeta) {
};
});
module.controller('GraphCtrl', function($scope, $rootScope, panelSrv, annotationsSrv, panelHelper, $q) {
module.controller('GraphCtrl', function($scope, $rootScope, panelSrv, annotationsSrv, panelHelper) {
$scope.panelMeta = new PanelMeta({
panelName: 'Graph',
......@@ -144,7 +144,7 @@ function (angular, _, moment, kbn, TimeSeries, PanelMeta) {
$scope.loadSnapshot = function(snapshotData) {
panelHelper.updateTimeRange($scope);
$scope.annotationsPromise = $q.when([]);
$scope.annotationsPromise = annotationsSrv.getAnnotations($scope.dashboard);
$scope.dataHandler(snapshotData);
};
......
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