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:
parent
d5b43ef2da
commit
b624405b0c
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in New Issue