106 lines
3.5 KiB
HTML
106 lines
3.5 KiB
HTML
<style>
|
|
#grafana-search {
|
|
position: fixed;
|
|
right: 0;
|
|
left: 0;
|
|
top: 39px;
|
|
margin-right: auto;
|
|
margin-left: auto;
|
|
/* give it dimensions */
|
|
min-height: 10em;
|
|
width: 90%;
|
|
}
|
|
</style>
|
|
|
|
<a href="#" bs-tooltip="'Search'" data-placement="bottom" ng-click="openSearch()" class="dropdown-toggle" data-toggle="dropdown">
|
|
<i class='icon-folder-open'></i>
|
|
</a>
|
|
|
|
<ul class="dropdown-menu" id="grafana-search" ng-if="searchOpened">
|
|
<li ng-if="!showImport">
|
|
<div class="grafana-search-panel">
|
|
<div class="search-field-wrapper">
|
|
<button class="btn btn-success pull-right" config-modal="app/partials/playlist.html">
|
|
<i class="icon-play"></i>
|
|
Playlist
|
|
</button>
|
|
<button class="btn btn-success pull-right" ng-click="toggleImport($event)">
|
|
<i class="icon-download-alt"></i>
|
|
Import
|
|
</button>
|
|
<button class="btn btn-success pull-right" ng-click="newDashboard()">
|
|
<i class="icon-th-large"></i>
|
|
New
|
|
</button>
|
|
<span class="position: relative;">
|
|
<input type="text"
|
|
placeholder="search dashboards, metrics, or graphs"
|
|
xng-focus="giveSearchFocus"
|
|
ng-keydown="keyDown($event)"
|
|
ng-model="query.query" spellcheck='false'
|
|
ng-change="search()" />
|
|
<a class="search-tagview-switch" href="javascript:void(0);"
|
|
ng-class="{'active': tagsOnly}"
|
|
ng-click="showTags($event)">tags</a>
|
|
</span>
|
|
</div>
|
|
|
|
<h6 ng-hide="results.dashboards.length">No dashboards matching your query were found.</h6>
|
|
|
|
<div class="search-results-container" ng-if="tagsOnly">
|
|
<div ng-repeat="tag in results.tags"
|
|
class="search-result-item pointer"
|
|
ng-class="{'selected': $index === selectedIndex }"
|
|
ng-click="filterByTag(tag.term, $event)">
|
|
<a class="search-result-tag label label-tag" tag-color-from-name>
|
|
<i class="icon icon-tag"></i>
|
|
<span>{{tag.term}} ({{tag.count}})</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="search-results-container" ng-if="!tagsOnly">
|
|
<div class="search-result-item pointer"
|
|
bindonce ng-repeat="row in results.dashboards"
|
|
ng-class="{'selected': $index === selectedIndex }" ng-click="goToDashboard(row.id)">
|
|
|
|
<div class="search-result-actions small">
|
|
<a ng-click="shareDashboard(row.id, row.id, $event)" config-modal="app/partials/dashLoaderShare.html">
|
|
<i class="icon-share"></i> share
|
|
</a>
|
|
<a ng-click="deleteDashboard(row.id, $event)">
|
|
<i class="icon-remove"></i> delete
|
|
</a>
|
|
</div>
|
|
|
|
<div class="search-result-tags">
|
|
<a ng-click="filterByTag(tag, $event)" ng-repeat="tag in row.tags" tag-color-from-name class="label label-tag">
|
|
{{tag}}
|
|
</a>
|
|
</div>
|
|
|
|
<a class="search-result-link">
|
|
<i class="icon icon-th-large"></i>
|
|
<span bo-text="row.title"></span>
|
|
</a>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</li>
|
|
|
|
<li ng-if="showImport" style="margin: 20px;">
|
|
<div class="editor-row">
|
|
<div class="section">
|
|
<div class="editor-option">
|
|
<h5>Local File <tip>Load dashboard JSON layout from file</tip></h5>
|
|
<form>
|
|
<input type="file" id="dashupload" dash-upload /><br>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
</ul>
|