{expanded ?
diff --git a/frontend/src/views/AngularWorkflow.jsx b/frontend/src/views/AngularWorkflow.jsx
index 2a195fe4..45a87c2f 100644
--- a/frontend/src/views/AngularWorkflow.jsx
+++ b/frontend/src/views/AngularWorkflow.jsx
@@ -1650,7 +1650,7 @@ const AngularWorkflow = (defaultprops) => {
}
if (responseJson.public) {
- alert.info("This workflow is public. Save the workflow to use it in your organization.");
+ //alert.info("This workflow is public. Save the workflow to use it in your organization.");
console.log("RESP: ", responseJson)
if (Object.getOwnPropertyNames(creatorProfile).length === 0) {
@@ -11004,6 +11004,7 @@ const AngularWorkflow = (defaultprops) => {
//
+
const leftView = workflow.public === true ?
{
This workflow is public and {
saveWorkflow()
- }}>must be saved to be used in your organization.
+ }}>must be saved or exported before use.
{Object.getOwnPropertyNames(creatorProfile).length !== 0 && creatorProfile.github_avatar !== undefined && creatorProfile.github_avatar !== null ?
@@ -11055,6 +11056,27 @@ const AngularWorkflow = (defaultprops) => {
: null }
+
+ {workflow.blogpost !== undefined && workflow.blogpost !== null && workflow.blogpost.length > 0 ?
+
+ : null
+ }
+
{appGroup.length > 0 ?
@@ -11071,6 +11093,7 @@ const AngularWorkflow = (defaultprops) => {
: null}
+
{triggerGroup.length > 0 ?
@@ -11086,6 +11109,7 @@ const AngularWorkflow = (defaultprops) => {
: null}
+ {/*
Mitre Att&ck:
@@ -11094,6 +11118,8 @@ const AngularWorkflow = (defaultprops) => {
TBD
+ */}
+
{/*
@@ -11104,16 +11130,70 @@ const AngularWorkflow = (defaultprops) => {
*/}
+
+ {workflow.video !== undefined && workflow.video !== null && workflow.video.length > 0 ?
+
+
+ Video
+
+ {
+ workflow.video.includes("loom.com/share") && workflow.video.split("/").length > 4 ?
+
+
+
+ :
+ workflow.video.includes("youtube.com") && workflow.video.split("/").length > 3 && workflow.video.includes("v=")
+ ?
+
+ VIDEO
+
+ :
+
+ {workflow.video}
+
+ }
+
+ : null}
+
{workflow.description !== undefined && workflow.description !== null && workflow.description.length > 0 ?
Description
-
+
{workflow.description}
: null}
+
{userdata.avatar === creatorProfile.github_avatar ?
{
// Quickfix for react router 5 -> 6
const params = useParams();
- var props = JSON.parse(JSON.stringify(defaultprops))
+ //var props = JSON.parse(JSON.stringify(defaultprops))
+ var props = Object.assign({selected: false}, defaultprops);
props.match = {}
props.match.params = params
diff --git a/frontend/src/views/Workflows.jsx b/frontend/src/views/Workflows.jsx
index f844ec7d..501a1d01 100644
--- a/frontend/src/views/Workflows.jsx
+++ b/frontend/src/views/Workflows.jsx
@@ -83,7 +83,7 @@ import { DataGrid, GridToolbar } from "@material-ui/data-grid";
//import JSONPrettyMon from 'react-json-pretty/dist/monikai'
import Dropzone from "../components/Dropzone";
-import { Link } from "react-router-dom";
+import { useNavigate, Link } from "react-router-dom";
import { useAlert } from "react-alert";
import ChipInput from "material-ui-chip-input";
import { v4 as uuidv4 } from "uuid";
@@ -487,6 +487,8 @@ export const validateJson = (showResult) => {
const Workflows = (props) => {
const { globalUrl, isLoggedIn, isLoaded, userdata } = props;
document.title = "Shuffle - Workflows";
+ let navigate = useNavigate();
+
const theme = useTheme();
const alert = useAlert();
const classes = useStyles(theme);
@@ -893,7 +895,7 @@ const Workflows = (props) => {
console.log("Status not 200 for workflows :O!: ", response.status);
if (isCloud) {
- window.location.pathname = "/search?tab=workflows";
+ navigate("/search?tab=workflows")
}
alert.info("Failed getting workflows.");