1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-23 07:19:41 +02:00
portainer/app/react/components/RadioGroup/RadioGroup.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

37 lines
949 B
TypeScript

import { Option } from '@@/form-components/PortainerSelect';
interface Props<T extends string | number> {
options: Array<Option<T>> | ReadonlyArray<Option<T>>;
selectedOption: T;
name: string;
onOptionChange: (value: T) => void;
}
export function RadioGroup<T extends string | number = string>({
options,
selectedOption,
name,
onOptionChange,
}: Props<T>) {
return (
<div>
{options.map((option) => (
<label
key={option.value}
className="col-sm-3 col-lg-2 control-label !p-0 text-left font-normal"
>
<input
type="radio"
name={name}
value={option.value}
checked={selectedOption === option.value}
onChange={() => onOptionChange(option.value)}
style={{ margin: '0 4px 0 0' }}
data-cy={`radio-${option.value}`}
/>
{option.label}
</label>
))}
</div>
);
}