You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

122 lines
3.2 KiB

function findLogique(logiqueId) {
let elem = null;
logiques.forEach(function (element) {
if (element.name === logiqueId) {
elem = element;
}
});
return elem;
}
function giveSwitchYWithLineId(lineId) {
var elementY = null;
switchsInfoCopy.forEach(function (element) {
if (stage.findOne("#" + element.id).id3 == lineId) {
elementY = (element.y);
}
});
return elementY;
}
function removeLineFromSwitch(lineId) {
switchsInfoCopy.forEach(function (element) {
element.id3.forEach(function (line) {
if (line == lineId) {
ax = element.id3.indexOf(lineId);
element.id3.splice(ax, 1);
}
});
});
}
function removeLineFromLogique(lineId) {
logiques.forEach(function (element) {
element.id3.forEach(function (line) {
if (line == lineId) {
ax = element.id3.indexOf(lineId);
element.id3.splice(ax, 1);
}
});
});
}
function removeLine(lineId) {
//remove from switch
if (getSwitchFromLine(lineId) != null)
removeLineFromSwitch(lineId);
else
removeLineFromLogique(lineId);
let line = stage.findOne("#" + lineId);
line.destroy();
}
function giveLineId(logiqueId, entre) {
var newEntre = entre;
isSwitch = false;
if (entre.id !== undefined) {
switchsInfoCopy.forEach(function (element) {
if (entre.id() == element.id) {
isSwitch = true;
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";
/*if(isSwitch){
if(giveSwitchYWithLineId(logique.id1) > entre.getY()){
console.log(giveSwitchYWithLineId(logique.id1));
console.log(entre);
removeLine(entre.id3);
lineRemove.push([entre, "switch"]);
}else{
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;
}