function findLogique(logiqueId) { let elem = null; logiques.forEach(function (element) { if (element.name === logiqueId) { elem = element; } }); return elem; } function giveLineId(logiqueId,entre) { var newEntre = entre; if(entre.id !== undefined){ switchsInfoCopy.forEach(function(element){ if(entre.id() == element.id){ newEntre = element; } }); } let lineId = null; let logique = findLogique(logiqueId); if(logique.y >= newEntre.y){ if (logique.type === "inv") { if (logique.id1 == null) { lineId = "id1"; } } else { if (logique.id1 == null) { lineId = "id1"; } else if (logique.id2 == null) { lineId = "id2"; } } }else{ if (logique.type === "inv") { if (logique.id1 == null) { lineId = "id1"; } } else { if (logique.id2 == null) { lineId = "id2"; } else if (logique.id1 == null) { lineId = "id1"; } } } return lineId } function checkLogiqueLines(logiqueId, lineId) { let logique = findLogique(logiqueId); logiques.forEach(function (element, index) { if (element.name === logique.name) { Object.keys(element).map(function(objectKey, index) { if(objectKey == lineId && objectKey != null){ return true; } }); } }); return false; }