1
0
mirror of https://github.com/matrix-org/matrix-react-sdk.git synced 2025-11-08 21:42:24 +03:00

Added button that copies code to clipboard

Signed-off-by: Oliver Hunt <oliver@hunt.bz>
This commit is contained in:
Oliver Hunt
2017-06-06 00:29:14 +01:00
parent b8b6a87423
commit a640e943f7
2 changed files with 40 additions and 0 deletions

View File

@@ -345,6 +345,7 @@ export function bodyToHtml(content, highlights, opts) {
}
safeBody = sanitizeHtml(body, sanitizeHtmlParams);
safeBody = unicodeToImage(safeBody);
safeBody = addCodeCopyButton(safeBody);
}
finally {
delete sanitizeHtmlParams.textFilter;
@@ -363,6 +364,18 @@ export function bodyToHtml(content, highlights, opts) {
return <span className={className} dangerouslySetInnerHTML={{ __html: safeBody }} />;
}
function addCodeCopyButton(safeBody) {
var el = document.createElement("div");
el.innerHTML = safeBody;
var codeBlocks = Array.from(el.getElementsByTagName("pre"));
codeBlocks.forEach(p => {
var button = document.createElement("span");
button.className = "mx_EventTile_copyButton";
p.appendChild(button);
});
return el.innerHTML;
}
export function emojifyText(text) {
return {
__html: unicodeToImage(escape(text)),