mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
snapshot annotation
This commit is contained in:
parent
a9aaa5ad73
commit
012d1378d4
@ -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(options) {
|
||||
if (dashboard.snapshot) {
|
||||
annotation.snapshotData = angular.copy(options);
|
||||
}
|
||||
})
|
||||
.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,14 @@ function (angular, _) {
|
||||
panel.links = [];
|
||||
panel.datasource = null;
|
||||
});
|
||||
// remove annotations
|
||||
dash.annotations.list = [];
|
||||
// remove annotation queries
|
||||
dash.annotations.list = _.map(dash.annotations.list, function(annotation) {
|
||||
return {
|
||||
name: annotation.name,
|
||||
enable: annotation.enable,
|
||||
snapshotData: annotation.snapshotData
|
||||
};
|
||||
});
|
||||
// remove template queries
|
||||
_.each(dash.templating.list, function(variable) {
|
||||
variable.query = "";
|
||||
@ -122,6 +128,9 @@ function (angular, _) {
|
||||
$scope.dashboard.forEachPanel(function(panel) {
|
||||
delete panel.snapshotData;
|
||||
});
|
||||
_.each($scope.dashboard.annotations.list, function(annotation) {
|
||||
delete annotation.snapshotData;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.deleteSnapshot = function() {
|
||||
|
@ -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);
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user