diff --git a/public/app/features/annotations/annotations_srv.ts b/public/app/features/annotations/annotations_srv.ts index 9fb69b535c5..6ba70ea92f8 100644 --- a/public/app/features/annotations/annotations_srv.ts +++ b/public/app/features/annotations/annotations_srv.ts @@ -133,10 +133,8 @@ export class AnnotationsSrv { return this.globalAnnotationsPromise; } - postAnnotation(annotations) { - return Promise.all(_.map(annotations, annotation => { - return this.backendSrv.post('/api/annotations', annotation); - })); + postAnnotation(annotation) { + return this.backendSrv.post('/api/annotations', annotation); } translateQueryResult(annotation, results) { diff --git a/public/app/features/dashboard/addAnnotationModalCtrl.ts b/public/app/features/dashboard/addAnnotationModalCtrl.ts index 789d24bdbee..00fa9d8887b 100644 --- a/public/app/features/dashboard/addAnnotationModalCtrl.ts +++ b/public/app/features/dashboard/addAnnotationModalCtrl.ts @@ -10,6 +10,7 @@ export class AddAnnotationModalCtrl { annotationTitle: string; annotationTextFrom: string; annotationTextTo: string; + annotation: any; graphCtrl: any; /** @ngInject */ @@ -17,39 +18,30 @@ export class AddAnnotationModalCtrl { this.graphCtrl = $scope.ctrl; $scope.ctrl = this; - this.annotationTimeFrom = moment($scope.annotationTimeRange.from).format(this.annotationTimeFormat); + let dashboardId = this.graphCtrl.dashboard.id; + let panelId = this.graphCtrl.panel.id; + this.annotation = { + dashboardId: dashboardId, + panelId: panelId, + time: null, + timeTo: null, + title: "", + text: "" + }; + + this.annotation.time = moment($scope.annotationTimeRange.from).format(this.annotationTimeFormat); if ($scope.annotationTimeRange.to) { - this.annotationTimeTo = moment($scope.annotationTimeRange.to).format(this.annotationTimeFormat); + this.annotation.timeTo = moment($scope.annotationTimeRange.to).format(this.annotationTimeFormat); } } addAnnotation() { - let dashboardId = this.graphCtrl.dashboard.id; - let panelId = this.graphCtrl.panel.id; - let timeFrom = moment(this.annotationTimeFrom, this.annotationTimeFormat).valueOf(); - - let annotationFrom = { - dashboardId: dashboardId, - panelId: panelId, - time: timeFrom, - title: this.annotationTitle, - text: this.annotationTextFrom - }; - let annotations = [annotationFrom]; - - if (this.annotationTimeTo) { - let timeTo = moment(this.annotationTimeTo, this.annotationTimeFormat).valueOf(); - let annotationTo = { - dashboardId: dashboardId, - panelId: panelId, - time: timeTo, - title: this.annotationTitle, - text: this.annotationTextTo - }; - annotations.push(annotationTo); + this.annotation.time = moment(this.annotation.time, this.annotationTimeFormat).valueOf(); + if (this.annotation.timeTo) { + this.annotation.timeTo = moment(this.annotation.timeTo, this.annotationTimeFormat).valueOf(); } - this.graphCtrl.pushAnnotations(annotations) + this.graphCtrl.pushAnnotation(this.annotation) .then(response => { console.log(response); this.close(); diff --git a/public/app/features/dashboard/partials/addAnnotationModal.html b/public/app/features/dashboard/partials/addAnnotationModal.html index 49832075a17..f55f888375f 100644 --- a/public/app/features/dashboard/partials/addAnnotationModal.html +++ b/public/app/features/dashboard/partials/addAnnotationModal.html @@ -28,16 +28,16 @@