docs(changeset): feat(Former): add keep open functionality and update onClose behavior

This commit is contained in:
2026-02-08 00:12:14 +02:00
parent 6ff395e9be
commit 8928432fe0
4 changed files with 47 additions and 9 deletions

View File

@@ -118,21 +118,38 @@ const { Provider: FormerProvider, useStore: useFormerStore } = createSyncStore<
if (get().afterSave) {
await get().afterSave!(newData, get());
}
if (keepOpen) {
const keyName = get()?.uniqueKeyField || 'id';
const clearedData = { ...newData };
delete clearedData[keyName];
set({ loading: false, values: clearedData });
get().onChange?.(clearedData, get());
formMethods.reset(clearedData);
return newData;
}
set({ loading: false, values: newData });
get().onChange?.(newData, get());
formMethods.reset(newData); //reset with saved data to clear dirty state
if (!keepOpen) {
get().onClose?.(newData);
}
get().onClose?.(newData);
return newData;
}
if (keepOpen) {
const keyName = get()?.uniqueKeyField || 'id';
const clearedData = { ...data };
delete clearedData[keyName];
set({ loading: false, values: clearedData });
formMethods.reset(clearedData);
get().onChange?.(clearedData, get());
return data;
}
set({ loading: false, values: data });
formMethods.reset(data); //reset with saved data to clear dirty state
get().onChange?.(data, get());
if (!keepOpen) {
get().onClose?.(data);
}
get().onClose?.(data);
return data;
}