-
Notifications
You must be signed in to change notification settings - Fork 13
Description
Context
Based on the Figma design: https://www.figma.com/design/oP2I2xcd8Y5Ri9JBXztBkZ/Q2---Expand-Deposition?node-id=514-101657&t=ZudVi8wUghpC5HOb-0
This issue consolidates the backend and frontend work needed for expanded deposition functionality, building upon the foundation work provided in PR #1897.
Foundation Work (PR #1897)
PR #1897 by @vincent-czi provides crucial query infrastructure including:
- 5 GraphQL query files for deposition expansion
- Annotation-focused queries (tomogram queries incomplete)
- Complex filtering/grouping workflow design
- Integration hooks in
useDepositionById.ts
anddepositions.$id.tsx
The PR describes a sophisticated multi-step workflow:
- Load paginated annotations/tomograms for deposition
- Fetch all datasets associated with deposition for filtering
- Support filtering by dataset/organism within deposition
- Support grouping by organism or deposited location
- Handle nested accordion structure for location-based grouping
Work Areas
Backend Query Completion
Building on PR #1897's foundation, the backend queries need completion for the tomogram variants that Vincent noted were incomplete. Additionally, the method summary tabs require GraphQL queries for tomogram, acquisition, and experimental condition metadata. All queries must support both annotation and tomogram flavors to work with the tab-based UI.
Backend Filter Integration
The deposition ID filter (from issue #1829) needs to be updated to work harmoniously with PR #1897's within-deposition filtering system. This involves ensuring compatibility between global deposition filtering across datasets and the dataset/organism filtering within a specific deposition view. The filter logic updates are needed for both the browse datasets page and single run page.
Frontend Component Integration
The method summary and metadata drawer components need to be integrated with all the backend data from both PR #1897's queries and the additional metadata queries. This includes implementing the complex accordion/grouping UI described in PR #1897, handling annotation vs tomogram tab switching, and ensuring proper error handling and loading states. The UI must handle null organism values as "Not specified" and support the nested filtering and grouping functionality.
Dependencies
The work builds directly on PR #1897's query foundation. Backend query completion and filter integration can proceed in parallel, while frontend component integration depends on both backend work areas being completed.
Original Issues Consolidated
This consolidates and builds upon:
- Integrate expanded depositions frontend with backend #1810: Integrate expanded depositions frontend with backend
- Add GraphQL queries for method summary tabs #1811: Add GraphQL queries for method summary tabs
- Update deposition ID filter #1829: Update deposition ID filter
- PR Query skeleton for expansion of deposition page #1897: Query skeleton for expansion of deposition page
Notes
- Testing and validation will be handled in a separate issue
- The annotation/tomogram dual-flavor system must be maintained throughout
- Complex nested accordion functionality requires careful state management
- Filter combinations (dataset, organism, location-based grouping) need thorough integration