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 = ""; var hideBodyButton = "";
const hideBodyButtonValue = ( const hideBodyButtonValue = (
<div <div
key={data.name}
style={{ style={{
marginTop: 25, marginTop: 25,
border: "1px solid rgba(255,255,255,0.7)", border: "1px solid rgba(255,255,255,0.7)",
@@ -1960,14 +1961,14 @@ const ParsedAction = (props) => {
selectedActionParameters[count].options !== null && selectedActionParameters[count].options !== null &&
selectedActionParameters[count].options.length > 0) 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 === "") { if (selectedActionParameters[count].value === "") {
// && selectedActionParameters[count].required) { // && selectedActionParameters[count].required) {
// Rofl, dirty workaround :) // Rofl, dirty workaround :)
const e = { const e = {
target: { 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) { if (responseJson.files !== undefined && responseJson.files !== null) {
setFiles(responseJson); setFiles(responseJson);
} else { } else {
setFiles({"namespaces": []}); setFiles({"namespaces": [
"default"
]});
} }
console.log("NAMESPACES: ", responseJson.namespaces);
if ( if (
responseJson.namespaces !== undefined && responseJson.namespaces !== undefined &&
responseJson.namespaces !== null responseJson.namespaces !== null
@@ -3180,18 +3181,53 @@ const AngularWorkflow = (defaultprops) => {
setLastSaved(false); setLastSaved(false);
const edge = event.target.data(); const edge = event.target.data();
console.log("edge: ", edge)
if (edge.source === undefined && edge.target === undefined) {
return
}
const sourcenode = cy.getElementById(edge.source) const sourcenode = cy.getElementById(edge.source)
const destinationnode = cy.getElementById(edge.target) const destinationnode = cy.getElementById(edge.target)
if (sourcenode === undefined || sourcenode === null || destinationnode === undefined || destinationnode === null) { if (sourcenode === undefined || sourcenode === null || destinationnode === undefined || destinationnode === null) {
} else { } 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 edgeCurve = calculateEdgeCurve(sourcenode.position(), destinationnode.position())
const currentedge = cy.getElementById(edge.id) const currentedge = cy.getElementById(edge.id)
if (currentedge !== undefined && currentedge !== null) { if (currentedge !== undefined && currentedge !== null) {
currentedge.style('control-point-distance', edgeCurve.distance) currentedge.style('control-point-distance', edgeCurve.distance)
currentedge.style('control-point-weight', edgeCurve.weight) currentedge.style('control-point-weight', edgeCurve.weight)
} }
} }
var targetnode = workflow.triggers.findIndex( var targetnode = workflow.triggers.findIndex(
(data) => data.id === edge.target (data) => data.id === edge.target
); );
@@ -3545,10 +3581,10 @@ const AngularWorkflow = (defaultprops) => {
// trigger as source check // trigger as source check
const indexcheck = workflow.triggers.findIndex( const indexcheck = workflow.triggers.findIndex(
(data) => edge.data()["source"] === data.id (data) => edge.data("source") === data.id
); );
if (indexcheck !== -1) { if (indexcheck !== -1) {
console.log("Shouldnt remove edge from trigger"); console.log("Shouldnt remove edge from trigger? ");
} }
if (edge.data().source !== undefined) { if (edge.data().source !== undefined) {
@@ -4717,12 +4753,13 @@ const AngularWorkflow = (defaultprops) => {
return false return false
}, },
preview: true, preview: false,
toggleOffOnLeave: true, toggleOffOnLeave: true,
loopAllowed: function (node) { loopAllowed: function (node) {
return false; return false;
}, },
}); });
// preview: true,
cy.fit(null, 200); cy.fit(null, 200);