Fixed oauth2, docs and popups for onboarding
This commit is contained in:
@@ -102,6 +102,8 @@ const UsecaseListComponent = (props) => {
|
||||
const [expandedItem, setExpandedItem] = useState(-1);
|
||||
const [inputUsecase, setInputUsecase] = useState({});
|
||||
|
||||
const [prevSubcase, setPrevSubcase] = useState({})
|
||||
|
||||
const [editing, setEditing] = useState(false);
|
||||
const [description, setDescription] = useState("");
|
||||
const [video, setVideo] = useState("");
|
||||
@@ -117,6 +119,42 @@ const UsecaseListComponent = (props) => {
|
||||
|
||||
const [mitreTags, setMitreTags] = useState([]);
|
||||
|
||||
const parseUsecase = (subcase) => {
|
||||
const srcdata = findSpecificApp(frameworkData, subcase.type)
|
||||
const dstdata = findSpecificApp(frameworkData, subcase.last)
|
||||
|
||||
if (srcdata !== undefined && srcdata !== null) {
|
||||
subcase.srcimg = srcdata.large_image
|
||||
subcase.srcapp = srcdata.name
|
||||
}
|
||||
|
||||
if (dstdata !== undefined && dstdata !== null) {
|
||||
subcase.dstimg = dstdata.large_image
|
||||
subcase.dstapp = dstdata.name
|
||||
}
|
||||
|
||||
return subcase
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
console.log("In frameworkData useEffect: frameworkData: ", frameworkData)
|
||||
if (frameworkData === undefined || prevSubcase === undefined) {
|
||||
return
|
||||
}
|
||||
|
||||
console.log("PAST!")
|
||||
|
||||
var parsedUsecase = inputUsecase
|
||||
const subcase = parseUsecase(prevSubcase)
|
||||
|
||||
parsedUsecase.srcimg = subcase.srcimg
|
||||
parsedUsecase.srcapp = subcase.srcapp
|
||||
parsedUsecase.dstimg = subcase.dstimg
|
||||
parsedUsecase.dstapp = subcase.dstapp
|
||||
|
||||
setInputUsecase(parsedUsecase)
|
||||
}, [frameworkData])
|
||||
|
||||
const loadApps = () => {
|
||||
fetch(`${globalUrl}/api/v1/apps`, {
|
||||
method: "GET",
|
||||
@@ -163,35 +201,14 @@ const UsecaseListComponent = (props) => {
|
||||
|
||||
if (keys === undefined || keys === null || keys.length === 0) {
|
||||
return null
|
||||
}
|
||||
|
||||
|
||||
const parseUsecase = (subcase) => {
|
||||
//console.log("parseUsecase: ", subcase)
|
||||
const srcdata = findSpecificApp(frameworkData, subcase.type)
|
||||
const dstdata = findSpecificApp(frameworkData, subcase.last)
|
||||
|
||||
if (srcdata !== undefined && srcdata !== null) {
|
||||
subcase.srcimg = srcdata.large_image
|
||||
subcase.srcapp = srcdata.name
|
||||
}
|
||||
|
||||
if (dstdata !== undefined && dstdata !== null) {
|
||||
subcase.dstimg = dstdata.large_image
|
||||
subcase.dstapp = dstdata.name
|
||||
}
|
||||
|
||||
return subcase
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Timeout 50ms to delay it slightly
|
||||
const getUsecase = (subcase, index, subindex) => {
|
||||
subcase = parseUsecase(subcase)
|
||||
|
||||
// Timeout 50ms to delay it slightly
|
||||
//setTimeout(() => {
|
||||
// setInputUsecase(subcase)
|
||||
//}, 50)
|
||||
setPrevSubcase(subcase)
|
||||
|
||||
fetch(`${globalUrl}/api/v1/workflows/usecases/${escape(subcase.name.replaceAll(" ", "_"))}`, {
|
||||
method: "GET",
|
||||
@@ -214,8 +231,6 @@ const UsecaseListComponent = (props) => {
|
||||
if (responseJson.success === false) {
|
||||
parsedUsecase = subcase
|
||||
} else {
|
||||
console.log("FOUND: ", JSON.parse(JSON.stringify(responseJson)))
|
||||
|
||||
parsedUsecase = responseJson
|
||||
|
||||
parsedUsecase.srcimg = subcase.srcimg
|
||||
@@ -314,7 +329,7 @@ const UsecaseListComponent = (props) => {
|
||||
})
|
||||
.catch((error) => {
|
||||
//toast(error.toString());
|
||||
//setFrameworkLoaded(true)
|
||||
//setFrameworkLoaded(true)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -416,15 +431,16 @@ const UsecaseListComponent = (props) => {
|
||||
|
||||
return (
|
||||
<Grid id={fixedName} item xs={selectedItem ? 12 : 4} key={subindex} style={{minHeight: 110,}} onClick={() => {
|
||||
if (fixedName === "increase authentication") {
|
||||
getUsecase(subcase, index, subindex)
|
||||
return
|
||||
}
|
||||
|
||||
//setSelectedWorkflows([])
|
||||
if (selectedItem) {
|
||||
} else {
|
||||
getUsecase(subcase, index, subindex)
|
||||
navigate(`/usecases?selected_object=${fixedName}`)
|
||||
|
||||
//const newitem = removeParam("selected_object", cursearch);
|
||||
//navigate(curpath + newitem)
|
||||
}
|
||||
}}>
|
||||
<Paper style={{padding: 25, minHeight: isCloud ? 75 : 122, cursor: !selectedItem ? "pointer" : "default", border: itemBorder, backgroundColor: backgroundColor,}} onClick={() => {
|
||||
@@ -594,11 +610,12 @@ const UsecaseListComponent = (props) => {
|
||||
>
|
||||
<IconButton
|
||||
style={{}}
|
||||
index="close_selection"
|
||||
onClick={(e) => {
|
||||
setExpandedItem(-1)
|
||||
setExpandedIndex(-1)
|
||||
setEditing(false)
|
||||
setInputUsecase({})
|
||||
setExpandedItem(-1)
|
||||
setExpandedIndex(-1)
|
||||
setEditing(false)
|
||||
setInputUsecase({})
|
||||
}}
|
||||
>
|
||||
<CloseIcon style={{ color: "white" }} />
|
||||
@@ -1172,13 +1189,28 @@ const Dashboard = (props) => {
|
||||
if (foundQuery !== null && foundQuery !== undefined) {
|
||||
setSelectedUsecaseCategory(foundQuery)
|
||||
|
||||
const newitem = removeParam("selected", cursearch);
|
||||
const newitem = removeParam("selected", cursearch);
|
||||
navigate(curpath + newitem)
|
||||
}
|
||||
|
||||
const baseItem = document.getElementById("increase authentication")
|
||||
if (baseItem !== undefined && baseItem !== null) {
|
||||
baseItem.click()
|
||||
|
||||
// Find close window button -> go to top
|
||||
const foundButton = document.getElementById("close_selection")
|
||||
if (foundButton !== undefined && foundButton !== null) {
|
||||
foundButton.click()
|
||||
}
|
||||
|
||||
// Scroll back to top
|
||||
window.scrollTo(0, 0)
|
||||
}
|
||||
|
||||
const foundQuery2 = params["selected_object"]
|
||||
if (foundQuery2 !== null && foundQuery2 !== undefined) {
|
||||
//console.log("Got selected_object: ", foundQuery2)
|
||||
// Take a random object, quickly click it, then go to this one
|
||||
// Something is weird with loading apps without it
|
||||
|
||||
const queryName = foundQuery2.toLowerCase().replaceAll("_", " ")
|
||||
// Waiting a bit for it to render
|
||||
@@ -1198,7 +1230,7 @@ const Dashboard = (props) => {
|
||||
} else {
|
||||
//console.log("Couldn't find item with name ", queryName)
|
||||
}
|
||||
}, 100);
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1251,6 +1283,7 @@ const Dashboard = (props) => {
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const getAvailableWorkflows = () => {
|
||||
fetch(globalUrl + "/api/v1/workflows", {
|
||||
method: "GET",
|
||||
@@ -1385,8 +1418,7 @@ const Dashboard = (props) => {
|
||||
|
||||
useEffect(() => {
|
||||
getAvailableWorkflows()
|
||||
getFramework()
|
||||
//fetchUsecases()
|
||||
getFramework()
|
||||
}, []);
|
||||
|
||||
const fetchdata = (stats_id) => {
|
||||
|
||||
Reference in New Issue
Block a user