Shun Miyazawa 4 лет назад
Родитель
Сommit
72096bbcc5

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

@@ -37,7 +37,7 @@ interface ItemProps {
   isScrolled: boolean,
   isOpen?: boolean
   isEnabledAttachTitleHeader?: boolean
-  onRenamed?(): void
+  onRenamed?(): Promise<void>
   onClickDuplicateMenuItem?(pageToDuplicate: IPageForPageDuplicateModal): void
   onClickDeleteMenuItem?(pageToDelete: IPageToDeleteWithMeta): void
 }
@@ -280,7 +280,7 @@ const Item: FC<ItemProps> = (props: ItemProps) => {
       });
 
       if (onRenamed != null) {
-        onRenamed();
+        await onRenamed();
       }
 
       toastSuccess(t('renamed_pages', { path: page.path }));

+ 2 - 2
packages/app/src/components/Sidebar/PageTree/ItemsTree.tsx

@@ -165,8 +165,8 @@ const ItemsTree: FC<ItemsTreeProps> = (props: ItemsTreeProps) => {
 
   }, [socket, ptDescCountMap, updatePtDescCountMap]);
 
-  const onRenamed = () => {
-    advancePt();
+  const onRenamed = async() => {
+    await advancePt();
     advanceFts();
     advanceDpl();
   };

+ 8 - 5
packages/app/src/stores/use-static-swr.tsx

@@ -34,7 +34,7 @@ export function useStaticSWR<Data, Error>(
 const ADVANCE_DELAY_MS = 800;
 
 export type ITermNumberManagerUtil = {
-  advance(): void,
+  advance(): Promise<void> | void,
 }
 
 export const useTermNumberManager = (key: Key) : SWRResponse<number, Error> & ITermNumberManagerUtil => {
@@ -42,15 +42,18 @@ export const useTermNumberManager = (key: Key) : SWRResponse<number, Error> & IT
 
   return {
     ...swrResult,
-    advance: () => {
+    advance: async() => {
       const { data: currentNum } = swrResult;
       if (currentNum == null) {
         return;
       }
 
-      setTimeout(() => {
-        swrResult.mutate(currentNum + 1);
-      }, ADVANCE_DELAY_MS);
+      await new Promise((r) => {
+        setTimeout(async() => {
+          await swrResult.mutate(currentNum + 1);
+          r(null);
+        }, ADVANCE_DELAY_MS);
+      });
     },
   };
 };