From 977403ee349b052b1db69c5f60795dbd3c578d16 Mon Sep 17 00:00:00 2001 From: rivea0 <58330360+rivea0@users.noreply.github.com> Date: Sun, 13 Jul 2025 14:22:48 +0300 Subject: [PATCH] feat: hit return to initiate search (#2) --- src/modal.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/modal.ts b/src/modal.ts index 6d045f1..2198132 100644 --- a/src/modal.ts +++ b/src/modal.ts @@ -1,9 +1,23 @@ import { App, Modal, Setting } from 'obsidian'; +import type { KeymapEventHandler } from 'obsidian'; export class MatchTextModal extends Modal { + #keymapEvtHandler: KeymapEventHandler | null = null; constructor(app: App, onSubmit: (textToMatch: string) => void) { super(app); this.setTitle('Enter match syntax: '); + this.#keymapEvtHandler = this.scope.register([], 'Enter', (evt: KeyboardEvent) => { + if (evt.isComposing) { + return; + } + evt.preventDefault(); + const findMatchesBtn = document + .getElementsByClassName('mod-cta') + .item(0) as HTMLButtonElement | null; + if (findMatchesBtn) { + findMatchesBtn.click(); + } + }); let matchStr = ''; const settingContent = this.contentEl; @@ -28,4 +42,11 @@ export class MatchTextModal extends Modal { }) ); } + + onClose(): void { + if (this.#keymapEvtHandler) { + this.scope.unregister(this.#keymapEvtHandler); + this.#keymapEvtHandler = null; + } + } }