editor.html 3.4 KB

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