Просмотр исходного кода

Fix child count on delete

https://youtrack.weseek.co.jp/issue/GW-7905
- Move onClickDeleteButtonHandler method
- Reload bookmark data from BookmarkContents componet on delete
- Change condition to load parent
- Load parent by setTargetFolder to null
Mudana-Grune 3 лет назад
Родитель
Сommit
70436f88ab
1 измененных файлов с 19 добавлено и 13 удалено
  1. 19 13
      packages/app/src/components/Sidebar/Bookmarks/BookmarkFolderItem.tsx

+ 19 - 13
packages/app/src/components/Sidebar/Bookmarks/BookmarkFolderItem.tsx

@@ -65,8 +65,12 @@ const BookmarkFolderItem: FC<BookmarkFolderItemProps> = (props: BookmarkFolderIt
   }, [folderId, isOpen]);
 
   const loadParent = useCallback(async() => {
-    mutateParentBookmarkFolder();
-  }, [mutateParentBookmarkFolder]);
+    if (parent != null) {
+      mutateParentBookmarkFolder();
+    }
+    setTargetFolder(null);
+
+  }, [mutateParentBookmarkFolder, parent]);
 
   // Rename  for bookmark folder handler
   const onPressEnterHandlerForRename = useCallback(async(folderName: string) => {
@@ -97,6 +101,19 @@ const BookmarkFolderItem: FC<BookmarkFolderItemProps> = (props: BookmarkFolderIt
 
   }, [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() => {
     if (!isOpen && hasChildren()) {
       setIsOpen(true);
@@ -129,17 +146,6 @@ const BookmarkFolderItem: FC<BookmarkFolderItemProps> = (props: BookmarkFolderIt
     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 (
     <div id={`bookmark-folder-item-${folderId}`} className="grw-foldertree-item-container"