import { bool, object, SchemaOf, string } from 'yup'; import { FormControl } from '@@/form-components/FormControl'; import { FormSection } from '@@/form-components/FormSection'; import { SwitchField } from '@@/form-components/SwitchField'; import { RuntimeSelector } from './RuntimeSelector'; export interface Values { privileged: boolean; init: boolean; type: string; } export function RuntimeSection({ values, onChange, allowPrivilegedMode, isInitFieldVisible, }: { values: Values; onChange: (values: Values) => void; allowPrivilegedMode: boolean; isInitFieldVisible: boolean; }) { return ( {allowPrivilegedMode && (
handleChange({ privileged })} />
)} {isInitFieldVisible && (
handleChange({ init })} />
)} handleChange({ type })} />
); function handleChange(newValues: Partial) { onChange({ ...values, ...newValues }); } } export function runtimeValidation(): SchemaOf { return object({ privileged: bool().default(false), init: bool().default(false), type: string().default(''), }); }