mirror of https://github.com/vector-im/riot-web
parent
a640e943f7
commit
dd6171a39e
|
@ -365,11 +365,11 @@ export function bodyToHtml(content, highlights, opts) {
|
|||
}
|
||||
|
||||
function addCodeCopyButton(safeBody) {
|
||||
var el = document.createElement("div");
|
||||
const el = document.createElement("div");
|
||||
el.innerHTML = safeBody;
|
||||
var codeBlocks = Array.from(el.getElementsByTagName("pre"));
|
||||
const codeBlocks = Array.from(el.getElementsByTagName("pre"));
|
||||
codeBlocks.forEach(p => {
|
||||
var button = document.createElement("span");
|
||||
const button = document.createElement("span");
|
||||
button.className = "mx_EventTile_copyButton";
|
||||
p.appendChild(button);
|
||||
});
|
||||
|
|
|
@ -95,17 +95,12 @@ module.exports = React.createClass({
|
|||
}
|
||||
const buttons = ReactDOM.findDOMNode(this).getElementsByClassName("mx_EventTile_copyButton");
|
||||
if (buttons.length > 0) {
|
||||
// Do this asynchronously: parsing code takes time and we don't
|
||||
// need to block the DOM update on it.
|
||||
setTimeout(() => {
|
||||
if (this._unmounted) return;
|
||||
for (let i = 0; i < buttons.length; i++) {
|
||||
buttons[i].onclick = (e) => {
|
||||
const copyCode = buttons[i].parentNode.getElementsByTagName("code")[0];
|
||||
this.copyToClipboard(copyCode.textContent);
|
||||
};
|
||||
}
|
||||
}, 10);
|
||||
for (let i = 0; i < buttons.length; i++) {
|
||||
buttons[i].onclick = (e) => {
|
||||
const copyCode = buttons[i].parentNode.getElementsByTagName("code")[0];
|
||||
this.copyToClipboard(copyCode.textContent);
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue