Procházet zdrojové kódy

Merge branch 'diff-like-github' into feature-gh-diff

Sotaro KARASAWA před 9 roky
rodič
revize
0ddd2dc6f9
1 změnil soubory, kde provedl 22 přidání a 9 odebrání
  1. 22 9
      resource/js/crowi.js

+ 22 - 9
resource/js/crowi.js

@@ -738,17 +738,30 @@ $(function() {
         $diffIcon.addClass('fa-arrow-circle-right');
       }
 
-      if (beforeRevisionId === false) {
-        $diffDisplay.text('差分はありません');
+      if ($diffDisplay.data('loaded')) {
         $diffDisplay.slideToggle();
+        return true;
+      }
+
+      $diffDisplay.text('');
+
+      if (beforeRevisionId === false) {
+        var revisionIds = revisionId;
+
+        // For differences from blank pages, make it all green
+        $.ajax({
+          type: 'GET',
+          url: '/_api/revisions.list?revision_ids=' + revisionIds,
+          dataType: 'json'
+        }).done(function(res) {
+          var currentText = res[0].body;
+
+          var patch = jsdiff.createPatch($('#revision-path').text(), '', currentText);
+          $diffDisplay.html(diff2html.getPrettyHtml(patch));
+        });
       } else {
         var revisionIds = revisionId + ',' + beforeRevisionId;
 
-        if ($diffDisplay.data('loaded')) {
-          $diffDisplay.slideToggle();
-          return true;
-        }
-
         $.ajax({
           type: 'GET',
           url: '/_api/revisions.list?revision_ids=' + revisionIds,
@@ -762,10 +775,10 @@ $(function() {
           var patch = jsdiff.createPatch($('#revision-path').text(), previousText, currentText);
           $diffDisplay.html(diff2html.getPrettyHtml(patch));
 
-          $diffDisplay.data('loaded', 1);
-          $diffDisplay.slideToggle();
         });
       }
+      $diffDisplay.data('loaded', 1);
+      $diffDisplay.slideToggle();
     });
 
     // default open