4.5 KiB
Permission Matrix UI Improvement Report
วันที่อัปเดต: 2026-07-07
1. Summary
ปรับปรุงหน้า Permission Matrix และ Permission Catalog ให้ผู้ใช้งานเข้าใจ permission แต่ละรายการได้ง่ายขึ้น โดยเพิ่ม metadata ระดับคำอธิบายภาษาไทยให้ทุก permission และปรับ UI ให้แสดงข้อมูลตามลำดับ:
- Permission Name
- Description
- Permission Code
- Action Badge
รอบนี้เป็นการปรับปรุงเฉพาะ UI/UX และ catalog metadata เท่านั้น โดยไม่เปลี่ยน business logic, permission code, authorization, API contract หลัก หรือ database schema
2. Files Modified
src/features/permission-management/api/types.tssrc/features/permission-management/server/permission-management-catalog.tssrc/features/permission-management/components/permission-matrix.tsxsrc/features/permission-management/components/permission-template-form-sheet.tsx
3. UI Changes
สิ่งที่เปลี่ยนในหน้า Permission Matrix:
- เปลี่ยนจากแสดงแค่
action+permission code - เพิ่ม
permission.descriptionภาษาไทยในแต่ละ card - แสดง
permission.codeด้วยfont-mono - ปรับ typography:
- name ใช้
text-base font-semibold - description ใช้
text-sm text-muted-foreground - code ใช้
font-mono text-xs
- name ใช้
- คง
Actionbadge เดิมไว้
ผลลัพธ์คือผู้ใช้สามารถอ่านแล้วเข้าใจได้ทันทีว่า permission นั้น “ใช้ทำอะไร” โดยไม่ต้องเดาจาก code
นอกจากนี้ใน Permission Template Form ก็เปลี่ยนให้แสดง description จาก catalog เดียวกันด้วย เพื่อไม่ hardcode ข้อความและรองรับการใช้งานต่อในอนาคต
4. Permission Catalog Changes
ปรับ catalog เดิมใน src/features/permission-management/server/permission-management-catalog.ts โดยเพิ่ม metadata ต่อ permission ดังนี้:
moduleactioncodenamedescriptiondescriptionEn
และยังคง field compatibility เดิมไว้ด้วย:
valuelabel
ดังนั้น component เดิมที่อิง permission.value ยังใช้ต่อได้ และ component ใหม่สามารถอ่าน permission.description ได้ทันที
5. Permission Coverage
ผลการตรวจสอบ catalog:
- จำนวน permission ทั้งหมดในระบบ:
78 - จำนวน permission ที่มี metadata ครบ:
78 - จำนวน permission ที่ขาดคำอธิบาย:
0 - จำนวน permission ที่ขาด field สำคัญ (
module,action,code,name,description):0
ยืนยันว่า permission ทุกตัวมีข้อมูลครบ:
moduleactioncodenamedescription
6. Compatibility
ยืนยันว่าในการเปลี่ยนรอบนี้:
- Permission Code ไม่เปลี่ยน
- Business Logic ไม่เปลี่ยน
- Authorization ไม่เปลี่ยน
- API ไม่เปลี่ยนในเชิงพฤติกรรมการอนุญาต
- Database ไม่เปลี่ยน
รอบนี้เป็น UX improvement ของ catalog และการ render UI เท่านั้น
7. Verification
ตรวจสอบแล้ว:
npx oxlint src/features/permission-management src/app/api/permissions src/features/permission-management/server/permission-management-catalog.tsผ่านnpx tsc --noEmitผ่าน- coverage check ของ permission catalog:
- total permissions =
78 - coverage =
78 - missing =
0 - incomplete =
0
- total permissions =
- หน้า
Permission Matrixแสดง description จากpermission.description - Permission Code ยังคงเดิมทุกตัว