Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2016-08-01 13:31:35 +0300
committerPhil Hughes <me@iamphill.com>2016-08-01 13:31:35 +0300
commitee62a2fd5ac44d67fd60e75989f03ea653aa2c54 (patch)
tree9f2eee4cf6f9902013958ebe850991ca5440526a /app/assets/javascripts/diff_notes/services/resolve.js.es6
parentd6e724d90fd8a5fd93ef1f4963e22ccaf29b06de (diff)
Moved update headline HTML into discussion model
Diffstat (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6')
-rw-r--r--app/assets/javascripts/diff_notes/services/resolve.js.es666
1 files changed, 26 insertions, 40 deletions
diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6
index fe07ab39d5e..b9fe6caf7e8 100644
--- a/app/assets/javascripts/diff_notes/services/resolve.js.es6
+++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6
@@ -28,13 +28,34 @@
}
toggleResolveForDiscussion(namespace, mergeRequestId, discussionId) {
- const isResolved = CommentsStore.state[discussionId].isResolved();
+ const discussion = CommentsStore.state[discussionId],
+ isResolved = discussion.isResolved();
+ let promise;
if (isResolved) {
- return this.unResolveAll(namespace, mergeRequestId, discussionId);
+ promise = this.unResolveAll(namespace, mergeRequestId, discussionId);
} else {
- return this.resolveAll(namespace, mergeRequestId, discussionId);
+ promise = this.resolveAll(namespace, mergeRequestId, discussionId);
}
+
+ promise.then((response) => {
+ discussion.loading = false;
+
+ if (response.status === 200) {
+ const data = response.json();
+ const resolved_by = data ? data.resolved_by : null;
+
+ if (isResolved) {
+ discussion.unResolveAllNotes();
+ } else {
+ discussion.resolveAllNotes(resolved_by);
+ }
+
+ discussion.updateHeadline(data);
+ } else {
+ new Flash('An error occurred when trying to resolve a discussion. Please try again.', 'alert');
+ }
+ })
}
resolveAll(namespace, mergeRequestId, discussionId) {
@@ -51,18 +72,7 @@
return this.discussionResource.save({
mergeRequestId,
discussionId
- }, {}).then((response) => {
- if (response.status === 200) {
- const data = response.json();
- const resolved_by = data ? data.resolved_by : null;
- discussion.resolveAllNotes(resolved_by);
- discussion.loading = false;
-
- this.updateDiscussionHeadline(discussionId, data);
- } else {
- new Flash('An error occurred when trying to resolve a discussion. Please try again.', 'alert');
- }
- });
+ }, {});
}
unResolveAll(namespace, mergeRequestId, discussionId) {
@@ -76,31 +86,7 @@
return this.discussionResource.delete({
mergeRequestId,
discussionId
- }, {}).then((response) => {
- if (response.status === 200) {
- const data = response.json();
- discussion.unResolveAllNotes();
- discussion.loading = false;
-
- this.updateDiscussionHeadline(discussionId, data);
- } else {
- new Flash('An error occurred when trying to unresolve a discussion. Please try again.', 'alert');
- }
- });
- }
-
- updateDiscussionHeadline(discussionId, data) {
- const $discussionHeadline = $(`.discussion[data-discussion-id="${discussionId}"] .js-discussion-headline`);
-
- if (data.discussion_headline_html) {
- if ($discussionHeadline.length) {
- $discussionHeadline.replaceWith(data.discussion_headline_html);
- } else {
- $(`.discussion[data-discussion-id="${discussionId}"] .discussion-header`).append(data.discussion_headline_html);
- }
- } else {
- $discussionHeadline.remove();
- }
+ }, {});
}
}