User:Cacycle/diff.js: Difference between revisions

Content deleted Content added
1.1.4 (1.1.4) fix tab highlighting, update highlight handler for wikEd diff tool
1.1.5 (September 25, 2014) fic colored blocks customization, fixed double fragment markup
Line 3:
// ==UserScript==
// @name wikEd diff
// @version 1.1.45
// @date September 25, 2014
// @description improved word-based diff library with block move detection
Line 374:
if (wDiff.htmlDeleteEnd === undefined) { wDiff.htmlDeleteEnd = '</span><!--wDiffDelete-->'; }
 
if (wDiff.htmlBlockLeftStart === undefined) { wDiff.htmlBlockLeftStart = '<span class="wDiffBlockLeft" style="' + wDiff.styleBlockLeft + '" title="' + wDiff.symbolMarkLeft + '" id="wDiffBlock{number}"' + wDiff.blockEvent + '>'; }
if (wDiff.htmlBlockLeftStart === undefined) {
if (wDiff.htmlBlockLeftColoredStart === undefined) { wDiff.htmlBlockLeftStarthtmlBlockLeftColoredStart = '<span class="wDiffBlockLeft wDiffBlock wDiffBlock{class}" style="' + wDiff.styleBlockLeft + wDiff.styleBlock + '{block}" title="' + wDiff.symbolMarkLeft + '" id="wDiffBlock{number}"' + wDiff.blockEvent + '>'; }
if (wDiff.coloredBlocks === false) {
wDiff.htmlBlockLeftStart = '<span class="wDiffBlockLeft" style="' + wDiff.styleBlockLeft + '" title="' + wDiff.symbolMarkLeft + '" id="wDiffBlock{number}"' + wDiff.blockEvent + '>';
}
else {
wDiff.htmlBlockLeftStart = '<span class="wDiffBlockLeft wDiffBlock wDiffBlock{class}" style="' + wDiff.styleBlockLeft + wDiff.styleBlock + '{block}" title="' + wDiff.symbolMarkLeft + '" id="wDiffBlock{number}"' + wDiff.blockEvent + '>';
}
}
if (wDiff.htmlBlockLeftEnd === undefined) { wDiff.htmlBlockLeftEnd = '</span><!--wDiffBlockLeft-->'; }
 
if (wDiff.htmlBlockRightStart === undefined) { wDiff.htmlBlockRightStart = '<span class="wDiffBlockRight" style="' + wDiff.styleBlockRight + '" title="' + wDiff.symbolMarkRight + '" id="wDiffBlock{number}"' + wDiff.blockEvent + '>'; }
if (wDiff.htmlBlockRightStart === undefined) {
if (wDiff.htmlBlockRightColoredStart === undefined) { wDiff.htmlBlockRightStarthtmlBlockRightColoredStart = '<span class="wDiffBlockRight wDiffBlock wDiffBlock{class}" style="' + wDiff.styleBlockRight + wDiff.styleBlock + '{block}" title="' + wDiff.symbolMarkRight + '" id="wDiffBlock{number}"' + wDiff.blockEvent + '>'; }
if (wDiff.coloredBlocks === false) {
wDiff.htmlBlockRightStart = '<span class="wDiffBlockRight" style="' + wDiff.styleBlockRight + '" title="' + wDiff.symbolMarkRight + '" id="wDiffBlock{number}"' + wDiff.blockEvent + '>';
}
else {
wDiff.htmlBlockRightStart = '<span class="wDiffBlockRight wDiffBlock wDiffBlock{class}" style="' + wDiff.styleBlockRight + wDiff.styleBlock + '{block}" title="' + wDiff.symbolMarkRight + '" id="wDiffBlock{number}"' + wDiff.blockEvent + '>';
}
}
if (wDiff.htmlBlockRightEnd === undefined) { wDiff.htmlBlockRightEnd = '</span><!--wDiffBlockRight-->'; }
 
