query.editor.html 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. <query-editor-row ctrl="ctrl">
  2. <li class="tight-form-item query-keyword" style="width: 100px">
  3. Metric
  4. </li>
  5. <li>
  6. <input type="text" class="input-large tight-form-input" ng-model="ctrl.target.metric"
  7. spellcheck='false' bs-typeahead="ctrl.suggestMetrics" placeholder="metric name" data-min-length=0 data-items=100
  8. ng-blur="ctrl.targetBlur()">
  9. </input>
  10. <a bs-tooltip="ctrl.errors.metric" style="color: rgb(229, 189, 28)" ng-show="ctrl.errors.metric">
  11. <i class="fa fa-warning"></i>
  12. </a>
  13. </li>
  14. <li class="tight-form-item query-keyword">
  15. Aggregator
  16. </li>
  17. <li>
  18. <select ng-model="ctrl.target.aggregator" class="tight-form-input input-small"
  19. ng-options="agg for agg in ctrl.aggregators"
  20. ng-change="ctrl.targetBlur()">
  21. </select>
  22. <a bs-tooltip="ctrl.errors.aggregator" style="color: rgb(229, 189, 28)" ng-show="ctrl.errors.aggregator">
  23. <i class="fa fa-warning"></i>
  24. </a>
  25. </li>
  26. <li class="tight-form-item query-keyword">
  27. Alias:
  28. <tip>Use patterns like $tag_tagname to replace part of the alias for a tag value</tip>
  29. </li>
  30. <li>
  31. <input type="text" class="tight-form-input input-large"
  32. ng-model="ctrl.target.alias"
  33. spellcheck='false'
  34. placeholder="series alias"
  35. data-min-length=0 data-items=100
  36. ng-blur="ctrl.targetBlur()"></input>
  37. </li>
  38. </query-editor-row>
  39. <div class="tight-form">
  40. <ul class="tight-form-list" role="menu">
  41. <li class="tight-form-item tight-form-align query-keyword" style="width: 100px">
  42. Down sample
  43. </li>
  44. <li>
  45. <input type="text" class="input-large tight-form-input"
  46. ng-model="ctrl.target.downsampleInterval"
  47. ng-model-onblur
  48. ng-change="ctrl.targetBlur()"
  49. placeholder="interval (empty = auto)"></input>
  50. </li>
  51. <li class="tight-form-item query-keyword">
  52. Aggregator
  53. </li>
  54. <li>
  55. <select ng-model="ctrl.target.downsampleAggregator" class="tight-form-input input-small"
  56. ng-options="agg for agg in ctrl.aggregators"
  57. ng-change="ctrl.targetBlur()">
  58. </select>
  59. </li>
  60. <li class="tight-form-item query-keyword" style="width: 59px" ng-if="ctrl.tsdbVersion == 2">
  61. Fill
  62. </li>
  63. <li ng-if="ctrl.tsdbVersion == 2">
  64. <select ng-model="ctrl.target.downsampleFillPolicy" class="tight-form-input input-small"
  65. ng-options="agg for agg in ctrl.fillPolicies"
  66. ng-change="ctrl.targetBlur()">
  67. </select>
  68. </li>
  69. <li class="tight-form-item query-keyword">
  70. Disable downsampling <editor-checkbox text="" model="ctrl.target.disableDownsampling" change="ctrl.targetBlur()"></editor-checkbox>
  71. </li>
  72. </ul>
  73. <div class="clearfix"></div>
  74. </div>
  75. <div class="tight-form" ng-if="ctrl.tsdbVersion == 2">
  76. <ul class="tight-form-list" role="menu">
  77. <li class="tight-form-item tight-form-align query-keyword" style="width: 100px">
  78. Filters
  79. </li>
  80. <li ng-repeat="fil in ctrl.target.filters track by $index" class="tight-form-item">
  81. {{fil.tagk}}&nbsp;=&nbsp;{{fil.type}}&#40;{{fil.filter}}&#41;&nbsp;&#44&nbsp;groupBy&nbsp;=&nbsp;{{fil.groupBy}}
  82. <a ng-click="ctrl.editFilter(fil, $index)">
  83. <i class="fa fa-pencil"></i>
  84. </a>
  85. <a ng-click="ctrl.removeFilter($index)">
  86. <i class="fa fa-remove"></i>
  87. </a>
  88. </li>
  89. <li class="tight-form-item query-keyword" ng-hide="ctrl.addFilterMode">
  90. <a ng-click="ctrl.addFilter()">
  91. <i class="fa fa-plus"></i>
  92. </a>
  93. </li>
  94. <li class="query-keyword" ng-show="ctrl.addFilterMode">
  95. <input type="text" class="input-small tight-form-input" spellcheck='false'
  96. bs-typeahead="ctrl.suggestTagKeys" data-min-length=0 data-items=100
  97. ng-model="ctrl.target.currentFilterKey" placeholder="key"></input>
  98. Type <select ng-model="ctrl.target.currentFilterType"
  99. class="tight-form-input input-small"
  100. ng-options="filType for filType in ctrl.filterTypes">
  101. </select>
  102. <input type="text" class="input-small tight-form-input"
  103. spellcheck='false' bs-typeahead="ctrl.suggestTagValues"
  104. data-min-length=0 data-items=100 ng-model="ctrl.target.currentFilterValue" placeholder="filter">
  105. </input>
  106. groupBy <editor-checkbox text="" model="ctrl.target.currentFilterGroupBy"></editor-checkbox>
  107. <a ng-click="ctrl.addFilter()">
  108. add filter
  109. </a>
  110. <a bs-tooltip="ctrl.errors.filters"
  111. style="color: rgb(229, 189, 28)"
  112. ng-show="target.errors.filters">
  113. <i class="fa fa-warning"></i>
  114. </a>
  115. </li>
  116. </ul>
  117. <div class="clearfix"></div>
  118. </div>
  119. <div class="tight-form">
  120. <ul class="tight-form-list" role="menu">
  121. <li class="tight-form-item tight-form-align query-keyword" style="width: 100px">
  122. Tags
  123. <tip ng-if="ctrl.tsdbVersion == 2">Please use filters, tags are deprecated in opentsdb 2.2</tip>
  124. </li>
  125. <li ng-repeat="(key, value) in ctrl.target.tags track by $index" class="tight-form-item">
  126. {{key}}&nbsp;=&nbsp;{{value}}
  127. <a ng-click="ctrl.editTag(key, value)">
  128. <i class="fa fa-pencil"></i>
  129. </a>
  130. <a ng-click="ctrl.removeTag(key)">
  131. <i class="fa fa-remove"></i>
  132. </a>
  133. </li>
  134. <li class="tight-form-item query-keyword" ng-hide="ctrl.addTagMode">
  135. <a ng-click="ctrl.addTag()">
  136. <i class="fa fa-plus"></i>
  137. </a>
  138. </li>
  139. <li ng-show="ctrl.addTagMode">
  140. <input type="text" class="input-small tight-form-input" spellcheck='false'
  141. bs-typeahead="ctrl.suggestTagKeys" data-min-length=0 data-items=100
  142. ng-model="ctrl.target.currentTagKey" placeholder="key"></input>
  143. <input type="text" class="input-small tight-form-input"
  144. spellcheck='false' bs-typeahead="ctrl.suggestTagValues"
  145. data-min-length=0 data-items=100 ng-model="ctrl.target.currentTagValue" placeholder="value">
  146. </input>
  147. <a ng-click="ctrl.addTag()">
  148. add tag
  149. </a>
  150. <a bs-tooltip="ctrl.errors.tags"
  151. style="color: rgb(229, 189, 28)"
  152. ng-show="target.errors.tags">
  153. <i class="fa fa-warning"></i>
  154. </a>
  155. </li>
  156. </ul>
  157. <div class="clearfix"></div>
  158. </div>
  159. <div class="tight-form">
  160. <ul class="tight-form-list" role="menu">
  161. <li class="tight-form-item tight-form-align query-keyword" style="width: 100px">
  162. Rate <editor-checkbox text="" model="ctrl.target.shouldComputeRate" change="ctrl.targetBlur()"></editor-checkbox>
  163. </li>
  164. <li class="tight-form-item query-keyword" ng-hide="!ctrl.target.shouldComputeRate">
  165. Counter <editor-checkbox text="" model="ctrl.target.isCounter" change="ctrl.targetBlur()"></editor-checkbox>
  166. </li>
  167. <li class="tight-form-item query-keyword" ng-hide="!ctrl.target.isCounter || !ctrl.target.shouldComputeRate">
  168. Counter Max:
  169. </li>
  170. <li ng-hide="!ctrl.target.isCounter || !ctrl.target.shouldComputeRate">
  171. <input type="text" class="tight-form-input input-small" ng-disabled="!ctrl.target.shouldComputeRate"
  172. ng-model="ctrl.target.counterMax" spellcheck='false'
  173. placeholder="max value" ng-model-onblur
  174. ng-blur="ctrl.targetBlur()"></input>
  175. </li>
  176. <li class="tight-form-item query-keyword" ng-hide="!ctrl.target.isCounter || !ctrl.target.shouldComputeRate">
  177. Reset Value:
  178. </li>
  179. <li ng-hide="!ctrl.target.isCounter || !ctrl.target.shouldComputeRate">
  180. <input type="text" class="tight-form-input input-small" ng-disabled="!ctrl.target.shouldComputeRate"
  181. ng-model="ctrl.target.counterResetValue" spellcheck='false'
  182. placeholder="reset value" ng-model-onblur
  183. ng-blur="ctrl.targetBlur()"></input>
  184. </li>
  185. </ul>
  186. <div class="clearfix"></div>
  187. </div>