refactor context menu II
This commit is contained in:
39
src/components/NodeRenameModal.tsx
Normal file
39
src/components/NodeRenameModal.tsx
Normal file
@@ -0,0 +1,39 @@
|
||||
import { Input, Modal } from "antd";
|
||||
import type { NodeContext } from "./Graph";
|
||||
import { useState } from "react";
|
||||
|
||||
export default function NodeRenameModal({
|
||||
nodeContext,
|
||||
renameModalOpened,
|
||||
openRenameModal
|
||||
} : {
|
||||
nodeContext: NodeContext,
|
||||
renameModalOpened: boolean,
|
||||
openRenameModal: React.Dispatch<React.SetStateAction<boolean>>
|
||||
}) {
|
||||
if(!renameModalOpened){
|
||||
return;
|
||||
}
|
||||
const [nodeName, setSelectedNodeName] = useState(nodeContext.nodeName);
|
||||
|
||||
function renameNode() {
|
||||
const node = nodeContext.graph.nodes.find(n => n.id === nodeContext.nodeId);
|
||||
if (!node) {
|
||||
return;
|
||||
}
|
||||
node.label = nodeName;
|
||||
nodeContext.setGraph(prev => ({ ...prev, nodes: nodeContext.graph.nodes }));
|
||||
openRenameModal(false);
|
||||
}
|
||||
|
||||
return (
|
||||
<Modal
|
||||
title="Rename"
|
||||
open={renameModalOpened}
|
||||
onOk={() => renameNode()}
|
||||
onCancel={() => openRenameModal(false)}
|
||||
>
|
||||
<Input value={nodeName} onChange={(e) => setSelectedNodeName(e.target.value)} />
|
||||
</Modal>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user