editor.html 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <div ng-controller="AnnotationsEditorCtrl">
  2. <div class="page-action-bar">
  3. <h3 class="dashboard-settings__header">
  4. <a ng-click="ctrl.backToList()">Annotations</a>
  5. <span ng-show="ctrl.mode === 'new'">&gt; New</span>
  6. <span ng-show="ctrl.mode === 'edit'">&gt; Edit</span>
  7. </h3>
  8. <div class="page-action-bar__spacer"></div>
  9. <a
  10. type="button"
  11. class="btn btn-primary"
  12. ng-click="ctrl.setupNew();"
  13. ng-if="ctrl.annotations.length > 1"
  14. ng-hide="ctrl.mode === 'edit' || ctrl.mode === 'new'"
  15. >
  16. New
  17. </a>
  18. </div>
  19. <div ng-if="ctrl.mode === 'list'">
  20. <table class="filter-table filter-table--hover">
  21. <thead>
  22. <tr>
  23. <th>Query name</th>
  24. <th>Data source</th>
  25. <th colspan="3"></th>
  26. </tr>
  27. </thead>
  28. <tbody>
  29. <tr ng-repeat="annotation in ctrl.annotations track by annotation.name">
  30. <td style="width:90%" ng-hide="annotation.builtIn" class="pointer" ng-click="ctrl.edit(annotation)">
  31. <i class="fa fa-comment" style="color:{{ annotation.iconColor }}"></i> &nbsp;
  32. {{ annotation.name }}
  33. </td>
  34. <td style="width:90%" ng-show="annotation.builtIn" class="pointer" ng-click="ctrl.edit(annotation)">
  35. <i class="gicon gicon-annotation"></i> &nbsp;
  36. <em class="muted">{{ annotation.name }} (Built-in)</em>
  37. </td>
  38. <td class="pointer" ng-click="ctrl.edit(annotation)">
  39. {{ annotation.datasource || 'Default' }}
  40. </td>
  41. <td style="width: 1%">
  42. <i ng-click="ctrl.move($index,-1)" ng-hide="$first" class="pointer fa fa-arrow-up"></i>
  43. </td>
  44. <td style="width: 1%">
  45. <i ng-click="ctrl.move($index,1)" ng-hide="$last" class="pointer fa fa-arrow-down"></i>
  46. </td>
  47. <td style="width: 1%">
  48. <a
  49. ng-click="ctrl.removeAnnotation(annotation)"
  50. class="btn btn-danger btn-small"
  51. ng-hide="annotation.builtIn"
  52. >
  53. <i class="fa fa-remove"></i>
  54. </a>
  55. </td>
  56. </tr>
  57. </tbody>
  58. </table>
  59. <!-- empty list cta, there is always one built in query -->
  60. <div ng-if="ctrl.annotations.length === 1" class="p-t-2">
  61. <empty-list-cta title="ctrl.emptyListCta.title" buttonIcon="ctrl.emptyListCta.buttonIcon" buttonTitle="ctrl.emptyListCta.buttonTitle" infoBox="ctrl.emptyListCta.infoBox" infoBoxTitle="ctrl.emptyListCta.infoBoxTitle" on-click="ctrl.setupNew"/>
  62. </div>
  63. </div>
  64. <div class="annotations-basic-settings" ng-if="ctrl.mode === 'edit' || ctrl.mode === 'new'">
  65. <div class="gf-form-group">
  66. <h5 class="section-heading">General</h5>
  67. <div class="gf-form-inline">
  68. <div class="gf-form">
  69. <span class="gf-form-label width-7">Name</span>
  70. <input type="text" class="gf-form-input width-20" ng-model="ctrl.currentAnnotation.name" placeholder="name" />
  71. </div>
  72. <div class="gf-form">
  73. <span class="gf-form-label width-7">Data source</span>
  74. <div class="gf-form-select-wrapper">
  75. <select
  76. class="gf-form-input"
  77. ng-model="ctrl.currentAnnotation.datasource"
  78. ng-options="f.name as f.name for f in ctrl.datasources"
  79. ng-change="ctrl.datasourceChanged()"
  80. ></select>
  81. </div>
  82. </div>
  83. </div>
  84. </div>
  85. <div class="gf-form-group">
  86. <div class="gf-form-inline">
  87. <gf-form-switch class="gf-form" label="Enabled" checked="ctrl.currentAnnotation.enable" label-class="width-7">
  88. </gf-form-switch>
  89. <gf-form-switch
  90. class="gf-form"
  91. label="Hidden"
  92. tooltip="Hides the annotation query toggle from showing at the top of the dashboard"
  93. checked="ctrl.currentAnnotation.hide"
  94. label-class="width-7"
  95. >
  96. </gf-form-switch>
  97. <div class="gf-form">
  98. <label class="gf-form-label width-9">Color</label>
  99. <span class="gf-form-label">
  100. <color-picker color="ctrl.currentAnnotation.iconColor" onChange="ctrl.onColorChange"></color-picker>
  101. </span>
  102. </div>
  103. </div>
  104. </div>
  105. <h5 class="section-heading">Query</h5>
  106. <rebuild-on-change property="ctrl.currentDatasource">
  107. <plugin-component type="annotations-query-ctrl"> </plugin-component>
  108. </rebuild-on-change>
  109. <div class="gf-form">
  110. <div class="gf-form-button-row p-y-0">
  111. <button
  112. ng-show="ctrl.mode === 'new'"
  113. type="button"
  114. class="btn gf-form-button btn-primary"
  115. ng-click="ctrl.add()"
  116. >
  117. Add
  118. </button>
  119. <button ng-show="ctrl.mode === 'edit'" type="button" class="btn btn-primary pull-left" ng-click="ctrl.update()">
  120. Update
  121. </button>
  122. </div>
  123. </div>
  124. </div>
  125. </div>