Parcourir la source

fix: improve markdown table state handling in HandsontableModal

Shun Miyazawa il y a 4 mois
Parent
commit
d314435f9f

+ 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(() => {