Fix error with contentEditable (#803)

This commit is contained in:
Jed Fox 2020-02-21 22:51:34 -05:00 committed by GitHub
parent 277eeb47cc
commit 43236bed68
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 2 deletions

View File

@ -31,12 +31,19 @@ export class ProjectName extends Component<Props> {
e.currentTarget.blur(); e.currentTarget.blur();
} }
}; };
private makeEditable = (editable: HTMLSpanElement) => {
try {
editable.contentEditable = "plaintext-only";
} catch {
editable.contentEditable = "true";
}
};
public render() { public render() {
return ( return (
<span <span
suppressContentEditableWarning suppressContentEditableWarning
contentEditable={"plaintext-only" as any} ref={this.makeEditable}
data-type="wysiwyg" data-type="wysiwyg"
className="ProjectName" className="ProjectName"
role="textbox" role="textbox"

View File

@ -34,7 +34,11 @@ export function textWysiwyg({
// But this solution has an issue — it allows to paste // But this solution has an issue — it allows to paste
// multiline text, which is not currently supported // multiline text, which is not currently supported
const editable = document.createElement("div"); const editable = document.createElement("div");
try {
editable.contentEditable = "plaintext-only"; editable.contentEditable = "plaintext-only";
} catch {
editable.contentEditable = "true";
}
editable.tabIndex = 0; editable.tabIndex = 0;
editable.innerText = initText; editable.innerText = initText;
editable.dataset.type = "wysiwyg"; editable.dataset.type = "wysiwyg";