Open parthsavaliya1 opened 3 months ago
View to restric connections:
@jerosoler I want to restrict when already one connection from node A to node B and when user try to connect node A to node C at that time node should not be connected. and when user try to add node D after node A then connection should be auto connect like node A to node D and node D to node B .
With the previous example you can detect when a connection is created and delete it.
In that case you can use the function to delete or create the connections you want.
Use the functions: removeSingleConnection and addConnection
@jerosoler using this solution i can able to do this. but when i start connection from last node(the node is not connected to other node) then this solution is not working:
editor.on('connectionStart', (e) => { connectionStartObj =editor.getNodeFromId(e?.output_id); console.log('connn',connectionStartObj) })
editor.on('connectionCreated', (info) => {
console.log('datata',connectionStartObj)
console.log('info',info)
if(connectionStartObj?.outputs?.output_1?.connections?.length > 0) {
const nodeInfo = editor.getNodeFromId(info.input_id);
const connections = nodeInfo.inputs[info.input_class].connections;
console.log(connections,nodeInfo)
if (connections.length > 1) {
const lastConnectionIndex = connections.length - 1;
const lastConnection = connections[lastConnectionIndex];
editor.removeSingleConnection(lastConnection.node, info.input_id, lastConnection.input, info.input_class);
connectionStartObj = null;
}
}
})
In the same way.
With getNodeFromId the node can know what connections it has to other nodes.
You can get the information of the two nodes.
Here you have to use your logic. It could also detect loops...
Is there any way to detect node where we try to connect.
Ex: Like i have 3 node. Node A , Node B , Node C and i want to try node C to node B then how can i get node B . using connectionStart event i can detect Node C but if i want to get Node B id then??????...
connectionCreated return { output_id, input_id, output_class, input_class }
I want to make only single input and single output in all node. like for node A is main node then A is only connected with node B And for Node B only one input from A and only one output is connected to Node C