playlist.html 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <page-header model="ctrl.navModel"></page-header>
  2. <div class="page-container page-body" ng-form="ctrl.playlistEditForm">
  3. <h3 class="page-sub-heading" ng-hide="ctrl.isNew">Edit Playlist</h3>
  4. <h3 class="page-sub-heading" ng-show="ctrl.isNew">New Playlist</h3>
  5. <p class="playlist-description">A playlist rotates through a pre-selected list of Dashboards. A Playlist can be a great way to build situational awareness, or just show off your metrics to your team or visitors.</p>
  6. <div class="gf-form-group">
  7. <div class="gf-form">
  8. <span class="gf-form-label width-7">Name</span>
  9. <input type="text" required ng-model="ctrl.playlist.name" class="gf-form-input max-width-21">
  10. </div>
  11. <div class="gf-form">
  12. <span class="gf-form-label width-7">Interval</span>
  13. <input type="text" required ng-model="ctrl.playlist.interval" placeholder="5m" class="gf-form-input max-width-21">
  14. </div>
  15. </div>
  16. <div class="gf-form-group">
  17. <h3 class="page-headering">Dashboards</h3>
  18. <table class="filter-table playlist-available-list">
  19. <tr ng-repeat="playlistItem in ctrl.playlistItems">
  20. <td ng-if="playlistItem.type === 'dashboard_by_id'">
  21. <i class="gicon gicon-dashboard"></i>&nbsp;&nbsp;{{playlistItem.title}}
  22. </td>
  23. <td ng-if="playlistItem.type === 'dashboard_by_tag'">
  24. <a class="search-result-tag label label-tag" tag-color-from-name="playlistItem.title">
  25. <i class="fa fa-tag"></i>
  26. <span>{{playlistItem.title}}</span>
  27. </a>
  28. </td>
  29. <td class="selected-playlistitem-settings">
  30. <button class="btn btn-inverse btn-small" ng-hide="$first" ng-click="ctrl.movePlaylistItemUp(playlistItem)">
  31. <i class="fa fa-arrow-up"></i>
  32. </button>
  33. <button class="btn btn-inverse btn-small" ng-hide="$last" ng-click="ctrl.movePlaylistItemDown(playlistItem)">
  34. <i class="fa fa-arrow-down"></i>
  35. </button>
  36. <button class="btn btn-inverse btn-small" ng-click="ctrl.removePlaylistItem(playlistItem)">
  37. <i class="fa fa-remove"></i>
  38. </button>
  39. </td>
  40. </tr>
  41. <tr ng-if="ctrl.playlistItems.length === 0">
  42. <td><em>Playlist is empty, add dashboards below.</em></td>
  43. </tr>
  44. </table>
  45. </div>
  46. <div class="gf-form-group">
  47. <h3 class="page-headering">Add dashboards</h3>
  48. <playlist-search class="playlist-search-container" search-started="ctrl.searchStarted(promise)"></playlist-search>
  49. <div ng-if="ctrl.filteredDashboards.length > 0">
  50. <table class="filter-table playlist-available-list">
  51. <tr ng-repeat="playlistItem in ctrl.filteredDashboards">
  52. <td>
  53. <i class="gicon gicon-dashboard"></i>
  54. &nbsp;&nbsp;{{playlistItem.title}}
  55. <i class="fa fa-star" ng-show="playlistItem.isStarred"></i>
  56. </td>
  57. <td class="add-dashboard">
  58. <button class="btn btn-inverse btn-small pull-right" ng-click="ctrl.addPlaylistItem(playlistItem)">
  59. <i class="fa fa-plus"></i>
  60. Add to playlist
  61. </button>
  62. </td>
  63. </tr>
  64. </table>
  65. </div>
  66. <div class="playlist-search-results-container" ng-if="ctrl.filteredTags.length > 0;">
  67. <table class="filter-table playlist-available-list">
  68. <tr ng-repeat="tag in ctrl.filteredTags">
  69. <td>
  70. <a class="search-result-tag label label-tag" tag-color-from-name="tag.term">
  71. <i class="fa fa-tag"></i>
  72. <span>{{tag.term}} &nbsp;({{tag.count}})</span>
  73. </a>
  74. </td>
  75. <td class="add-dashboard">
  76. <button class="btn btn-inverse btn-small pull-right" ng-click="ctrl.addTagPlaylistItem(tag)">
  77. <i class="fa fa-plus"></i>
  78. Add to playlist
  79. </button>
  80. </td>
  81. </tr>
  82. </table>
  83. </div>
  84. </div>
  85. <div class="clearfix"></div>
  86. <div class="gf-form-button-row">
  87. <a class="btn btn-primary" ng-show="ctrl.isNew" ng-disabled="ctrl.playlistEditForm.$invalid || ctrl.isPlaylistEmpty()" ng-click="ctrl.savePlaylist(ctrl.playlist, ctrl.playlistItems)">Create</a>
  88. <a class="btn btn-primary" ng-show="!ctrl.isNew" ng-disabled="ctrl.playlistEditForm.$invalid || ctrl.isPlaylistEmpty()" ng-click="ctrl.savePlaylist(ctrl.playlist, ctrl.playlistItems)">Save</a>
  89. <a class="btn-text" ng-click="ctrl.backToList()">Cancel</a>
  90. </div>
  91. </div>