From 6537a4a8feac08031b3be2133f6756afb3310254 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Tue, 26 Jul 2016 13:44:51 +0100 Subject: Correctly resolves/unresolves discussions --- .../javascripts/diff_notes/services/resolve.js.es6 | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 app/assets/javascripts/diff_notes/services/resolve.js.es6 (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6 new file mode 100644 index 00000000000..052f3c5f721 --- /dev/null +++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6 @@ -0,0 +1,60 @@ +((w) => { + class ResolveServiceClass { + constructor() { + this.noteResource = Vue.resource('notes{/noteId}/resolve'); + this.discussionResource = Vue.resource('merge_requests{/mergeRequestId}/discussions{/discussionId}/resolve'); + } + + setCSRF() { + Vue.http.headers.common['X-CSRF-Token'] = $.rails.csrfToken(); + } + + resolve(namespace, noteId) { + this.setCSRF(); + Vue.http.options.root = `/${namespace}`; + + return this.noteResource.save({ noteId }, {}); + } + + unresolve(namespace, noteId) { + this.setCSRF(); + Vue.http.options.root = `/${namespace}`; + + return this.noteResource.delete({ noteId }, {}); + } + + resolveAll(namespace, mergeRequestId, discussionId) { + this.setCSRF(); + Vue.http.options.root = `/${namespace}`; + + CommentsStore.loading[discussionId] = true; + + return this.discussionResource.save({ + mergeRequestId, + discussionId + }, {}).then((response) => { + CommentsStore.loading[discussionId] = false; + + CommentsStore.updateCommentsForDiscussion(discussionId, true); + }); + } + + unResolveAll(namespace, mergeRequestId, discussionId) { + this.setCSRF(); + Vue.http.options.root = `/${namespace}`; + + CommentsStore.loading[discussionId] = true; + + return this.discussionResource.delete({ + mergeRequestId, + discussionId + }, {}).then((response) => { + CommentsStore.loading[discussionId] = false; + + CommentsStore.updateCommentsForDiscussion(discussionId, false); + }); + } + } + + w.ResolveService = new ResolveServiceClass(); +}(window)); -- cgit v1.2.1 From 5e8606562df861e22d80e888457300f862aeb89b Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Tue, 26 Jul 2016 14:30:57 +0100 Subject: Added ability to toggle resolving by commenting --- .../javascripts/diff_notes/services/resolve.js.es6 | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') 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}`; -- cgit v1.2.1 From a678fef83611ea873d252941586c18171cd6ba07 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Tue, 26 Jul 2016 15:47:19 +0100 Subject: Added resolved by users name into tooltip --- app/assets/javascripts/diff_notes/services/resolve.js.es6 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6 index c5cfbfe2d91..29de46f2dc7 100644 --- a/app/assets/javascripts/diff_notes/services/resolve.js.es6 +++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6 @@ -28,7 +28,7 @@ let isResolved = true; for (const noteId of noteIds) { - const resolved = CommentsStore.state[discussionId][noteId]; + const resolved = CommentsStore.state[discussionId][noteId].resolved; if (!resolved) { isResolved = false; @@ -52,9 +52,11 @@ mergeRequestId, discussionId }, {}).then((response) => { + const data = response.data; + const user = data ? data.resolved_by : null; CommentsStore.loading[discussionId] = false; - CommentsStore.updateCommentsForDiscussion(discussionId, true); + CommentsStore.updateCommentsForDiscussion(discussionId, true, user); }); } -- cgit v1.2.1 From 86446846e963ea1304b56fa74b4ca795a491bbb5 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Wed, 27 Jul 2016 16:57:48 +0100 Subject: Added tests for resolving comments feature --- app/assets/javascripts/diff_notes/services/resolve.js.es6 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6 index 29de46f2dc7..28830f4af4e 100644 --- a/app/assets/javascripts/diff_notes/services/resolve.js.es6 +++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6 @@ -27,7 +27,8 @@ const noteIds = CommentsStore.notesForDiscussion(discussionId); let isResolved = true; - for (const noteId of noteIds) { + for (let i = 0; i < noteIds.length; i++) { + const noteId = noteIds[i]; const resolved = CommentsStore.state[discussionId][noteId].resolved; if (!resolved) { -- cgit v1.2.1 From 2247d8a4fd7f77e1a4b8a50becdd08643435f19d Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Wed, 27 Jul 2016 18:34:04 +0100 Subject: Updates the text above discussions when resolving notes & discussions --- .../javascripts/diff_notes/services/resolve.js.es6 | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6 index 28830f4af4e..012ea3769c1 100644 --- a/app/assets/javascripts/diff_notes/services/resolve.js.es6 +++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6 @@ -58,6 +58,8 @@ CommentsStore.loading[discussionId] = false; CommentsStore.updateCommentsForDiscussion(discussionId, true, user); + + this.updateUpdatedHtml(discussionId, data); }); } @@ -71,11 +73,28 @@ mergeRequestId, discussionId }, {}).then((response) => { + const data = response.data; CommentsStore.loading[discussionId] = false; CommentsStore.updateCommentsForDiscussion(discussionId, false); + + this.updateUpdatedHtml(discussionId, data); }); } + + updateUpdatedHtml(discussionId, data) { + const $discussionHeadline = $(`.${discussionId} .js-discussion-headline`); + + if (data.updated_html) { + if ($discussionHeadline.length) { + $discussionHeadline.replaceWith(data.updated_html); + } else { + $(`.${discussionId} .discussion-header`).append(data.updated_html); + } + } else { + $discussionHeadline.remove(); + } + } } w.ResolveService = new ResolveServiceClass(); -- cgit v1.2.1 From 8b1a2e4d0b635c6040cd7e4a7a5870ffae516cb0 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Thu, 28 Jul 2016 15:07:47 +0100 Subject: Moved the parentheses outside to make Babel happy --- app/assets/javascripts/diff_notes/services/resolve.js.es6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6 index 012ea3769c1..64d44085a64 100644 --- a/app/assets/javascripts/diff_notes/services/resolve.js.es6 +++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6 @@ -98,4 +98,4 @@ } w.ResolveService = new ResolveServiceClass(); -}(window)); +})(window); -- cgit v1.2.1 From 27471d01c2ec2f3cfcc19211892954568eafe68d Mon Sep 17 00:00:00 2001 From: Douwe Maan Date: Thu, 28 Jul 2016 20:09:50 -0600 Subject: =?UTF-8?q?Don=E2=80=99t=20depend=20on=20unique=20class.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/assets/javascripts/diff_notes/services/resolve.js.es6 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6 index 64d44085a64..50392e76fbe 100644 --- a/app/assets/javascripts/diff_notes/services/resolve.js.es6 +++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6 @@ -83,13 +83,13 @@ } updateUpdatedHtml(discussionId, data) { - const $discussionHeadline = $(`.${discussionId} .js-discussion-headline`); + const $discussionHeadline = $(`.discussion[data-discussion-id="${discussionId}"] .js-discussion-headline`); - if (data.updated_html) { + if (data.discussion_headline_html) { if ($discussionHeadline.length) { - $discussionHeadline.replaceWith(data.updated_html); + $discussionHeadline.replaceWith(data.discussion_headline_html); } else { - $(`.${discussionId} .discussion-header`).append(data.updated_html); + $(`.discussion[data-discussion-id="${discussionId}"] .discussion-header`).append(data.discussion_headline_html); } } else { $discussionHeadline.remove(); -- cgit v1.2.1 From efb74875cfe1a1e2b3696f0129b819fc8e204876 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Fri, 29 Jul 2016 11:19:56 +0100 Subject: Moved most of the data handling into discussion & notes models Reduced some duplicated code with compiling components Fixed bug with resolve button tooltip not updating after resolving discussion --- .../javascripts/diff_notes/services/resolve.js.es6 | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6 index 50392e76fbe..0be938448b2 100644 --- a/app/assets/javascripts/diff_notes/services/resolve.js.es6 +++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6 @@ -24,17 +24,7 @@ } toggleResolveForDiscussion(namespace, mergeRequestId, discussionId) { - const noteIds = CommentsStore.notesForDiscussion(discussionId); - let isResolved = true; - - for (let i = 0; i < noteIds.length; i++) { - const noteId = noteIds[i]; - const resolved = CommentsStore.state[discussionId][noteId].resolved; - - if (!resolved) { - isResolved = false; - } - } + const isResolved = CommentsStore.state[discussionId].isResolved(); if (isResolved) { return this.unResolveAll(namespace, mergeRequestId, discussionId); @@ -55,9 +45,11 @@ }, {}).then((response) => { const data = response.data; const user = data ? data.resolved_by : null; + const discussion = CommentsStore.state[discussionId]; + discussion.resolveAllNotes(user); + CommentsStore.loading[discussionId] = false; - CommentsStore.updateCommentsForDiscussion(discussionId, true, user); this.updateUpdatedHtml(discussionId, data); }); @@ -74,9 +66,10 @@ discussionId }, {}).then((response) => { const data = response.data; - CommentsStore.loading[discussionId] = false; + const discussion = CommentsStore.state[discussionId]; + discussion.unResolveAllNotes(); - CommentsStore.updateCommentsForDiscussion(discussionId, false); + CommentsStore.loading[discussionId] = false; this.updateUpdatedHtml(discussionId, data); }); -- cgit v1.2.1 From 4e679819f2bcb48664489ed78721fd455c45f95a Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Fri, 29 Jul 2016 11:52:08 +0100 Subject: Fixed failing tests --- .../javascripts/diff_notes/services/resolve.js.es6 | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6 index 0be938448b2..d929fba06b4 100644 --- a/app/assets/javascripts/diff_notes/services/resolve.js.es6 +++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6 @@ -34,10 +34,12 @@ } resolveAll(namespace, mergeRequestId, discussionId) { + const discussion = CommentsStore.state[discussionId]; + this.setCSRF(); Vue.http.options.root = `/${namespace}`; - CommentsStore.loading[discussionId] = true; + discussion.loading = true; return this.discussionResource.save({ mergeRequestId, @@ -45,31 +47,28 @@ }, {}).then((response) => { const data = response.data; const user = data ? data.resolved_by : null; - const discussion = CommentsStore.state[discussionId]; discussion.resolveAllNotes(user); - - CommentsStore.loading[discussionId] = false; - + discussion.loading = false; this.updateUpdatedHtml(discussionId, data); }); } unResolveAll(namespace, mergeRequestId, discussionId) { + const discussion = CommentsStore.state[discussionId]; + this.setCSRF(); Vue.http.options.root = `/${namespace}`; - CommentsStore.loading[discussionId] = true; + discussion.loading = true; return this.discussionResource.delete({ mergeRequestId, discussionId }, {}).then((response) => { const data = response.data; - const discussion = CommentsStore.state[discussionId]; discussion.unResolveAllNotes(); - - CommentsStore.loading[discussionId] = false; + discussion.loading = false; this.updateUpdatedHtml(discussionId, data); }); -- cgit v1.2.1 From 03ea267f67ba749673037edf9d210eda4e918a99 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Fri, 29 Jul 2016 15:50:58 +0100 Subject: Added tests for hidden jump to button --- .../javascripts/diff_notes/services/resolve.js.es6 | 26 ++++++++++++++-------- 1 file changed, 17 insertions(+), 9 deletions(-) (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6 index d929fba06b4..d15959c0909 100644 --- a/app/assets/javascripts/diff_notes/services/resolve.js.es6 +++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6 @@ -45,12 +45,16 @@ mergeRequestId, discussionId }, {}).then((response) => { - const data = response.data; - const user = data ? data.resolved_by : null; - discussion.resolveAllNotes(user); - discussion.loading = false; + if (response.status === 200) { + const data = response.data; + const user = data ? data.resolved_by : null; + discussion.resolveAllNotes(user); + discussion.loading = false; - this.updateUpdatedHtml(discussionId, data); + this.updateUpdatedHtml(discussionId, data); + } else { + new Flash('An error occurred when trying to resolve a discussion. Please try again.', 'alert'); + } }); } @@ -66,11 +70,15 @@ mergeRequestId, discussionId }, {}).then((response) => { - const data = response.data; - discussion.unResolveAllNotes(); - discussion.loading = false; + if (response.status === 200) { + const data = response.data; + discussion.unResolveAllNotes(); + discussion.loading = false; - this.updateUpdatedHtml(discussionId, data); + this.updateUpdatedHtml(discussionId, data); + } else { + new Flash('An error occurred when trying to unresolve a discussion. Please try again.', 'alert'); + } }); } -- cgit v1.2.1 From c51cbc1f2f3b590c4f38198dd886c4e372b4e476 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Mon, 1 Aug 2016 10:06:31 +0100 Subject: Updated issues with jump tp button Fixed styling bugs --- .../javascripts/diff_notes/services/resolve.js.es6 | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6 index d15959c0909..a1ddd260c65 100644 --- a/app/assets/javascripts/diff_notes/services/resolve.js.es6 +++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6 @@ -11,14 +11,18 @@ resolve(namespace, noteId) { this.setCSRF(); - Vue.http.options.root = `/${namespace}`; + if (Vue.http.options.root !== `/${namespace}`) { + Vue.http.options.root = `/${namespace}`; + } return this.noteResource.save({ noteId }, {}); } unresolve(namespace, noteId) { this.setCSRF(); - Vue.http.options.root = `/${namespace}`; + if (Vue.http.options.root !== `/${namespace}`) { + Vue.http.options.root = `/${namespace}`; + } return this.noteResource.delete({ noteId }, {}); } @@ -37,18 +41,22 @@ const discussion = CommentsStore.state[discussionId]; this.setCSRF(); - Vue.http.options.root = `/${namespace}`; + + if (Vue.http.options.root !== `/${namespace}`) { + Vue.http.options.root = `/${namespace}`; + } discussion.loading = true; + console.log(discussion.loading); return this.discussionResource.save({ mergeRequestId, discussionId }, {}).then((response) => { if (response.status === 200) { - const data = response.data; - const user = data ? data.resolved_by : null; - discussion.resolveAllNotes(user); + const data = response.json(); + const resolved_by = data ? data.resolved_by : null; + discussion.resolveAllNotes(resolved_by); discussion.loading = false; this.updateUpdatedHtml(discussionId, data); @@ -71,7 +79,7 @@ discussionId }, {}).then((response) => { if (response.status === 200) { - const data = response.data; + const data = response.json(); discussion.unResolveAllNotes(); discussion.loading = false; -- cgit v1.2.1 From f65d8eb3261f717340a8e8fd8a3fe65bd9fd2c20 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Mon, 1 Aug 2016 10:15:15 +0100 Subject: Updated method name to be more descriptive --- app/assets/javascripts/diff_notes/services/resolve.js.es6 | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6 index a1ddd260c65..fe07ab39d5e 100644 --- a/app/assets/javascripts/diff_notes/services/resolve.js.es6 +++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6 @@ -47,7 +47,6 @@ } discussion.loading = true; - console.log(discussion.loading); return this.discussionResource.save({ mergeRequestId, @@ -59,7 +58,7 @@ discussion.resolveAllNotes(resolved_by); discussion.loading = false; - this.updateUpdatedHtml(discussionId, data); + this.updateDiscussionHeadline(discussionId, data); } else { new Flash('An error occurred when trying to resolve a discussion. Please try again.', 'alert'); } @@ -83,14 +82,14 @@ discussion.unResolveAllNotes(); discussion.loading = false; - this.updateUpdatedHtml(discussionId, data); + this.updateDiscussionHeadline(discussionId, data); } else { new Flash('An error occurred when trying to unresolve a discussion. Please try again.', 'alert'); } }); } - updateUpdatedHtml(discussionId, data) { + updateDiscussionHeadline(discussionId, data) { const $discussionHeadline = $(`.discussion[data-discussion-id="${discussionId}"] .js-discussion-headline`); if (data.discussion_headline_html) { -- cgit v1.2.1 From ee62a2fd5ac44d67fd60e75989f03ea653aa2c54 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Mon, 1 Aug 2016 11:31:35 +0100 Subject: Moved update headline HTML into discussion model --- .../javascripts/diff_notes/services/resolve.js.es6 | 66 +++++++++------------- 1 file changed, 26 insertions(+), 40 deletions(-) (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') 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(); - } + }, {}); } } -- cgit v1.2.1 From 433f1c42c3958381a6af539e9a9ab206c749d9f4 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Thu, 4 Aug 2016 09:52:17 +0100 Subject: Comment & resolve button no longer looks for can-resolve attribute Fixed some bugs when removing notes --- .../javascripts/diff_notes/services/resolve.js.es6 | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6 index b9fe6caf7e8..5e5c476b514 100644 --- a/app/assets/javascripts/diff_notes/services/resolve.js.es6 +++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6 @@ -9,20 +9,21 @@ Vue.http.headers.common['X-CSRF-Token'] = $.rails.csrfToken(); } - resolve(namespace, noteId) { + prepareRequest(namespace) { this.setCSRF(); if (Vue.http.options.root !== `/${namespace}`) { Vue.http.options.root = `/${namespace}`; } + } + + resolve(namespace, noteId) { + this.prepareRequest(namespace); return this.noteResource.save({ noteId }, {}); } unresolve(namespace, noteId) { - this.setCSRF(); - if (Vue.http.options.root !== `/${namespace}`) { - Vue.http.options.root = `/${namespace}`; - } + this.prepareRequest(namespace); return this.noteResource.delete({ noteId }, {}); } @@ -61,11 +62,7 @@ resolveAll(namespace, mergeRequestId, discussionId) { const discussion = CommentsStore.state[discussionId]; - this.setCSRF(); - - if (Vue.http.options.root !== `/${namespace}`) { - Vue.http.options.root = `/${namespace}`; - } + this.prepareRequest(namespace); discussion.loading = true; @@ -78,8 +75,7 @@ unResolveAll(namespace, mergeRequestId, discussionId) { const discussion = CommentsStore.state[discussionId]; - this.setCSRF(); - Vue.http.options.root = `/${namespace}`; + this.prepareRequest(namespace); discussion.loading = true; -- cgit v1.2.1 From ffbba55bc822c6cd019ff6b1495335cc1426def0 Mon Sep 17 00:00:00 2001 From: Douwe Maan Date: Thu, 4 Aug 2016 18:01:32 -0700 Subject: Implement Jump behavior for Changes tab --- app/assets/javascripts/diff_notes/services/resolve.js.es6 | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'app/assets/javascripts/diff_notes/services/resolve.js.es6') diff --git a/app/assets/javascripts/diff_notes/services/resolve.js.es6 b/app/assets/javascripts/diff_notes/services/resolve.js.es6 index 5e5c476b514..de771ff814b 100644 --- a/app/assets/javascripts/diff_notes/services/resolve.js.es6 +++ b/app/assets/javascripts/diff_notes/services/resolve.js.es6 @@ -11,9 +11,7 @@ prepareRequest(namespace) { this.setCSRF(); - if (Vue.http.options.root !== `/${namespace}`) { - Vue.http.options.root = `/${namespace}`; - } + Vue.http.options.root = `/${namespace}`; } resolve(namespace, noteId) { -- cgit v1.2.1