history.html 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <div class="tabbed-view-header">
  2. <h2 class="tabbed-view-title">
  3. Version history
  4. </h2>
  5. <ul class="gf-tabs">
  6. <li class="gf-tabs-item" >
  7. <a class="gf-tabs-link" ng-click="ctrl.switchMode('list');" ng-class="{active: ctrl.mode === 'list'}">
  8. List
  9. </a>
  10. </li>
  11. <li class="gf-tabs-item" ng-show="ctrl.mode === 'compare'">
  12. <span class="active gf-tabs-link">
  13. Version Comparison
  14. </span>
  15. </li>
  16. </ul>
  17. <button class="tabbed-view-close-btn" ng-click="ctrl.dismiss();">
  18. <i class="fa fa-remove"></i>
  19. </button>
  20. </div>
  21. <div class="tabbed-view-body">
  22. <div ng-if="ctrl.mode === 'list'">
  23. <div ng-if="ctrl.loading">
  24. <i class="fa fa-spinner fa-spin"></i>
  25. <em>Fetching history list&hellip;</em>
  26. </div>
  27. <div ng-if="!ctrl.loading">
  28. <div class="gf-form-group">
  29. <table class="filter-table">
  30. <thead>
  31. <tr>
  32. <th class="width-4"></th>
  33. <th class="width-4">Version</th>
  34. <th class="width-14">Date</th>
  35. <th class="width-10">Updated By</th>
  36. <th>Notes</th>
  37. <th></th>
  38. </tr>
  39. </thead>
  40. <tbody>
  41. <tr ng-repeat="revision in ctrl.revisions">
  42. <td class="filter-table__switch-cell" bs-tooltip="!revision.checked && ctrl.canCompare ? 'You can only compare 2 versions at a time' : ''" data-placement="right">
  43. <gf-form-switch switch-class="gf-form-switch--table-cell"
  44. checked="revision.checked"
  45. on-change="ctrl.revisionSelectionChanged()"
  46. ng-disabled="!revision.checked && ctrl.canCompare">
  47. </gf-form-switch>
  48. </td>
  49. <td class="text-center">{{revision.version}}</td>
  50. <td>{{revision.createdDateString}}</td>
  51. <td>{{revision.createdBy}}</td>
  52. <td>{{revision.message}}</td>
  53. <td class="text-right">
  54. <a class="btn btn-inverse btn-small" ng-show="revision.version !== ctrl.dashboard.version" ng-click="ctrl.restore(revision.version)">
  55. <i class="fa fa-history"></i>&nbsp;&nbsp;Restore
  56. </a>
  57. <a class="btn btn-outline-disabled btn-small" ng-show="revision.version === ctrl.dashboard.version">
  58. <i class="fa fa-check"></i>&nbsp;&nbsp;Latest
  59. </a>
  60. </td>
  61. </tr>
  62. </tbody>
  63. </table>
  64. <div ng-if="ctrl.appending">
  65. <i class="fa fa-spinner fa-spin"></i>
  66. <em>Fetching more entries&hellip;</em>
  67. </div>
  68. <div class="gf-form-group" ng-show="ctrl.mode === 'list'">
  69. <div class="gf-form-button-row">
  70. <button type="button"
  71. class="btn gf-form-button btn-secondary"
  72. ng-if="ctrl.revisions.length > 1"
  73. ng-disabled="!ctrl.canCompare"
  74. ng-click="ctrl.getDiff(ctrl.diff)"
  75. bs-tooltip="ctrl.canCompare ? '' : 'Select 2 versions to start comparing'" data-placement="bottom">
  76. <i class="fa fa-code-fork" ></i>&nbsp;&nbsp;Compare versions
  77. </button>
  78. <button type="button"
  79. class="btn gf-form-button btn-inverse"
  80. ng-if="ctrl.revisions.length >= ctrl.limit"
  81. ng-click="ctrl.addToLog()"
  82. ng-disabled="ctrl.isLastPage()">
  83. Show more versions
  84. </button>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. <div class="edit-tab-with-sidemenu" ng-if="ctrl.mode === 'compare'">
  91. <aside class="edit-sidemenu-aside">
  92. <ul class="edit-sidemenu">
  93. <li ng-class="{active: ctrl.diff === 'basic'}"><a ng-click="ctrl.getDiff('basic')" href="">Change Summary</a></li>
  94. <li ng-class="{active: ctrl.diff === 'html'}"><a ng-click="ctrl.getDiff('json')" href="">JSON Diff</a></li>
  95. </ul>
  96. </aside>
  97. <div class="edit-tab-content">
  98. <div ng-if="ctrl.loading">
  99. <i class="fa fa-spinner fa-spin"></i>
  100. <em>Fetching changes&hellip;</em>
  101. </div>
  102. <div ng-if="!ctrl.loading">
  103. <a type="button"
  104. class="btn gf-form-button btn-secondary pull-right"
  105. ng-click="ctrl.restore(ctrl.baseInfo.version)"
  106. ng-if="ctrl.isNewLatest">
  107. <i class="fa fa-history" ></i>&nbsp;&nbsp;Restore to version {{ctrl.baseInfo.version}}
  108. </a>
  109. <h4>
  110. Comparing Version {{ctrl.baseInfo.version}}
  111. <i class="fa fa-arrows-h"></i>
  112. Version {{ctrl.newInfo.version}}
  113. <cite class="muted" ng-if="ctrl.isNewLatest">(Latest)</cite>
  114. </h4>
  115. <section>
  116. <p class="small muted">
  117. <strong>Version {{ctrl.newInfo.version}}</strong> updated by
  118. <span>{{ctrl.newInfo.createdBy}} </span>
  119. <span>{{ctrl.newInfo.ageString}}</span>
  120. <span> - {{ctrl.newInfo.message}}</span>
  121. </p>
  122. <p class="small muted">
  123. <strong>Version {{ctrl.baseInfo.version}}</strong> updated by
  124. <span>{{ctrl.baseInfo.createdBy}} </span>
  125. <span>{{ctrl.baseInfo.ageString}}</span>
  126. <span> - {{ctrl.baseInfo.message}}</span>
  127. </p>
  128. </section>
  129. <div id="delta" diff-delta>
  130. <div class="delta-basic" ng-show="ctrl.diff === 'basic'" compile="ctrl.delta.basic"></div>
  131. <div class="delta-html" ng-show="ctrl.diff === 'json'" compile="ctrl.delta.json"></div>
  132. </div>
  133. </div>
  134. </div>
  135. </div>
  136. </div>