summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/notes/stores/getters.js
diff options
context:
space:
mode:
authorAndré Luís <me@andr3.net>2018-12-08 07:19:03 +0000
committerPhil Hughes <me@iamphill.com>2018-12-08 07:19:03 +0000
commit85daddbec99cc0578277946e0fb8aee1abfaa8c8 (patch)
treec09f9eb1eabeaaaaa2c62bafe6b167c37acb2dfe /app/assets/javascripts/notes/stores/getters.js
parentf3299596c7d9d7b042859253606bab9972ed4a13 (diff)
downloadgitlab-ce-85daddbec99cc0578277946e0fb8aee1abfaa8c8.tar.gz
Resolve "Navigating unresolved discussions on Merge Request page"
Diffstat (limited to 'app/assets/javascripts/notes/stores/getters.js')
-rw-r--r--app/assets/javascripts/notes/stores/getters.js13
1 files changed, 12 insertions, 1 deletions
diff --git a/app/assets/javascripts/notes/stores/getters.js b/app/assets/javascripts/notes/stores/getters.js
index 2ed8aac059a..0ffc0cb2593 100644
--- a/app/assets/javascripts/notes/stores/getters.js
+++ b/app/assets/javascripts/notes/stores/getters.js
@@ -57,6 +57,17 @@ export const unresolvedDiscussionsCount = state => state.unresolvedDiscussionsCo
export const resolvableDiscussionsCount = state => state.resolvableDiscussionsCount;
export const hasUnresolvedDiscussions = state => state.hasUnresolvedDiscussions;
+export const showJumpToNextDiscussion = (state, getters) => (discussionId, mode = 'discussion') => {
+ const orderedDiffs =
+ mode !== 'discussion'
+ ? getters.unresolvedDiscussionsIdsByDiff
+ : getters.unresolvedDiscussionsIdsByDate;
+
+ const indexOf = orderedDiffs.indexOf(discussionId);
+
+ return indexOf !== -1 && indexOf < orderedDiffs.length - 1;
+};
+
export const isDiscussionResolved = (state, getters) => discussionId =>
getters.resolvedDiscussionsById[discussionId] !== undefined;
@@ -104,7 +115,7 @@ export const unresolvedDiscussionsIdsByDate = (state, getters) =>
// line numbers.
export const unresolvedDiscussionsIdsByDiff = (state, getters) =>
getters.allResolvableDiscussions
- .filter(d => !d.resolved)
+ .filter(d => !d.resolved && d.active)
.sort((a, b) => {
if (!a.diff_file || !b.diff_file) {
return 0;