Sotaro KARASAWA 9 лет назад
Родитель
Сommit
b86704af34
5 измененных файлов с 21 добавлено и 8 удалено
  1. 2 2
      lib/models/page.js
  2. 1 1
      lib/routes/page.js
  3. 1 1
      lib/views/page.html
  4. 5 0
      lib/views/page_list.html
  5. 12 4
      resource/js/crowi.js

+ 2 - 2
lib/models/page.js

@@ -315,10 +315,10 @@ module.exports = function(crowi) {
     });
   };
 
-  pageSchema.statics.hasPortalPage = function (path, user) {
+  pageSchema.statics.hasPortalPage = function (path, user, revisionId) {
     var self = this;
     return new Promise(function(resolve, reject) {
-      self.findPage(path, user)
+      self.findPage(path, user, revisionId)
       .then(function(page) {
         resolve(page);
       }).catch(function(err) {

+ 1 - 1
lib/routes/page.js

@@ -80,7 +80,7 @@ module.exports = function(crowi, app) {
       tree: [],
     };
 
-    Page.hasPortalPage(path, req.user)
+    Page.hasPortalPage(path, req.user, req.query.revision)
     .then(function(portalPage) {
       renderVars.page = portalPage;
 

+ 1 - 1
lib/views/page.html

@@ -122,7 +122,7 @@
   {% endif %}
   {% if not page.isLatestRevision() %}
   <div class="alert alert-warning">
-    <strong>注意: </strong> これは現在の版ではありません。
+    <strong>注意: </strong> これは現在の版ではありません。 <i class="fa fa-magic"></i> <a href="{{ page.path }}">最新のページを表示</a>
   </div>
   {% endif %}
 

+ 5 - 0
lib/views/page_list.html

@@ -100,6 +100,11 @@
   {% include 'modal/widget_unportalize.html' %}
 
   <div class="tab-content">
+  {% if not page.isLatestRevision() %}
+  <div class="alert alert-warning">
+    <strong>注意: </strong> これは現在の版ではありません。 <i class="fa fa-magic"></i> <a href="{{ page.path }}">最新のポータルを表示</a>
+  </div>
+  {% endif %}
     <div class="wiki tab-pane {% if not req.body.pageForm %}active{% endif %}" id="revision-body-content">{{ page.revision.body|nl2br|safe }}</div>
 
     <script type="text/template" id="raw-text-original">{{ page.revision.body }}</script>

+ 12 - 4
resource/js/crowi.js

@@ -819,6 +819,11 @@ $(function() {
       } else {
         var revisionIds = revisionId + ',' + beforeRevisionId;
 
+        if ($diffDisplay.data('loaded')) {
+          $diffDisplay.slideToggle();
+          return true;
+        }
+
         $.ajax({
           type: 'GET',
           url: '/_api/revisions.list?revision_ids=' + revisionIds,
@@ -838,16 +843,19 @@ $(function() {
             $diffDisplay.append($span);
           });
 
+          $diffDisplay.data('loaded', 1);
           $diffDisplay.slideToggle();
         });
       }
     });
 
     // default open
-    $('.diff-view').each(function(i, diffView) {
-      if (i < 2) {
-        $(diffView).click();
-      }
+    $('a[data-toggle="tab"][href="#revision-history"]').on('show.bs.tab', function() {
+      $('.diff-view').each(function(i, diffView) {
+        if (i < 2) {
+          $(diffView).click();
+        }
+      });
     });
 
     // presentation