From a37176cc26020e74b3fd66ec7c2b5312c10e97ba Mon Sep 17 00:00:00 2001 From: Paulo Bu Date: Sun, 27 Dec 2015 11:08:50 +0100 Subject: [PATCH] Refactors HTML code into their own methods --- src/line-by-line-printer.js | 91 ++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 41 deletions(-) diff --git a/src/line-by-line-printer.js b/src/line-by-line-printer.js index 1f248d9..e464bb4 100644 --- a/src/line-by-line-printer.js +++ b/src/line-by-line-printer.js @@ -16,42 +16,44 @@ this.config = config; } + LineByLinePrinter.prototype.makeFileDiffHtml = function(file, diffs) { + return '
\n' + + '
\n' + + '
\n' + + ' ' + + ' +' + file.addedLines + '\n' + + ' \n' + + ' ' + + ' -' + file.deletedLines + '\n' + + ' \n' + + '
\n' + + '
' + printerUtils.getDiffName(file) + '
\n' + + '
\n' + + '
\n' + + '
\n' + + ' \n' + + ' \n' + + ' ' + diffs + + ' \n' + + '
\n' + + '
\n' + + '
\n' + + '
\n'; + }; + LineByLinePrinter.prototype.generateLineByLineJsonHtml = function(diffFiles) { var that = this; - return '
\n' + - diffFiles.map(function(file) { - + var htmlDiffs = diffFiles.map(function(file) { var diffs; if (file.blocks.length) { diffs = that._generateFileHtml(file); } else { diffs = that._generateEmptyDiff(); } + return that.makeFileDiffHtml(file, diffs); + }); - return '
\n' + - '
\n' + - '
\n' + - ' ' + - ' +' + file.addedLines + '\n' + - ' \n' + - ' ' + - ' -' + file.deletedLines + '\n' + - ' \n' + - '
\n' + - '
' + printerUtils.getDiffName(file) + '
\n' + - '
\n' + - '
\n' + - '
\n' + - ' \n' + - ' \n' + - ' ' + diffs + - ' \n' + - '
\n' + - '
\n' + - '
\n' + - '
\n'; - }).join('\n') + - '
\n'; + return '
\n' + htmlDiffs.join('\n') + '
\n'; }; var matcher = Rematch.rematch(function(a, b) { @@ -61,17 +63,20 @@ return Rematch.distance(amod, bmod); }); - LineByLinePrinter.prototype._generateFileHtml = function(file) { - var that = this; - return file.blocks.map(function(block) { - - var lines = '\n' + + LineByLinePrinter.prototype.makeColumnLineNumberHtml = function(block) { + return '\n' + ' \n' + ' ' + '
' + utils.escape(block.header) + '
' + ' \n' + '\n'; + }; + LineByLinePrinter.prototype._generateFileHtml = function(file) { + var that = this; + return file.blocks.map(function(block) { + + var lines = that.makeColumnLineNumberHtml(block); var oldLines = []; var newLines = []; @@ -172,6 +177,18 @@ return lines; }; + LineByLinePrinter.prototype.makeLineHtml = function(type, oldNumber, newNumber, htmlPrefix, htmlContent) { + return '\n' + + ' ' + + '
' + utils.valueOrEmpty(oldNumber) + '
' + + '
' + utils.valueOrEmpty(newNumber) + '
' + + ' \n' + + ' ' + + '
' + htmlPrefix + htmlContent + '
' + + ' \n' + + '\n'; + }; + LineByLinePrinter.prototype._generateLineHtml = function(type, oldNumber, newNumber, content, prefix) { var htmlPrefix = ''; if (prefix) { @@ -183,15 +200,7 @@ htmlContent = '' + content + ''; } - return '\n' + - ' ' + - '
' + utils.valueOrEmpty(oldNumber) + '
' + - '
' + utils.valueOrEmpty(newNumber) + '
' + - ' \n' + - ' ' + - '
' + htmlPrefix + htmlContent + '
' + - ' \n' + - '\n'; + return this.makeLineHtml(type, oldNumber, newNumber, htmlPrefix, htmlContent); }; LineByLinePrinter.prototype._generateEmptyDiff = function() {