2
0
visuddhinanda 3 жил өмнө
parent
commit
0f8704c415

+ 6 - 1
dashboard/src/components/anthology/EditableTocTree.tsx

@@ -48,10 +48,15 @@ const Widget = ({ anthologyId, onSelect }: IWidget) => {
             `/v2/article-map/${anthologyId}`,
             {
               data: data.map((item) => {
+                let title = "";
+                if (typeof item.title === "string") {
+                  title = item.title;
+                }
+                //TODO 整一个string title
                 return {
                   article_id: item.key,
                   level: item.level,
-                  title: item.title,
+                  title: title,
                   children: item.children,
                 };
               }),

+ 2 - 2
dashboard/src/components/article/EditableTree.tsx

@@ -12,13 +12,13 @@ import { Button, Divider, Space } from "antd";
 
 interface TreeNodeData {
   key: string;
-  title: string;
+  title: string | React.ReactNode;
   children: TreeNodeData[];
   level: number;
 }
 export type ListNodeData = {
   key: string;
-  title: string;
+  title: string | React.ReactNode;
   level: number;
   children?: number;
 };

+ 7 - 5
dashboard/src/components/article/TocTree.tsx

@@ -5,12 +5,12 @@ import { useEffect, useState } from "react";
 import type { ListNodeData } from "./EditableTree";
 import PaliText from "../template/Wbw/PaliText";
 
-type TreeNodeData = {
+interface TreeNodeData {
   key: string;
-  title: string;
+  title: string | React.ReactNode;
   children?: TreeNodeData[];
   level: number;
-};
+}
 
 function tocGetTreeData(
   listData: ListNodeData[],
@@ -94,13 +94,15 @@ interface IWidgetTocTree {
 const Widget = ({ treeData, expandedKey, onSelect }: IWidgetTocTree) => {
   const [tree, setTree] = useState<TreeNodeData[]>();
   const [expanded, setExpanded] = useState(expandedKey);
-
+  console.log("new tree data", treeData);
   useEffect(() => {
     if (treeData && treeData.length > 0) {
       const data = tocGetTreeData(treeData);
       setTree(data);
       setExpanded(expandedKey);
       console.log("create tree", treeData.length, expandedKey);
+    } else {
+      setTree([]);
     }
   }, [treeData, expandedKey]);
   const onNodeSelect: TreeProps["onSelect"] = (selectedKeys, info) => {
@@ -121,7 +123,7 @@ const Widget = ({ treeData, expandedKey, onSelect }: IWidgetTocTree) => {
         if (typeof node.title === "string") {
           return <PaliText text={node.title} />;
         } else {
-          return <></>;
+          return <>{node.title}</>;
         }
       }}
     />