mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-30 18:38:13 +08:00
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:
committed by
Keavon Chambers
co-authored by
Keavon Chambers
parent
bec7a4c109
commit
c73f8a64a0
@@ -42,12 +42,7 @@ export function createInputManager(editor: Editor, container: HTMLElement, dialo
|
|||||||
if (!key) return false;
|
if (!key) return false;
|
||||||
|
|
||||||
// Don't redirect user input from text entry into HTML elements
|
// Don't redirect user input from text entry into HTML elements
|
||||||
if (
|
if (key !== "escape" && !(e.ctrlKey && key === "enter") && targetIsTextField(e.target)) {
|
||||||
key !== "escape" &&
|
|
||||||
!(key === "enter" && e.ctrlKey) &&
|
|
||||||
e.target instanceof HTMLElement &&
|
|
||||||
(e.target.nodeName === "INPUT" || e.target.nodeName === "TEXTAREA" || e.target.isContentEditable)
|
|
||||||
) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -228,7 +223,7 @@ export function createInputManager(editor: Editor, container: HTMLElement, dialo
|
|||||||
|
|
||||||
function onPaste(e: ClipboardEvent): void {
|
function onPaste(e: ClipboardEvent): void {
|
||||||
const dataTransfer = e.clipboardData;
|
const dataTransfer = e.clipboardData;
|
||||||
if (!dataTransfer) return;
|
if (!dataTransfer || targetIsTextField(e.target)) return;
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
Array.from(dataTransfer.items).forEach((item) => {
|
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
|
// Event bindings
|
||||||
|
|
||||||
function bindListeners(): void {
|
function bindListeners(): void {
|
||||||
|
|||||||
Reference in New Issue
Block a user