From 39c9fb4f05046bc777abf52fabded7c02b648680 Mon Sep 17 00:00:00 2001 From: Corban Procuniar Date: Tue, 18 Aug 2026 18:20:50 -0600 Subject: [PATCH] feat: select search term on focus Signed-off-by: Corban Procuniar --- web/src/GlobalNav.tsx | 1 + web/src/HeaderBar.test.tsx | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/web/src/GlobalNav.tsx b/web/src/GlobalNav.tsx index 082d53569f..17463af11a 100644 --- a/web/src/GlobalNav.tsx +++ b/web/src/GlobalNav.tsx @@ -151,6 +151,7 @@ class GlobalNavShortcuts extends Component { ) as HTMLInputElement | null if (filter) { filter.focus() + filter.select() e.preventDefault() } } diff --git a/web/src/HeaderBar.test.tsx b/web/src/HeaderBar.test.tsx index 397070cf95..2502f8eada 100644 --- a/web/src/HeaderBar.test.tsx +++ b/web/src/HeaderBar.test.tsx @@ -64,8 +64,12 @@ describe("HeaderBar", () => { expect(openModal).toBeCalledTimes(1) }) - it("focuses the resource name filter on '/' keypress", () => { - const filter = screen.getByPlaceholderText("Filter resources by name") + it("focuses and selects the resource name filter on '/' keypress", () => { + const filter = screen.getByPlaceholderText( + "Filter resources by name" + ) as HTMLInputElement + userEvent.type(filter, "existing") + filter.blur() expect(filter).not.toHaveFocus() act(() => { @@ -73,6 +77,8 @@ describe("HeaderBar", () => { }) expect(filter).toHaveFocus() + expect(filter.selectionStart).toBe(0) + expect(filter.selectionEnd).toBe(filter.value.length) }) }) })