From 4fbeb58203a294bf62dd28b5314e7c7d7d736eb5 Mon Sep 17 00:00:00 2001 From: Jean Pierre Date: Mon, 15 May 2023 22:18:36 -0500 Subject: [PATCH] Update search demo --- demo/client.ts | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/demo/client.ts b/demo/client.ts index 68cdec65..a9a8a23c 100644 --- a/demo/client.ts +++ b/demo/client.ts @@ -132,12 +132,11 @@ function setPadding(): void { addons.fit.instance.fit(); } -function getSearchOptions(e: KeyboardEvent): ISearchOptions { +function getSearchOptions(): ISearchOptions { return { regex: (document.getElementById('regex') as HTMLInputElement).checked, wholeWord: (document.getElementById('whole-word') as HTMLInputElement).checked, caseSensitive: (document.getElementById('case-sensitive') as HTMLInputElement).checked, - incremental: e.key !== `Enter`, decorations: (document.getElementById('highlight-all-matches') as HTMLInputElement).checked ? { matchBackground: '#232422', matchBorder: '#555753', @@ -303,11 +302,23 @@ function createTerminal(): void { addDomListener(paddingElement, 'change', setPadding); - addDomListener(actionElements.findNext, 'keyup', (e) => { - addons.search.instance.findNext(actionElements.findNext.value, getSearchOptions(e)); + addDomListener(actionElements.findNext, 'keydown', (e) => { + if (e.key === 'Enter') { + addons.search.instance.findNext(actionElements.findNext.value, getSearchOptions()); + e.preventDefault(); + } }); - addDomListener(actionElements.findPrevious, 'keyup', (e) => { - addons.search.instance.findPrevious(actionElements.findPrevious.value, getSearchOptions(e)); + addDomListener(actionElements.findNext, 'input', (e) => { + addons.search.instance.findNext(actionElements.findNext.value, getSearchOptions()); + }); + addDomListener(actionElements.findPrevious, 'keydown', (e) => { + if (e.key === 'Enter') { + addons.search.instance.findPrevious(actionElements.findPrevious.value, getSearchOptions()); + e.preventDefault(); + } + }); + addDomListener(actionElements.findPrevious, 'input', (e) => { + addons.search.instance.findPrevious(actionElements.findPrevious.value, getSearchOptions()); }); addDomListener(actionElements.findNext, 'blur', (e) => { addons.search.instance.clearActiveDecoration();