-
-
+ <>
{_("Select how to make free space in the selected disks for allocating the file systems.")}
@@ -428,17 +401,60 @@ export default function ProposalSpacePolicySection({
name="space-policies"
className={isChecked && "selected"}
isChecked={isChecked}
- onChange={() => changeSpacePolicy(policy.name)}
+ onChange={() => onChange(policy.name)}
/>
);
})}
{currentPolicy.description}
+ >
+ );
+};
+/**
+ * Section for configuring the space policy.
+ * @component
+ */
+export default function ProposalSpacePolicySection({
+ settings,
+ isLoading = false,
+ onChange = noop
+}) {
+ const changeSpacePolicy = (policy) => {
+ onChange({ spacePolicy: policy });
+ };
+
+ const changeSpaceActions = (spaceAction) => {
+ const spaceActions = settings.spaceActions.filter(a => a.device !== spaceAction.device);
+ if (spaceAction.action !== "keep") spaceActions.push(spaceAction);
+
+ onChange({ spaceActions });
+ };
+
+ const currentPolicy = SPACE_POLICIES.find(p => p.name === settings.spacePolicy) || SPACE_POLICIES[0];
+
+ return (
+
0}
- then={}
+ condition={isLoading}
+ then={}
+ else={
+ <>
+
+
+
+
+ 0}
+ then={}
+ />
+ >
+ }
/>
);