From a4ee887245fba3d8b610e69041dcf783f5329bb2 Mon Sep 17 00:00:00 2001 From: frikky Date: Sat, 17 Sep 2022 16:59:50 +0200 Subject: [PATCH] Loads of minor bugfixes to Shuffle UI --- backend/app_sdk/app_base.py | 4 +- backend/go-app/docker.go | 3 +- backend/go-app/go.mod | 2 +- backend/go-app/main.go | 2 +- frontend/public/images/Arrow.png | Bin 0 -> 11853 bytes frontend/src/defaultCytoscapeStyle.js | 1 + frontend/src/views/Admin.jsx | 91 ++++++++++++++++++++----- frontend/src/views/AngularWorkflow.jsx | 48 ++++++++++--- frontend/src/views/AppCreator.jsx | 3 +- frontend/src/views/Apps.jsx | 2 +- frontend/src/views/Dashboard.jsx | 2 - frontend/src/views/GettingStarted.jsx | 6 ++ frontend/src/views/SettingsPage.jsx | 15 +++- frontend/src/views/Workflows.jsx | 17 +++-- 14 files changed, 151 insertions(+), 45 deletions(-) create mode 100644 frontend/public/images/Arrow.png diff --git a/backend/app_sdk/app_base.py b/backend/app_sdk/app_base.py index 76930cf5..a03df771 100644 --- a/backend/app_sdk/app_base.py +++ b/backend/app_sdk/app_base.py @@ -3312,7 +3312,7 @@ class AppBase: newres = json.dumps({ "success": False, - "reason": "An exception occurred while running this function. See exception for more details and contact support if this persists (support@shuffler.io)", + "reason": "An exception occurred while running this function (1). See exception for more details and contact support if this persists (support@shuffler.io)", "exception": e, }) break @@ -3343,7 +3343,7 @@ class AppBase: newres = json.dumps({ "success": False, - "reason": "An exception occurred while running this function. See exception for more details and contact support if this persists (support@shuffler.io)", + "reason": "An exception occurred while running this function (2). See exception for more details and contact support if this persists (support@shuffler.io)", "exception": e, }) break diff --git a/backend/go-app/docker.go b/backend/go-app/docker.go index 9ca293bf..38041ecf 100644 --- a/backend/go-app/docker.go +++ b/backend/go-app/docker.go @@ -2,9 +2,8 @@ package main // Docker import ( - "github.com/shuffle/shuffle-shared" - "archive/tar" + "github.com/shuffle/shuffle-shared" //"bufio" "path/filepath" //"strconv" diff --git a/backend/go-app/go.mod b/backend/go-app/go.mod index 02bdc660..9125a3e9 100644 --- a/backend/go-app/go.mod +++ b/backend/go-app/go.mod @@ -2,7 +2,7 @@ module main go 1.16 -//replace github.com/shuffle/shuffle-shared => ../../../shuffle-shared +replace github.com/shuffle/shuffle-shared => ../../../shuffle-shared //replace github.com/frikky/kin-openapi => ../../../../git/kin-openapi //replace github.com/frikky/go-elasticsearch => ../../../../git/go-elasticsearch diff --git a/backend/go-app/main.go b/backend/go-app/main.go index f121a216..e6d27b19 100644 --- a/backend/go-app/main.go +++ b/backend/go-app/main.go @@ -3187,6 +3187,7 @@ func buildSwaggerApp(resp http.ResponseWriter, body []byte, user shuffle.User) { return } + swagger.Info.Title = shuffle.FixFunctionName(swagger.Info.Title, swagger.Info.Title, false) if strings.Contains(swagger.Info.Title, " ") { swagger.Info.Title = strings.Replace(swagger.Info.Title, " ", "_", -1) } @@ -4800,7 +4801,6 @@ func runInit(ctx context.Context) { continue } - log.Printf("ENV: %s", item.Environment) if item.Environment == "cloud" { log.Printf("Skipping cloud schedule") continue diff --git a/frontend/public/images/Arrow.png b/frontend/public/images/Arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..56c7d85c7b4861d491a868016a53e525bfa95a1c GIT binary patch literal 11853 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 literal 0 HcmV?d00001 diff --git a/frontend/src/defaultCytoscapeStyle.js b/frontend/src/defaultCytoscapeStyle.js index 3871db40..35c4b7f8 100644 --- a/frontend/src/defaultCytoscapeStyle.js +++ b/frontend/src/defaultCytoscapeStyle.js @@ -57,6 +57,7 @@ const data = [ padding: "0px", margin: "0px", "background-color": "data(backgroundcolor)", + "background-image": "data(backgroundimage)", "border-color": "#ffffff", "text-margin-x": "0px", "z-index": 4999, diff --git a/frontend/src/views/Admin.jsx b/frontend/src/views/Admin.jsx index a5ad30da..2885f71e 100644 --- a/frontend/src/views/Admin.jsx +++ b/frontend/src/views/Admin.jsx @@ -349,7 +349,6 @@ const Admin = (props) => { }) .then((response) => response.json().then((responseJson) => { - console.log("RESP: ", responseJson); if (responseJson["success"] === false) { alert.error("Failed deleting auth"); } else { @@ -825,7 +824,7 @@ const Admin = (props) => { handleGetDeals(orgId); } - setSelectedOrganization(responseJson); + setSelectedOrganization(responseJson) var lists = { active: { triggers: [], @@ -2381,7 +2380,7 @@ const Admin = (props) => { ) : ( - ); + ) return ( { margin: 4, backgroundColor: theme.palette.inputColor, color: "white", - minHeight: expanded ? 200 : "inherit", - maxHeight: expanded ? 200 : "inherit", + minHeight: expanded ? 250 : "inherit", + maxHeight: expanded ? 250 : "inherit", }} > @@ -2414,19 +2413,19 @@ const Admin = (props) => { {expanded ? (
- Usage:{" "} + Usage:  {props.data.limit === 0 ? ( - "Infinite" + "Unlimited" ) : ( - {props.data.usage} / {props.data.limit} + {props.data.usage} / {props.data.limit === "" ? "Unlimited" : props.data.limit} )} - + {/* Data sharing: {props.data.data_collection} - - Description: {secondary} + */} + Description: {secondary}
) : null} @@ -2935,7 +2934,7 @@ const Admin = (props) => { - Cloud sync features + Cloud sync features (monthly usage) {selectedOrganization.sync_features === undefined || @@ -2945,11 +2944,16 @@ const Admin = (props) => { key, index ) { - if (key === "schedule") { + // unnecessary parts + if (key === "schedule" || key === "apps" || key === "updates") { return null; } const item = selectedOrganization.sync_features[key]; + if (item === null) { + return null + } + const newkey = key.replaceAll("_", " "); const griditem = { primary: newkey, @@ -2960,7 +2964,8 @@ const Admin = (props) => { ? "Not defined yet" : item.description, limit: item.limit, - usage: 0, + usage: item.usage === undefined || + item.usage === null ? 0 : item.usage, data_collection: "None", active: item.active, icon: , @@ -4716,9 +4721,13 @@ const Admin = (props) => { primary="Orborus running" style={{ minWidth: 200, maxWidth: 200 }} /> + { ? environment.running_ip === undefined || environment.running_ip === null || environment.running_ip.length === 0 - ? "Not running" + ? +
+ Not running +
: environment.running_ip : "N/A" } @@ -4780,9 +4792,52 @@ const Admin = (props) => { overflow: "hidden", }} /> + + + { + const elementName = "copy_element_shuffle"; + const auth = environment.auth === "" ? 'cb5st3d3Z!3X3zaJ*Pc' : environment.auth + const commandData = `docker run -d --volume "/var/run/docker.sock:/var/run/docker.sock" -e ENVIRONMENT_NAME="${environment.Name}" -e 'AUTH=${auth}' -e ORG="${props.userdata.active_org.id}" -e DOCKER_API_VERSION=1.40 -e BASE_URL="https://shuffler.io" ghcr.io/frikky/shuffle-orborus:latest` + var copyText = document.getElementById(elementName); + if (copyText !== null && copyText !== undefined) { + const clipboard = navigator.clipboard; + if (clipboard === undefined) { + alert.error("Can only copy over HTTPS (port 3443)"); + return; + } + + navigator.clipboard.writeText(commandData); + copyText.select(); + copyText.setSelectionRange( + 0, + 99999 + ); /* For mobile devices */ + + /* Copy the text inside the text field */ + document.execCommand("copy"); + + alert.info("Orborus command copied to clipboard"); + } + }} + > + + + + } + /> + { }} color="primary" > - Clear executions + Clear diff --git a/frontend/src/views/AngularWorkflow.jsx b/frontend/src/views/AngularWorkflow.jsx index e608b668..a6a92d3b 100644 --- a/frontend/src/views/AngularWorkflow.jsx +++ b/frontend/src/views/AngularWorkflow.jsx @@ -2815,17 +2815,23 @@ const AngularWorkflow = (defaultprops) => { cy.on("free", "node", (e) => onNodeDragStop(e, curaction)); } - console.log("Object: ", environments) + console.log("Object: ", environments, curaction.environment) if (environments !== undefined && environments !== null && (typeof environments === "array" || typeof environments === "object")) { + console.log("Type: ", typeof(environments)) + var parsedenv = environments - if (typeof environments === "object") { - parsedenv = [environments] + //if (typeof environments === "object") { + // parsedenv = [environments] + //} + + const envs = parsedenv.find((a) => a.Name === curaction.environment); + var env = environments[defaultEnvironmentIndex] + console.log("Inner envs: ", envs, curaction.environment) + if (envs !== undefined && envs !== null) { + env = envs } - var env = parsedenv.find((a) => a.Name === curaction.environment); - if (!env || env === undefined) { - env = parsedenv[defaultEnvironmentIndex]; - } + console.log("env: ", env) setSelectedActionEnvironment(env); } @@ -9426,6 +9432,31 @@ const AngularWorkflow = (defaultprops) => { /> +
Background-Image
+ { + selectedComment.backgroundimage = event.target.value; + console.log("Comment: ", selectedComment) + setSelectedComment(selectedComment); + }} + /> ); } @@ -14142,7 +14173,6 @@ const AngularWorkflow = (defaultprops) => { backgroundColor: surfaceColor, color: "white", minWidth: 600, - padding: 50, border: theme.palette.defaultBorder, }, }} @@ -14153,7 +14183,7 @@ const AngularWorkflow = (defaultprops) => { position: "absolute", top: 14, right: 14, - color: "grey", + color: "white", }} onClick={() => { setConfigureWorkflowModalOpen(false); diff --git a/frontend/src/views/AppCreator.jsx b/frontend/src/views/AppCreator.jsx index 2f6cc4ab..3645fa3c 100644 --- a/frontend/src/views/AppCreator.jsx +++ b/frontend/src/views/AppCreator.jsx @@ -1814,7 +1814,7 @@ const AppCreator = (defaultprops) => { for (var querykey in item.queries) { const queryitem = item.queries[querykey]; - if (queryitem === undefined || queryitem === null || queryitem.name === undefined || queryitem.name === null) { + if (queryitem === undefined || queryitem === null || queryitem.name === undefined || queryitem.name === null || queryitem.name === "") { continue } @@ -1824,7 +1824,6 @@ const AppCreator = (defaultprops) => { } querynames.push(queryitem.name.toLowerCase()) - if (queryitem.name.toLowerCase() == "url") { console.log(item.name + " uses a bad query: url"); continue; diff --git a/frontend/src/views/Apps.jsx b/frontend/src/views/Apps.jsx index cb93fd90..e20b103b 100644 --- a/frontend/src/views/Apps.jsx +++ b/frontend/src/views/Apps.jsx @@ -2265,7 +2265,7 @@ const Apps = (props) => {
- Create a new integration + Create a new app
diff --git a/frontend/src/views/Dashboard.jsx b/frontend/src/views/Dashboard.jsx index 6fff22af..fad0d5e4 100644 --- a/frontend/src/views/Dashboard.jsx +++ b/frontend/src/views/Dashboard.jsx @@ -776,8 +776,6 @@ const UsecaseListComponent = ({keys, isCloud, globalUrl, frameworkData, isLogged var baseTypeInfo = subcase.type !== undefined ? subcase.type : "communication" if (frameworkData !== undefined && frameworkData !== null) { if (frameworkData[baseTypeInfo] !== undefined && frameworkData[baseTypeInfo] !== null && subdata.app !== undefined && subdata.app !== null) { - console.log("Name: ", frameworkData[baseTypeInfo], baseTypeInfo) - console.log("Name2: ", subdata.app) if (frameworkData[baseTypeInfo].name !== undefined && frameworkData[baseTypeInfo].name.toLowerCase().replaceAll("_", " ") === subdata.app.toLowerCase().replaceAll("_", " ")) { highlight = true } diff --git a/frontend/src/views/GettingStarted.jsx b/frontend/src/views/GettingStarted.jsx index 392afce7..880b56b2 100644 --- a/frontend/src/views/GettingStarted.jsx +++ b/frontend/src/views/GettingStarted.jsx @@ -2373,6 +2373,12 @@ const GettingStarted = (props) => { +
+ + Need assistance? Ask our support team (it's free!). + + +
{/*
diff --git a/frontend/src/views/SettingsPage.jsx b/frontend/src/views/SettingsPage.jsx index 1bcd2344..2703ac94 100644 --- a/frontend/src/views/SettingsPage.jsx +++ b/frontend/src/views/SettingsPage.jsx @@ -1,5 +1,6 @@ import React, { useState, useEffect } from "react"; +import { useNavigate, Link } from "react-router-dom"; import { Grid, Typography, @@ -8,7 +9,6 @@ import { Divider, TextField, } from "@material-ui/core"; -import { Link } from "react-router-dom"; import { useAlert } from "react-alert"; import { useTheme } from "@material-ui/core/styles"; @@ -18,6 +18,7 @@ const Settings = (props) => { const { globalUrl, isLoaded, userdata, setUserData } = props; const theme = useTheme(); const alert = useAlert(); + let navigate = useNavigate(); const [username, setUsername] = useState(""); const [firstname, setFirstname] = useState(""); @@ -414,7 +415,15 @@ const Settings = (props) => { src={imageData} alt="Click to upload an image (174x174)" id="logo" + onClick={() => { + if (imageData !== theme.palette.defaultImage) { + navigate(`/creators/${userdata.public_username}`) + } else { + navigate(`/creators`) + } + }} style={{ + cursor: "pointer", maxWidth: 100, maxHeight: 100, minWidth: 100, @@ -810,7 +819,7 @@ const Settings = (props) => { ) : null}
- {userdata !== undefined && + {/*userdata !== undefined && userdata.eth_info !== undefined && userdata.eth_info.account !== undefined && userdata.eth_info.account.length > 0 ? ( @@ -868,7 +877,7 @@ const Settings = (props) => { > Authenticate Metamask Wallet - )} + )*/}
diff --git a/frontend/src/views/Workflows.jsx b/frontend/src/views/Workflows.jsx index 658f2e87..b8f2c62a 100644 --- a/frontend/src/views/Workflows.jsx +++ b/frontend/src/views/Workflows.jsx @@ -1075,6 +1075,7 @@ const Workflows = (props) => { minWidth: isMobile ? "100%" : 1024, maxWidth: isMobile ? "100%" : 1024, margin: "auto", + paddingBottom: 200, }; const emptyWorkflowStyle = { @@ -1145,9 +1146,11 @@ const Workflows = (props) => { for (var key in data.triggers) { const trigger = data.triggers[key]; if (trigger.app_name === "Shuffle Workflow") { - if (trigger.parameters.length > 2) { - trigger.parameters[2].value = ""; - } + if (trigger.parameters !== null && trigger.parameters !== undefined) { + if (trigger.parameters.length > 2) { + trigger.parameters[2].value = ""; + } + } } if (trigger.status === "running") { @@ -3500,7 +3503,13 @@ const Workflows = (props) => { {exportVerifyModal} {publishModal} {workflowDownloadModalOpen} - + {/*
+ + Need assistance? Ask our support team (it's free!). + + +
*/} + ) : (