diff2html/src/file-list-printer.js

48 lines
1.2 KiB
JavaScript
Raw Normal View History

/*
*
* FileListPrinter (file-list-printer.js)
* Author: nmatpt
*
*/
(function() {
var printerUtils = require('./printer-utils.js').PrinterUtils;
2016-10-09 15:41:54 +00:00
var hoganUtils;
2016-05-09 18:38:55 +00:00
var baseTemplatesPath = 'file-summary';
var iconsBaseTemplatesPath = 'icon';
2016-05-09 18:38:55 +00:00
2016-10-09 15:41:54 +00:00
function FileListPrinter(config) {
this.config = config;
var HoganJsUtils = require('./hoganjs-utils.js').HoganJsUtils;
hoganUtils = new HoganJsUtils(config);
}
FileListPrinter.prototype.generateFileList = function(diffFiles) {
var lineTemplate = hoganUtils.template(baseTemplatesPath, 'line');
2016-05-09 18:38:55 +00:00
var files = diffFiles.map(function(file) {
var fileTypeName = printerUtils.getFileTypeIcon(file);
var iconTemplate = hoganUtils.template(iconsBaseTemplatesPath, fileTypeName);
return lineTemplate.render({
2016-05-09 18:38:55 +00:00
fileHtmlId: printerUtils.getHtmlId(file),
fileName: printerUtils.getDiffName(file),
deletedLines: '-' + file.deletedLines,
addedLines: '+' + file.addedLines
}, {
fileIcon: iconTemplate
2016-05-09 18:38:55 +00:00
});
}).join('\n');
return hoganUtils.render(baseTemplatesPath, 'wrapper', {
filesNumber: diffFiles.length,
files: files
});
};
2016-10-09 15:41:54 +00:00
module.exports.FileListPrinter = FileListPrinter;
})();