summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2017-06-08 09:19:16 +0000
committerPhil Hughes <me@iamphill.com>2017-06-08 09:19:16 +0000
commitd549fbc74fe80b81332886433c96adaba793d996 (patch)
treef58478a688ab42cde3badadad1d2aa18611a8165
parent3b87edfaafa772d5c6a9276868b46a7929d55077 (diff)
parentefbcaa5d934f1412faccc0eb84d01cc9044fb649 (diff)
downloadgitlab-ce-d549fbc74fe80b81332886433c96adaba793d996.tar.gz
Merge branch '33265-fix-9-2-stable-issue-description-flash-newlines' into '9-2-stable'
Fix description flash with newline differences (HTML entities) See merge request !11946
-rw-r--r--app/assets/javascripts/issue_show/issue_title_description.vue4
-rw-r--r--app/assets/javascripts/lib/utils/normalize_newlines.js5
-rw-r--r--app/assets/javascripts/notes.js5
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 8a7a813efd8..9d18ace1ac4 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|&#x000D;)?(\n|&#x000A;)/g, '\n');
+}
+
+export default normalizeNewlines;
diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js
index 8ff25c10157..b000e287d47 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); }; };