Browse Source

note 支持 children

visuddhinanda 3 năm trước cách đây
mục cha
commit
29eefac887

+ 1 - 1
dashboard/src/components/template/MdTpl.tsx

@@ -17,7 +17,7 @@ const Widget = ({ tpl, props, children }: IWidgetMdTpl) => {
     case "term":
       return <Term props={props ? props : ""} />;
     case "note":
-      return <Note props={props ? props : ""} />;
+      return <Note props={props ? props : ""}>{children}</Note>;
     case "sentread":
       return <SentRead props={props ? props : ""} />;
     case "sentedit":

+ 8 - 6
dashboard/src/components/template/Note.tsx

@@ -7,25 +7,27 @@ const { Paragraph, Link } = Typography;
 interface IWidgetNoteCtl {
   trigger?: string;
   note?: string;
+  children?: React.ReactNode;
 }
-const NoteCtl = ({ trigger, note }: IWidgetNoteCtl) => {
-  const noteCard = <Paragraph copyable>{note}</Paragraph>;
+const NoteCtl = ({ trigger, note, children }: IWidgetNoteCtl) => {
+  const noteCard = children ? children : <Paragraph copyable>{note}</Paragraph>;
   const show = trigger ? trigger : <InfoCircleOutlined />;
   return (
     <>
-      <Popover content={noteCard} placement="bottom">
+      <Popover content={children} placement="bottom">
         <Link>{show}</Link>
       </Popover>
     </>
   );
 };
 
-interface IWidgetTerm {
+interface IWidget {
   props: string;
+  children?: React.ReactNode;
 }
-const Widget = ({ props }: IWidgetTerm) => {
+const Widget = ({ props, children }: IWidget) => {
   const prop = JSON.parse(atob(props)) as IWidgetNoteCtl;
-  return <NoteCtl {...prop} />;
+  return <NoteCtl {...prop}>{children}</NoteCtl>;
 };
 
 export default Widget;