mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2025-08-04 05:18:19 +00: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:
parent
d5b43ef2da
commit
b624405b0c
1 changed files with 6 additions and 7 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue