diff --git a/webui/src/views/AddPlanModal.tsx b/webui/src/views/AddPlanModal.tsx index 83562266..c6680f6b 100644 --- a/webui/src/views/AddPlanModal.tsx +++ b/webui/src/views/AddPlanModal.tsx @@ -374,13 +374,27 @@ export const AddPlanModal = ({ const RetentionPolicyView = () => { const form = Form.useFormInstance(); - const retention = form.getFieldValue("retention") as RetentionPolicy | undefined; - const [mode, setMode] = useState(!retention ? 2 : retention.keepLastN ? 0 : 1); + const retention = Form.useWatch('retention', { form, preserve: true }) as RetentionPolicy | undefined; + console.log("RETENTION: " + JSON.stringify(retention)); + + let [mode, setMode] = useState(0); + useEffect(() => { + if (!retention || (!retention.keepDaily && !retention.keepHourly && !retention.keepLastN && !retention.keepMonthly && !retention.keepWeekly && !retention.keepYearly)) { + console.log("RETENTION NOT SET"); + setMode(0); + } else if (!!retention.keepLastN) { + console.log("KEEP LAST N: ", retention.keepLastN); + setMode(1); + } else { + setMode(2); + } + }, [retention]) + console.log("MODE: ", mode); let elem: React.ReactNode = null; - if (mode === 2) { + if (mode === 0) { elem =
All backups are retained e.g. for append-only repos. Ensure that you manually forget / prune backups elsewhere. Backrest will register forgets performed externally on the next backup.
; - } else if (mode === 0) { + } else if (mode === 1) { elem = (