docs(changeset): feat(Former): add keep open functionality and update onClose behavior
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user