diff options
author | Eric Eastwood <contact@ericeastwood.com> | 2017-06-06 11:13:35 -0500 |
---|---|---|
committer | Eric Eastwood <contact@ericeastwood.com> | 2017-06-06 11:13:35 -0500 |
commit | efbcaa5d934f1412faccc0eb84d01cc9044fb649 (patch) | |
tree | eb2ded2c4c1dd25b379301f5838b58083b9d0987 | |
parent | 7755c0b8b448721671e866f712898b247b02c2ac (diff) | |
download | gitlab-ce-efbcaa5d934f1412faccc0eb84d01cc9044fb649.tar.gz |
Fix description flash with newline differences (HTML entities)33265-fix-9-2-stable-issue-description-flash-newlines
Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/33265
-rw-r--r-- | app/assets/javascripts/issue_show/issue_title_description.vue | 4 | ||||
-rw-r--r-- | app/assets/javascripts/lib/utils/normalize_newlines.js | 5 | ||||
-rw-r--r-- | app/assets/javascripts/notes.js | 5 |
3 files changed, 9 insertions, 5 deletions
diff --git a/app/assets/javascripts/issue_show/issue_title_description.vue b/app/assets/javascripts/issue_show/issue_title_description.vue index 984b96a2dc0..a8b1b99d166 100644 --- a/app/assets/javascripts/issue_show/issue_title_description.vue +++ b/app/assets/javascripts/issue_show/issue_title_description.vue @@ -4,6 +4,7 @@ import Poll from './../lib/utils/poll'; import Service from './services/index'; import tasks from './actions/tasks'; import edited from './components/edited.vue'; +import normalizeNewlines from '../lib/utils/normalize_newlines'; export default { props: { @@ -119,7 +120,8 @@ export default { this.titleText = this.apiData.title_text; const noTitleChange = this.title === title; - const noDescriptionChange = this.description === description; + const noDescriptionChange = + normalizeNewlines(this.description) === normalizeNewlines(description); /** * since opacity is changed, even if there is no diff for Vue to update diff --git a/app/assets/javascripts/lib/utils/normalize_newlines.js b/app/assets/javascripts/lib/utils/normalize_newlines.js new file mode 100644 index 00000000000..f155c3f7587 --- /dev/null +++ b/app/assets/javascripts/lib/utils/normalize_newlines.js @@ -0,0 +1,5 @@ +function normalizeNewlines(str) { + return str.replace(/(\r|
)?(\n|
)/g, '\n'); +} + +export default normalizeNewlines; diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 233c2e637af..b7450fc13eb 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -7,6 +7,7 @@ import $ from 'jquery'; import Cookies from 'js-cookie'; import CommentTypeToggle from './comment_type_toggle'; +import normalizeNewlines from './lib/utils/normalize_newlines'; require('./autosave'); window.autosize = require('vendor/autosize'); @@ -17,10 +18,6 @@ require('vendor/jquery.caret'); // required by jquery.atwho require('vendor/jquery.atwho'); require('./task_list'); -const normalizeNewlines = function(str) { - return str.replace(/\r\n/g, '\n'); -}; - (function() { var bind = function(fn, me) { return function() { return fn.apply(me, arguments); }; }; |