Add _addCodeElement method

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
This commit is contained in:
Šimon Brandner 2021-02-23 07:40:53 +01:00
parent 6149567c62
commit c965119410
No known key found for this signature in database
GPG key ID: 9760693FDD98A790

View file

@ -96,14 +96,8 @@ export default class TextualBody extends React.Component {
const pres = ReactDOM.findDOMNode(this).getElementsByTagName("pre");
if (pres.length > 0) {
for (let i = 0; i < pres.length; i++) {
let code = pres[i].getElementsByTagName("code")[0];
// Add code element if it's missing
if (!code) {
code = document.createElement("code");
code.innerHTML = pres[i].innerHTML;
pres[i].innerHTML = "";
pres[i].appendChild(code);
}
if (!pres[i].getElementsByTagName("code")[0]) this._addCodeElement(pres[i]);
// If there already is a div wrapping the codeblock we want to skip this.
// This happens after the codeblock was edited.
if (pres[i].parentNode.className == "mx_EventTile_pre_container") continue;
@ -136,6 +130,13 @@ export default class TextualBody extends React.Component {
}
}
_addCodeElement(pre) {
const code = document.createElement("code");
code.innerHTML = pre.innerHTML;
pre.innerHTML = "";
pre.appendChild(code);
}
_addCodeExpansionButton(div, pre) {
// Calculate how many percent does the pre element take up.
// If it's less than 30% we don't add the expansion button.