* Replace content of editor element (_emailTextElement)
(msg)
| 185 | * Replace content of editor element (_emailTextElement) |
| 186 | */ |
| 187 | setMessage(msg) { |
| 188 | if (this.emailTextElement.tagName.toLowerCase() === 'textarea') { |
| 189 | this.emailTextElement.value = msg; |
| 190 | } else { |
| 191 | // element is contenteditable or RTE |
| 192 | // clear element first |
| 193 | while (this.emailTextElement.firstChild) { |
| 194 | this.emailTextElement.removeChild(this.emailTextElement.firstChild); |
| 195 | } |
| 196 | msg = `<pre>${encodeHTML(msg)}</pre>`; |
| 197 | this.emailTextElement.append(...parseHTML(msg)); |
| 198 | } |
| 199 | // trigger input event |
| 200 | const inputEvent = document.createEvent('HTMLEvents'); |
| 201 | inputEvent.initEvent('input', true, true); |
| 202 | this.emailTextElement.dispatchEvent(inputEvent); |
| 203 | } |
| 204 | } |
no test coverage detected