3.4 KiB
3.4 KiB
3.2A Correspondence-RFA Unified List & UX Flow
title: 'Implementation Note: Unified Correspondence List (RFA Filter) and UX Flow' version: 1.0.0 status: implemented owner: Nattanin Peancharoen last_updated: 2026-03-31 related:
- specs/01-requirements/01-03-modules/01-03-02-correspondence.md
- specs/01-requirements/01-03-modules/01-03-03-rfa.md
- specs/03-Data-and-Storage/lcbp3-v1.8.0-schema-02-tables.sql
- specs/06-Decision-Records/ADR-019-hybrid-identifier-strategy.md
1) วัตถุประสงค์
อธิบาย implementation ที่รวมหน้า list ของ RFA เข้ากับหน้า Correspondence โดยใช้ filter type=RFA โดยยังคงหน้า RFA เฉพาะทาง (new/detail/edit) เพื่อรองรับ extension logic ของ rfas, rfa_revisions, rfa_items.
2) Routing Strategy
2.1 Canonical List
- Canonical list route:
/correspondences - RFA list filter route:
/correspondences?type=RFA
2.2 Redirect Policy
/rfas->/correspondences?type=RFA/rfa->/correspondences?type=RFA
2.3 Preserved RFA Pages
/rfas/new/rfas/[uuid]/rfas/[uuid]/edit
3) Query & Filtering Behavior
- Frontend รับ
typeจาก query string (เช่นRFA) แล้ว map เป็นtypeIdผ่าน master correspondence types - API call ใช้
/correspondencesพร้อมtypeIdเพื่อให้ backend filter ตามcorrespondence_type_id - เมื่อ filter เป็น RFA ระบบยังคงใช้ correspondence list payload (revision-based list)
4) UX Flow Diagram in UI
หน้า /correspondences มีปุ่ม UX Flow เพื่อแสดง flow หลัก:
- สร้าง Master (
correspondences) - สร้าง Current Revision (
correspondence_revisions) - Two-phase attachment upload/commit (
attachments+correspondence_revision_attachments) - Submit เข้า workflow
- วน revision cycle (current revision เปลี่ยนได้ทีละหนึ่ง)
- RFA extension path (list รวม แต่ form/detail ยังแยก)
5) Theme Direction (Dashboard)
- ใช้โทน
dark-blueเป็น default - รองรับ toggle ระหว่าง
darkและlight (white) - ใช้ token-based theming (
globals.css+ Tailwind mapped variables)
6) Data Model Alignment (Source of Truth)
เพื่อให้ตรงกับ schema และโค้ดที่ใช้งานจริง:
- Attachment model ของ correspondence/rfa non-drawing ใช้ revision-level relation ผ่าน
correspondence_revision_attachments - หลีกเลี่ยงการอ้าง
correspondence_attachmentsเป็น table หลักของ revision ใน implementation ปัจจุบัน
7) Acceptance Checklist
/rfasและ/rfaredirect ถูกต้อง/correspondences?type=RFAแสดง list RFA ได้/rfas/new,/rfas/[uuid],/rfas/[uuid]/editยังใช้งานได้- มีปุ่ม
UX Flowในหน้า UI จริง - Theme default เป็น dark-blue พร้อม toggle white/dark
- สเปกหลักสองไฟล์อัปเดตสอดคล้อง implementation