diff options
Diffstat (limited to 'app/assets/javascripts/notes/stores/getters.js')
-rw-r--r-- | app/assets/javascripts/notes/stores/getters.js | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/app/assets/javascripts/notes/stores/getters.js b/app/assets/javascripts/notes/stores/getters.js index 4806699cb2c..36d8e0c1aa1 100644 --- a/app/assets/javascripts/notes/stores/getters.js +++ b/app/assets/javascripts/notes/stores/getters.js @@ -114,21 +114,21 @@ export const unresolvedDiscussionsIdsByDiff = (state, getters) => getters.allResolvableDiscussions .filter(d => !d.resolved) .sort((a, b) => { - if (!a.line_code || !b.line_code || !a.diff_file || !b.diff_file) { + if (!a.diff_file || !b.diff_file) { return 0; } - // Extract line numbers for comparison - const regexpExtractLineNumbers = /([0-9]*)_([0-9]*)$/; - const aLines = a.line_code.match(regexpExtractLineNumbers); - const bLines = b.line_code.match(regexpExtractLineNumbers); // Get file names comparison result const filenameComparison = a.diff_file.file_path.localeCompare(b.diff_file.file_path); + // Get the line numbers, to compare within the same file + const aLines = [a.position.formatter.new_line, a.position.formatter.old_line]; + const bLines = [b.position.formatter.new_line, b.position.formatter.old_line]; + return filenameComparison < 0 || (filenameComparison === 0 && // .max() because one of them might be zero (if removed/added) - Math.max(aLines[1], aLines[2]) < Math.max(bLines[1], bLines[2])) + Math.max(aLines[0], aLines[1]) < Math.max(bLines[0], bLines[1])) ? -1 : 1; }) |