From 9cfa6e8b53b07ca3796dbf22831caee0be03f722 Mon Sep 17 00:00:00 2001 From: "Yadong (Adam) Zhang" Date: Sat, 27 Sep 2025 02:59:05 +0800 Subject: [PATCH] fix: allow `NumpadEnter` key for search and pagination actions (#38889) --- .../grid/components/footer/pagination/Pagination.tsx | 2 +- apps/studio/components/interfaces/Auth/Users/UsersV2.tsx | 2 +- .../interfaces/Integrations/CronJobs/CronJobsTab.tsx | 2 +- .../components/interfaces/Integrations/Queues/QueuesTab.tsx | 2 +- .../interfaces/QueryPerformance/TextSearchPopover.tsx | 3 ++- .../DataTable/DataTableFilters/DataTableFilterResetButton.tsx | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/apps/studio/components/grid/components/footer/pagination/Pagination.tsx b/apps/studio/components/grid/components/footer/pagination/Pagination.tsx index d9cc6f64e2d88..2b9304dc0d86d 100644 --- a/apps/studio/components/grid/components/footer/pagination/Pagination.tsx +++ b/apps/studio/components/grid/components/footer/pagination/Pagination.tsx @@ -168,7 +168,7 @@ const Pagination = () => { onKeyDown={(e) => { const parsedValue = Number(value) if ( - e.code === 'Enter' && + (e.code === 'Enter' || e.code === 'NumpadEnter') && !Number.isNaN(parsedValue) && parsedValue >= 1 && parsedValue <= maxPages diff --git a/apps/studio/components/interfaces/Auth/Users/UsersV2.tsx b/apps/studio/components/interfaces/Auth/Users/UsersV2.tsx index e2819a9bdcab8..d156475772753 100644 --- a/apps/studio/components/interfaces/Auth/Users/UsersV2.tsx +++ b/apps/studio/components/interfaces/Auth/Users/UsersV2.tsx @@ -317,7 +317,7 @@ export const UsersV2 = () => { value={search} onChange={(e) => setSearch(e.target.value)} onKeyDown={(e) => { - if (e.code === 'Enter') { + if (e.code === 'Enter' || e.code === 'NumpadEnter') { setSearch(search.trim()) setFilterKeywords(search.trim().toLocaleLowerCase()) } diff --git a/apps/studio/components/interfaces/Integrations/CronJobs/CronJobsTab.tsx b/apps/studio/components/interfaces/Integrations/CronJobs/CronJobsTab.tsx index 7240e0d909c97..65fb83d93a4ab 100644 --- a/apps/studio/components/interfaces/Integrations/CronJobs/CronJobsTab.tsx +++ b/apps/studio/components/interfaces/Integrations/CronJobs/CronJobsTab.tsx @@ -144,7 +144,7 @@ export const CronjobsTab = () => { value={search ?? ''} onChange={(e) => setSearch(e.target.value)} onKeyDown={(e) => { - if (e.code === 'Enter') setSearchQuery(search.trim()) + if (e.code === 'Enter' || e.code === 'NumpadEnter') setSearchQuery(search.trim()) }} actions={[ search && ( diff --git a/apps/studio/components/interfaces/Integrations/Queues/QueuesTab.tsx b/apps/studio/components/interfaces/Integrations/Queues/QueuesTab.tsx index 60ffde22d84c3..723e1c64de9d6 100644 --- a/apps/studio/components/interfaces/Integrations/Queues/QueuesTab.tsx +++ b/apps/studio/components/interfaces/Integrations/Queues/QueuesTab.tsx @@ -66,7 +66,7 @@ export const QueuesTab = () => { value={search ?? ''} onChange={(e) => setSearch(e.target.value)} onKeyDown={(e) => { - if (e.code === 'Enter') setSearchQuery(search.trim()) + if (e.code === 'Enter' || e.code === 'NumpadEnter') setSearchQuery(search.trim()) }} actions={[ search && ( diff --git a/apps/studio/components/interfaces/QueryPerformance/TextSearchPopover.tsx b/apps/studio/components/interfaces/QueryPerformance/TextSearchPopover.tsx index adbff89368226..1e6be9f3c9ed6 100644 --- a/apps/studio/components/interfaces/QueryPerformance/TextSearchPopover.tsx +++ b/apps/studio/components/interfaces/QueryPerformance/TextSearchPopover.tsx @@ -54,7 +54,8 @@ export const TextSearchPopover = ({ className="text-xs font-mono tracking-tight" placeholder={placeholder ?? 'Search for a query'} onKeyDown={(event) => { - if (event.metaKey && event.code === 'Enter') applySearch() + if (event.metaKey && (event.code === 'Enter' || event.code === 'NumpadEnter')) + applySearch() }} /> diff --git a/apps/studio/components/ui/DataTable/DataTableFilters/DataTableFilterResetButton.tsx b/apps/studio/components/ui/DataTable/DataTableFilters/DataTableFilterResetButton.tsx index 2279eb48b17ef..baae73eb65493 100644 --- a/apps/studio/components/ui/DataTable/DataTableFilters/DataTableFilterResetButton.tsx +++ b/apps/studio/components/ui/DataTable/DataTableFilters/DataTableFilterResetButton.tsx @@ -24,7 +24,7 @@ export function DataTableFilterResetButton({ value: _value }: DataTableFi }} onKeyDown={(e) => { e.stopPropagation() - if (e.code === 'Enter') { + if (e.code === 'Enter' || e.code === 'NumpadEnter') { column?.setFilterValue(undefined) } }}