Shun Miyazawa 4 лет назад
Родитель
Сommit
78ee795990
1 измененных файлов с 10 добавлено и 4 удалено
  1. 10 4
      packages/app/src/components/Sidebar/PageTree/Item.tsx

+ 10 - 4
packages/app/src/components/Sidebar/PageTree/Item.tsx

@@ -197,21 +197,27 @@ const Item: FC<ItemProps> = (props: ItemProps) => {
   }, []);
 
   const onPressEnterForRenameHandler = async(inputText: string) => {
+    if (inputText == null || inputText === '' || inputText.trim() === '' || inputText.includes('/')) {
+      return;
+    }
+
     const parentPath = nodePath.dirname(page.path as string);
     const newPagePath = `${parentPath}/${inputText}`;
 
     try {
-      await apiv3Put('pages/rename', { newPagePath, pageId: page._id, revisionId: page.revision });
       setPageTitle(inputText);
+      setRenameInputShown(false);
+      await apiv3Put('/pages/rename', { newPagePath, pageId: page._id, revisionId: page.revision });
     }
     catch (err) {
+      // open ClosableInput and set pageTitle back to the previous title
+      setPageTitle(nodePath.basename(pageTitle as string));
+      setRenameInputShown(true);
       toastError(err);
     }
-    finally {
-      setRenameInputShown(false);
-    }
   };
 
+
   // TODO: go to create page page
   const onPressEnterForCreateHandler = () => {
     toastWarning(t('search_result.currently_not_implemented'));