query.editor.html 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <div class="tight-form">
  2. <ul class="tight-form-list pull-right">
  3. <li ng-show="parserError" class="tight-form-item">
  4. <a bs-tooltip="parserError" style="color: rgb(229, 189, 28)" role="menuitem">
  5. <i class="fa fa-warning"></i>
  6. </a>
  7. </li>
  8. <li class="tight-form-item small" ng-show="target.datasource">
  9. <em>{{target.datasource}}</em>
  10. </li>
  11. <li class="tight-form-item">
  12. <div class="dropdown">
  13. <a class="pointer dropdown-toggle" data-toggle="dropdown" tabindex="1">
  14. <i class="fa fa-bars"></i>
  15. </a>
  16. <ul class="dropdown-menu pull-right" role="menu">
  17. <li role="menuitem"><a tabindex="1" ng-click="toggleQueryMode()">Switch editor mode</a></li>
  18. <li role="menuitem"><a tabindex="1" ng-click="duplicateDataQuery(target)">Duplicate</a></li>
  19. <li role="menuitem"><a tabindex="1" ng-click="moveDataQuery($index, $index-1)">Move up</a></li>
  20. <li role="menuitem"><a tabindex="1" ng-click="moveDataQuery($index, $index+1)">Move down</a></li>
  21. </ul>
  22. </div>
  23. </li>
  24. <li class="tight-form-item last">
  25. <a class="pointer" tabindex="1" ng-click="removeDataQuery(target)">
  26. <i class="fa fa-remove"></i>
  27. </a>
  28. </li>
  29. </ul>
  30. <ul class="tight-form-list">
  31. <li class="tight-form-item" style="min-width: 15px; text-align: center">
  32. {{target.refId}}
  33. </li>
  34. <li>
  35. <a class="tight-form-item" ng-click="target.hide = !target.hide; get_data();" role="menuitem">
  36. <i class="fa fa-eye"></i>
  37. </a>
  38. </li>
  39. </ul>
  40. <ul class="tight-form-list" ng-hide="target.rawQuery">
  41. <li class="tight-form-item query-keyword" style="width: 75px">
  42. Query
  43. </li>
  44. <li>
  45. <input type="text" class="input-xlarge tight-form-input" ng-model="target.query" spellcheck='false' placeholder="Lucence query" ng-blur="get_data()">
  46. </li>
  47. <li class="tight-form-item query-keyword">
  48. Time field
  49. </li>
  50. <li>
  51. <metric-segment segment="timeSegment" get-alt-segments="getFields()" on-value-changed="timeFieldChanged()"></metric-segment>
  52. </li>
  53. </ul>
  54. <div class="clearfix"></div>
  55. <div style="padding: 10px" ng-if="target.rawQuery">
  56. <textarea ng-model="target.rawQuery" rows="8" spellcheck="false" style="width: 100%; box-sizing: border-box;" ng-blur="queryUpdated()"></textarea>
  57. </div>
  58. </div>
  59. <div ng-hide="target.rawQuery">
  60. <div class="tight-form">
  61. <ul class="tight-form-list">
  62. <li class="tight-form-item query-keyword tight-form-align" style="width: 75px;">
  63. Metrics
  64. </li>
  65. <li ng-repeat="segment in selectSegments">
  66. <metric-segment segment="segment" get-alt-segments="getSelectSegments(segment, $index)" on-value-changed="selectChanged(segment, $index)"></metric-segment>
  67. </li>
  68. </ul>
  69. <div class="clearfix"></div>
  70. </div>
  71. <div class="tight-form" ng-repeat="agg in target.bucketAggs">
  72. <ul class="tight-form-list">
  73. <li class="tight-form-item query-keyword tight-form-align" style="width: 75px;">
  74. <span ng-show="$first">Group by</span>
  75. <span ng-show="!$first">Then by</span>
  76. </li>
  77. <li>
  78. <elastic-query-component model="agg" get-fields="getFields()" on-change="queryUpdated()"></elastic-query-component>
  79. </li>
  80. </ul>
  81. <ul class="tight-form-list pull-right">
  82. <li class="tight-form-item" ng-if="$index === 0">
  83. <a class="pointer" ng-click="addBucketAgg()"><i class="fa fa-plus"></i></a>
  84. </li>
  85. <li class="tight-form-item" ng-if="!$last">
  86. <a class="pointer" ng-click="removeBucketAgg(agg, $index)"><i class="fa fa-minus"></i></a>
  87. </li>
  88. </ul>
  89. <div class="clearfix"></div>
  90. </div>
  91. </div>