2016-09-08 11:25:45 +02:00
< div ng-controller = "AnnotationsEditorCtrl" >
2016-02-24 11:07:57 +01:00
< div class = "tabbed-view-header" >
< h2 class = "tabbed-view-title" >
2015-02-01 15:45:11 +01:00
Annotations
2016-02-24 11:07:57 +01:00
< / h2 >
2015-09-08 16:59:39 +02:00
2016-02-24 11:07:57 +01:00
< ul class = "gf-tabs" >
< li class = "gf-tabs-item" >
2016-09-08 11:25:45 +02:00
< a class = "gf-tabs-link" ng-click = "ctrl.mode = 'list';" ng-class = "{active: ctrl.mode === 'list'}" >
2017-04-12 15:01:17 +02:00
Queries
2016-02-24 11:07:57 +01:00
< / a >
< / li >
2016-09-08 11:25:45 +02:00
< li class = "gf-tabs-item" ng-show = "ctrl.mode === 'edit'" >
< a class = "gf-tabs-link" ng-class = "{active: ctrl.mode === 'edit'}" >
2017-04-12 15:01:17 +02:00
Edit Query
2016-02-24 11:07:57 +01:00
< / a >
< / li >
2016-09-08 11:25:45 +02:00
< li class = "gf-tabs-item" ng-show = "ctrl.mode === 'new'" >
2017-04-12 15:01:17 +02:00
< span class = "active gf-tabs-link" > New Query< / span >
2016-02-24 15:18:08 +01:00
< / li >
2017-05-05 11:30:44 +02:00
< li class = "gf-tabs-item" >
< a class = "gf-tabs-link" ng-click = "ctrl.mode = 'help';" ng-class = "{active: ctrl.mode === 'help'}" >
Help
< / a >
< / li >
2016-02-24 11:07:57 +01:00
< / ul >
2015-09-08 16:59:39 +02:00
2016-02-24 11:07:57 +01:00
< button class = "tabbed-view-close-btn" ng-click = "dismiss();" >
2015-01-31 18:00:26 +01:00
< i class = "fa fa-remove" > < / i >
< / button >
2014-08-26 09:32:30 +02:00
< / div >
2016-02-24 11:07:57 +01:00
< div class = "tabbed-view-body" >
2017-05-05 11:30:44 +02:00
< div ng-show = "ctrl.mode === 'help'" >
< div class = "grafana-info-box col-lg-8" >
< h5 > What are Annotations?< / h5 >
< p >
Annotations provide a way to integrate event data into your graphs. They are visualized as vertical lines and icons
on all graph panels. When you hover over an annotation icon you can get title, tags, and text information for the event.
In the < i > Queries< / i > tab you can add queries that return annotation events.
< / p >
2017-10-07 10:31:39 +02:00
< p >
You can add annotations directly from grafana by holding CTRL or CMD + click on graph (or drag region). These will be stored in Grafana's annotation database.
< / p >
Checkout the < a class = "external-link" target = "_blank" href = "http://docs.grafana.org/reference/annotations/" > Annotations documentation< / a > for more information.
2017-05-05 11:30:44 +02:00
< / div >
< / div >
2016-09-08 11:25:45 +02:00
< div class = "editor-row row" ng-if = "ctrl.mode === 'list'" >
< div ng-if = "ctrl.annotations.length === 0" >
2017-04-28 12:51:21 +02:00
< em > No annotation queries defined< / em >
2014-08-28 16:44:16 +02:00
< / div >
2016-02-24 11:56:45 +01:00
< table class = "grafana-options-table" >
2016-09-08 11:25:45 +02:00
< tr ng-repeat = "annotation in ctrl.annotations" >
2017-10-07 10:31:39 +02:00
< td style = "width:90%" ng-hide = "annotation.builtIn" >
< i class = "fa fa-comment" style = "color:{{annotation.iconColor}}" > < / i >
2016-02-24 11:56:45 +01:00
{{annotation.name}}
< / td >
2017-10-07 10:31:39 +02:00
< td style = "width:90%" ng-show = "annotation.builtIn" >
< i class = "fa fa-comment" > < / i >
< em class = "muted" > {{annotation.name}} (Built-in)< / em >
< / td >
2016-09-08 11:25:45 +02:00
< td style = "width: 1%" > < i ng-click = "_.move(ctrl.annotations,$index,$index-1)" ng-hide = "$first" class = "pointer fa fa-arrow-up" > < / i > < / td >
< td style = "width: 1%" > < i ng-click = "_.move(ctrl.annotations,$index,$index+1)" ng-hide = "$last" class = "pointer fa fa-arrow-down" > < / i > < / td >
2016-02-24 11:56:45 +01:00
< td style = "width: 1%" >
2016-09-09 11:30:55 +02:00
< a ng-click = "ctrl.edit(annotation)" class = "btn btn-inverse btn-mini" >
2016-02-24 11:56:45 +01:00
< i class = "fa fa-edit" > < / i >
Edit
< / a >
< / td >
< td style = "width: 1%" >
2017-10-07 10:31:39 +02:00
< a ng-click = "ctrl.removeAnnotation(annotation)" class = "btn btn-danger btn-mini" ng-hide = "annotation.builtIn" >
2016-02-24 11:56:45 +01:00
< i class = "fa fa-remove" > < / i >
< / a >
< / td >
< / tr >
< / table >
2014-08-26 09:32:30 +02:00
< / div >
2014-02-18 20:41:56 +01:00
2016-09-08 11:25:45 +02:00
< div class = "gf-form" ng-show = "ctrl.mode === 'list'" >
2016-02-24 15:07:34 +01:00
< div class = "gf-form-button-row" >
2017-10-07 10:31:39 +02:00
< a type = "button" class = "btn gf-form-button btn-success" ng-click = "ctrl.setupNew()" > < i class = "fa fa-plus" > < / i > New< / a >
2016-02-24 15:07:34 +01:00
< / div >
< / div >
2016-09-08 11:25:45 +02:00
< div class = "annotations-basic-settings" ng-if = "ctrl.mode === 'edit' || ctrl.mode === 'new'" >
2017-10-07 10:31:39 +02:00
< div >
< div class = "gf-form-group" >
< h5 class = "section-heading" > General< / h5 >
2017-04-12 15:01:17 +02:00
< div class = "gf-form-inline" >
< div class = "gf-form" >
2017-10-07 10:31:39 +02:00
< span class = "gf-form-label width-7" > Name< / span >
< input type = "text" class = "gf-form-input width-20" ng-model = 'ctrl.currentAnnotation.name' placeholder = "name" > < / input >
2017-04-12 15:01:17 +02:00
< / div >
< div class = "gf-form" >
2017-10-07 10:31:39 +02:00
< span class = "gf-form-label width-7" > Data source< / span >
< div class = "gf-form-select-wrapper" >
2017-04-12 15:01:17 +02:00
< select class = "gf-form-input" ng-model = "ctrl.currentAnnotation.datasource" ng-options = "f.name as f.name for f in ctrl.datasources" ng-change = "ctrl.datasourceChanged()" > < / select >
< / div >
2016-02-22 11:39:11 -05:00
< / div >
2016-02-22 10:21:22 +01:00
< / div >
2017-10-07 10:31:39 +02:00
< / div >
< div class = "gf-form-group" >
< div class = "gf-form-inline" >
< gf-form-switch class = "gf-form"
label="Enabled"
checked="ctrl.currentAnnotation.enable"
on-change="ctrl.annotationEnabledChange()"
label-class="width-7">
< / gf-form-switch >
< gf-form-switch class = "gf-form"
label="Hidden"
tooltip="Hides the annotation query toggle from showing at the top of the dashboard"
checked="ctrl.currentAnnotation.hide"
on-change="ctrl.annotationHiddenChanged()"
label-class="width-7">
< / gf-form-switch >
2017-04-12 15:01:17 +02:00
< div class = "gf-form" >
2017-10-07 10:31:39 +02:00
< label class = "gf-form-label" > Color< / label >
2017-04-12 15:01:17 +02:00
< spectrum-picker class = "gf-form-input width-3" ng-model = "ctrl.currentAnnotation.iconColor" > < / spectrum-picker >
< / div >
2016-02-22 10:21:22 +01:00
< / div >
2014-08-26 09:32:30 +02:00
< / div >
2017-10-07 10:31:39 +02:00
< / div >
2014-08-26 09:32:30 +02:00
2017-10-07 10:31:39 +02:00
< h5 class = "section-heading" > Query< / h5 >
< rebuild-on-change property = "ctrl.currentDatasource" >
< plugin-component type = "annotations-query-ctrl" >
< / plugin-component >
< / rebuild-on-change >
2014-08-26 09:32:30 +02:00
2017-10-07 10:31:39 +02:00
< div class = "gf-form" >
< div class = "gf-form-button-row p-y-0" >
< button ng-show = "ctrl.mode === 'new'" type = "button" class = "btn gf-form-button btn-success" ng-click = "ctrl.add()" > Add< / button >
< button ng-show = "ctrl.mode === 'edit'" type = "button" class = "btn btn-success pull-left" ng-click = "ctrl.update()" > Update< / button >
2016-02-22 10:21:22 +01:00
< / div >
2017-10-07 10:31:39 +02:00
< / div >
2014-08-26 09:32:30 +02:00
< / div >
< / div >
2014-07-16 18:47:20 +02:00
< / div >