| const nodes = getNodes() | const nodes = getNodes() | ||||
| const currentNodeIndex = nodes.findIndex(node => node.id === nodeId) | const currentNodeIndex = nodes.findIndex(node => node.id === nodeId) | ||||
| if (nodes[currentNodeIndex].data.type === BlockEnum.Start) | |||||
| return | |||||
| const connectedEdges = getConnectedEdges([{ id: nodeId } as Node], edges) | const connectedEdges = getConnectedEdges([{ id: nodeId } as Node], edges) | ||||
| const nodesConnectedSourceOrTargetHandleIdsMap = getNodesConnectedSourceOrTargetHandleIdsMap(connectedEdges.map(edge => ({ type: 'remove', edge })), nodes) | const nodesConnectedSourceOrTargetHandleIdsMap = getNodesConnectedSourceOrTargetHandleIdsMap(connectedEdges.map(edge => ({ type: 'remove', edge })), nodes) | ||||
| const newNodes = produce(nodes, (draft: Node[]) => { | const newNodes = produce(nodes, (draft: Node[]) => { | ||||
| } = store.getState() | } = store.getState() | ||||
| const nodes = getNodes() | const nodes = getNodes() | ||||
| const nodesToCopy = nodes.filter(node => node.data.selected) | |||||
| const nodesToCopy = nodes.filter(node => node.data.selected && node.data.type !== BlockEnum.Start) | |||||
| setClipboardElements(nodesToCopy) | setClipboardElements(nodesToCopy) | ||||