Made triggers only able to have one branch

This commit is contained in:
frikky
2022-08-06 00:30:07 +02:00
parent 4ae090e050
commit bf81b04fe4
2 changed files with 45 additions and 7 deletions
+3 -2
View File
@@ -1368,6 +1368,7 @@ const ParsedAction = (props) => {
var hideBodyButton = "";
const hideBodyButtonValue = (
<div
key={data.name}
style={{
marginTop: 25,
border: "1px solid rgba(255,255,255,0.7)",
@@ -1960,14 +1961,14 @@ const ParsedAction = (props) => {
selectedActionParameters[count].options !== null &&
selectedActionParameters[count].options.length > 0)
) {
const parsedoptions = data.options !== undefined ? data.options : selectedActionParameters[count].options
const parsedoptions = data.options !== undefined && data.options !== null && data.options.length > 0 ? data.options : selectedActionParameters[count].options
if (selectedActionParameters[count].value === "") {
// && selectedActionParameters[count].required) {
// Rofl, dirty workaround :)
const e = {
target: {
value: parsedoptions.options[0],
value: parsedoptions[0],
},
};
+42 -5
View File
@@ -1703,10 +1703,11 @@ const AngularWorkflow = (defaultprops) => {
if (responseJson.files !== undefined && responseJson.files !== null) {
setFiles(responseJson);
} else {
setFiles({"namespaces": []});
setFiles({"namespaces": [
"default"
]});
}
console.log("NAMESPACES: ", responseJson.namespaces);
if (
responseJson.namespaces !== undefined &&
responseJson.namespaces !== null
@@ -3180,18 +3181,53 @@ const AngularWorkflow = (defaultprops) => {
setLastSaved(false);
const edge = event.target.data();
console.log("edge: ", edge)
if (edge.source === undefined && edge.target === undefined) {
return
}
const sourcenode = cy.getElementById(edge.source)
const destinationnode = cy.getElementById(edge.target)
if (sourcenode === undefined || sourcenode === null || destinationnode === undefined || destinationnode === null) {
} else {
console.log("Is it a trigger? If so, check if it already has a branch and remove it: ", sourcenode.data())
if (sourcenode.data("type") === "TRIGGER") {
if (sourcenode.data("app_name") !== "Shuffle Workflow" && sourcenode.data("app_name") !== "User Input") {
setTimeout(() => {
const alledges = cy.edges().jsons()
console.log("edges: ", alledges, edge)
var targetedge = alledges.findIndex(
(data) => data.data.source === edge.source && data.data.id !== edge.id
)
console.log("Node: ", targetedge)
if (targetedge !== -1) {
event.target.remove()
//console.log("Found branch already!")
alert.info("Triggers can have exactly one target node")
return
// name: "Shuffle Workflow",
// name: "User Input",
} else {
console.log("Node doesn't already have one")
}
}, 50)
}
}
const edgeCurve = calculateEdgeCurve(sourcenode.position(), destinationnode.position())
const currentedge = cy.getElementById(edge.id)
if (currentedge !== undefined && currentedge !== null) {
currentedge.style('control-point-distance', edgeCurve.distance)
currentedge.style('control-point-weight', edgeCurve.weight)
}
}
var targetnode = workflow.triggers.findIndex(
(data) => data.id === edge.target
);
@@ -3545,10 +3581,10 @@ const AngularWorkflow = (defaultprops) => {
// trigger as source check
const indexcheck = workflow.triggers.findIndex(
(data) => edge.data()["source"] === data.id
(data) => edge.data("source") === data.id
);
if (indexcheck !== -1) {
console.log("Shouldnt remove edge from trigger");
console.log("Shouldnt remove edge from trigger? ");
}
if (edge.data().source !== undefined) {
@@ -4717,12 +4753,13 @@ const AngularWorkflow = (defaultprops) => {
return false
},
preview: true,
preview: false,
toggleOffOnLeave: true,
loopAllowed: function (node) {
return false;
},
});
// preview: true,
cy.fit(null, 200);