https://dev.kronoz.win/r/marzneshin.git
| 1 |
3b7feef |
Mrdn |
2y ago |
import { FC } from "react"; |
| 2 |
b15ff05 |
Mrdn |
2y ago |
import { |
| 3 |
d0daa61 |
Mardin |
2y ago |
columns as columnsFn, |
| 4 |
578311c |
Mrdn |
2y ago |
fetchNodes, |
| 5 |
d0daa61 |
Mardin |
2y ago |
NodeType |
| 6 |
78a3e64 |
Dawsh |
2y ago |
} from '@marzneshin/modules/nodes'; |
| 7 |
7389ad0 |
Mardin |
2y ago |
import { EntityTable } from "@marzneshin/libs/entity-table"; |
| 8 |
03b3dbc |
Mardin |
2y ago |
import { useNavigate } from "@tanstack/react-router"; |
| 9 |
b15ff05 |
Mrdn |
2y ago |
|
| 10 |
b15ff05 |
Mrdn |
2y ago |
export const NodesTable: FC = () => { |
| 11 |
03b3dbc |
Mardin |
2y ago |
const navigate = useNavigate({ from: "/nodes" }); |
| 12 |
d0daa61 |
Mardin |
2y ago |
|
| 13 |
d0daa61 |
Mardin |
2y ago |
const onOpen = (entity: NodeType) => { |
| 14 |
d0daa61 |
Mardin |
2y ago |
navigate({ |
| 15 |
d0daa61 |
Mardin |
2y ago |
to: "/nodes/$nodeId", |
| 16 |
d0daa61 |
Mardin |
2y ago |
params: { nodeId: String(entity.id) }, |
| 17 |
d0daa61 |
Mardin |
2y ago |
}) |
| 18 |
d0daa61 |
Mardin |
2y ago |
} |
| 19 |
d0daa61 |
Mardin |
2y ago |
|
| 20 |
d0daa61 |
Mardin |
2y ago |
const onEdit = (entity: NodeType) => { |
| 21 |
d0daa61 |
Mardin |
2y ago |
navigate({ |
| 22 |
d0daa61 |
Mardin |
2y ago |
to: "/nodes/$nodeId/edit", |
| 23 |
d0daa61 |
Mardin |
2y ago |
params: { nodeId: String(entity.id) }, |
| 24 |
d0daa61 |
Mardin |
2y ago |
}) |
| 25 |
d0daa61 |
Mardin |
2y ago |
} |
| 26 |
d0daa61 |
Mardin |
2y ago |
|
| 27 |
d0daa61 |
Mardin |
2y ago |
const onDelete = (entity: NodeType) => { |
| 28 |
d0daa61 |
Mardin |
2y ago |
navigate({ |
| 29 |
d0daa61 |
Mardin |
2y ago |
to: "/nodes/$nodeId/delete", |
| 30 |
d0daa61 |
Mardin |
2y ago |
params: { nodeId: String(entity.id) }, |
| 31 |
d0daa61 |
Mardin |
2y ago |
}) |
| 32 |
d0daa61 |
Mardin |
2y ago |
} |
| 33 |
d0daa61 |
Mardin |
2y ago |
|
| 34 |
d0daa61 |
Mardin |
2y ago |
const columns = columnsFn({ onEdit, onDelete, onOpen }); |
| 35 |
d0daa61 |
Mardin |
2y ago |
|
| 36 |
b15ff05 |
Mrdn |
2y ago |
return ( |
| 37 |
3b7feef |
Mrdn |
2y ago |
<EntityTable |
| 38 |
578311c |
Mrdn |
2y ago |
fetchEntity={fetchNodes} |
| 39 |
d0daa61 |
Mardin |
2y ago |
columns={columns} |
| 40 |
65bbe9d |
Mardin |
2y ago |
primaryFilter="name" |
| 41 |
578311c |
Mrdn |
2y ago |
entityKey="nodes" |
| 42 |
03b3dbc |
Mardin |
2y ago |
onCreate={() => navigate({ to: "/nodes/create" })} |
| 43 |
d0daa61 |
Mardin |
2y ago |
onOpen={onOpen} |
| 44 |
3b7feef |
Mrdn |
2y ago |
/> |
| 45 |
b15ff05 |
Mrdn |
2y ago |
) |
| 46 |
b15ff05 |
Mrdn |
2y ago |
} |