1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-21 22:39:41 +02:00
portainer/app/react/kubernetes/cluster/HomeView/NodesDatatable/columns/actions.tsx
Ali d38085a560
Some checks are pending
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
ci / build_images (map[arch:arm platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:s390x platform:linux version:]) (push) Waiting to run
ci / build_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (push) Waiting to run
Test / test-client (push) Waiting to run
Test / test-server (map[arch:amd64 platform:linux]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run
chore(data-cy): require data-cy attributes [EE-6880] (#11453)
2024-04-11 12:11:38 +12:00

48 lines
1.1 KiB
TypeScript

import { CellContext } from '@tanstack/react-table';
import { BarChart } from 'lucide-react';
import { Link } from '@@/Link';
import { Icon } from '@@/Icon';
import { NodeRowData } from '../types';
import { columnHelper } from './helper';
export function getActions(metricsEnabled: boolean) {
return columnHelper.accessor(() => '', {
header: 'Actions',
enableSorting: false,
cell: (props) => (
<ActionsCell
// eslint-disable-next-line react/jsx-props-no-spreading
{...props}
metricsEnabled={metricsEnabled}
/>
),
});
}
function ActionsCell({
row: { original: node },
metricsEnabled,
}: CellContext<NodeRowData, string> & {
metricsEnabled: boolean;
}) {
const nodeName = node.metadata?.name;
return (
<div className="flex gap-1.5">
{metricsEnabled && (
<Link
title="Stats"
to="kubernetes.cluster.node.stats"
params={{ nodeName }}
className="flex items-center p-1"
data-cy="nodeStatsButton"
>
<Icon icon={BarChart} />
</Link>
)}
</div>
);
}