https://dev.kronoz.win/r/marzneshin.git
| 1 |
4708fcb |
Dawsh |
2y ago |
import type { FC } from "react"; |
| 2 |
d0daa61 |
Mardin |
2y ago |
import { fetchAdmins, AdminType, AdminsQueryFetchKey } from "@marzneshin/features/admins"; |
| 3 |
d0daa61 |
Mardin |
2y ago |
import { columns as columnsFn } from "./columns"; |
| 4 |
4708fcb |
Dawsh |
2y ago |
import { EntityTable } from "@marzneshin/features/entity-table"; |
| 5 |
4708fcb |
Dawsh |
2y ago |
import { useNavigate } from "@tanstack/react-router"; |
| 6 |
4708fcb |
Dawsh |
2y ago |
|
| 7 |
4708fcb |
Dawsh |
2y ago |
export const AdminsTable: FC = () => { |
| 8 |
4708fcb |
Dawsh |
2y ago |
const navigate = useNavigate({ from: "/admins" }); |
| 9 |
d0daa61 |
Mardin |
2y ago |
const onOpen = (entity: AdminType) => { |
| 10 |
d0daa61 |
Mardin |
2y ago |
navigate({ |
| 11 |
d0daa61 |
Mardin |
2y ago |
to: "/admins/$adminId", |
| 12 |
d0daa61 |
Mardin |
2y ago |
params: { adminId: entity.username }, |
| 13 |
d0daa61 |
Mardin |
2y ago |
}) |
| 14 |
d0daa61 |
Mardin |
2y ago |
} |
| 15 |
d0daa61 |
Mardin |
2y ago |
|
| 16 |
d0daa61 |
Mardin |
2y ago |
const onEdit = (entity: AdminType) => { |
| 17 |
d0daa61 |
Mardin |
2y ago |
navigate({ |
| 18 |
d0daa61 |
Mardin |
2y ago |
to: "/admins/$adminId/edit", |
| 19 |
d0daa61 |
Mardin |
2y ago |
params: { adminId: entity.username }, |
| 20 |
d0daa61 |
Mardin |
2y ago |
}) |
| 21 |
d0daa61 |
Mardin |
2y ago |
} |
| 22 |
d0daa61 |
Mardin |
2y ago |
|
| 23 |
d0daa61 |
Mardin |
2y ago |
const onDelete = (entity: AdminType) => { |
| 24 |
d0daa61 |
Mardin |
2y ago |
navigate({ |
| 25 |
d0daa61 |
Mardin |
2y ago |
to: "/admins/$adminId/delete", |
| 26 |
d0daa61 |
Mardin |
2y ago |
params: { adminId: entity.username }, |
| 27 |
d0daa61 |
Mardin |
2y ago |
}) |
| 28 |
d0daa61 |
Mardin |
2y ago |
} |
| 29 |
d0daa61 |
Mardin |
2y ago |
|
| 30 |
d0daa61 |
Mardin |
2y ago |
const columns = columnsFn({ onEdit, onDelete, onOpen }); |
| 31 |
d0daa61 |
Mardin |
2y ago |
|
| 32 |
4708fcb |
Dawsh |
2y ago |
return ( |
| 33 |
4708fcb |
Dawsh |
2y ago |
<EntityTable |
| 34 |
4708fcb |
Dawsh |
2y ago |
fetchEntity={fetchAdmins} |
| 35 |
4708fcb |
Dawsh |
2y ago |
manualSorting={false} |
| 36 |
d0daa61 |
Mardin |
2y ago |
columns={columns} |
| 37 |
4708fcb |
Dawsh |
2y ago |
filteredColumn="username" |
| 38 |
4708fcb |
Dawsh |
2y ago |
entityKey={AdminsQueryFetchKey} |
| 39 |
4708fcb |
Dawsh |
2y ago |
onCreate={() => navigate({ to: "/admins/create" })} |
| 40 |
d0daa61 |
Mardin |
2y ago |
onOpen={onOpen} |
| 41 |
4708fcb |
Dawsh |
2y ago |
/> |
| 42 |
4708fcb |
Dawsh |
2y ago |
); |
| 43 |
4708fcb |
Dawsh |
2y ago |
}; |