gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/nodes/tables/table.tsx · v0.4.1
Source
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 b15ff05 Mrdn 2y ago } from '@marzneshin/features/nodes';
7 4cebd65 Mardin 2y ago import { EntityTable } from "@marzneshin/features/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 3b7feef Mrdn 2y ago filteredColumn="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 }