From 3bf23620aed37cba6034d7a08ecd6ad8cb94e2a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Tue, 22 Nov 2022 00:59:43 -0300 Subject: [PATCH] Refactor Functions.escapeHtml() JS function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Uses native function to escape instead of custom one. Signed-off-by: MaurĂ­cio Meneghini Fauth --- js/src/functions.js | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/js/src/functions.js b/js/src/functions.js index c79704334b..6848c30962 100644 --- a/js/src/functions.js +++ b/js/src/functions.js @@ -388,25 +388,17 @@ Functions.tooltip = function ($elements, item, myContent, additionalOptions) { }; /** - * HTML escaping - * - * @param {any} unsafe - * @return {string | false} + * @param {string} value + * @return {string} */ -Functions.escapeHtml = function (unsafe) { - if (typeof (unsafe) !== 'undefined') { - return unsafe - .toString() - .replace(/&/g, '&') - .replace(//g, '>') - .replace(/"/g, '"') - .replace(/'/g, '''); - } else { - return false; - } +const escapeHtml = (value = '') => { + const element = document.createElement('span'); + element.appendChild(document.createTextNode(value)); + return element.innerHTML; }; +Functions.escapeHtml = escapeHtml + /** * JavaScript escaping *