gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/services/tables/inbounds/columns.tsx · v0.3.0-alpha5
Source
1 3b7feef Mrdn 2y ago
2 3b7feef Mrdn 2y ago import { ColumnDef } from "@tanstack/react-table"
3 3b7feef Mrdn 2y ago import { InboundType } from "@marzneshin/features/inbounds"
4 3b7feef Mrdn 2y ago import { DataTableColumnHeader } from "@marzneshin/components/data-table/column-header"
5 3b7feef Mrdn 2y ago import i18n from "@marzneshin/features/i18n"
6 3b7feef Mrdn 2y ago import { Badge, Checkbox } from "@marzneshin/components"
7 3b7feef Mrdn 2y ago
8 3b7feef Mrdn 2y ago export const columns: ColumnDef<InboundType>[] = [
9 3b7feef Mrdn 2y ago {
10 3b7feef Mrdn 2y ago id: "select",
11 3b7feef Mrdn 2y ago header: ({ table }) => (
12 3b7feef Mrdn 2y ago <Checkbox
13 3b7feef Mrdn 2y ago checked={
14 3b7feef Mrdn 2y ago table.getIsAllPageRowsSelected() ||
15 3b7feef Mrdn 2y ago (table.getIsSomePageRowsSelected() && "indeterminate")
16 3b7feef Mrdn 2y ago }
17 3b7feef Mrdn 2y ago onCheckedChange={(value) => {
18 3b7feef Mrdn 2y ago table.toggleAllPageRowsSelected(!!value)
19 3b7feef Mrdn 2y ago }}
20 3b7feef Mrdn 2y ago aria-label="Select all"
21 3b7feef Mrdn 2y ago />
22 3b7feef Mrdn 2y ago ),
23 3b7feef Mrdn 2y ago cell: ({ row }) => (
24 3b7feef Mrdn 2y ago <Checkbox
25 3b7feef Mrdn 2y ago checked={row.getIsSelected()}
26 3b7feef Mrdn 2y ago onCheckedChange={(value) => row.toggleSelected(!!value)}
27 3b7feef Mrdn 2y ago aria-label="Select row"
28 3b7feef Mrdn 2y ago />
29 3b7feef Mrdn 2y ago ),
30 3b7feef Mrdn 2y ago enableSorting: false,
31 3b7feef Mrdn 2y ago enableHiding: false,
32 3b7feef Mrdn 2y ago },
33 3b7feef Mrdn 2y ago {
34 3b7feef Mrdn 2y ago accessorKey: "tag",
35 3b7feef Mrdn 2y ago header: ({ column }) => <DataTableColumnHeader title={i18n.t('tag')} column={column} />,
36 3b7feef Mrdn 2y ago },
37 3b7feef Mrdn 2y ago {
38 3b7feef Mrdn 2y ago accessorKey: 'protocol',
39 3b7feef Mrdn 2y ago header: ({ column }) => <DataTableColumnHeader title={i18n.t('protocol')} column={column} />,
40 3b7feef Mrdn 2y ago cell: ({ row }) => (
41 3b7feef Mrdn 2y ago <Badge className="py-1 px-2"> {row.original.protocol} </Badge>
42 3b7feef Mrdn 2y ago )
43 3b7feef Mrdn 2y ago },
44 3b7feef Mrdn 2y ago {
45 3b7feef Mrdn 2y ago accessorKey: 'node',
46 3b7feef Mrdn 2y ago header: ({ column }) => <DataTableColumnHeader title={i18n.t('nodes')} column={column} />,
47 3b7feef Mrdn 2y ago cell: ({ row }) => (
48 3b7feef Mrdn 2y ago <Badge className="py-1 px-2"> {row.original.node.name} </Badge>
49 3b7feef Mrdn 2y ago )
50 3b7feef Mrdn 2y ago }
51 3b7feef Mrdn 2y ago ];