diff --git a/virtweb_frontend/src/widgets/forms/CheckboxInput.tsx b/virtweb_frontend/src/widgets/forms/CheckboxInput.tsx index 837fb39..91d151f 100644 --- a/virtweb_frontend/src/widgets/forms/CheckboxInput.tsx +++ b/virtweb_frontend/src/widgets/forms/CheckboxInput.tsx @@ -17,7 +17,9 @@ export function CheckboxInput(p: { { p.onValueChange(e.target.checked); }} + onChange={(e) => { + p.onValueChange(e.target.checked); + }} /> } label={p.label} diff --git a/virtweb_frontend/src/widgets/forms/CloudInitEditor.tsx b/virtweb_frontend/src/widgets/forms/CloudInitEditor.tsx index a84ba8f..57b4f58 100644 --- a/virtweb_frontend/src/widgets/forms/CloudInitEditor.tsx +++ b/virtweb_frontend/src/widgets/forms/CloudInitEditor.tsx @@ -214,6 +214,23 @@ function CloudInitUserDataAssistant(p: CloudInitProps): React.ReactElement { onChange={onChange} yaml={user_data} /> + +
+ ); } + +function CloudInitBooleanInput(p: { + editable: boolean; + name: string; + refUrl: string; + attrPath: Iterable; + yaml: YAML.Document; + onChange: () => void; +}): React.ReactElement { + return ( + { + if (v !== undefined) p.yaml.setIn(p.attrPath, v); + else p.yaml.deleteIn(p.attrPath); + p.onChange?.(); + }} + /> + ); +}