- {#if focus && typeof focus == "string"}
- "{focus}"
- {:else if focus && typeof focus == "object"}
-
+ {#if focus}
+
{:else}
Click anywhere to see its options.
{/if}
diff --git a/frontend/src/ProjectManager/ProjectManagerScriptOptions.svelte b/frontend/src/ProjectManager/ProjectManagerScriptOptions.svelte
index e616ada8d..f8d65d793 100644
--- a/frontend/src/ProjectManager/ProjectManagerScriptOptions.svelte
+++ b/frontend/src/ProjectManager/ProjectManagerScriptOptions.svelte
@@ -31,7 +31,7 @@
import { selectedProject, settings, selected } from "../stores";
import Icon from "../Icon.svelte";
- export let name;
+ export let args;
async function deleteScript() {
await fetch(`${$settings.backendUrl}/delete_script_from_project`, {
@@ -41,7 +41,7 @@
},
body: JSON.stringify({
id: $selectedProject.session_id,
- script: name,
+ script: args.name,
}),
}).then(async (r) => {
if (!r.ok) {
@@ -55,7 +55,6 @@
}
return r.json();
});
- console.log($selectedProject);
return await r.json();
});
}
@@ -63,6 +62,6 @@
Delete {args.name} from project.
diff --git a/frontend/src/ProjectManager/ProjectManagerToolbar.svelte b/frontend/src/ProjectManager/ProjectManagerToolbar.svelte
index 28700ba9b..d8c2eccd4 100644
--- a/frontend/src/ProjectManager/ProjectManagerToolbar.svelte
+++ b/frontend/src/ProjectManager/ProjectManagerToolbar.svelte
@@ -65,9 +65,9 @@
}
$selectedProject = await fetch(
`${$settings.backendUrl}/get_project_by_id?id=${$selectedProject.session_id}`
- ).then((r) => {
+ ).then(async (r) => {
if (!r.ok) {
- throw Error(r.statusText);
+ throw Error(JSON.stringify(await r.json(), undefined, 2));
}
return r.json();
});
diff --git a/frontend/src/ProjectManager/ProjectManagerView.svelte b/frontend/src/ProjectManager/ProjectManagerView.svelte
index f2ea11c31..02fe6c04a 100644
--- a/frontend/src/ProjectManager/ProjectManagerView.svelte
+++ b/frontend/src/ProjectManager/ProjectManagerView.svelte
@@ -75,11 +75,6 @@
scriptCheckboxHoverInfo = {};
let binariesForProject = [];
- for (let binaryName in $selectedProject.binaries) {
- if ($selectedProject.binaries.hasOwnProperty(binaryName)) {
- binariesForProject.push(binaryName);
- }
- }
export let resources,
rootResourceLoadPromise,
@@ -88,6 +83,9 @@
showProjectManager;
async function openProject() {
+ if (!selectedBinaryName) {
+ throw Error("Select a binary to launch!");
+ }
let rootModel = await fetch(`${$settings.backendUrl}/open_project`, {
method: "POST",
headers: {
@@ -98,7 +96,12 @@
binary: selectedBinaryName,
script: $selectedProject.binaries[selectedBinaryName].init_script,
}),
- }).then((r) => r.json());
+ }).then(async (r) => {
+ if (!r.ok) {
+ throw Error(JSON.stringify(await r.json(), undefined, 2));
+ }
+ return await r.json();
+ });
rootResource = remote_model_to_resource(rootModel, resources);
$selected = rootModel.id;
showProjectManager = false;
@@ -131,6 +134,14 @@
};
focusScript = undefined;
}
+ $: {
+ binariesForProject = [];
+ for (let binaryName in $selectedProject.binaries) {
+ if ($selectedProject.binaries.hasOwnProperty(binaryName)) {
+ binariesForProject.push(binaryName);
+ }
+ }
+ }
OFRAK Project Manager
@@ -149,20 +160,25 @@