diff --git a/conda/js/src/components/toolchain/ToolchainEditor.jsx b/conda/js/src/components/toolchain/ToolchainEditor.jsx index d3ba2b64433a3984c4ef177fb3e1c44c857c55b6..62ef416f2264263008cb01be61b99feaea25b97a 100644 --- a/conda/js/src/components/toolchain/ToolchainEditor.jsx +++ b/conda/js/src/components/toolchain/ToolchainEditor.jsx @@ -575,14 +575,16 @@ export class ToolchainEditor extends React.PureComponent<Props, State> { deleteBlockIO = (blockName: string, set: BlockSet, ioType: 'input' | 'output', ioName: string) => { const rep = {...this.state.cache.contents.representation}; + const connectionLabel = `${ blockName }.${ ioName }`; + rep.connections = Object.entries(rep.connections).filter(([name, rep]) => { if(!name.includes(ioName)) return true; const [from, to] = name.split('/'); - if(ioType === 'input' && to.endsWith(`.${ ioName }`)) + if(ioType === 'input' && to === connectionLabel) return false; - if(ioType === 'output' && from.endsWith(`.${ ioName }`)) + if(ioType === 'output' && from === connectionLabel) return false; return true; }) @@ -603,9 +605,9 @@ export class ToolchainEditor extends React.PureComponent<Props, State> { return newBlock; }), connections: this.state.cache.contents.connections.filter(c => { - if(ioType === 'input' && c.to.endsWith(`.${ ioName }`)) + if(ioType === 'input' && c.to === connectionLabel) return false; - if(ioType === 'output' && c.from.endsWith(`.${ ioName }`)) + if(ioType === 'output' && c.from === connectionLabel) return false; return true; }),