Skip to content

Commit

Permalink
fix(chat): open folder on adding subfolder (Issue #2556) (#2764)
Browse files Browse the repository at this point in the history
Co-authored-by: Magomed-Elbi Dzhukalaev <[email protected]>
  • Loading branch information
Gimir and Magomed-Elbi Dzhukalaev authored Dec 9, 2024
1 parent 89997d6 commit a260fd0
Showing 1 changed file with 41 additions and 34 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,45 @@ export const CodeEditor = ({ sourcesFolderId, setValue }: Props) => {
[dispatch, sourcesFolderId],
);

const handleToggleFolder = useCallback(
(folderId: string) => {
if (openedFoldersIds.includes(folderId)) {
const childFoldersIds = getChildAndCurrentFoldersIdsById(
folderId,
folders,
);
setOpenedFoldersIds(
openedFoldersIds.filter((id) => !childFoldersIds.includes(id)),
);
} else {
setOpenedFoldersIds(openedFoldersIds.concat(folderId));
const folder = folders.find((f) => f.id === folderId);
if (folder?.status !== UploadStatus.LOADED) {
dispatch(FilesActions.getFilesWithFolders({ id: folderId }));
} else {
setOpenedFoldersIds(openedFoldersIds.concat(folderId));
const folder = folders.find((f) => f.id === folderId);
if (folder?.status !== UploadStatus.LOADED) {
dispatch(
FilesActions.getFilesWithFolders({
id: folderId,
}),
);
}
}
}
},
[openedFoldersIds, setOpenedFoldersIds, folders, dispatch],
);

const handleAddFolder = useCallback(
(folderId: string) => {
dispatch(FilesActions.addNewFolder({ parentId: folderId }));
handleToggleFolder(folderId);
},
[dispatch, handleToggleFolder],
);

const FullScreenIcon = useMemo(
() => (isFullScreen ? IconArrowsMinimize : IconArrowsMaximize),
[isFullScreen],
Expand Down Expand Up @@ -444,9 +483,7 @@ export const CodeEditor = ({ sourcesFolderId, setValue }: Props) => {
loadingFolderIds={loadingFolderIds}
openedFoldersIds={openedFoldersIds}
allItems={files}
onAddFolder={(parentId) =>
dispatch(FilesActions.addNewFolder({ parentId }))
}
onAddFolder={handleAddFolder}
itemComponent={(props) => (
<CodeEditorFile
isModified={modifiedFileIds.includes(props.item.id)}
Expand All @@ -460,37 +497,7 @@ export const CodeEditor = ({ sourcesFolderId, setValue }: Props) => {
onSave={handleSaveFiles}
/>
)}
onClickFolder={(folderId) => {
if (openedFoldersIds.includes(folderId)) {
const childFoldersIds =
getChildAndCurrentFoldersIdsById(folderId, folders);
setOpenedFoldersIds(
openedFoldersIds.filter(
(id) => !childFoldersIds.includes(id),
),
);
} else {
setOpenedFoldersIds(openedFoldersIds.concat(folderId));
const folder = folders.find((f) => f.id === folderId);
if (folder?.status !== UploadStatus.LOADED) {
dispatch(
FilesActions.getFilesWithFolders({ id: folderId }),
);
} else {
setOpenedFoldersIds(
openedFoldersIds.concat(folderId),
);
const folder = folders.find((f) => f.id === folderId);
if (folder?.status !== UploadStatus.LOADED) {
dispatch(
FilesActions.getFilesWithFolders({
id: folderId,
}),
);
}
}
}
}}
onClickFolder={handleToggleFolder}
withBorderHighlight={false}
featureType={FeatureType.File}
/>
Expand Down

0 comments on commit a260fd0

Please sign in to comment.