| 1 |
4cebd65 |
Mardin |
2y ago |
import { FetchEntityReturn } from "../hooks"; |
| 2 |
4cebd65 |
Mardin |
2y ago |
|
| 3 |
4cebd65 |
Mardin |
2y ago |
interface Entity { |
| 4 |
4cebd65 |
Mardin |
2y ago |
id: number; |
| 5 |
4cebd65 |
Mardin |
2y ago |
name: string; |
| 6 |
4cebd65 |
Mardin |
2y ago |
createdAt: string; |
| 7 |
4cebd65 |
Mardin |
2y ago |
} |
| 8 |
4cebd65 |
Mardin |
2y ago |
|
| 9 |
4cebd65 |
Mardin |
2y ago |
const massDataEntities = [ |
| 10 |
4cebd65 |
Mardin |
2y ago |
{ id: 1, name: "Azad Ahmed", createdAt: "2023-01-01" }, |
| 11 |
4cebd65 |
Mardin |
2y ago |
{ id: 2, name: "Bahman Karim", createdAt: "2024-02-05" }, |
| 12 |
4cebd65 |
Mardin |
2y ago |
{ id: 3, name: "Chnar Zana", createdAt: "2022-03-08" }, |
| 13 |
4cebd65 |
Mardin |
2y ago |
{ id: 4, name: "Dilshad Hassan", createdAt: "2024-04-11" }, |
| 14 |
4cebd65 |
Mardin |
2y ago |
{ id: 5, name: "Evin Rojan", createdAt: "2023-05-06" }, |
| 15 |
4cebd65 |
Mardin |
2y ago |
{ id: 6, name: "Farhad Hama", createdAt: "2025-06-08" }, |
| 16 |
4cebd65 |
Mardin |
2y ago |
{ id: 7, name: "Goran Rebwar", createdAt: "2027-07-10" }, |
| 17 |
4cebd65 |
Mardin |
2y ago |
{ id: 8, name: "Havin Ahmed", createdAt: "2025-08-09" }, |
| 18 |
4cebd65 |
Mardin |
2y ago |
{ id: 9, name: "Jiyan Qasim", createdAt: "2025-06-08" }, |
| 19 |
4cebd65 |
Mardin |
2y ago |
{ id: 10, name: "Kawa Sherwan", createdAt: "2027-07-10" }, |
| 20 |
4cebd65 |
Mardin |
2y ago |
{ id: 11, name: "Lawan Barzan", createdAt: "2025-08-09" }, |
| 21 |
4cebd65 |
Mardin |
2y ago |
{ id: 12, name: "Nazdar Rizgar", createdAt: "2025-08-09" }, |
| 22 |
4cebd65 |
Mardin |
2y ago |
{ id: 13, name: "Rojan Shamal", createdAt: "2023-09-12" }, |
| 23 |
4cebd65 |
Mardin |
2y ago |
{ id: 14, name: "Sherin Jalal", createdAt: "2024-10-23" }, |
| 24 |
4cebd65 |
Mardin |
2y ago |
{ id: 15, name: "Tahir Walat", createdAt: "2022-11-29" }, |
| 25 |
4cebd65 |
Mardin |
2y ago |
{ id: 16, name: "Viyan Bave", createdAt: "2023-12-17" }, |
| 26 |
4cebd65 |
Mardin |
2y ago |
{ id: 17, name: "Yousif Farhad", createdAt: "2025-01-05" }, |
| 27 |
4cebd65 |
Mardin |
2y ago |
{ id: 18, name: "Zahra Kamal", createdAt: "2026-02-14" }, |
| 28 |
4cebd65 |
Mardin |
2y ago |
{ id: 19, name: "Bakhtiar Shwan", createdAt: "2025-03-21" }, |
| 29 |
4cebd65 |
Mardin |
2y ago |
{ id: 20, name: "Diyar Latif", createdAt: "2026-04-13" }, |
| 30 |
4cebd65 |
Mardin |
2y ago |
{ id: 21, name: "Azad Ahmed", createdAt: "2023-01-01" }, |
| 31 |
4cebd65 |
Mardin |
2y ago |
{ id: 22, name: "Bahman Karim", createdAt: "2024-02-05" }, |
| 32 |
4cebd65 |
Mardin |
2y ago |
{ id: 23, name: "Chnar Zana", createdAt: "2022-03-08" }, |
| 33 |
4cebd65 |
Mardin |
2y ago |
{ id: 24, name: "Dilshad Hassan", createdAt: "2024-04-11" }, |
| 34 |
4cebd65 |
Mardin |
2y ago |
{ id: 25, name: "Evin Rojan", createdAt: "2023-05-06" }, |
| 35 |
4cebd65 |
Mardin |
2y ago |
{ id: 26, name: "Farhad Hama", createdAt: "2025-06-08" }, |
| 36 |
4cebd65 |
Mardin |
2y ago |
{ id: 27, name: "Goran Rebwar", createdAt: "2027-07-10" }, |
| 37 |
4cebd65 |
Mardin |
2y ago |
{ id: 28, name: "Havin Ahmed", createdAt: "2025-08-09" }, |
| 38 |
4cebd65 |
Mardin |
2y ago |
{ id: 29, name: "Jiyan Qasim", createdAt: "2025-06-08" }, |
| 39 |
4cebd65 |
Mardin |
2y ago |
{ id: 30, name: "Kawa Sherwan", createdAt: "2027-07-10" }, |
| 40 |
4cebd65 |
Mardin |
2y ago |
{ id: 31, name: "Lawan Barzan", createdAt: "2025-08-09" }, |
| 41 |
4cebd65 |
Mardin |
2y ago |
{ id: 32, name: "Nazdar Rizgar", createdAt: "2025-08-09" }, |
| 42 |
4cebd65 |
Mardin |
2y ago |
{ id: 33, name: "Rojan Shamal", createdAt: "2023-09-12" }, |
| 43 |
4cebd65 |
Mardin |
2y ago |
{ id: 34, name: "Sherin Jalal", createdAt: "2024-10-23" }, |
| 44 |
4cebd65 |
Mardin |
2y ago |
{ id: 35, name: "Tahir Walat", createdAt: "2022-11-29" }, |
| 45 |
4cebd65 |
Mardin |
2y ago |
{ id: 36, name: "Viyan Bave", createdAt: "2023-12-17" }, |
| 46 |
4cebd65 |
Mardin |
2y ago |
{ id: 37, name: "Yousif Farhad", createdAt: "2025-01-05" }, |
| 47 |
4cebd65 |
Mardin |
2y ago |
{ id: 38, name: "Zahra Kamal", createdAt: "2026-02-14" }, |
| 48 |
4cebd65 |
Mardin |
2y ago |
{ id: 39, name: "Bakhtiar Shwan", createdAt: "2025-03-21" }, |
| 49 |
4cebd65 |
Mardin |
2y ago |
{ id: 40, name: "Diyar Latif", createdAt: "2026-04-13" }, |
| 50 |
4cebd65 |
Mardin |
2y ago |
]; |
| 51 |
4cebd65 |
Mardin |
2y ago |
|
| 52 |
4cebd65 |
Mardin |
2y ago |
export const fetchEntity = async ({ queryKey }: { queryKey: any }) => { |
| 53 |
4cebd65 |
Mardin |
2y ago |
const [, pageIndex, pageSize, search, ,] = queryKey; |
| 54 |
4cebd65 |
Mardin |
2y ago |
|
| 55 |
4cebd65 |
Mardin |
2y ago |
const filteredEntities = search |
| 56 |
4cebd65 |
Mardin |
2y ago |
? massDataEntities.filter(entity => |
| 57 |
4cebd65 |
Mardin |
2y ago |
entity.name.toLowerCase().includes(search.toLowerCase()) |
| 58 |
4cebd65 |
Mardin |
2y ago |
) |
| 59 |
4cebd65 |
Mardin |
2y ago |
: massDataEntities; |
| 60 |
4cebd65 |
Mardin |
2y ago |
|
| 61 |
4cebd65 |
Mardin |
2y ago |
const startIndex = (pageIndex - 1) * pageSize; |
| 62 |
4cebd65 |
Mardin |
2y ago |
const endIndex = startIndex + pageSize; |
| 63 |
4cebd65 |
Mardin |
2y ago |
|
| 64 |
4cebd65 |
Mardin |
2y ago |
const paginatedEntities = filteredEntities.slice(startIndex, endIndex); |
| 65 |
4cebd65 |
Mardin |
2y ago |
|
| 66 |
4cebd65 |
Mardin |
2y ago |
return { |
| 67 |
4cebd65 |
Mardin |
2y ago |
entity: paginatedEntities, |
| 68 |
4cebd65 |
Mardin |
2y ago |
pageCount: Math.ceil(filteredEntities.length / pageSize), |
| 69 |
4cebd65 |
Mardin |
2y ago |
}; |
| 70 |
4cebd65 |
Mardin |
2y ago |
} |
| 71 |
4cebd65 |
Mardin |
2y ago |
|
| 72 |
4cebd65 |
Mardin |
2y ago |
export const fetchEntityLoading = async (): FetchEntityReturn<Entity> => { |
| 73 |
4cebd65 |
Mardin |
2y ago |
return new Promise((resolve) => { |
| 74 |
4cebd65 |
Mardin |
2y ago |
setTimeout(() => { |
| 75 |
4cebd65 |
Mardin |
2y ago |
resolve({ |
| 76 |
4cebd65 |
Mardin |
2y ago |
entity: [{ id: 40, name: "Diyar Latif", createdAt: "2026-04-13" }], |
| 77 |
4cebd65 |
Mardin |
2y ago |
pageCount: 1, |
| 78 |
4cebd65 |
Mardin |
2y ago |
}); |
| 79 |
4cebd65 |
Mardin |
2y ago |
}, 24 * 60 * 60 * 1000); |
| 80 |
4cebd65 |
Mardin |
2y ago |
}); |
| 81 |
4cebd65 |
Mardin |
2y ago |
} |