@bindu-dashing/dam-solution-v2 5.8.108 → 5.8.109
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/MyDrive/AddFolder.js +21 -5
- package/package.json +1 -1
|
@@ -46,11 +46,19 @@ function AddFolder({ open, handleCancel, folder, file, onCloseSelection, fileMod
|
|
|
46
46
|
: yield api.post(FETCH_FOLDERS_URL, Object.assign(Object.assign({}, values), { teamIds: [], parentId: currentFolderId }));
|
|
47
47
|
if (folder || file) {
|
|
48
48
|
// ✅ update case
|
|
49
|
-
const
|
|
50
|
-
? get(response, "data.updatedFolder", {})
|
|
49
|
+
const responseData = folder
|
|
50
|
+
? get(response, "data.updatedFolder", get(response, "data.folder", {}))
|
|
51
51
|
: file
|
|
52
|
-
? get(response, "data.file",
|
|
52
|
+
? get(response, "data.file", get(response, "data", {}))
|
|
53
53
|
: {};
|
|
54
|
+
// Merge existing file/folder data with response data to preserve all fields
|
|
55
|
+
// This ensures we don't lose any properties if the API response is minimal
|
|
56
|
+
const existingEntity = folder || file || {};
|
|
57
|
+
const updatedFolder = Object.assign(Object.assign(Object.assign({}, existingEntity), responseData), {
|
|
58
|
+
// Ensure name is updated from form values
|
|
59
|
+
name: get(values, "name", get(responseData, "name", get(existingEntity, "name"))),
|
|
60
|
+
// Ensure _id is always set
|
|
61
|
+
_id: get(responseData, "_id", get(existingEntity, "_id")) });
|
|
54
62
|
setFolders((prevFolders) => {
|
|
55
63
|
if (globalSearch) {
|
|
56
64
|
// Only update the matching folder (flat update)
|
|
@@ -74,8 +82,16 @@ function AddFolder({ open, handleCancel, folder, file, onCloseSelection, fileMod
|
|
|
74
82
|
return updateOrAddRecursively(prevFolders);
|
|
75
83
|
}
|
|
76
84
|
});
|
|
77
|
-
|
|
78
|
-
|
|
85
|
+
// Update the cache with the updated folder/file
|
|
86
|
+
// Use currentFolderId which matches what DriveContainer uses
|
|
87
|
+
updateFoldersCacheOnUpdateFolder(queryClient, currentFolderId, updatedFolder, generateFoldersQueryKey(type));
|
|
88
|
+
// Invalidate file query cache
|
|
89
|
+
if (file) {
|
|
90
|
+
invalidateData(queryClient, QueryKeys.FILE, get(file, "_id"));
|
|
91
|
+
}
|
|
92
|
+
// Also invalidate the folders query cache to ensure UI updates immediately
|
|
93
|
+
// This ensures the list view refreshes with the updated name
|
|
94
|
+
invalidateData(queryClient, generateFoldersQueryKey(type), currentFolderId);
|
|
79
95
|
}
|
|
80
96
|
else {
|
|
81
97
|
// ✅ create case → take folder from response
|