From 3e0de9ea5c26e2f3e8245b32e328f05f7970aba6 Mon Sep 17 00:00:00 2001 From: frikky Date: Fri, 22 Oct 2021 19:22:39 +0200 Subject: [PATCH] Added subflow exports to main workflows if not sanitized --- frontend/src/views/Workflows.jsx | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/frontend/src/views/Workflows.jsx b/frontend/src/views/Workflows.jsx index c98386cd..120dd735 100644 --- a/frontend/src/views/Workflows.jsx +++ b/frontend/src/views/Workflows.jsx @@ -948,6 +948,16 @@ const Workflows = (props) => { if (sanitize === true) { data = sanitizeWorkflow(data) + + if (data.subflows !== null && data.subflows !== undefined) { + alert.info("Not exporting with subflows when sanitizing. Please manually export them.") + data.subflows = [] + } + + // for (var key in data.subflows) { + // if (data.sublof + // } + //} } //return @@ -1184,6 +1194,36 @@ const Workflows = (props) => { */} { setExportModalOpen(true) + + if (data.triggers !== null && data.triggers !== undefined) { + var newSubflows = [] + for (var key in data.triggers) { + const trigger = data.triggers[key] + + if (trigger.parameters !== null && trigger.parameters !== undefined) { + for (var subkey in trigger.parameters) { + const param = trigger.parameters[subkey] + if (param.name === "workflow" && param.value !== data.id && !newSubflows.includes(param.value)) { + newSubflows.push(param.value) + } + } + } + } + + var parsedworkflows = [] + for (var key in newSubflows) { + const foundWorkflow = workflows.find(workflow => workflow.id === newSubflows[key]) + if (foundWorkflow !== undefined && foundWorkflow !== null) { + parsedworkflows.push(foundWorkflow) + } + } + + if (parsedworkflows.length > 0) { + console.log("Appending subflows during export: ", parsedworkflows.length) + data.subflows = parsedworkflows + } + } + setExportData(data) setOpen(false) }} key={"export"}>