mirror of
https://github.com/portainer/portainer.git
synced 2025-07-24 15:59:41 +02:00
feat(helm): helm actions [r8s-259] (#715)
Co-authored-by: James Player <james.player@portainer.io> Co-authored-by: Cara Ryan <cara.ryan@portainer.io> Co-authored-by: stevensbkang <skan070@gmail.com>
This commit is contained in:
parent
dfa32b6755
commit
4ee349bd6b
117 changed files with 4161 additions and 696 deletions
|
@ -1,10 +1,19 @@
|
|||
import { Option } from '@@/form-components/PortainerSelect';
|
||||
import { ReactNode } from 'react';
|
||||
|
||||
// allow custom labels
|
||||
export interface RadioGroupOption<TValue> {
|
||||
value: TValue;
|
||||
label: ReactNode;
|
||||
disabled?: boolean;
|
||||
}
|
||||
|
||||
interface Props<T extends string | number> {
|
||||
options: Array<Option<T>> | ReadonlyArray<Option<T>>;
|
||||
options: Array<RadioGroupOption<T>> | ReadonlyArray<RadioGroupOption<T>>;
|
||||
selectedOption: T;
|
||||
name: string;
|
||||
onOptionChange: (value: T) => void;
|
||||
groupClassName?: string;
|
||||
itemClassName?: string;
|
||||
}
|
||||
|
||||
export function RadioGroup<T extends string | number = string>({
|
||||
|
@ -12,13 +21,18 @@ export function RadioGroup<T extends string | number = string>({
|
|||
selectedOption,
|
||||
name,
|
||||
onOptionChange,
|
||||
groupClassName,
|
||||
itemClassName,
|
||||
}: Props<T>) {
|
||||
return (
|
||||
<div className="flex flex-wrap gap-x-2 gap-y-1">
|
||||
<div className={groupClassName ?? 'flex flex-wrap gap-x-2 gap-y-1'}>
|
||||
{options.map((option) => (
|
||||
<label
|
||||
key={option.value}
|
||||
className="col-sm-3 col-lg-2 control-label !p-0 text-left font-normal"
|
||||
className={
|
||||
itemClassName ??
|
||||
'col-sm-3 col-lg-2 control-label !p-0 text-left font-normal'
|
||||
}
|
||||
>
|
||||
<input
|
||||
type="radio"
|
||||
|
@ -28,6 +42,7 @@ export function RadioGroup<T extends string | number = string>({
|
|||
onChange={() => onOptionChange(option.value)}
|
||||
style={{ margin: '0 4px 0 0' }}
|
||||
data-cy={`radio-${option.value}`}
|
||||
disabled={option.disabled}
|
||||
/>
|
||||
{option.label}
|
||||
</label>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue