|
@@ -65,8 +65,12 @@ const BookmarkFolderItem: FC<BookmarkFolderItemProps> = (props: BookmarkFolderIt
|
|
|
}, [folderId, isOpen]);
|
|
}, [folderId, isOpen]);
|
|
|
|
|
|
|
|
const loadParent = useCallback(async() => {
|
|
const loadParent = useCallback(async() => {
|
|
|
- mutateParentBookmarkFolder();
|
|
|
|
|
- }, [mutateParentBookmarkFolder]);
|
|
|
|
|
|
|
+ if (parent != null) {
|
|
|
|
|
+ mutateParentBookmarkFolder();
|
|
|
|
|
+ }
|
|
|
|
|
+ setTargetFolder(null);
|
|
|
|
|
+
|
|
|
|
|
+ }, [mutateParentBookmarkFolder, parent]);
|
|
|
|
|
|
|
|
// Rename for bookmark folder handler
|
|
// Rename for bookmark folder handler
|
|
|
const onPressEnterHandlerForRename = useCallback(async(folderName: string) => {
|
|
const onPressEnterHandlerForRename = useCallback(async(folderName: string) => {
|
|
@@ -97,6 +101,19 @@ const BookmarkFolderItem: FC<BookmarkFolderItemProps> = (props: BookmarkFolderIt
|
|
|
|
|
|
|
|
}, [mutateChildBookmarkData, t, targetFolder]);
|
|
}, [mutateChildBookmarkData, t, targetFolder]);
|
|
|
|
|
|
|
|
|
|
+ // Delete Fodler handler
|
|
|
|
|
+ const onClickDeleteButtonHandler = useCallback(async() => {
|
|
|
|
|
+ try {
|
|
|
|
|
+ await apiv3Delete(`/bookmark-folder/${folderId}`);
|
|
|
|
|
+ setIsDeleteFolderModalShown(false);
|
|
|
|
|
+ loadParent();
|
|
|
|
|
+ toastSuccess(t('toaster.delete_succeeded', { target: t('bookmark_folder.bookmark_folder') }));
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (err) {
|
|
|
|
|
+ toastError(err);
|
|
|
|
|
+ }
|
|
|
|
|
+ }, [folderId, loadParent, t]);
|
|
|
|
|
+
|
|
|
const onClickPlusButton = useCallback(async() => {
|
|
const onClickPlusButton = useCallback(async() => {
|
|
|
if (!isOpen && hasChildren()) {
|
|
if (!isOpen && hasChildren()) {
|
|
|
setIsOpen(true);
|
|
setIsOpen(true);
|
|
@@ -129,17 +146,6 @@ const BookmarkFolderItem: FC<BookmarkFolderItemProps> = (props: BookmarkFolderIt
|
|
|
setIsDeleteFolderModalShown(false);
|
|
setIsDeleteFolderModalShown(false);
|
|
|
}, []);
|
|
}, []);
|
|
|
|
|
|
|
|
- const onClickDeleteButtonHandler = useCallback(async() => {
|
|
|
|
|
- try {
|
|
|
|
|
- await apiv3Delete(`/bookmark-folder/${folderId}`);
|
|
|
|
|
- setIsDeleteFolderModalShown(false);
|
|
|
|
|
- loadParent();
|
|
|
|
|
- toastSuccess(t('toaster.delete_succeeded', { target: t('bookmark_folder.bookmark_folder') }));
|
|
|
|
|
- }
|
|
|
|
|
- catch (err) {
|
|
|
|
|
- toastError(err);
|
|
|
|
|
- }
|
|
|
|
|
- }, [folderId, loadParent, t]);
|
|
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
|
<div id={`bookmark-folder-item-${folderId}`} className="grw-foldertree-item-container"
|
|
<div id={`bookmark-folder-item-${folderId}`} className="grw-foldertree-item-container"
|