summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/diff_notes/services/resolve.js.es6
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2016-07-26 14:30:57 +0100
committerPhil Hughes <me@iamphill.com>2016-07-26 14:30:57 +0100
commit5e8606562df861e22d80e888457300f862aeb89b (patch)
treeaa7789b6464ea876717f16846070869d1caa5d59 /app/assets/javascripts/diff_notes/services/resolve.js.es6
parent6537a4a8feac08031b3be2133f6756afb3310254 (diff)
downloadgitlab-ce-5e8606562df861e22d80e888457300f862aeb89b.tar.gz
Added ability to toggle resolving by commenting
Diffstat (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6')
-rw-r--r--app/assets/javascripts/diff_notes/services/resolve.js.es619
1 files changed, 19 insertions, 0 deletions
diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6
index 052f3c5f721..c5cfbfe2d91 100644
--- a/app/assets/javascripts/diff_notes/services/resolve.js.es6
+++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6
@@ -23,6 +23,25 @@
return this.noteResource.delete({ noteId }, {});
}
+ toggleResolveForDiscussion(namespace, mergeRequestId, discussionId) {
+ const noteIds = CommentsStore.notesForDiscussion(discussionId);
+ let isResolved = true;
+
+ for (const noteId of noteIds) {
+ const resolved = CommentsStore.state[discussionId][noteId];
+
+ if (!resolved) {
+ isResolved = false;
+ }
+ }
+
+ if (isResolved) {
+ return this.unResolveAll(namespace, mergeRequestId, discussionId);
+ } else {
+ return this.resolveAll(namespace, mergeRequestId, discussionId);
+ }
+ }
+
resolveAll(namespace, mergeRequestId, discussionId) {
this.setCSRF();
Vue.http.options.root = `/${namespace}`;