if (wDiff.htmlMarkLeft === undefined) { wDiff.htmlMarkLeft = '<span class="wDiffMarkLeft" style="' + wDiff.styleMarkLeft + '"{title} id="wDiffMark{number}"' + wDiff.blockEvent + '></span><!--wDiffMarkLeft-->'; }
if (wDiff.htmlMarkLeft === undefined) {
if (wDiff.htmlMarkLeftColored === undefined) { wDiff.htmlMarkLefthtmlMarkLeftColored = '<span class="wDiffMarkLeft wDiffMark wDiffMark{class}" style="' + wDiff.styleMarkLeft + wDiff.styleMark + '{mark}"{title} id="wDiffMark{number}"' + wDiff.blockEvent + '></span><!--wDiffMarkLeft-->'; }
if (wDiff.coloredBlocks === false) {
 
wDiff.htmlMarkLeft = '<span class="wDiffMarkLeft" style="' + wDiff.styleMarkLeft + '"{title} id="wDiffMark{number}"' + wDiff.blockEvent + '></span><!--wDiffMarkLeft-->';
if (wDiff.htmlMarkRight === undefined) { wDiff.htmlMarkRight = '<span class="wDiffMarkRight" style="' + wDiff.styleMarkRight + '"{title} id="wDiffMark{number}"' + wDiff.blockEvent + '></span><!--wDiffMarkRight-->'; }
}
if (wDiff.htmlMarkRightColored === undefined) { wDiff.htmlMarkRighthtmlMarkRightColored = '<span class="wDiffMarkRight wDiffMark wDiffMark{class}" style="' + wDiff.styleMarkRight + wDiff.styleMark + '{mark}"{title} id="wDiffMark{number}"' + wDiff.blockEvent + '></span><!--wDiffMarkRight-->'; }
else {
wDiff.htmlMarkLeft = '<span class="wDiffMarkLeft wDiffMark wDiffMark{class}" style="' + wDiff.styleMarkLeft + wDiff.styleMark + '{mark}"{title} id="wDiffMark{number}"' + wDiff.blockEvent + '></span><!--wDiffMarkLeft-->';
}
}
if (wDiff.htmlMarkRight === undefined) {
if (wDiff.coloredBlocks === false) {
wDiff.htmlMarkRight = '<span class="wDiffMarkRight" style="' + wDiff.styleMarkRight + '"{title} id="wDiffMark{number}"' + wDiff.blockEvent + '></span><!--wDiffMarkRight-->';
}
else {
wDiff.htmlMarkRight = '<span class="wDiffMarkRight wDiffMark wDiffMark{class}" style="' + wDiff.styleMarkRight + wDiff.styleMark + '{mark}"{title} id="wDiffMark{number}"' + wDiff.blockEvent + '></span><!--wDiffMarkRight-->';
}
}
 
if (wDiff.htmlNewline === undefined) { wDiff.htmlNewline = '<span class="wDiffNewline" style="' + wDiff.styleNewline + '">\n</span>'; }
Line 2,786 ⟶ 2,763:
var html = '';
if (moveDir == 'left') {
htmlif = this.htmlCustomize(wDiff.htmlBlockLeftStart,coloredBlocks color=== true); {
html = this.htmlCustomize(wDiff.htmlBlockLeftColoredStart, color);
}
else {
html = this.htmlCustomize(wDiff.htmlBlockLeftStart, markColorcolor) + string + wDiff.htmlBlockLeftEnd;
}
}
else if (moveDir == 'right') {
htmlif = this.htmlCustomize(wDiff.htmlBlockRightStart,coloredBlocks color=== true); {
html = this.htmlCustomize(wDiff.htmlBlockRightColoredStart, color);
}
else {
html = this.htmlCustomize(wDiff.htmlBlockRightStart, markColorcolor) + string + wDiff.htmlBlockRightEnd;
}
}
htmlFrags.push(html);
Line 2,862 ⟶ 2,849:
if (version == 'old') {
if (movedGroup.blockStart < groupsSort[group].blockStart) {
if (wDiff.coloredBlocks === falsetrue) {
html = this.htmlCustomize(wDiff.htmlBlockLeftStart, markColor) + string + wDiff.htmlBlockLeftEnd;
html = this.htmlCustomize(wDiff.htmlBlockLeftColoredStart, markColor) + string + wDiff.htmlBlockLeftEnd;
}
else {
html = this.htmlCustomize(wDiff.htmlBlockLeftStart, markColor) + string + wDiff.htmlBlockLeftEnd;
}
}
else {
if (wDiff.coloredBlocks === falsetrue) {
html = this.htmlCustomize(wDiff.htmlBlockRightStart, markColor) + string + wDiff.htmlBlockRightEnd;
html = this.htmlCustomize(wDiff.htmlBlockRightColoredStart, markColor) + string + wDiff.htmlBlockRightEnd;
}
else {
html = this.htmlCustomize(wDiff.htmlBlockRightStart, markColor) + string + wDiff.htmlBlockRightEnd;
}
}
}
Line 2,881 ⟶ 2,878:
else {
if (movedGroup.blockStart < groupsSort[group].blockStart) {
htmlif = this.htmlCustomize(wDiff.htmlMarkLeft,coloredBlocks markColor,=== stringtrue); {
html = this.htmlCustomize(wDiff.htmlMarkLeftColored, markColor, string);
}
else {
html = this.htmlCustomize(wDiff.htmlMarkLeft, markColor, string);
}
}
else {
htmlif = this.htmlCustomize(wDiff.htmlMarkRight,coloredBlocks markColor,=== stringtrue); {
html = this.htmlCustomize(wDiff.htmlMarkRightColored, markColor, string);
}
else {
html = this.htmlCustomize(wDiff.htmlMarkRight, markColor, string);
}
}
}
Line 3,328 ⟶ 3,335:
 
this.htmlFormat = function () {
console.trace();
 
this.html = this.html.replace(/\t/g, wDiff.htmlTab);
this.html = wDiff.htmlContainerStart + wDiff.htmlFragmentStart + this.html + wDiff.htmlFragmentEnd + wDiff.htmlContainerEnd;
return;
};