From 164714e2217771600545671bd89535dbc99eb879 Mon Sep 17 00:00:00 2001 From: David Roper Date: Thu, 26 Feb 2026 13:56:40 -0500 Subject: [PATCH 1/2] feat: make double click on row navigate to subjects page --- apps/web/src/routes/_app/datahub/index.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/web/src/routes/_app/datahub/index.tsx b/apps/web/src/routes/_app/datahub/index.tsx index a2a4b07c4..18b8ee392 100644 --- a/apps/web/src/routes/_app/datahub/index.tsx +++ b/apps/web/src/routes/_app/datahub/index.tsx @@ -296,8 +296,9 @@ const Toggles: React.FC<{ table: TanstackTable.Table }> = ({ table }) = const MasterDataTable: React.FC<{ data: Subject[]; + onRowDoubleClick: (subject: Subject) => void; onSelect: (subject: Subject) => void; -}> = ({ data, onSelect }) => { +}> = ({ data, onRowDoubleClick, onSelect }) => { const { t } = useTranslation(); const subjectIdDisplaySetting = useAppStore((store) => store.currentGroup?.settings.subjectIdDisplayLength); @@ -373,6 +374,7 @@ const MasterDataTable: React.FC<{ } ]} togglesComponent={Toggles} + onRowDoubleClick={onRowDoubleClick} onSearchChange={(value, table) => { const subjectIdColumn = table.getColumn('subjectId')!; subjectIdColumn.setFilterValue(value); @@ -400,6 +402,9 @@ const RouteComponent = () => {
{ + void navigate({ to: `./${subject.id}/table` }); + }} onSelect={(subject) => { void navigate({ to: `./${subject.id}/table` }); }} From e4a85e3e3bbb8327e7a7577309155683eddbdf57 Mon Sep 17 00:00:00 2001 From: David Roper Date: Thu, 26 Feb 2026 13:57:18 -0500 Subject: [PATCH 2/2] chore: update lock file and workspace libui catalog --- pnpm-lock.yaml | 26 +++++++++++++------------- pnpm-workspace.yaml | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1326f7e08..38cbc290e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,8 +25,8 @@ catalogs: specifier: latest version: 0.2.0 '@douglasneuroinformatics/libui': - specifier: ^6.1.3 - version: 6.1.3 + specifier: ^6.2.0 + version: 6.2.0 '@douglasneuroinformatics/libui-form-types': specifier: latest version: 0.11.0 @@ -344,7 +344,7 @@ importers: version: 0.0.4 '@douglasneuroinformatics/libui': specifier: 'catalog:' - version: 6.1.3(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) + version: 6.2.0(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) '@opendatacapture/react-core': specifier: workspace:* version: link:../../packages/react-core @@ -441,7 +441,7 @@ importers: dependencies: '@douglasneuroinformatics/libui': specifier: 'catalog:' - version: 6.1.3(immer@10.2.0)(neverthrow@8.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@19.1.0))(zod@vendor+zod@3.x) + version: 6.2.0(immer@10.2.0)(neverthrow@8.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@19.1.0))(zod@vendor+zod@3.x) '@opendatacapture/licenses': specifier: workspace:* version: link:../../packages/licenses @@ -523,7 +523,7 @@ importers: version: 3.2.0(neverthrow@8.2.0)(zod@vendor+zod@3.x) '@douglasneuroinformatics/libui': specifier: 'catalog:' - version: 6.1.3(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) + version: 6.2.0(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) '@monaco-editor/react': specifier: ^4.7.0 version: 4.7.0(monaco-editor@0.52.2)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x) @@ -650,7 +650,7 @@ importers: version: 0.0.3(typescript@5.6.3) '@douglasneuroinformatics/libui': specifier: 'catalog:' - version: 6.1.3(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) + version: 6.2.0(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) '@heroicons/react': specifier: ^2.2.0 version: 2.2.0(react@vendor+react@19.x) @@ -926,7 +926,7 @@ importers: version: 3.2.0(neverthrow@8.2.0)(zod@vendor+zod@3.x) '@douglasneuroinformatics/libui': specifier: 'catalog:' - version: 6.1.3(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) + version: 6.2.0(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) '@opendatacapture/instrument-bundler': specifier: workspace:* version: link:../instrument-bundler @@ -1105,7 +1105,7 @@ importers: version: 3.2.0(neverthrow@8.2.0)(zod@vendor+zod@3.x) '@douglasneuroinformatics/libui': specifier: 'catalog:' - version: 6.1.3(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) + version: 6.2.0(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x) '@opendatacapture/instrument-bundler': specifier: 'workspace:' version: link:../instrument-bundler @@ -1318,7 +1318,7 @@ importers: devDependencies: '@douglasneuroinformatics/libui': specifier: 'catalog:' - version: 6.1.3(immer@10.2.0)(neverthrow@8.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@19.1.0))(zod@vendor+zod@3.x) + version: 6.2.0(immer@10.2.0)(neverthrow@8.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@19.1.0))(zod@vendor+zod@3.x) '@opendatacapture/instrument-stubs': specifier: workspace:* version: link:../packages/instrument-stubs @@ -2053,9 +2053,9 @@ packages: resolution: { integrity: sha512-erds8oNXFrWSJfCglR8S7I3Yfkgx2Vz6RIQTa5OFtVAVx8DTSFf5FbnHpp49l6BcQ4FCU5w/PLO5NWdx08cNUg== } - '@douglasneuroinformatics/libui@6.1.3': + '@douglasneuroinformatics/libui@6.2.0': resolution: - { integrity: sha512-w3gxeDPBhEchQQ6dTGMRXqtRzILgpxxj7zZt2Cf60DwX8tWZNl95dSuYtcReUmid5tKv1GdJyEehLcEEzRumsw== } + { integrity: sha512-np0EX+oD5QwYGIZN5uh3mqOLjmTCtBbEJnu14cWPUAG5Z6x/lAC0dgzK3VL4zzV2RiLzlcXLN7rSPmDJ2Ei5mA== } engines: { node: 22.x } peerDependencies: react: ^19.1.0 @@ -13797,7 +13797,7 @@ snapshots: dependencies: type-fest: 4.41.0 - '@douglasneuroinformatics/libui@6.1.3(immer@10.2.0)(neverthrow@8.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@19.1.0))(zod@vendor+zod@3.x)': + '@douglasneuroinformatics/libui@6.2.0(immer@10.2.0)(neverthrow@8.2.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@19.1.0))(zod@vendor+zod@3.x)': dependencies: '@douglasneuroinformatics/libjs': 3.2.0(neverthrow@8.2.0)(zod@vendor+zod@3.x) '@douglasneuroinformatics/libui-form-types': 0.11.0 @@ -13852,7 +13852,7 @@ snapshots: - neverthrow - use-sync-external-store - '@douglasneuroinformatics/libui@6.1.3(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x)': + '@douglasneuroinformatics/libui@6.2.0(immer@10.2.0)(neverthrow@8.2.0)(react-dom@vendor+react-dom@19.x)(react@vendor+react@19.x)(tailwindcss@4.2.0)(use-sync-external-store@1.6.0(react@vendor+react@19.x))(zod@vendor+zod@3.x)': dependencies: '@douglasneuroinformatics/libjs': 3.2.0(neverthrow@8.2.0)(zod@vendor+zod@3.x) '@douglasneuroinformatics/libui-form-types': 0.11.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 2f4296984..8b07c3a8d 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,7 +7,7 @@ catalog: '@douglasneuroinformatics/libjs': ^3.2.0 '@douglasneuroinformatics/libpasswd': 'latest' '@douglasneuroinformatics/libstats': 'latest' - '@douglasneuroinformatics/libui': ^6.1.3 + '@douglasneuroinformatics/libui': ^6.2.0 '@douglasneuroinformatics/libui-form-types': 'latest' '@microsoft/api-extractor': '^7.47.6' '@prisma/client': '^6.9.0'