query.editor.html 7.2 KB

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