Display required info fields in expanded worklist entries

Objective

  • Let people scan required information (the same structured fields used on jobs and quotes) without opening the full workorder or quote, directly from Work custom worklists.

  • Present those fields in the expanded row for each worklist item, at the bottom beneath the HubSport Deal and Activity feed, with the block open by default and

    clear controls to collapse the whole block and to collapse individual categories.

Background

  • Today, inspection worklist rows expand into SingleJobsDropdown, which shows payment notes, people, and activity — not required info (attik-frontend/src/components/task-check/SingleJobsDropdown.tsx).
  • Quote worklist rows expand into SingleQuoteDropdown, which shows property/quote blocks, people, activity, and related job tooling — not a dedicated required-info summary (attik-frontend/src/components/task-check/SingleQuoteDropdown.tsx).
  • On the inspection workorder, required info is driven by inspection requiredInfoValues, company definitions from the required-info API, and UI built around RequiredInfoSection plus RequiredInfoAccordion (category grouping and field layout) (attik-frontend/src/app/tools/inspections/[id]/page.tsx, RequiredInfoSection.tsx, RequiredInfoAccordion.tsx).
  • Quotes carry requiredInfoValues on the schema (attik-backend/src/models/quoteSchema.ts); inspections carry the same pattern on the inspection model. Worklist data is loaded via GET /worklist/:id/data and assembled with buildWorklistPopulationStages in attik-backend/src/routes/worklist.ts, then rendered through WorklistResolver (attik-frontend/src/components/task-check/WorklistResolver.tsx) into SingleJobsBar / GroupedClientJobsBar or SingleQuoteBar.
  • Grouped inspection worklists use GroupedClientJobsBar and DropdownContent / SubJobList — any design should stay coherent when multiple jobs share one expanded group header.

Scope

Frontend (primary)

  • Work page entry: attik-frontend/src/app/tools/work/[[...type]]/page.tsx resolves custom worklists through WorklistResolver.
  • Extend expanded content for:
  • Inspections: SingleJobsBarSingleJobsDropdown; grouped flows: GroupedClientJobsBarDropdownContent / _Subjoblist/SubJobList so each job’s expanded area can still expose required info appropriately.
  • Quotes: SingleQuoteBarSingleQuoteDropdown.
  • Reuse or mirror the category grouping behavior already implemented in RequiredInfoAccordion (categories, ordering, “No Category” bucket) for display; decision needed on whether this worklist surface is read-only or allows the same edits/save flows as RequiredInfoSection (workorder parity vs lighter read-only summary).
  • UX requirements: section at the bottom of the expanded panel; default expanded; user can collapse the entire required-info section and individual categories.
  • WorklistResolver already batches server fetches for a worklist — if definitions are needed company-wide (same pattern as the workorder page’s required-info fetch), prefer one fetch per worklist render rather than per row, where practical.

Backend

  • Confirm whether inspection and quote documents returned by the worklist aggregation already include everything needed to render values (e.g. requiredInfoValues and charge/service linkage for which fields apply). Population is centralized in buildWorklistPopulationStages and getInspectionPopulationPipeline (attik-backend/src/util/functions/aggregation/inspectionPopulation.ts). Decision needed only if payloads are missing definitions or fields and require pipeline or projection changes.

Out of scope unless product expands the ask

  • Event worklists (SingleEventBar / SingleEventDropdown) only show required info if product wants parity when an event has a linked inspection; the current issue text centers on quotes and inspections.

References

  • Workorder required-info data load: attik-frontend/src/app/tools/inspections/[id]/page.tsx (required-info fetch).
  • Worklist API: attik-backend/src/routes/worklist.ts (GET /worklist/:id/data).
  • Quote schema: attik-backend/src/models/quoteSchema.ts (requiredInfoValues).

Please authenticate to join the conversation.

Upvoters
Status

In Progress

Board
🏠

Main App

Date

19 days ago

Author

Linear

Subscribe to post

Get notified by email when there are changes.