in web/js/input.js [125:163]
async function up(graph, poz) {
graph.canvasDrag = null
if (!isGraphValid(graph)) return
let selectedNodeId
for (const node of graph.data.nodes) {
if (webUtil.hitTest(graph, node.x, node.y, graph.NODE_RADIUS, poz.x, poz.y)) {
await viewNode(graph, node)
node.selected = true
selectedNodeId = node.id
break
}
}
for (const node of graph.data.nodes) {
if (node.id !== selectedNodeId) node.selected = false
node.down = false
}
if (selectedNodeId) {
render(graph, false)
return // Don't continue to select edges that might be underneath
}
let selectedEdgeId
for (const edge of graph.data.edges) {
if (webUtil.hitTestEdge(graph, edge, poz.x, poz.y)) {
await viewEdge(graph, edge)
edge.selected = true
selectedEdgeId = edge.id
break
}
}
for (const edge of graph.data.edges) {
if (edge.id !== selectedEdgeId) edge.selected = false
}
render(graph, false)
}