Skip to content

Complete Backend-Frontend Integration (Building on PR #1897) #1899

@codemonkey800

Description

@codemonkey800

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 and depositions.$id.tsx

The PR describes a sophisticated multi-step workflow:

  1. Load paginated annotations/tomograms for deposition
  2. Fetch all datasets associated with deposition for filtering
  3. Support filtering by dataset/organism within deposition
  4. Support grouping by organism or deposited location
  5. 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:

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

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions