Kaynağa Gözat

add onClick

visuddhinanda 2 yıl önce
ebeveyn
işleme
af96fe83de
1 değiştirilmiş dosya ile 16 ekleme ve 0 silme
  1. 16 0
      dashboard/src/components/article/TocTree.tsx

+ 16 - 0
dashboard/src/components/article/TocTree.tsx

@@ -5,6 +5,7 @@ import type { ListNodeData } from "./EditableTree";
 import PaliText from "../template/Wbw/PaliText";
 import PaliText from "../template/Wbw/PaliText";
 import { Key } from "antd/lib/table/interface";
 import { Key } from "antd/lib/table/interface";
 import { randomString } from "../../utils";
 import { randomString } from "../../utils";
+import { DataNode, EventDataNode } from "antd/es/tree";
 
 
 const { Text } = Typography;
 const { Text } = Typography;
 
 
@@ -132,6 +133,7 @@ interface IWidgetTocTree {
   expandedKeys?: Key[];
   expandedKeys?: Key[];
   selectedKeys?: Key[];
   selectedKeys?: Key[];
   onSelect?: Function;
   onSelect?: Function;
+  onClick?: Function;
 }
 }
 
 
 const TocTreeWidget = ({
 const TocTreeWidget = ({
@@ -139,6 +141,7 @@ const TocTreeWidget = ({
   expandedKeys,
   expandedKeys,
   selectedKeys,
   selectedKeys,
   onSelect,
   onSelect,
+  onClick,
 }: IWidgetTocTree) => {
 }: IWidgetTocTree) => {
   const [tree, setTree] = useState<TreeNodeData[]>();
   const [tree, setTree] = useState<TreeNodeData[]>();
   const [expanded, setExpanded] = useState<Key[]>();
   const [expanded, setExpanded] = useState<Key[]>();
@@ -229,6 +232,19 @@ const TocTreeWidget = ({
       onExpand={(expandedKeys: Key[]) => {
       onExpand={(expandedKeys: Key[]) => {
         setExpanded(expandedKeys);
         setExpanded(expandedKeys);
       }}
       }}
+      onClick={(
+        e: React.MouseEvent<HTMLSpanElement, MouseEvent>,
+        node: EventDataNode<DataNode>
+      ) => {
+        if (typeof onClick !== "undefined") {
+          const selectedId = keyIdMap?.find(
+            (value) => node.key === value.key
+          )?.id;
+          if (selectedId) {
+            onClick(selectedId, e);
+          }
+        }
+      }}
       onSelect={(selectedKeys: Key[]) => {
       onSelect={(selectedKeys: Key[]) => {
         setSelected(selectedKeys);
         setSelected(selectedKeys);
         if (typeof onSelect !== "undefined") {
         if (typeof onSelect !== "undefined") {