From 57aa0a0fe16773346b6a3175b5bf5401d2736059 Mon Sep 17 00:00:00 2001 From: SnnBcd xt <1160925501@qq.com> Date: Thu, 18 May 2023 07:29:21 +0000 Subject: [PATCH] findInText: Automatically search the selected text --- src/public/app/widgets/find.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/public/app/widgets/find.js b/src/public/app/widgets/find.js index 70116d0cb..bbead9d0e 100644 --- a/src/public/app/widgets/find.js +++ b/src/public/app/widgets/find.js @@ -145,19 +145,27 @@ export default class FindWidget extends NoteContextAwareWidget { if (!['text', 'code', 'render'].includes(this.note.type)) { return; } + + this.handler = await this.getHandler(); + var searchTerm = await this.handler.getInitialSearchTerm(); + searchTerm = searchTerm=="" ? window.getSelection().toString():searchTerm; this.$findBox.show(); this.$input.focus(); - this.handler = await this.getHandler(); const isAlreadyVisible = this.$findBox.is(":visible"); if (isAlreadyVisible) { + this.$input.val(searchTerm || ""); + if (searchTerm !== "") { + this.$input.select(); + await this.performFind(); + } this.$input.select(); } else { this.$totalFound.text(0); this.$currentFound.text(0); - const searchTerm = await this.handler.getInitialSearchTerm(); + searchTerm = await this.handler.getInitialSearchTerm(); this.$input.val(searchTerm || ""); if (searchTerm !== "") { this.$input.select();