From 99918be7312b11dd650924e39b2bf8b65a4004d8 Mon Sep 17 00:00:00 2001 From: "Luke \"Jared\" Bennett" Date: Fri, 7 Apr 2017 15:31:14 +0100 Subject: Added variable button fix --- app/assets/javascripts/comment_type_toggle.js | 38 +++++++++++++++------------ app/assets/javascripts/notes.js | 2 +- spec/javascripts/comment_type_toggle_spec.js | 18 +++++++++++-- 3 files changed, 38 insertions(+), 20 deletions(-) diff --git a/app/assets/javascripts/comment_type_toggle.js b/app/assets/javascripts/comment_type_toggle.js index ba3b43b201d..de9dc5979a3 100644 --- a/app/assets/javascripts/comment_type_toggle.js +++ b/app/assets/javascripts/comment_type_toggle.js @@ -31,23 +31,27 @@ class CommentTypeToggle { }], }; - if (!this.closeButton || !this.reopenButton) return config; - - config.InputSetter.push({ - input: this.closeButton, - valueAttribute: 'data-close-text', - }, { - input: this.closeButton, - valueAttribute: 'data-close-text', - inputAttribute: 'data-alternative-text', - }, { - input: this.reopenButton, - valueAttribute: 'data-reopen-text', - }, { - input: this.reopenButton, - valueAttribute: 'data-reopen-text', - inputAttribute: 'data-alternative-text', - }); + if (this.closeButton) { + config.InputSetter.push({ + input: this.closeButton, + valueAttribute: 'data-close-text', + }, { + input: this.closeButton, + valueAttribute: 'data-close-text', + inputAttribute: 'data-alternative-text', + }); + } + + if (this.reopenButton) { + config.InputSetter.push({ + input: this.reopenButton, + valueAttribute: 'data-reopen-text', + }, { + input: this.reopenButton, + valueAttribute: 'data-reopen-text', + inputAttribute: 'data-alternative-text', + }); + } return config; } diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 2a8f4acc72a..795c1986c89 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -143,7 +143,7 @@ require('./task_list'); const noteTypeInput = form.querySelector('#note_type'); const submitButton = form.querySelector('.js-comment-type-dropdown .js-comment-submit-button'); const closeButton = form.querySelector('.js-note-target-close'); - const reopenButton = form.querySelector('.js-note-target-reopen'); + const reopenButton = form.querySelector('.reopen-mr-link') || form.querySelector('.js-note-target-reopen'); const commentTypeToggle = new CommentTypeToggle({ dropdownTrigger, diff --git a/spec/javascripts/comment_type_toggle_spec.js b/spec/javascripts/comment_type_toggle_spec.js index 9a341ebd811..dfd0810d52e 100644 --- a/spec/javascripts/comment_type_toggle_spec.js +++ b/spec/javascripts/comment_type_toggle_spec.js @@ -101,7 +101,7 @@ describe('CommentTypeToggle', function () { this.setConfig = CommentTypeToggle.prototype.setConfig.call(this.commentTypeToggle); }); - it('should not add .closeButton or .reopenButton related InputSetter config', function () { + it('should not add .closeButton related InputSetter config', function () { expect(this.setConfig).toEqual({ InputSetter: [{ input: this.commentTypeToggle.noteTypeInput, @@ -109,6 +109,13 @@ describe('CommentTypeToggle', function () { }, { input: this.commentTypeToggle.submitButton, valueAttribute: 'data-submit-text', + }, { + input: this.commentTypeToggle.reopenButton, + valueAttribute: 'data-reopen-text', + }, { + input: this.commentTypeToggle.reopenButton, + valueAttribute: 'data-reopen-text', + inputAttribute: 'data-alternative-text', }], }); }); @@ -127,7 +134,7 @@ describe('CommentTypeToggle', function () { this.setConfig = CommentTypeToggle.prototype.setConfig.call(this.commentTypeToggle); }); - it('should not add .closeButton or .reopenButton related InputSetter config', function () { + it('should not add .reopenButton related InputSetter config', function () { expect(this.setConfig).toEqual({ InputSetter: [{ input: this.commentTypeToggle.noteTypeInput, @@ -135,6 +142,13 @@ describe('CommentTypeToggle', function () { }, { input: this.commentTypeToggle.submitButton, valueAttribute: 'data-submit-text', + }, { + input: this.commentTypeToggle.closeButton, + valueAttribute: 'data-close-text', + }, { + input: this.commentTypeToggle.closeButton, + valueAttribute: 'data-close-text', + inputAttribute: 'data-alternative-text', }], }); }); -- cgit v1.2.1