editor.html 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <div ng-controller="AnnotationsEditorCtrl" ng-init="init()">
  2. <div class="tabbed-view-header">
  3. <h2 class="tabbed-view-title">
  4. Annotations
  5. </h2>
  6. <ul class="gf-tabs">
  7. <li class="gf-tabs-item" >
  8. <a class="gf-tabs-link" ng-click="mode = 'list';" ng-class="{active: mode === 'list'}">
  9. List
  10. </a>
  11. </li>
  12. <li class="gf-tabs-item" ng-show="mode === 'edit'">
  13. <a class="gf-tabs-link" ng-class="{active: mode === 'edit'}">
  14. {{currentAnnotation.name}}
  15. </a>
  16. </li>
  17. <li class="gf-tabs-item" >
  18. <a class="gf-tabs-link" ng-click="mode = 'new';" ng-class="{active: mode === 'new'}">
  19. <i class="fa fa-plus"></i>
  20. New
  21. </a>
  22. </li>
  23. </ul>
  24. <button class="tabbed-view-close-btn" ng-click="dismiss();">
  25. <i class="fa fa-remove"></i>
  26. </button>
  27. </div>
  28. <div class="tabbed-view-body">
  29. <div class="editor-row row" ng-if="mode === 'list'">
  30. <div ng-if="annotations.length === 0">
  31. <em>No annotations defined</em>
  32. </div>
  33. <table class="grafana-options-table">
  34. <tr ng-repeat="annotation in annotations">
  35. <td style="width:90%">
  36. <i class="fa fa-bolt" style="color:{{annotation.iconColor}}"></i> &nbsp;
  37. {{annotation.name}}
  38. </td>
  39. <td style="width: 1%"><i ng-click="_.move(annotations,$index,$index-1)" ng-hide="$first" class="pointer fa fa-arrow-up"></i></td>
  40. <td style="width: 1%"><i ng-click="_.move(annotations,$index,$index+1)" ng-hide="$last" class="pointer fa fa-arrow-down"></i></td>
  41. <td style="width: 1%">
  42. <a ng-click="edit(annotation)" class="btn btn-inverse btn-mini">
  43. <i class="fa fa-edit"></i>
  44. Edit
  45. </a>
  46. </td>
  47. <td style="width: 1%">
  48. <a ng-click="removeAnnotation(annotation)" class="btn btn-danger btn-mini">
  49. <i class="fa fa-remove"></i>
  50. </a>
  51. </td>
  52. </tr>
  53. </table>
  54. </div>
  55. <div class="annotations-basic-settings" ng-if="mode === 'edit' || mode === 'new'">
  56. <div class="gf-form-group">
  57. <div class="gf-form-inline">
  58. <div class="gf-form gf-size-max-xxl">
  59. <span class="gf-form-label">Name</span>
  60. <input type="text" class="gf-form-input" ng-model='currentAnnotation.name' placeholder="name"></input>
  61. </div>
  62. <div class="gf-form">
  63. <span class="gf-form-label max-width-10">Datasource</span>
  64. <div class="gf-form-select-wrapper">
  65. <select class="gf-form-input gf-size-auto" ng-model="currentAnnotation.datasource" ng-options="f.name as f.name for f in datasources" ng-change="datasourceChanged()"></select>
  66. </div>
  67. </div>
  68. <div class="gf-form">
  69. <label class="gf-form-label">
  70. <span>Color</span>
  71. <spectrum-picker ng-model="currentAnnotation.iconColor"></spectrum-picker>
  72. </label>
  73. </div>
  74. </div>
  75. </div>
  76. <rebuild-on-change property="currentDatasource">
  77. <plugin-component type="annotations-query-ctrl">
  78. </plugin-component>
  79. </rebuild-on-change>
  80. <div class="gf-form">
  81. <div class="gf-form-button-row">
  82. <button ng-show="mode === 'new'" type="button" class="btn gf-form-button btn-success" ng-click="add()">Add</button>
  83. <button ng-show="mode === 'edit'" type="button" class="btn btn-success pull-left" ng-click="update();">Update</button>
  84. </div>
  85. </div>
  86. </div>
  87. </div>
  88. </div>