From 98607e44d2e48c087d9ca9ab511ea0ed221fab48 Mon Sep 17 00:00:00 2001 From: frikky Date: Wed, 23 Nov 2022 02:16:56 +0100 Subject: [PATCH] Added minor fix for creator grid --- frontend/src/components/CreatorGrid.jsx | 1 - frontend/src/views/AngularWorkflow.jsx | 254 +++++++++++++++--------- 2 files changed, 156 insertions(+), 99 deletions(-) diff --git a/frontend/src/components/CreatorGrid.jsx b/frontend/src/components/CreatorGrid.jsx index ec1b7ba9..6eaa6222 100644 --- a/frontend/src/components/CreatorGrid.jsx +++ b/frontend/src/components/CreatorGrid.jsx @@ -134,7 +134,6 @@ const CreatorGrid = props => { onChange={(event) => { refine(event.currentTarget.value) }} - limit={5} /> {/*isSearchStalled ? 'My search is stalled' : ''*/} diff --git a/frontend/src/views/AngularWorkflow.jsx b/frontend/src/views/AngularWorkflow.jsx index 24a9c6cf..9048afcd 100644 --- a/frontend/src/views/AngularWorkflow.jsx +++ b/frontend/src/views/AngularWorkflow.jsx @@ -65,6 +65,7 @@ import { ListItem, ListItemText, ListItemAvatar, + Badge, } from "@material-ui/core"; import { @@ -109,6 +110,7 @@ import { import { Preview as PreviewIcon, + ContentCopy as ContentCopyIcon, } from '@mui/icons-material'; import Autocomplete from "@material-ui/lab/Autocomplete"; @@ -367,8 +369,7 @@ const AngularWorkflow = (defaultprops) => { const [selectedApp, setSelectedApp] = React.useState({}); const [selectedAction, setSelectedAction] = React.useState({}); - const [selectedActionEnvironment, setSelectedActionEnvironment] = - React.useState({}); + const [selectedActionEnvironment, setSelectedActionEnvironment] = React.useState({}); const [executionRequest, setExecutionRequest] = React.useState({}); @@ -2110,6 +2111,7 @@ const AngularWorkflow = (defaultprops) => { setSelectedTriggerIndex(-1) setTriggerFolders([]) setSubworkflow({}) + setLocalFirstrequest(true) // Can be used for right side view setRightSideBarOpen(false); @@ -8194,6 +8196,7 @@ const AngularWorkflow = (defaultprops) => { responseJson.success !== false && responseJson.length > 0 ) { + console.log("Got trigger folders: ", triggerFolders) setTriggerFolders(responseJson); } @@ -8207,7 +8210,7 @@ const AngularWorkflow = (defaultprops) => { name: "outlookfolder", id: responseJson[0].id, }, - ]; + ] selectedTrigger.parameters = [ { value: responseJson[0].displayName, @@ -8225,7 +8228,7 @@ const AngularWorkflow = (defaultprops) => { }; const getTriggerAuth = () => { - fetch(globalUrl + "/api/v1/triggers/outlook/" + selectedTrigger.id, { + fetch(globalUrl + "/api/v1/triggers/" + selectedTrigger.id, { method: "GET", headers: { "content-type": "application/json" }, credentials: "include", @@ -8238,20 +8241,24 @@ const AngularWorkflow = (defaultprops) => { return response.json(); }) .then((responseJson) => { + setTriggerAuthentication(responseJson); }) .catch((error) => { //console.log(error.toString()); - console.log("Set outlook auth error: ", error.toString()); + console.log("Set trigger auth error: ", error.toString()); }); }; // Getting the triggers and the folders if they exist - // This is horrible hahah if (localFirstrequest) { + //console.log("Trigger: ", selectedTrigger) + //console.log("Triggername: ", selectedTrigger.name) + //if (selectedTrigger.name.toLowerCase() === "gmail") { + setGmailFolders(); + setOutlookFolders(); + getTriggerAuth(); - setOutlookFolders(); - setGmailFolders(); setLocalFirstrequest(false); } @@ -8310,7 +8317,7 @@ const AngularWorkflow = (defaultprops) => { // Check whether we got a callback somewhere var id = setInterval(function () { fetch( - globalUrl + "/api/v1/triggers/gmail/" + selectedTrigger.id, + globalUrl + "/api/v1/triggers/" + selectedTrigger.id, { method: "GET", headers: { "content-type": "application/json" }, @@ -8411,7 +8418,7 @@ const AngularWorkflow = (defaultprops) => { // Check whether we got a callback somewhere var id = setInterval(function () { fetch( - globalUrl + "/api/v1/triggers/outlook/" + selectedTrigger.id, + globalUrl + "/api/v1/triggers/ " + selectedTrigger.id, { method: "GET", headers: { "content-type": "application/json" }, @@ -8506,61 +8513,73 @@ const AngularWorkflow = (defaultprops) => { }} />
- Select {triggerAuthentication.type === "gmail" ? "labels" : "folders"} (CTRL+click) + Select {triggerAuthentication.type === "gmail" ? "labels" : "a folder"}
- } - key={selectedTrigger} - > - {triggerFolders.map((folder) => { - var folderItem = ( - - ); + {triggerFolders.length === 0 ? + + No folders found. Please authenticate and make sure the user has access folders available. If this persists, contact us. + + : + } + key={selectedTrigger} + > + {triggerFolders.map((folder) => { + var folderItem = ( + + ); - if (folder.childFolderCount > 0) { - // Here to handle subfolders sometime later - folderItem = ( - - ); - } + if (folder.childFolderCount > 0) { + // Here to handle subfolders sometime later + folderItem = ( + + ); + } - return folderItem; - })} - + return folderItem; + })} + + } )} @@ -10233,28 +10252,6 @@ const AngularWorkflow = (defaultprops) => { }} id="webhook_uri_field" onClick={() => { - var copyText = document.getElementById("webhook_uri_field"); - if (copyText !== undefined && copyText !== null) { - console.log("NAVIGATOR: ", navigator); - const clipboard = navigator.clipboard; - if (clipboard === undefined) { - alert.error("Can only copy over HTTPS (port 3443)"); - return; - } - - navigator.clipboard.writeText(copyText.value); - copyText.select(); - copyText.setSelectionRange( - 0, - 99999 - ); /* For mobile devices */ - - /* Copy the text inside the text field */ - document.execCommand("copy"); - alert.success("Copied Webhook URL"); - } else { - console.log("Couldn't find webhook URI field: ", copyText); - } }} helperText={ workflow.triggers[selectedTriggerIndex].parameters[0].value !== undefined && @@ -10281,6 +10278,39 @@ const AngularWorkflow = (defaultprops) => { maxWidth: "95%", fontSize: "1em", }, + endAdornment: + + { + var copyText = document.getElementById("webhook_uri_field"); + if (copyText !== undefined && copyText !== null) { + console.log("NAVIGATOR: ", navigator); + const clipboard = navigator.clipboard; + if (clipboard === undefined) { + alert.error("Can only copy over HTTPS (port 3443)"); + return; + } + + navigator.clipboard.writeText(copyText.value); + copyText.select(); + copyText.setSelectionRange( + 0, + 99999 + ); /* For mobile devices */ + + /* Copy the text inside the text field */ + document.execCommand("copy"); + alert.success("Copied Webhook URL"); + } else { + console.log("Couldn't find webhook URI field: ", copyText); + } + }} + edge="end" + > + + + }} fullWidth disabled @@ -10509,7 +10539,9 @@ const AngularWorkflow = (defaultprops) => { const splitItem = workflow.triggers[selectedTriggerIndex].parameters[0].value.split( splitter - ); + ) + + console.log("Starting mail sub: ", workflow.triggers[selectedTriggerIndex].parameters[0].value, splitItem); for (var key in splitItem) { const item = splitItem[key]; const curfolder = triggerFolders.find((a) => a.displayName === item); @@ -11839,22 +11871,30 @@ const AngularWorkflow = (defaultprops) => { - + @@ -12800,6 +12840,15 @@ const AngularWorkflow = (defaultprops) => { ) } + + var nonskippedResults = [] + if (executionData.results !== undefined) { + const newSkipped = executionData.results.find((result) => result.status !== "SKIPPED") + if (newSkipped !== undefined) { + nonskippedResults = newSkipped + } + } + var executionDelay = -75 const executionModal = ( @@ -13280,7 +13329,16 @@ const AngularWorkflow = (defaultprops) => { (executionData.results.length === 0 && // probably ment to be around the or's executionData.status === "EXECUTING") ) ? ( - +
+ + + + {!isCloud && environments.length > 0 && defaultEnvironmentIndex < environments.length && nonskippedResults.length === 0 ? + + No results yet. Is Orborus running for the "{environments[defaultEnvironmentIndex].Name}" environment? Learn more + + : null} +
) : null}