query.editor.html 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. <div class="editor-row" style="margin-top: 10px;">
  2. <div ng-repeat="target in panel.targets"
  3. class="grafana-target"
  4. ng-class="{'grafana-target-hidden': target.hide}"
  5. ng-controller="OpenTSDBQueryCtrl"
  6. ng-init="init()">
  7. <div class="grafana-target-inner-wrapper">
  8. <div class="grafana-target-inner">
  9. <ul class="grafana-segment-list pull-right">
  10. <li class="grafana-target-segment">
  11. <div class="dropdown">
  12. <a class="pointer dropdown-toggle"
  13. data-toggle="dropdown"
  14. tabindex="1">
  15. <i class="fa fa-bars"></i>
  16. </a>
  17. <ul class="dropdown-menu pull-right" role="menu">
  18. <li role="menuitem">
  19. <a tabindex="1"
  20. ng-click="duplicate()">
  21. Duplicate
  22. </a>
  23. </li>
  24. </ul>
  25. </div>
  26. </li>
  27. <li class="grafana-target-segment last">
  28. <a class="pointer" tabindex="1" ng-click="removeDataQuery(target)">
  29. <i class="fa fa-remove"></i>
  30. </a>
  31. </li>
  32. </ul>
  33. <ul class="grafana-segment-list">
  34. <li>
  35. <a class="grafana-target-segment"
  36. ng-click="target.hide = !target.hide; get_data();"
  37. role="menuitem">
  38. <i class="fa fa-eye"></i>
  39. </a>
  40. </li>
  41. </ul>
  42. <ul class="grafana-segment-list" role="menu">
  43. <li>
  44. <input type="text"
  45. class="grafana-target-segment-input"
  46. ng-model="target.metric"
  47. spellcheck='false'
  48. bs-typeahead="suggestMetrics"
  49. placeholder="metric name"
  50. data-min-length=0 data-items=100
  51. ng-blur="targetBlur()"
  52. >
  53. <a bs-tooltip="target.errors.metric"
  54. style="color: rgb(229, 189, 28)"
  55. ng-show="target.errors.metric">
  56. <i class="fa fa-warning"></i>
  57. </a>
  58. </li>
  59. <li class="grafana-target-segment">
  60. Aggregator
  61. </li>
  62. <li>
  63. <select ng-model="target.aggregator"
  64. class="grafana-target-segment-input input-small"
  65. ng-options="agg for agg in aggregators"
  66. ng-change="targetBlur()">
  67. </select>
  68. <a bs-tooltip="target.errors.aggregator"
  69. style="color: rgb(229, 189, 28)"
  70. ng-show="target.errors.aggregator">
  71. <i class="fa fa-warning"></i>
  72. </a>
  73. </li>
  74. <li class="grafana-target-segment">
  75. Rate:
  76. <input type="checkbox"
  77. class="grafana-target-option-checkbox"
  78. ng-model="target.shouldComputeRate"
  79. ng-change="targetBlur()"
  80. >
  81. </li>
  82. <li class="grafana-target-segment" ng-hide="!target.shouldComputeRate">
  83. Counter:
  84. <input type="checkbox"
  85. class="grafana-target-option-checkbox"
  86. ng-disabled="!target.shouldComputeRate"
  87. ng-model="target.isCounter"
  88. ng-change="targetBlur()">
  89. </li>
  90. <li class="grafana-target-segment" ng-hide="!target.isCounter">
  91. Counter Max:
  92. </li>
  93. <li ng-hide="!target.isCounter">
  94. <input type="text"
  95. class="grafana-target-segment-input input-medium"
  96. ng-disabled="!target.shouldComputeRate"
  97. ng-model="target.counterMax"
  98. spellcheck='false'
  99. placeholder="Counter max value"
  100. ng-blur="targetBlur()"
  101. />
  102. </li>
  103. <li class="grafana-target-segment" ng-hide="!target.isCounter">
  104. Counter Reset Value:
  105. </li>
  106. <li ng-hide="!target.isCounter">
  107. <input type="text"
  108. class="grafana-target-segment-input input-medium"
  109. ng-disabled="!target.shouldComputeRate"
  110. ng-model="target.counterResetValue"
  111. spellcheck='false'
  112. placeholder="Counter reset value"
  113. ng-blur="targetBlur()"
  114. />
  115. </li>
  116. <li class="grafana-target-segment">
  117. Alias:
  118. </li>
  119. <li>
  120. <input type="text"
  121. class="grafana-target-segment-input input-medium"
  122. ng-model="target.alias"
  123. spellcheck='false'
  124. placeholder="series alias"
  125. data-min-length=0 data-items=100
  126. ng-blur="targetBlur()"
  127. />
  128. </li>
  129. </ul>
  130. <div class="clearfix"></div>
  131. </div>
  132. <div class="grafana-target-inner">
  133. <ul class="grafana-segment-list" role="menu">
  134. <li class="grafana-target-segment">
  135. Downsample:
  136. <input type="checkbox"
  137. class="grafana-target-option-checkbox"
  138. ng-model="target.shouldDownsample"
  139. ng-change="targetBlur(target)"
  140. >
  141. </li>
  142. <li ng-hide="!target.shouldDownsample">
  143. <input type="text"
  144. class="input-small grafana-target-segment-input"
  145. ng-disabled="!target.shouldDownsample"
  146. ng-model="target.downsampleInterval"
  147. ng-change="targetBlur()"
  148. placeholder="interval"
  149. >
  150. </li>
  151. <li class="grafana-target-segment" ng-hide="!target.shouldDownsample">
  152. Aggregator
  153. </li>
  154. <li ng-hide="!target.shouldDownsample">
  155. <select ng-model="target.downsampleAggregator"
  156. class="grafana-target-segment-input input-small"
  157. ng-options="agg for agg in aggregators"
  158. ng-change="targetBlur()">
  159. </select>
  160. </li>
  161. <li class="grafana-target-segment">
  162. Tags:
  163. </li>
  164. <li ng-repeat="(key, value) in target.tags track by $index" class="grafana-target-segment">
  165. {{key}}&nbsp;=&nbsp;{{value}}
  166. <a ng-click="removeTag(key)">
  167. <i class="fa fa-remove"></i>
  168. </a>
  169. </li>
  170. <li class="grafana-target-segment" ng-hide="addTagMode">
  171. <a ng-click="addTag()">
  172. <i class="fa fa-plus"></i>
  173. </a>
  174. </li>
  175. <li ng-show="addTagMode">
  176. <input type="text"
  177. class="input-small grafana-target-segment-input"
  178. spellcheck='false'
  179. bs-typeahead="suggestTagKeys"
  180. data-min-length=0 data-items=100
  181. ng-model="target.currentTagKey"
  182. placeholder="key">
  183. <input type="text"
  184. class="input-small grafana-target-segment-input"
  185. spellcheck='false'
  186. bs-typeahead="suggestTagValues"
  187. data-min-length=0 data-items=100
  188. ng-model="target.currentTagValue"
  189. placeholder="value">
  190. <a ng-click="addTag()">
  191. <i class="fa fa-plus"></i>
  192. </a>
  193. <a bs-tooltip="target.errors.tags"
  194. style="color: rgb(229, 189, 28)"
  195. ng-show="target.errors.tags">
  196. <i class="fa fa-warning"></i>
  197. </a>
  198. </li>
  199. </ul>
  200. <div class="clearfix"></div>
  201. </div>
  202. </div>
  203. </div>
  204. </div>