diff --git a/app/javascript/controllers/composer_controller.js b/app/javascript/controllers/composer_controller.js index 8346def..73365df 100644 --- a/app/javascript/controllers/composer_controller.js +++ b/app/javascript/controllers/composer_controller.js @@ -1,7 +1,7 @@ import { Controller } from "@hotwired/stimulus" import FileUploader from "models/file_uploader" import { onNextEventLoopTick, nextFrame } from "helpers/timing_helpers" -import { escapeHTML } from "helpers/dom_helpers" +import { escapeHTML } from "helpers/string_helpers" export default class extends Controller { static classes = ["toolbar"] diff --git a/app/javascript/helpers/dom_helpers.js b/app/javascript/helpers/dom_helpers.js index 22bc8cb..43862f5 100644 --- a/app/javascript/helpers/dom_helpers.js +++ b/app/javascript/helpers/dom_helpers.js @@ -4,12 +4,6 @@ export function scrollToBottom(container) { container.scrollTop = container.scrollHeight } -export function escapeHTML(html) { - const div = document.createElement("div") - div.textContent = html - return div.innerHTML -} - export function parseHTMLFragment(html) { const template = document.createElement("template") template.innerHTML = html diff --git a/app/javascript/helpers/string_helpers.js b/app/javascript/helpers/string_helpers.js index c21689b..efbb5e9 100644 --- a/app/javascript/helpers/string_helpers.js +++ b/app/javascript/helpers/string_helpers.js @@ -9,5 +9,5 @@ export function truncateString(string, length, omission = "…") { } export function escapeHTML(string) { - return String(string).replace(/[&<>"']/g, character => HTML_ESCAPES[character]) + return String(string ?? "").replace(/[&<>"']/g, character => HTML_ESCAPES[character]) }