gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/modules/nodes/tables/columns.tsx · v0.7.4
Source
1 b15ff05 Mrdn 2y ago import { ColumnDef } from "@tanstack/react-table"
2 78a3e64 Dawsh 2y ago import { NodesStatusBadge, NodeType, NodesStatus } from "@marzneshin/modules/nodes"
3 65bbe9d Mardin 2y ago import {
4 65bbe9d Mardin 2y ago DataTableActionsCell,
5 65bbe9d Mardin 2y ago DataTableColumnHeader
6 7389ad0 Mardin 2y ago } from "@marzneshin/libs/entity-table"
7 b15ff05 Mrdn 2y ago import i18n from "@marzneshin/features/i18n"
8 4708fcb Dawsh 2y ago import {
9 4708fcb Dawsh 2y ago type ColumnActions
10 7389ad0 Mardin 2y ago } from "@marzneshin/libs/entity-table";
11 4708fcb Dawsh 2y ago import {
12 4708fcb Dawsh 2y ago NoPropogationButton,
13 7389ad0 Mardin 2y ago } from "@marzneshin/common/components"
14 b15ff05 Mrdn 2y ago
15 4708fcb Dawsh 2y ago export const columns = (actions: ColumnActions<NodeType>): ColumnDef<NodeType>[] => ([
16 b15ff05 Mrdn 2y ago {
17 b15ff05 Mrdn 2y ago accessorKey: "name",
18 b15ff05 Mrdn 2y ago header: ({ column }) => <DataTableColumnHeader title={i18n.t('name')} column={column} />,
19 b15ff05 Mrdn 2y ago },
20 b15ff05 Mrdn 2y ago {
21 b15ff05 Mrdn 2y ago accessorKey: "status",
22 b15ff05 Mrdn 2y ago header: ({ column }) => <DataTableColumnHeader title={i18n.t('status')} column={column} />,
23 b15ff05 Mrdn 2y ago cell: ({ row }) => <NodesStatusBadge status={NodesStatus[row.original.status]} />,
24 b15ff05 Mrdn 2y ago },
25 b15ff05 Mrdn 2y ago {
26 b15ff05 Mrdn 2y ago accessorKey: "address",
27 b15ff05 Mrdn 2y ago header: ({ column }) => <DataTableColumnHeader title={i18n.t('address')} column={column} />,
28 b15ff05 Mrdn 2y ago cell: ({ row }) => `${row.original.address}:${row.original.port}`
29 b15ff05 Mrdn 2y ago },
30 b15ff05 Mrdn 2y ago {
31 b15ff05 Mrdn 2y ago accessorKey: "usage_coefficient",
32 b15ff05 Mrdn 2y ago header: ({ column }) => <DataTableColumnHeader title={i18n.t('page.nodes.usage_coefficient')} column={column} />,
33 b15ff05 Mrdn 2y ago },
34 b15ff05 Mrdn 2y ago {
35 b15ff05 Mrdn 2y ago id: "actions",
36 4708fcb Dawsh 2y ago cell: ({ row }) => {
37 4708fcb Dawsh 2y ago return (
38 4708fcb Dawsh 2y ago <NoPropogationButton row={row} actions={actions}>
39 4708fcb Dawsh 2y ago <DataTableActionsCell {...actions} row={row} />
40 4708fcb Dawsh 2y ago </NoPropogationButton>
41 4708fcb Dawsh 2y ago );
42 4708fcb Dawsh 2y ago },
43 4708fcb Dawsh 2y ago }
44 b15ff05 Mrdn 2y ago ]);