summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/merge_conflict_data_provider.js.es6
diff options
context:
space:
mode:
authorFatih Acet <acetfatih@gmail.com>2016-07-31 18:46:33 +0300
committerFatih Acet <acetfatih@gmail.com>2016-08-12 23:24:45 +0300
commitb0b5e9f1618bb2607e60a2c98840f052e042433f (patch)
tree5aad7e6711fb5b0347d644463f14d96469b243a9 /app/assets/javascripts/merge_conflict_data_provider.js.es6
parent85507b25e40ecbb99ec0e86519d383bea32e0b64 (diff)
downloadgitlab-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.es633
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 {