Fixed jumpyness of Triggers during state updates. Also now understand how to potentially do it for actions
This commit is contained in:
@@ -7648,6 +7648,8 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
resize: "vertical",
|
resize: "vertical",
|
||||||
overflow: "auto",
|
overflow: "auto",
|
||||||
paddingBottom: 100,
|
paddingBottom: 100,
|
||||||
|
|
||||||
|
overflowAnchor: "none",
|
||||||
};
|
};
|
||||||
|
|
||||||
var rightsidebarStyle = {
|
var rightsidebarStyle = {
|
||||||
@@ -7664,6 +7666,8 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
borderRadius: theme.palette.borderRadius,
|
borderRadius: theme.palette.borderRadius,
|
||||||
resize: "both",
|
resize: "both",
|
||||||
overflow: "auto",
|
overflow: "auto",
|
||||||
|
|
||||||
|
overflowAnchor: "none",
|
||||||
};
|
};
|
||||||
|
|
||||||
const setTriggerFolderWrapperMulti = (event) => {
|
const setTriggerFolderWrapperMulti = (event) => {
|
||||||
@@ -9252,7 +9256,7 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
placeholder={selectedTrigger.label}
|
placeholder={selectedTrigger.label}
|
||||||
onChange={selectedTriggerChange}
|
onChange={selectedTriggerChange}
|
||||||
/>
|
/>
|
||||||
|
{/*
|
||||||
<div style={{ marginTop: "20px" }}>
|
<div style={{ marginTop: "20px" }}>
|
||||||
Environment:
|
Environment:
|
||||||
<TextField
|
<TextField
|
||||||
@@ -9271,6 +9275,7 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
value={selectedTrigger.environment}
|
value={selectedTrigger.environment}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
*/}
|
||||||
<Divider
|
<Divider
|
||||||
style={{
|
style={{
|
||||||
marginTop: "20px",
|
marginTop: "20px",
|
||||||
@@ -10617,58 +10622,75 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
return null;
|
return null;
|
||||||
};
|
};
|
||||||
|
|
||||||
const WebhookSidebar = () => {
|
// Special SCHEDULE handler
|
||||||
if (Object.getOwnPropertyNames(selectedTrigger).length > 0) {
|
var trigger_header_auth = ""
|
||||||
if (workflow.triggers[selectedTriggerIndex] === undefined) {
|
if (Object.getOwnPropertyNames(selectedTrigger).length > 0 && workflow.triggers[selectedTriggerIndex] !== undefined ) {
|
||||||
return null;
|
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")
|
||||||
|
|
||||||
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 = [];
|
||||||
workflow.triggers[selectedTriggerIndex].parameters[0] = {
|
workflow.triggers[selectedTriggerIndex].parameters[0] = {
|
||||||
name: "url",
|
name: "cron",
|
||||||
value: referenceUrl + "webhook_" + selectedTrigger.id,
|
value: isCloud ? "*/25 * * * *" : "60",
|
||||||
};
|
};
|
||||||
workflow.triggers[selectedTriggerIndex].parameters[1] = {
|
workflow.triggers[selectedTriggerIndex].parameters[1] = {
|
||||||
name: "tmp",
|
name: "execution_argument",
|
||||||
value: "webhook_" + selectedTrigger.id,
|
value: '{"example": {"json": "is cool"}}',
|
||||||
};
|
|
||||||
workflow.triggers[selectedTriggerIndex].parameters[2] = {
|
|
||||||
name: "auth_headers",
|
|
||||||
value: "",
|
|
||||||
};
|
|
||||||
workflow.triggers[selectedTriggerIndex].parameters[3] = {
|
|
||||||
name: "custom_response_body",
|
|
||||||
value: "",
|
|
||||||
};
|
|
||||||
workflow.triggers[selectedTriggerIndex].parameters[4] = {
|
|
||||||
name: "await_response",
|
|
||||||
value: "v1",
|
|
||||||
};
|
};
|
||||||
setWorkflow(workflow);
|
setWorkflow(workflow);
|
||||||
} else {
|
} else if (selectedTrigger.trigger_type === "WEBHOOK") {
|
||||||
// Always update
|
if (workflow.triggers[selectedTriggerIndex] === undefined) {
|
||||||
const newUrl = referenceUrl + "webhook_" + selectedTrigger.id;
|
return null;
|
||||||
//console.log("Validating webhook url: ", newUrl);
|
}
|
||||||
if (selectedTrigger.environment !== "cloud") {
|
|
||||||
if (newUrl !== workflow.triggers[selectedTriggerIndex].parameters[0].value) {
|
|
||||||
console.log("Url is wrong. NOT updating because of hybrid.");
|
|
||||||
//workflow.triggers[selectedTriggerIndex].parameters[0].value = newUrl;
|
|
||||||
//setWorkflow(workflow);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const trigger_header_auth =
|
if (
|
||||||
workflow.triggers[selectedTriggerIndex].parameters.length > 2
|
workflow.triggers[selectedTriggerIndex].parameters === undefined ||
|
||||||
? workflow.triggers[selectedTriggerIndex].parameters[2].value
|
workflow.triggers[selectedTriggerIndex].parameters === null ||
|
||||||
: "";
|
workflow.triggers[selectedTriggerIndex].parameters.length === 0
|
||||||
|
) {
|
||||||
|
workflow.triggers[selectedTriggerIndex].parameters = [];
|
||||||
|
workflow.triggers[selectedTriggerIndex].parameters[0] = {
|
||||||
|
name: "url",
|
||||||
|
value: referenceUrl + "webhook_" + selectedTrigger.id,
|
||||||
|
};
|
||||||
|
workflow.triggers[selectedTriggerIndex].parameters[1] = {
|
||||||
|
name: "tmp",
|
||||||
|
value: "webhook_" + selectedTrigger.id,
|
||||||
|
};
|
||||||
|
workflow.triggers[selectedTriggerIndex].parameters[2] = {
|
||||||
|
name: "auth_headers",
|
||||||
|
value: "",
|
||||||
|
};
|
||||||
|
workflow.triggers[selectedTriggerIndex].parameters[3] = {
|
||||||
|
name: "custom_response_body",
|
||||||
|
value: "",
|
||||||
|
};
|
||||||
|
workflow.triggers[selectedTriggerIndex].parameters[4] = {
|
||||||
|
name: "await_response",
|
||||||
|
value: "v1",
|
||||||
|
};
|
||||||
|
setWorkflow(workflow);
|
||||||
|
} else {
|
||||||
|
// Always update
|
||||||
|
const newUrl = referenceUrl + "webhook_" + selectedTrigger.id;
|
||||||
|
//console.log("Validating webhook url: ", newUrl);
|
||||||
|
if (selectedTrigger.environment !== "cloud") {
|
||||||
|
if (newUrl !== workflow.triggers[selectedTriggerIndex].parameters[0].value) {
|
||||||
|
console.log("Url is wrong. NOT updating because of hybrid.");
|
||||||
|
//workflow.triggers[selectedTriggerIndex].parameters[0].value = newUrl;
|
||||||
|
//setWorkflow(workflow);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
trigger_header_auth =
|
||||||
|
workflow.triggers[selectedTriggerIndex].parameters.length > 2
|
||||||
|
? workflow.triggers[selectedTriggerIndex].parameters[2].value
|
||||||
|
: "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const WebhookSidebar = Object.getOwnPropertyNames(selectedTrigger).length === 0 || workflow.triggers[selectedTriggerIndex] === undefined || selectedTrigger.trigger_type !== "WEBHOOK" ? null :
|
||||||
<div style={appApiViewStyle}>
|
<div style={appApiViewStyle}>
|
||||||
<div style={{ flex: "1" }}>
|
<div style={{ flex: "1" }}>
|
||||||
<h3 style={{ marginBottom: "5px" }}>
|
<h3 style={{ marginBottom: "5px" }}>
|
||||||
@@ -11170,11 +11192,6 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
};
|
|
||||||
|
|
||||||
const stopMailSub = (trigger, triggerindex) => {
|
const stopMailSub = (trigger, triggerindex) => {
|
||||||
// DELETE
|
// DELETE
|
||||||
@@ -11819,29 +11836,9 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
return null;
|
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={appApiViewStyle}>
|
||||||
<div style={{ flex: "1" }}>
|
<div style={{ flex: "1" }}>
|
||||||
<h3 style={{ marginBottom: "5px" }}>
|
<h3 style={{ marginBottom: "5px" }}>
|
||||||
@@ -12031,7 +12028,9 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
multiline
|
multiline
|
||||||
color="primary"
|
color="primary"
|
||||||
defaultValue={
|
defaultValue={
|
||||||
workflow.triggers[selectedTriggerIndex].parameters[1].value
|
workflow.triggers[selectedTriggerIndex] !== undefined && workflow.triggers[selectedTriggerIndex].parameters.length > 1 ?
|
||||||
|
workflow.triggers[selectedTriggerIndex].parameters[1].value
|
||||||
|
: ""
|
||||||
}
|
}
|
||||||
placeholder='{"example": {"json": "is cool"}}'
|
placeholder='{"example": {"json": "is cool"}}'
|
||||||
onBlur={(e) => {
|
onBlur={(e) => {
|
||||||
@@ -12079,11 +12078,6 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
};
|
|
||||||
|
|
||||||
const cytoscapeViewWidths = isMobile ? 50 : 850;
|
const cytoscapeViewWidths = isMobile ? 50 : 850;
|
||||||
const bottomBarStyle = {
|
const bottomBarStyle = {
|
||||||
@@ -12721,34 +12715,34 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
|
|
||||||
const RightSideBar = (props) => {
|
const RightSideBar = (props) => {
|
||||||
const {
|
const {
|
||||||
workflow,
|
//workflow,
|
||||||
setWorkflow,
|
//setWorkflow,
|
||||||
setSelectedAction,
|
//setSelectedAction,
|
||||||
setUpdate,
|
//setUpdate,
|
||||||
selectedApp,
|
//selectedApp,
|
||||||
workflowExecutions,
|
//workflowExecutions,
|
||||||
setSelectedResult,
|
//setSelectedResult,
|
||||||
selectedAction,
|
//selectedAction,
|
||||||
setSelectedApp,
|
//setSelectedApp,
|
||||||
setSelectedTrigger,
|
//setSelectedTrigger,
|
||||||
setSelectedEdge,
|
//setSelectedEdge,
|
||||||
setCurrentView,
|
//setCurrentView,
|
||||||
cy,
|
//cy,
|
||||||
setAuthenticationModalOpen,
|
//setAuthenticationModalOpen,
|
||||||
setVariablesModalOpen,
|
//setVariablesModalOpen,
|
||||||
setCodeModalOpen,
|
//setCodeModalOpen,
|
||||||
selectedNameChange,
|
//selectedNameChange,
|
||||||
rightsidebarStyle,
|
//rightsidebarStyle,
|
||||||
showEnvironment,
|
//showEnvironment,
|
||||||
selectedActionEnvironment,
|
//selectedActionEnvironment,
|
||||||
environments,
|
//environments,
|
||||||
setNewSelectedAction,
|
//setNewSelectedAction,
|
||||||
appApiViewStyle,
|
//appApiViewStyle,
|
||||||
globalUrl,
|
//globalUrl,
|
||||||
setSelectedActionEnvironment,
|
//setSelectedActionEnvironment,
|
||||||
requiresAuthentication,
|
//requiresAuthentication,
|
||||||
scrollConfig,
|
//scrollConfig,
|
||||||
setScrollConfig,
|
//setScrollConfig,
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
if (!rightSideBarOpen) {
|
if (!rightSideBarOpen) {
|
||||||
@@ -12766,7 +12760,7 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
files={files}
|
files={files}
|
||||||
isCloud={isCloud}
|
isCloud={isCloud}
|
||||||
getParents={getParents}
|
getParents={getParents}
|
||||||
toolsAppId={toolsApp.id}
|
toolsAppId={toolsApp.id}
|
||||||
setShowVideo={setShowVideo}
|
setShowVideo={setShowVideo}
|
||||||
actionDelayChange={actionDelayChange}
|
actionDelayChange={actionDelayChange}
|
||||||
getAppAuthentication={getAppAuthentication}
|
getAppAuthentication={getAppAuthentication}
|
||||||
@@ -12805,18 +12799,19 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
setLastSaved={setLastSaved}
|
setLastSaved={setLastSaved}
|
||||||
lastSaved={lastSaved}
|
lastSaved={lastSaved}
|
||||||
|
|
||||||
aiSubmit={aiSubmit}
|
aiSubmit={aiSubmit}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
} else if (Object.getOwnPropertyNames(selectedComment).length > 0) {
|
} else if (Object.getOwnPropertyNames(selectedComment).length > 0) {
|
||||||
defaultReturn = <CommentSidebar />
|
defaultReturn = <CommentSidebar />
|
||||||
} else if (Object.getOwnPropertyNames(selectedTrigger).length > 0) {
|
} else if (Object.getOwnPropertyNames(selectedTrigger).length > 0) {
|
||||||
if (selectedTrigger.trigger_type === "SCHEDULE") {
|
if (selectedTrigger.trigger_type === "SCHEDULE") {
|
||||||
defaultReturn = <ScheduleSidebar />
|
// Handled elsewhere as an experiment
|
||||||
|
defaultReturn = null
|
||||||
} else if (selectedTrigger.trigger_type === "WEBHOOK") {
|
} else if (selectedTrigger.trigger_type === "WEBHOOK") {
|
||||||
defaultReturn = <WebhookSidebar />
|
defaultReturn = null
|
||||||
} else if (selectedTrigger.trigger_type === "SUBFLOW") {
|
} else if (selectedTrigger.trigger_type === "SUBFLOW") {
|
||||||
defaultReturn = <SubflowSidebar />
|
defaultReturn = <SubflowSidebar />
|
||||||
} else if (selectedTrigger.trigger_type === "EMAIL") {
|
} else if (selectedTrigger.trigger_type === "EMAIL") {
|
||||||
defaultReturn = <EmailSidebar />
|
defaultReturn = <EmailSidebar />
|
||||||
} else if (selectedTrigger.trigger_type === "USERINPUT") {
|
} else if (selectedTrigger.trigger_type === "USERINPUT") {
|
||||||
@@ -14993,6 +14988,25 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
{executionModal}
|
{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
|
<RightSideBar
|
||||||
scrollConfig={scrollConfig}
|
scrollConfig={scrollConfig}
|
||||||
setScrollConfig={setScrollConfig}
|
setScrollConfig={setScrollConfig}
|
||||||
@@ -15025,6 +15039,7 @@ const AngularWorkflow = (defaultprops) => {
|
|||||||
setSelectedActionEnvironment={setSelectedActionEnvironment}
|
setSelectedActionEnvironment={setSelectedActionEnvironment}
|
||||||
requiresAuthentication={requiresAuthentication}
|
requiresAuthentication={requiresAuthentication}
|
||||||
/>
|
/>
|
||||||
|
*/}
|
||||||
|
|
||||||
{showWorkflowRevisions ? null :
|
{showWorkflowRevisions ? null :
|
||||||
<span>
|
<span>
|
||||||
|
|||||||
Reference in New Issue
Block a user