dashboardList.html 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <page-header model="ctrl.navModel"></page-header>
  2. <div class="page-container page-body">
  3. <div class="page-action-bar" ng-show="ctrl.folderTitle">
  4. <div class="gf-form gf-form--grow">
  5. <h3 class="page-sub-heading">
  6. <i class="fa fa-folder-open"></i>&nbsp;{{ctrl.folderTitle}}
  7. </h3>
  8. </div>
  9. <div class="page-action-bar__spacer"></div>
  10. <button class="btn btn-inverse" disabled>Permissions</button>
  11. <a class="btn btn-success" href="/dashboard/new">
  12. <i class="fa fa-plus"></i>
  13. Dashboard
  14. </a>
  15. <a class="btn btn-success" href="/dashboard/new/?editview=new-folder">
  16. <i class="fa fa-plus"></i>
  17. Folder
  18. </a>
  19. </div>
  20. <div class="page-action-bar">
  21. <div class="gf-form gf-form--grow">
  22. <label class="gf-form-label">Search</label>
  23. <input type="text" class="gf-form-input max-width-30" placeholder="Find Dashboard by name" tabindex="1" give-focus="true" ng-model="ctrl.query.query" ng-model-options="{ debounce: 500 }" spellcheck='false' ng-change="ctrl.onQueryChange()" />
  24. </div>
  25. <div class="page-action-bar__spacer"></div>
  26. <a class="btn btn-success" href="/dashboard/new" ng-hide="ctrl.folderTitle">
  27. <i class="fa fa-plus"></i>
  28. Dashboard
  29. </a>
  30. <a class="btn btn-success" href="/dashboard/new/?editview=new-folder" ng-hide="ctrl.folderTitle">
  31. <i class="fa fa-plus"></i>
  32. Folder
  33. </a>
  34. </div>
  35. <div class="gf-form" ng-if="ctrl.query.tag.length">
  36. Filters:
  37. <span ng-repeat="tagName in ctrl.query.tag">
  38. <a ng-click="ctrl.removeTag(tagName, $event)" tag-color-from-name="tagName" class="label label-tag">
  39. <i class="fa fa-remove"></i>
  40. {{tagName}}
  41. </a>
  42. </span>
  43. </div>
  44. <div class="gf-form">
  45. <div class="gf-form-button-row"
  46. ng-show="ctrl.hasFilters">
  47. <button
  48. type="button"
  49. class="btn gf-form-button btn-inverse btn-small"
  50. ng-click="ctrl.clearFilters()">
  51. <i class="fa fa-close"></i> Clear current search query and filters
  52. </button>
  53. </div>
  54. </div>
  55. <div ng-if="!ctrl.hasFilters && ctrl.sections.length === 0">
  56. <empty-list-cta model="{
  57. title: 'This folder doesn\'t have any dashboards yet',
  58. buttonIcon: 'gicon gicon-dashboard-new',
  59. buttonLink: '/dashboard/new',
  60. buttonTitle: 'Create Dashboard',
  61. proTip: 'You can bulk move dashboards into this folder from the main dashboard list.',
  62. proTipLink: 'http://docs.grafana.org/administration/provisioning/#datasources?utm_source=grafana_ds_list',
  63. proTipLinkTitle: 'Learn more',
  64. proTipTarget: '_blank'
  65. }" />
  66. </div>
  67. <div class="dashboard-list" ng-show="ctrl.sections.length > 0">
  68. <div class="search-results-filter-row">
  69. <gf-form-switch
  70. on-change="ctrl.onSelectAllChanged()"
  71. checked="ctrl.selectAllChecked"
  72. switch-class="gf-form-switch--transparent gf-form-switch--search-result-filter-row__checkbox"
  73. />
  74. <div class="search-results-filter-row__filters">
  75. <select
  76. class="search-results-filter-row__filters-item gf-form-input"
  77. ng-model="ctrl.selectedStarredFilter"
  78. ng-options="t.text disable when t.disabled for t in ctrl.starredFilterOptions"
  79. ng-change="ctrl.onStarredFilterChange()"
  80. ng-show="!(ctrl.canMove || ctrl.canDelete)"
  81. />
  82. <select
  83. class="search-results-filter-row__filters-item gf-form-input"
  84. ng-model="ctrl.selectedTagFilter"
  85. ng-options="t.term disable when t.disabled for t in ctrl.tagFilterOptions"
  86. ng-change="ctrl.onTagFilterChange()"
  87. ng-show="!(ctrl.canMove || ctrl.canDelete)"
  88. />
  89. <div class="gf-form-button-row" ng-show="ctrl.canMove || ctrl.canDelete">
  90. <button type="button"
  91. class="btn gf-form-button btn-inverse"
  92. ng-disabled="!ctrl.canMove"
  93. ng-click="ctrl.moveTo()"
  94. bs-tooltip="ctrl.canMove ? '' : 'Select a dashboard to move (cannot move folders)'"
  95. data-placement="bottom">
  96. <i class="fa fa-exchange"></i>&nbsp;&nbsp;Move
  97. </button>
  98. <button type="button"
  99. class="btn gf-form-button btn-danger"
  100. ng-click="ctrl.delete()"
  101. ng-disabled="!ctrl.canDelete">
  102. <i class="fa fa-trash"></i>&nbsp;&nbsp;Delete
  103. </button>
  104. </div>
  105. </div>
  106. </div>
  107. <div class="search-results-container">
  108. <dashboard-search-results
  109. results="ctrl.sections"
  110. editable="true"
  111. on-selection-changed="ctrl.selectionChanged()"
  112. on-tag-selected="ctrl.filterByTag($tag)" />
  113. </div>
  114. </div>
  115. </div>