소스 검색

fix: improve markdown table state handling in HandsontableModal

Shun Miyazawa 4 달 전
부모
커밋
d314435f9f
1개의 변경된 파일8개의 추가작업 그리고 2개의 파일을 삭제
  1. 8 2
      apps/app/src/client/components/PageEditor/HandsontableModal/HandsontableModal.tsx

+ 8 - 2
apps/app/src/client/components/PageEditor/HandsontableModal/HandsontableModal.tsx

@@ -113,12 +113,18 @@ const HandsontableModalSubstance = (): JSX.Element => {
 
   // Memoize modal open handler
   const handleModalOpen = useCallback(() => {
-    const markdownTableState = table == null && editor != null ? getMarkdownTable(editor) : table;
+    let markdownTableState: MarkdownTable | undefined;
+    if (isOpendInEditor) {
+      markdownTableState = editor != null ? getMarkdownTable(editor) : undefined;
+    }
+    else {
+      markdownTableState = table;
+    }
     const initTableInstance = markdownTableState == null ? defaultMarkdownTable : markdownTableState.clone();
     setMarkdownTable(markdownTableState ?? defaultMarkdownTable);
     setMarkdownTableOnInit(initTableInstance);
     debouncedHandleWindowExpandedChange();
-  }, [table, editor, defaultMarkdownTable, debouncedHandleWindowExpandedChange]);
+  }, [isOpendInEditor, defaultMarkdownTable, debouncedHandleWindowExpandedChange, editor, table]);
 
   // Memoize expand/contract handlers
   const expandWindow = useCallback(() => {