diff options
author | Fatih Acet <acetfatih@gmail.com> | 2016-07-31 18:46:33 +0300 |
---|---|---|
committer | Fatih Acet <acetfatih@gmail.com> | 2016-08-12 23:24:45 +0300 |
commit | b0b5e9f1618bb2607e60a2c98840f052e042433f (patch) | |
tree | 5aad7e6711fb5b0347d644463f14d96469b243a9 /app/assets/javascripts/merge_conflict_data_provider.js.es6 | |
parent | 85507b25e40ecbb99ec0e86519d383bea32e0b64 (diff) | |
download | gitlab-ce-b0b5e9f1618bb2607e60a2c98840f052e042433f.tar.gz |
Refactor data parser to remove duplicated objects.
Diffstat (limited to 'app/assets/javascripts/merge_conflict_data_provider.js.es6')
-rw-r--r-- | app/assets/javascripts/merge_conflict_data_provider.js.es6 | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/app/assets/javascripts/merge_conflict_data_provider.js.es6 b/app/assets/javascripts/merge_conflict_data_provider.js.es6 index 37b949948f9..d2ae3f59da5 100644 --- a/app/assets/javascripts/merge_conflict_data_provider.js.es6 +++ b/app/assets/javascripts/merge_conflict_data_provider.js.es6 @@ -56,21 +56,19 @@ window.MergeConflictDataProvider = class MergeConflictDataProvider { lines.forEach( (line) => { const { type } = line; + if (conflict) { if (type === 'old') { - line = { lineType: 'conflict', hasConflict: true, lineNumber: line.old_line, richText: line.rich_text, section: 'head', id, isSelected: false, isUnselected: false, isOrigin: true } - file.parallelLines.left.push(line); + file.parallelLines.left.push(this.getLineForParallelView(line, id, 'conflict')); } else if (type === 'new') { - line = { lineType: 'conflict', hasConflict: true, lineNumber: line.new_line, richText: line.rich_text, section: 'origin', id, isSelected: false, isUnselected: false, isHead: true } - file.parallelLines.right.push(line); + file.parallelLines.right.push(this.getLineForParallelView(line, id, 'conflict', true)); } } else { - const lineType = line.type || 'context'; - const hasMatch = line.type === 'match'; - file.parallelLines.left.push({ lineType, hasMatch, lineNumber: line.old_line, richText: line.rich_text }); - file.parallelLines.right.push({ lineType, hasMatch, lineNumber: line.new_line, richText: line.rich_text }); + const lineType = type || 'context'; + file.parallelLines.left.push (this.getLineForParallelView(line, id, lineType)); + file.parallelLines.right.push(this.getLineForParallelView(line, id, lineType)); } }); }); @@ -202,6 +200,25 @@ window.MergeConflictDataProvider = class MergeConflictDataProvider { line.isUnselected = false; } + getLineForParallelView(line, id, lineType, isHead) { + const { old_line, new_line, rich_text } = line; + const hasConflict = lineType === 'conflict'; + + return { + id, + lineType, + hasConflict, + isHead: hasConflict && isHead, + isOrigin: hasConflict && !isHead, + hasMatch: lineType === 'match', + lineNumber: isHead ? new_line : old_line, + section: isHead ? 'head' : 'origin', + richText: rich_text, + isSelected: false, + isUnselected: false + } + } + getHeadHeaderLine(id) { return { |