From 646d6199a644a1e6d65706c400163d00fa310bfe Mon Sep 17 00:00:00 2001 From: Byron Jones Date: Tue, 2 Jun 2015 13:25:33 +0800 Subject: Bug 1146771: implement comment tagging --- js/field.js | 11 ++--------- js/global.js | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 9 deletions(-) (limited to 'js') diff --git a/js/field.js b/js/field.js index 778451daf..fdacd4728 100644 --- a/js/field.js +++ b/js/field.js @@ -738,10 +738,7 @@ $(function() { formatResult: function(suggestion, currentValue) { return (suggestion.data.name === '' ? suggestion.data.login : suggestion.data.name + ' (' + suggestion.data.login + ')') - .replace(/&/g, '&') - .replace(//g, '>') - .replace(/"/g, '"'); + .htmlEncode(); }, onSearchStart: function(params) { var that = $(this); @@ -800,11 +797,7 @@ $(function() { autoSelectFirst: true, formatResult: function(suggestion, currentValue) { // disable wrapping of matched substring - return suggestion.value - .replace(/&/g, '&') - .replace(//g, '>') - .replace(/"/g, '"'); + return suggestion.value.htmlEncode(); }, onSelect: function() { this.focus(); diff --git a/js/global.js b/js/global.js index 7675fd98a..7ecd3d901 100644 --- a/js/global.js +++ b/js/global.js @@ -87,3 +87,26 @@ function display_value(field, value) { if (translated) return translated; return value; } + +// polyfill .trim +if (!String.prototype.trim) { + (function() { + // Make sure we trim BOM and NBSP + var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + String.prototype.trim = function() { + return this.replace(rtrim, ''); + }; + })(); +} + +// html encoding +if (!String.prototype.htmlEncode) { + (function() { + String.prototype.htmlEncode = function() { + return this.replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"'); + }; + })(); +} -- cgit v1.2.3-24-g4f1b