visibleColumns on worklistSchema, and row rendering via SingleJobsBar, SingleQuoteBar, and SingleEventBar in WorklistResolver.tsx.WorklistRequiredInfoPanel.tsx — useful for detail, but not the at-a-glance column scan users asked for on the June 16 implementation call.grp_ri sentinel) renders through GroupInfoCell.tsx, which skips fields with no value (if (!val) return null) and stacks remaining values vertically in a single ~200px column. Row bars pass all company required-info definitions into that cell today, not the worklist’s riGroupFields selection.NewWorklistDrawer.tsx only exposes grp_ri as one toggle (“Display all required info fields in a single column”) with no sub-field picker (unlike grp_cr, which lets users choose contact roles). Individual ri_<fieldId> keys are stripped from the picker even though row renderers already support them.ri_* column rendering already exists in SingleJobsBar.tsx, SingleQuoteBar.tsx, and SingleEventBar.tsx: each shows the field value or an em-dash (—) when blank. Headers resolve field names via getColumnHeaders() in columnConfig.ts. The product gap is picker + persistence + blank-state UX policy, not greenfield row rendering.requiredInfoValues on inspections and quotes via buildWorklistPopulationStages in attik-backend/src/routes/worklist.ts. Required-info definitions come from GET required-info (requiredInfoSchema.ts)._spectoraCustomFieldId), not a separate field system. Static quote columns like reason_not_booked and follow_up_date already live in the static catalog in columnConfig.ts and are out of this issue’s core ask unless product expands scope.Locked
grp_ri cell.required-info API / requiredInfoValues on rows), not arbitrary Mongo paths or Reports Hub requiredInfoValue.* export columns (though the same field IDs may apply).Open
grp_ri — Replace the stacked group column with per-field ri_* columns, keep both (group for quick summary + individual columns for triage), or upgrade grp_ri to show selected fields with blanks instead of adding individual columns?NewWorklistDrawer.tsx as individual toggles (like contact roles under grp_cr), a nested multi-select under grp_ri, or a separate “Add required-info column” flow?_requiredInfoId on services)? If a field does not apply to a row, should the column show blank, “N/A”, or hide for that row?—) sufficient, or should blanks use stronger affordances (e.g. “Missing”, muted label, color/icon for required-but-empty fields)?hidden: true on the definition be excluded from the picker entirely?WorklistRequiredInfoPanel.tsx / RequiredInfoAccordion, or plain string truncation is enough for v1?Frontend (attik-frontend)
NewWorklistDrawer.tsx column section currently blocks individual ri_* keys and offers grp_ri without sub-field selection; extend so teams can add specific required-info fields as columns in visibleColumns (and persist order via drag-and-drop).SingleJobsBar.tsx, SingleQuoteBar.tsx, SingleEventBar.tsx already render individual ri_* keys with blank em-dashes; align blank-state UX with product decision and ensure selected fields drive headers via WorklistTableHeader.tsx / getColumnHeaders().GroupInfoCell.tsx and grp_ri handling in row bars may need updates if product retires or upgrades the stacked column (today hides blanks and ignores riGroupFields).WorklistResolver.tsx migrateWorklistColumns() converts legacy individual ri_* keys to grp_ri; revisit if individual columns become the preferred model again.columnConfig.ts assigns ~120px width to extra keys and supports dynamic headers from requiredInfoFields; may need width or formatting tweaks for many RI columns.Backend (attik-backend)
worklistSchema.ts already stores visibleColumns, riGroupFields, and crGroupFields; individual ri_<id> keys in visibleColumns may be sufficient for persistence without schema changes — confirm whether riGroupFields remains needed if grp_ri is deprecated or upgraded.worklist.ts data pipeline already populates requiredInfoValues for worklist rows; confirm event worklists resolve inspection-linked values correctly for event-type lists.ri_* keys into existing visibleColumns PATCH — unless product wants server-side validation of field IDs.Out of scope (unless product expands Open decisions)
reason_not_booked, follow_up_date, etc.) — already shipped separately in ATT-1639 catalog.requiredInfoValue.<id> column namespace — different surface; reuse field IDs only.attik-frontend/src/util/worklist/columnConfig.ts, attik-frontend/src/components/task-check/GroupInfoCell.tsx, attik-frontend/src/app/tools/work/NewWorklistDrawer.tsxattik-backend/src/models/worklistSchema.ts, attik-backend/src/routes/worklist.tsPlease authenticate to join the conversation.
Planned
Main App
1 day ago
Linear
Get notified by email when there are changes.
Planned
Main App
1 day ago
Linear
Get notified by email when there are changes.