mirror of
https://github.com/rowyio/rowy.git
synced 2025-12-29 00:16:39 +01:00
Merge pull request #1456 from iamanishroy/fix/JSON-field-update
fixed - JSON field update issue
This commit is contained in:
@@ -88,8 +88,8 @@ export interface ISideDrawerFieldProps<T = any> {
|
||||
/** Update the local value. Also calls onDirty */
|
||||
onChange: (value: T) => void;
|
||||
/** Call when user input is ready to be saved (e.g. onBlur) */
|
||||
onSubmit: () => void;
|
||||
|
||||
onSubmit: () => void;
|
||||
/** Field locked. Do NOT check `column.locked` */
|
||||
disabled: boolean;
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ import {
|
||||
setDoc,
|
||||
doc,
|
||||
deleteDoc,
|
||||
updateDoc,
|
||||
deleteField,
|
||||
CollectionReference,
|
||||
Query,
|
||||
@@ -263,7 +264,7 @@ export function useFirestoreCollectionWithAtom<
|
||||
// set the atom’s value to a function that updates a doc in the collection
|
||||
if (updateDocAtom) {
|
||||
setUpdateDocAtom(
|
||||
() => (path: string, update: T, deleteFields?: string[]) => {
|
||||
() => async (path: string, update: T, deleteFields?: string[]) => {
|
||||
const updateToDb = { ...update };
|
||||
|
||||
if (Array.isArray(deleteFields)) {
|
||||
@@ -271,8 +272,13 @@ export function useFirestoreCollectionWithAtom<
|
||||
set(updateToDb as any, field, deleteField());
|
||||
}
|
||||
}
|
||||
|
||||
return setDoc(doc(firebaseDb, path), updateToDb, { merge: true });
|
||||
try {
|
||||
return await updateDoc(doc(firebaseDb, path), updateToDb);
|
||||
} catch (e) {
|
||||
return await setDoc(doc(firebaseDb, path), updateToDb, {
|
||||
merge: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user