49 lines
1.8 KiB
Markdown
49 lines
1.8 KiB
Markdown
## Data Ordering Standard
|
|
|
|
ทุกหน้าที่เป็นรายการข้อมูลในระบบ ให้เรียงลำดับข้อมูลโดยอ้างอิงจากรายการที่สร้างล่าสุดก่อนเสมอ
|
|
|
|
### Default Sort
|
|
|
|
ให้ใช้ค่า Default Sort เป็น
|
|
|
|
created_at DESC
|
|
|
|
หรือ
|
|
|
|
createdAt DESC
|
|
|
|
ขึ้นอยู่กับชื่อ field ในระบบ
|
|
|
|
### หลักการ
|
|
|
|
- รายการที่สร้างใหม่ต้องแสดงอยู่ด้านบนสุด
|
|
- ห้ามใช้ training_date / วันที่อบรม เป็น default sort
|
|
- ห้ามใช้ updated_at เป็น default sort เว้นแต่หน้านั้นเป็น audit/history โดยเฉพาะ
|
|
- หากผู้ใช้กด sort เอง ให้ใช้ sort ตามที่ผู้ใช้เลือก
|
|
- เมื่อ clear filter หรือ reload หน้า ให้กลับมาเรียงตาม created_at DESC
|
|
|
|
### Scope
|
|
|
|
ให้ปรับทุกหน้าที่เป็นรายการข้อมูล เช่น
|
|
|
|
- รอตรวจสอบ
|
|
- ประวัติการอบรม
|
|
- บทเรียนออนไลน์
|
|
- ประกาศ
|
|
- รายงาน
|
|
- รายการอนุมัติ
|
|
- รายการ import
|
|
- หน้าจัดการ master data
|
|
|
|
### API Requirement
|
|
|
|
หากเป็น Server-side pagination/filter ให้ API ต้อง sort ด้วย created_at DESC เป็นค่าเริ่มต้น
|
|
|
|
ตัวอย่าง Prisma:
|
|
|
|
```ts
|
|
orderBy: {
|
|
created_at: "desc";
|
|
}
|
|
```
|