mirror of
https://github.com/gitbucket/gitbucket.git
synced 2026-01-01 13:20:03 +01:00
Merge pull request #2056 from kazuki43zoo/support-line-comment-on-split-mode
Support line comment on split mode
This commit is contained in:
@@ -335,7 +335,11 @@ $(function(){
|
||||
.append(renderStatBar(add, del).attr('title', (add + del) + " lines changed").tooltip());
|
||||
|
||||
@if(hasWritePermission) {
|
||||
diffText.find('.body').each(function(){ $('<b class="add-comment">+</b>').prependTo(this); });
|
||||
diffText.find('.body').filter(function(i, e) {
|
||||
return $(e).has('span').length > 0;
|
||||
}).each(function(){
|
||||
$('<b class="add-comment">+</b>').prependTo(this);
|
||||
});
|
||||
}
|
||||
@if(showLineNotes){
|
||||
var fileName = table.attr('filename');
|
||||
|
||||
@@ -140,6 +140,14 @@
|
||||
}
|
||||
|
||||
function getDiffData(tr){
|
||||
if(window.viewType === 0) {
|
||||
return getDiffDataOnSplitMode(tr);
|
||||
} else {
|
||||
return getDiffDataOnUnifiedMode(tr);
|
||||
}
|
||||
}
|
||||
|
||||
function getDiffDataOnUnifiedMode(tr) {
|
||||
var result = [];
|
||||
var count = 0;
|
||||
|
||||
@@ -147,16 +155,19 @@
|
||||
var oldTh = tr.find('th.oldline');
|
||||
var newTh = tr.find('th.newline');
|
||||
|
||||
if(!oldTh.attr('line-number') && !newTh.attr('line-number')){
|
||||
var oldLineNumber = oldTh.attr('line-number');
|
||||
var newLineNumber = newTh.attr('line-number');
|
||||
|
||||
if(!oldLineNumber && !newLineNumber){
|
||||
break;
|
||||
}
|
||||
|
||||
result.unshift({
|
||||
'oldLine': oldTh.attr('line-number'),
|
||||
'newLine': newTh.attr('line-number'),
|
||||
'oldLine': oldLineNumber,
|
||||
'newLine': newLineNumber,
|
||||
'type': tr.has('td.insert').length > 0 ? 'insert' : tr.has('td.delete').length > 0 ? 'delete' : 'equal',
|
||||
'text': tr.find('td>span').text()
|
||||
})
|
||||
'text': tr.find('td span').text()
|
||||
});
|
||||
|
||||
tr = tr.prev('tr:has(th.line-num)');
|
||||
count++;
|
||||
@@ -164,5 +175,55 @@
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
function getDiffDataOnSplitMode(tr) {
|
||||
var result = [];
|
||||
var count = 0;
|
||||
|
||||
while(tr && count < 4){
|
||||
var oldTh = tr.find('th.oldline');
|
||||
var newTh = tr.find('th.newline');
|
||||
|
||||
var oldLineNumber = oldTh.attr('line-number');
|
||||
var newLineNumber = newTh.attr('line-number');
|
||||
|
||||
if(!oldLineNumber && !newLineNumber){
|
||||
break;
|
||||
}
|
||||
|
||||
var oldTd = oldTh.next();
|
||||
var newTd = newTh.next();
|
||||
|
||||
if (oldTd.hasClass('equal') && newTd.hasClass('equal')) {
|
||||
result.unshift({
|
||||
'oldLine': oldLineNumber,
|
||||
'newLine': newLineNumber,
|
||||
'type': 'equal',
|
||||
'text': newTd.find('span').text()
|
||||
});
|
||||
count++;
|
||||
} else {
|
||||
if(newLineNumber) {
|
||||
result.unshift({
|
||||
'newLine': newLineNumber,
|
||||
'type': 'insert',
|
||||
'text': newTd.find('span').text()
|
||||
});
|
||||
count++;
|
||||
}
|
||||
if(oldLineNumber) {
|
||||
result.unshift({
|
||||
'oldLine': oldLineNumber,
|
||||
'type': 'delete',
|
||||
'text': oldTd.find('span').text()
|
||||
});
|
||||
count++;
|
||||
}
|
||||
}
|
||||
tr = tr.prev('tr:has(th.line-num)');
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
</script>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user