timepicker.html 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <div class="navbar-buttons">
  2. <button class="btn navbar-button navbar-button--tight" ng-click='ctrl.move(-1)' ng-if="ctrl.isAbsolute">
  3. <i class="fa fa-chevron-left"></i>
  4. </button>
  5. <button bs-tooltip="ctrl.tooltip" data-placement="bottom" ng-click="ctrl.openDropdown()" class="btn navbar-button gf-timepicker-nav-btn">
  6. <i class="fa fa-clock-o"></i>
  7. <span ng-bind="ctrl.rangeString"></span>
  8. <span ng-show="ctrl.isUtc" class="gf-timepicker-utc">UTC</span>
  9. <span ng-show="ctrl.dashboard.refresh" class="text-warning">&nbsp; Refresh every {{ctrl.dashboard.refresh}}</span>
  10. </button>
  11. <button class="btn navbar-button navbar-button--tight" ng-click='ctrl.move(1)' ng-if="ctrl.isAbsolute">
  12. <i class="fa fa-chevron-right"></i>
  13. </button>
  14. <button class="btn navbar-button navbar-button--zoom" bs-tooltip="'Time range zoom out <br> CTRL+Z'" data-placement="bottom" ng-click='ctrl.zoom(2)'>
  15. <i class="fa fa-search-minus"></i>
  16. </button>
  17. <button class="btn navbar-button navbar-button--refresh" ng-click="ctrl.timeSrv.refreshDashboard()">
  18. <i class="fa fa-refresh"></i>
  19. </button>
  20. </div>
  21. <div ng-if="ctrl.isOpen" class="gf-timepicker-dropdown">
  22. <div class="popover-box">
  23. <div class="popover-box__header">
  24. <span class="popover-box__title">Quick ranges</span>
  25. </div>
  26. <div class="popover-box__body gf-timepicker-relative-section">
  27. <ul ng-repeat="group in ctrl.timeOptions">
  28. <li bindonce ng-repeat='option in group' ng-class="{active: option.active}">
  29. <a ng-click="ctrl.setRelativeFilter(option)" bo-text="option.display"></a>
  30. </li>
  31. </ul>
  32. </div>
  33. </div>
  34. <div class="popover-box">
  35. <div class="popover-box__header">
  36. <span class="popover-box__title">Custom range</span>
  37. </div>
  38. <form name="timeForm" class="popover-box__body gf-timepicker-absolute-section">
  39. <label class="small">From:</label>
  40. <div class="gf-form-inline">
  41. <div class="gf-form max-width-28">
  42. <input type="text" class="gf-form-input input-large" ng-model="ctrl.editTimeRaw.from" input-datetime>
  43. </div>
  44. <div class="gf-form">
  45. <button class="btn gf-form-btn btn-primary" type="button" ng-click="openFromPicker=!openFromPicker">
  46. <i class="fa fa-calendar"></i>
  47. </button>
  48. </div>
  49. </div>
  50. <div ng-if="openFromPicker">
  51. <datepicker ng-model="ctrl.absolute.fromJs" class="gf-timepicker-component" show-weeks="false" starting-day="ctrl.firstDayOfWeek" ng-change="ctrl.absoluteFromChanged()"></datepicker>
  52. </div>
  53. <label class="small">To:</label>
  54. <div class="gf-form-inline">
  55. <div class="gf-form max-width-28">
  56. <input type="text" class="gf-form-input input-large" ng-model="ctrl.editTimeRaw.to" input-datetime>
  57. </div>
  58. <div class="gf-form">
  59. <button class="btn gf-form-btn btn-primary" type="button" ng-click="openToPicker=!openToPicker">
  60. <i class="fa fa-calendar"></i>
  61. </button>
  62. </div>
  63. </div>
  64. <div ng-if="openToPicker">
  65. <datepicker ng-model="ctrl.absolute.toJs" class="gf-timepicker-component" show-weeks="false" starting-day="ctrl.firstDayOfWeek" ng-change="ctrl.absoluteToChanged()"></datepicker>
  66. </div>
  67. <label class="small">Refreshing every:</label>
  68. <div class="gf-form-inline">
  69. <div class="gf-form max-width-28">
  70. <select ng-model="ctrl.refresh.value" class="gf-form-input input-medium" ng-options="f.value as f.text for f in ctrl.refresh.options"></select>
  71. </div>
  72. <div class="gf-form">
  73. <button type="submit" class="btn gf-form-btn btn-secondary" ng-click="ctrl.applyCustom();" ng-disabled="!timeForm.$valid">Apply</button>
  74. </div>
  75. </div>
  76. </form>
  77. </div>
  78. </div>