source changed to target

This commit is contained in:
Lucas Oliveira 2023-02-20 14:04:02 -03:00
commit 85c9a721ee
5 changed files with 17 additions and 17 deletions

View file

@ -12,7 +12,7 @@ export default function ChatInputNode({ data }) {
<div className="prompt-node relative rounded-lg solid border flex justify-center align-center py-3 px-6 bg-gray-50" style={{color: nodeColors[types[data.type]]}}>
<Tooltip title="Prefix: str">
<Handle
type="source"
type="target"
position={Position.Left}
id={"str|Prefix|" + data.id}
isValidConnection={(connection) =>
@ -24,7 +24,7 @@ export default function ChatInputNode({ data }) {
</Tooltip>
<Tooltip title={"Message: str"}>
<Handle
type="target"
type="source"
position={Position.Right}
id={'str|str|'+data.id}
isValidConnection={(connection) => isValidConnection(data,connection)}

View file

@ -12,7 +12,7 @@ export default function ChatOutputNode({ data }) {
<div className="prompt-node relative rounded-lg solid border flex justify-center align-center py-3 px-6 bg-gray-50" style={{color: nodeColors[types[data.type]]}}>
<Tooltip title="Message: str">
<Handle
type="source"
type="target"
isValidConnection={(connection) => isValidConnection(data,connection)}
position={Position.Left}
id={"str|output|"+data.id}

View file

@ -38,7 +38,7 @@ export default function ParameterComponent({
}, [data.id, position, updateNodeInternals]);
const [enabled, setEnabled] = useState(data.node.template[name]?.value ?? false);
let disabled = data.reactFlowInstance.getEdges().some((e) => (e.sourceHandle === id));
let disabled = data.reactFlowInstance.getEdges().some((e) => (e.targetHandle === id));
return (
<div ref={ref} className="w-full flex flex-wrap justify-between items-center bg-gray-50 mt-1 px-5 py-2">
@ -46,7 +46,7 @@ export default function ParameterComponent({
<div className="text-sm truncate">{title}<span className="text-red-600">{required ? " *" : ""}</span></div>
<Tooltip title={tooltipTitle + (required ? " (required)" : "")}>
<Handle
type={left ? "source" : "target"}
type={left ? "target" : "source"}
position={left ? Position.Left : Position.Right}
id={id}
isValidConnection={(connection) =>

View file

@ -18,7 +18,7 @@ export default function InputNode({ data }) {
<div className="prompt-node relative bg-white w-96 rounded-lg solid border flex flex-col justify-center">
<Tooltip title="Prefix: str">
<Handle
type="source"
type="target"
position={Position.Left}
id={"str|Prefix|" + data.id}
isValidConnection={(connection) =>
@ -56,7 +56,7 @@ export default function InputNode({ data }) {
/>
</div>
<Handle
type="target"
type="source"
position={Position.Right}
id={data.type}
isValidConnection={(connection) => isValidConnection(data, connection)}

View file

@ -329,7 +329,7 @@ export function getConnectedNodes(edge: Edge, nodes: Array<Node>): Array<Node> {
const sourceId = edge.source;
const targetId = edge.target;
const connectedNodes = nodes.filter(
(node) => node.id === sourceId || node.id === targetId
(node) => node.id === targetId || node.id === sourceId
);
return connectedNodes;
}
@ -339,25 +339,25 @@ export function isValidConnection(
{ source, target, sourceHandle, targetHandle }
) {
if (
targetHandle.split('|')[0] === sourceHandle.split("|")[0] ||
targetHandle.split('|').slice(2).some((t) => t === sourceHandle.split("|")[0]) ||
sourceHandle.split("|")[0] === "str"
sourceHandle.split('|')[0] === targetHandle.split("|")[0] ||
sourceHandle.split('|').slice(2).some((t) => t === targetHandle.split("|")[0]) ||
targetHandle.split("|")[0] === "str"
) {
let sourceNode = data.reactFlowInstance.getNode(source).data.node;
if (!sourceNode) {
let targetNode = data.reactFlowInstance.getNode(target).data.node;
if (!targetNode) {
if (
!data.reactFlowInstance
.getEdges()
.find((e) => e.sourceHandle === sourceHandle)
.find((e) => e.targetHandle === targetHandle)
) {
return true;
}
} else if (
(!sourceNode.template[sourceHandle.split("|")[1]].list &&
(!targetNode.template[targetHandle.split("|")[1]].list &&
!data.reactFlowInstance
.getEdges()
.find((e) => e.sourceHandle === sourceHandle)) ||
sourceNode.template[sourceHandle.split("|")[1]].list
.find((e) => e.targetHandle === targetHandle)) ||
targetNode.template[targetHandle.split("|")[1]].list
) {
return true;
}