Fixed jumpyness of Triggers during state updates. Also now understand how to potentially do it for actions

This commit is contained in:
Frikky
2023-08-16 00:44:01 +02:00
parent 53956b3f38
commit f9e9f0feb7
+82 -67
View File
@@ -7648,6 +7648,8 @@ const AngularWorkflow = (defaultprops) => {
resize: "vertical",
overflow: "auto",
paddingBottom: 100,
overflowAnchor: "none",
};
var rightsidebarStyle = {
@@ -7664,6 +7666,8 @@ const AngularWorkflow = (defaultprops) => {
borderRadius: theme.palette.borderRadius,
resize: "both",
overflow: "auto",
overflowAnchor: "none",
};
const setTriggerFolderWrapperMulti = (event) => {
@@ -9252,7 +9256,7 @@ const AngularWorkflow = (defaultprops) => {
placeholder={selectedTrigger.label}
onChange={selectedTriggerChange}
/>
{/*
<div style={{ marginTop: "20px" }}>
Environment:
<TextField
@@ -9271,6 +9275,7 @@ const AngularWorkflow = (defaultprops) => {
value={selectedTrigger.environment}
/>
</div>
*/}
<Divider
style={{
marginTop: "20px",
@@ -10617,8 +10622,23 @@ const AngularWorkflow = (defaultprops) => {
return null;
};
const WebhookSidebar = () => {
if (Object.getOwnPropertyNames(selectedTrigger).length > 0) {
// Special SCHEDULE handler
var trigger_header_auth = ""
if (Object.getOwnPropertyNames(selectedTrigger).length > 0 && workflow.triggers[selectedTriggerIndex] !== undefined ) {
if (selectedTrigger.trigger_type === "SCHEDULE" && workflow.triggers[selectedTriggerIndex].parameters === undefined || workflow.triggers[selectedTriggerIndex].parameters === null || workflow.triggers[selectedTriggerIndex].parameters.length === 0) {
console.log("Autofixing schedule")
workflow.triggers[selectedTriggerIndex].parameters = [];
workflow.triggers[selectedTriggerIndex].parameters[0] = {
name: "cron",
value: isCloud ? "*/25 * * * *" : "60",
};
workflow.triggers[selectedTriggerIndex].parameters[1] = {
name: "execution_argument",
value: '{"example": {"json": "is cool"}}',
};
setWorkflow(workflow);
} else if (selectedTrigger.trigger_type === "WEBHOOK") {
if (workflow.triggers[selectedTriggerIndex] === undefined) {
return null;
}
@@ -10663,12 +10683,14 @@ const AngularWorkflow = (defaultprops) => {
}
}
const trigger_header_auth =
trigger_header_auth =
workflow.triggers[selectedTriggerIndex].parameters.length > 2
? workflow.triggers[selectedTriggerIndex].parameters[2].value
: "";
}
}
return (
const WebhookSidebar = Object.getOwnPropertyNames(selectedTrigger).length === 0 || workflow.triggers[selectedTriggerIndex] === undefined || selectedTrigger.trigger_type !== "WEBHOOK" ? null :
<div style={appApiViewStyle}>
<div style={{ flex: "1" }}>
<h3 style={{ marginBottom: "5px" }}>
@@ -11170,11 +11192,6 @@ const AngularWorkflow = (defaultprops) => {
</div>
</div>
</div>
);
}
return null;
};
const stopMailSub = (trigger, triggerindex) => {
// DELETE
@@ -11819,29 +11836,9 @@ const AngularWorkflow = (defaultprops) => {
return null;
};
const ScheduleSidebar = () => {
if (
Object.getOwnPropertyNames(selectedTrigger).length > 0 &&
workflow.triggers[selectedTriggerIndex] !== undefined
) {
if (
workflow.triggers[selectedTriggerIndex].parameters === undefined ||
workflow.triggers[selectedTriggerIndex].parameters === null ||
workflow.triggers[selectedTriggerIndex].parameters.length === 0
) {
workflow.triggers[selectedTriggerIndex].parameters = [];
workflow.triggers[selectedTriggerIndex].parameters[0] = {
name: "cron",
value: isCloud ? "*/25 * * * *" : "60",
};
workflow.triggers[selectedTriggerIndex].parameters[1] = {
name: "execution_argument",
value: '{"example": {"json": "is cool"}}',
};
setWorkflow(workflow);
}
return (
const ScheduleSidebar = Object.getOwnPropertyNames(selectedTrigger).length === 0 || workflow.triggers[selectedTriggerIndex] === undefined && selectedTrigger.trigger_type !== "SCHEDULE" ? null :
<div style={appApiViewStyle}>
<div style={{ flex: "1" }}>
<h3 style={{ marginBottom: "5px" }}>
@@ -12031,7 +12028,9 @@ const AngularWorkflow = (defaultprops) => {
multiline
color="primary"
defaultValue={
workflow.triggers[selectedTriggerIndex] !== undefined && workflow.triggers[selectedTriggerIndex].parameters.length > 1 ?
workflow.triggers[selectedTriggerIndex].parameters[1].value
: ""
}
placeholder='{"example": {"json": "is cool"}}'
onBlur={(e) => {
@@ -12079,11 +12078,6 @@ const AngularWorkflow = (defaultprops) => {
</div>
</div>
</div>
);
}
return null;
};
const cytoscapeViewWidths = isMobile ? 50 : 850;
const bottomBarStyle = {
@@ -12721,34 +12715,34 @@ const AngularWorkflow = (defaultprops) => {
const RightSideBar = (props) => {
const {
workflow,
setWorkflow,
setSelectedAction,
setUpdate,
selectedApp,
workflowExecutions,
setSelectedResult,
selectedAction,
setSelectedApp,
setSelectedTrigger,
setSelectedEdge,
setCurrentView,
cy,
setAuthenticationModalOpen,
setVariablesModalOpen,
setCodeModalOpen,
selectedNameChange,
rightsidebarStyle,
showEnvironment,
selectedActionEnvironment,
environments,
setNewSelectedAction,
appApiViewStyle,
globalUrl,
setSelectedActionEnvironment,
requiresAuthentication,
scrollConfig,
setScrollConfig,
//workflow,
//setWorkflow,
//setSelectedAction,
//setUpdate,
//selectedApp,
//workflowExecutions,
//setSelectedResult,
//selectedAction,
//setSelectedApp,
//setSelectedTrigger,
//setSelectedEdge,
//setCurrentView,
//cy,
//setAuthenticationModalOpen,
//setVariablesModalOpen,
//setCodeModalOpen,
//selectedNameChange,
//rightsidebarStyle,
//showEnvironment,
//selectedActionEnvironment,
//environments,
//setNewSelectedAction,
//appApiViewStyle,
//globalUrl,
//setSelectedActionEnvironment,
//requiresAuthentication,
//scrollConfig,
//setScrollConfig,
} = props;
if (!rightSideBarOpen) {
@@ -12812,9 +12806,10 @@ const AngularWorkflow = (defaultprops) => {
defaultReturn = <CommentSidebar />
} else if (Object.getOwnPropertyNames(selectedTrigger).length > 0) {
if (selectedTrigger.trigger_type === "SCHEDULE") {
defaultReturn = <ScheduleSidebar />
// Handled elsewhere as an experiment
defaultReturn = null
} else if (selectedTrigger.trigger_type === "WEBHOOK") {
defaultReturn = <WebhookSidebar />
defaultReturn = null
} else if (selectedTrigger.trigger_type === "SUBFLOW") {
defaultReturn = <SubflowSidebar />
} else if (selectedTrigger.trigger_type === "EMAIL") {
@@ -14993,6 +14988,25 @@ const AngularWorkflow = (defaultprops) => {
)}
</div>
{executionModal}
<RightSideBar />
{/* Looks for triggers" */}
{/* Only fixed the ones that require scrolling on a small screen */}
{/* Most prominent: Actions. But these are a lot more complex */}
{rightSideBarOpen ?
<div id="rightside_actions" style={rightsidebarStyle}>
{Object.getOwnPropertyNames(selectedTrigger).length > 0 ?
selectedTrigger.trigger_type === "SCHEDULE" ?
ScheduleSidebar
: selectedTrigger.trigger_type === "WEBHOOK" ?
WebhookSidebar
: null
: null}
</div>
: null}
{/*
<RightSideBar
scrollConfig={scrollConfig}
setScrollConfig={setScrollConfig}
@@ -15025,6 +15039,7 @@ const AngularWorkflow = (defaultprops) => {
setSelectedActionEnvironment={setSelectedActionEnvironment}
requiresAuthentication={requiresAuthentication}
/>
*/}
{showWorkflowRevisions ? null :
<span>