search.html 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <div class="search-backdrop" ng-if="ctrl.isOpen"></div>
  2. <div class="search-container" ng-if="ctrl.isOpen">
  3. <div class="search-field-wrapper">
  4. <input type="text" placeholder="Find dashboards by name" give-focus="ctrl.giveSearchFocus" tabindex="1"
  5. ng-keydown="ctrl.keyDown($event)"
  6. ng-model="ctrl.query.query"
  7. ng-model-options="{ debounce: 500 }"
  8. spellcheck='false'
  9. ng-change="ctrl.search()"
  10. ng-blur="ctrl.searchInputBlur()"
  11. />
  12. <div class="search-switches">
  13. <i class="fa fa-filter"></i>
  14. <a class="pointer" href="javascript:void 0;" ng-click="ctrl.showStarred()" tabindex="2">
  15. <i class="fa fa-remove" ng-show="ctrl.query.starred"></i>
  16. starred
  17. </a> |
  18. <a class="pointer" href="javascript:void 0;" ng-click="ctrl.getTags()" tabindex="3">
  19. <i class="fa fa-remove" ng-show="ctrl.tagsMode"></i>
  20. tags
  21. </a>
  22. <span ng-if="ctrl.query.tag.length">
  23. |
  24. <span ng-repeat="tagName in ctrl.query.tag">
  25. <a ng-click="ctrl.removeTag(tagName, $event)" tag-color-from-name="tagName" class="label label-tag">
  26. <i class="fa fa-remove"></i>
  27. {{tagName}}
  28. </a>
  29. </span>
  30. </span>
  31. </div>
  32. <div class="search-field-spacer"></div>
  33. </div>
  34. <div class="search-dropdown" ng-class="{'search-dropdown--fade-in': ctrl.openCompleted}">
  35. <div class="search-results-container" ng-if="ctrl.tagsMode">
  36. <div ng-repeat="tag in ctrl.results" class="pointer" style="width: 180px; float: left;"
  37. ng-class="{'selected': $index === ctrl.selectedIndex }"
  38. ng-click="ctrl.filterByTag(tag.term, $event)">
  39. <a class="search-result-tag label label-tag" tag-color-from-name="tag.term">
  40. <i class="fa fa-tag"></i>
  41. <span>{{tag.term}} &nbsp;({{tag.count}})</span>
  42. </a>
  43. </div>
  44. </div>
  45. <div class="search-results-container" ng-if="!ctrl.tagsMode">
  46. <h6 ng-hide="ctrl.results.length">No dashboards matching your query were found.</h6>
  47. <div ng-repeat="row in ctrl.results">
  48. <a class="search-item search-item--{{::row.type}}" ng-class="{'selected': $index == ctrl.selectedIndex}" ng-href="{{row.url}}">
  49. <span class="search-result-tags">
  50. <span ng-click="ctrl.filterByTag(tag, $event)" ng-repeat="tag in row.tags" tag-color-from-name="tag" class="label label-tag">
  51. {{tag}}
  52. </span>
  53. <i class="fa" ng-class="{'fa-star': row.isStarred, 'fa-star-o': !row.isStarred}"></i>
  54. </span>
  55. <span class="search-result-link">
  56. <i class="fa search-result-icon"></i>
  57. {{::row.title}}
  58. </span>
  59. </a>
  60. </div>
  61. </div>
  62. </div>