|
|
@@ -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
|