Fix paste into UI (#654)

* Keyboard menu navigation

* Fix dropdown keyboard navigation

* Fix merge error

* Add font prieviews

* Fix paste into UI

* Fix paste UI

Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
0HyperCube 2022-05-24 04:01:36 +01:00 committed by Keavon Chambers
parent d5b43ef2da
commit b624405b0c

View file

@ -42,12 +42,7 @@ export function createInputManager(editor: Editor, container: HTMLElement, dialo
if (!key) return false;
// Don't redirect user input from text entry into HTML elements
if (
key !== "escape" &&
!(key === "enter" && e.ctrlKey) &&
e.target instanceof HTMLElement &&
(e.target.nodeName === "INPUT" || e.target.nodeName === "TEXTAREA" || e.target.isContentEditable)
) {
if (key !== "escape" && !(e.ctrlKey && key === "enter") && targetIsTextField(e.target)) {
return false;
}
@ -228,7 +223,7 @@ export function createInputManager(editor: Editor, container: HTMLElement, dialo
function onPaste(e: ClipboardEvent): void {
const dataTransfer = e.clipboardData;
if (!dataTransfer) return;
if (!dataTransfer || targetIsTextField(e.target)) return;
e.preventDefault();
Array.from(dataTransfer.items).forEach((item) => {
@ -251,6 +246,10 @@ export function createInputManager(editor: Editor, container: HTMLElement, dialo
});
}
function targetIsTextField(target: EventTarget | null): boolean {
return target instanceof HTMLElement && (target.nodeName === "INPUT" || target.nodeName === "TEXTAREA" || target.isContentEditable);
}
// Event bindings
function bindListeners(): void {