Fixed issue with loss of data when swapping actions - now copying!

This commit is contained in:
frikky
2022-01-08 03:44:45 +01:00
parent c41b4da5f5
commit 54647e10af
6 changed files with 49 additions and 15 deletions
+1 -1
View File
@@ -1265,6 +1265,7 @@ const ParsedAction = (props) => {
//<TextareaAutosize
// <CodeMirror
//fullWidth
var datafield = (
<TextField
disabled={disabled}
@@ -1321,7 +1322,6 @@ const ParsedAction = (props) => {
</InputAdornment>
),
}}
fullWidth
multiline={multiline}
helperText={returnHelperText(data.name, data.value)}
onClick={() => {
+28 -7
View File
@@ -2568,6 +2568,7 @@ const AngularWorkflow = (defaultprops) => {
// Takes an action as input, then runs through and updates the relevant fields
// based on previous actions'
// Uses lots of synonyms
// autocomplete
const RunAutocompleter = (dstdata) => {
// **PS: The right action should already be set here**
// 1. Check execution argument
@@ -5292,15 +5293,34 @@ const AngularWorkflow = (defaultprops) => {
}
// Does this one find the wrong one?
var newSelectedAction = selectedAction;
var newSelectedAction = JSON.parse(JSON.stringify(selectedAction))
newSelectedAction.name = newaction.name;
newSelectedAction.parameters = JSON.parse(
JSON.stringify(newaction.parameters)
);
newSelectedAction.parameters = JSON.parse(JSON.stringify(newaction.parameters))
newSelectedAction.errors = [];
newSelectedAction.isValid = true;
newSelectedAction.is_valid = true;
// Simmple action swap autocompleter
if (selectedAction.parameters !== undefined && newSelectedAction.parameters !== undefined && selectedAction.id === newSelectedAction.id) {
//console.log("OLD: ", selectedAction, "NEW: ", newSelectedAction)
for (var paramkey in selectedAction.parameters) {
const param = selectedAction.parameters[paramkey];
if (param.value === null || param.value === undefined || param.value.length === 0) {
continue
}
const newParamIndex = newSelectedAction.parameters.findIndex(paramdata => paramdata.name === param.name)
console.log("INDEX: ", newParamIndex)
if (newParamIndex < 0) {
console.log("NOT FOUND: ", param)
continue
}
console.log("FOUND: ", param)
newSelectedAction.parameters[newParamIndex].value = param.value
}
}
if (newSelectedAction.app_name === "Shuffle Tools") {
const iconInfo = GetIconInfo(newSelectedAction);
console.log("ICONINFO: ", iconInfo);
@@ -5327,6 +5347,7 @@ const AngularWorkflow = (defaultprops) => {
}
}
// Takes an action as input, then runs through and updates the relevant fields
// based on previous actions'
newSelectedAction = RunAutocompleter(newSelectedAction);
@@ -9253,7 +9274,7 @@ const AngularWorkflow = (defaultprops) => {
workflow.triggers[selectedTriggerIndex].parameters = [];
workflow.triggers[selectedTriggerIndex].parameters[0] = {
name: "cron",
value: isCloud ? "*/15 * * * *" : "120",
value: isCloud ? "*/25 * * * *" : "60",
};
workflow.triggers[selectedTriggerIndex].parameters[1] = {
name: "execution_argument",
@@ -9327,12 +9348,12 @@ const AngularWorkflow = (defaultprops) => {
if (e.target.value === "cloud") {
console.log("Set cloud config");
workflow.triggers[selectedTriggerIndex].parameters[0].value =
"*/15 * * * *";
"*/25 * * * *";
} else {
console.log("Set cloud config");
workflow.triggers[selectedTriggerIndex].parameters[0].value =
"120";
"60";
}
setWorkflow(workflow);