search.html 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <style>
  2. #grafana-search {
  3. position: fixed;
  4. right: 0;
  5. left: 0;
  6. top: 39px;
  7. margin-right: auto;
  8. margin-left: auto;
  9. /* give it dimensions */
  10. min-height: 10em;
  11. width: 90%;
  12. }
  13. </style>
  14. <a href="#" bs-tooltip="'Search'" data-placement="bottom" ng-click="openSearch()" class="dropdown-toggle" data-toggle="dropdown">
  15. <i class='icon-folder-open'></i>
  16. </a>
  17. <ul class="dropdown-menu" id="grafana-search">
  18. <li ng-if="!showImport">
  19. <div class="grafana-search-panel">
  20. <input type="text"
  21. placeholder="search dashboards, metrics, or graphs"
  22. xng-focus="giveSearchFocus"
  23. ng-keydown="keyDown($event)"
  24. ng-model="elasticsearch.query"
  25. ng-change="elasticsearch_dblist(elasticsearch.query)" />
  26. <h6 ng-hide="search_results.dashboards.length || search_results.metrics.length">No dashboards or metrics matching your query found</h6>
  27. <table class="table table-condensed table-striped">
  28. <tr bindonce ng-repeat="row in search_results.metrics" class="grafana-search-metric-result">
  29. <td><span class="label label-info">metric</span></td>
  30. <td class="grafana-search-metric-name">
  31. {{row._id}}
  32. </td>
  33. <td style="width:100%;">
  34. <div class="grafana-search-metric-actions">
  35. <a ng-click="addMetricToCurrentDashboard(row._id)"><i class="icon-plus-sign"></i> Add to dashboard</a>
  36. </div>
  37. </td>
  38. </tr>
  39. <tr bindonce ng-repeat="row in search_results.dashboards | orderBy:['_id']">
  40. <td><a ng-click="elasticsearch_delete(row._id)"><i class="icon-remove"></i></a></td>
  41. <td style="width:100%"><a href="#/dashboard/elasticsearch/{{row._id}}" bo-text="row._id"></a></td>
  42. <td><a><i class="icon-share" ng-click="share = dashboard.share_link(row._id,'elasticsearch',row._id)" bs-modal="'app/panels/dashcontrol/share.html'"></i></a></td>
  43. </tr>
  44. </table>
  45. </div>
  46. </li>
  47. <li class="pull-right" style="margin: 5px;">
  48. <a ng-click="toggleImport($event)">Import</a>
  49. </li>
  50. <!-- ng-show="dashboard.current.loader.load_gist || dashboard.current.loader.load_local" -->
  51. <li ng-if="showImport" style="margin: 20px;">
  52. <div class="editor-row">
  53. <div class="section">
  54. <div class="editor-option">
  55. <h5>Local File <tip>Load dashboard JSON layout from file</tip></h5>
  56. <form>
  57. <input type="file" id="dashupload" dash-upload /><br>
  58. </form>
  59. </div>
  60. </div>
  61. </div>
  62. <div class="editor-row" ng-show='dashboard.current.loader.load_gist'>
  63. <h5>Gist <tip>Enter a gist number or url</tip></h5>
  64. <form>
  65. <input type="text" ng-model="gist.url" placeholder="Gist number or URL"><br>
  66. <button class="btn" ng-click="gist_dblist(dashboard.gist_id(gist.url))" ng-show="dashboard.is_gist(gist.url)"><i class="icon-github-alt"></i> Get gist:{{gist.url | gistid}}</button>
  67. <h6 ng-show="gist.files.length">Dashboards in gist:{{gist.url | gistid}} <small>click to load</small></h6>
  68. <h6 ng-hide="gist.files.length || !gist.url.length">No gist dashboards found</h6>
  69. <table class="table table-condensed table-striped">
  70. <tr ng-repeat="file in gist.files">
  71. <td><a ng-click="dashboard.dash_load(file)">{{file.title}}</a></td>
  72. </tr>
  73. </table>
  74. </form>
  75. </div>
  76. </li>