فهرست منبع

Display as a green diff when a difference is created from a blank page

b4b4r07 9 سال پیش
والد
کامیت
6d844f1751
1فایلهای تغییر یافته به همراه24 افزوده شده و 12 حذف شده
  1. 24 12
      resource/js/crowi.js

+ 24 - 12
resource/js/crowi.js

@@ -735,17 +735,32 @@ $(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 $span = $('<span>');
+          $span.css('color', 'green');
+          $span.text(currentText);
+          $diffDisplay.append($span);
+        });
       } else {
         var revisionIds = revisionId + ',' + beforeRevisionId;
 
-        if ($diffDisplay.data('loaded')) {
-          $diffDisplay.slideToggle();
-          return true;
-        }
-
         $.ajax({
           type: 'GET',
           url: '/_api/revisions.list?revision_ids=' + revisionIds,
@@ -754,8 +769,6 @@ $(function() {
           var currentText = res[0].body;
           var previousText = res[1].body;
 
-          $diffDisplay.text('');
-
           var diff = jsdiff.diffLines(previousText, currentText);
           diff.forEach(function(part) {
             var color = part.added ? 'green' : part.removed ? 'red' : 'grey';
@@ -764,11 +777,10 @@ $(function() {
             $span.text(part.value);
             $diffDisplay.append($span);
           });
-
-          $diffDisplay.data('loaded', 1);
-          $diffDisplay.slideToggle();
         });
       }
+      $diffDisplay.data('loaded', 1);
+      $diffDisplay.slideToggle();
     });
 
     // default open