feat: add tasks closes #74
This commit is contained in:
@@ -3,11 +3,14 @@
|
||||
import type { Model } from "./+page.svelte";
|
||||
import FileUpload from "src/lib/FileUpload.svelte";
|
||||
import MessageSimple from "src/lib/MessageSimple.svelte";
|
||||
import { createEventDispatcher } from "svelte";
|
||||
|
||||
let {model} = $props<{model: Model}>();
|
||||
|
||||
let file: File | undefined = $state();
|
||||
|
||||
const dispatch = createEventDispatcher<{ upload: void }>();
|
||||
|
||||
type Result = {
|
||||
class: string,
|
||||
confidence: number,
|
||||
@@ -15,23 +18,24 @@
|
||||
|
||||
let _result: Promise<Result | undefined> = $state(new Promise(() => {}));
|
||||
let run = $state(false);
|
||||
let last_task: string | undefined = $state();
|
||||
|
||||
let messages: MessageSimple;
|
||||
|
||||
async function submit() {
|
||||
console.log("here", file);
|
||||
if (!file) return;
|
||||
messages.clear();
|
||||
|
||||
let form = new FormData();
|
||||
form.append("id", model.id);
|
||||
form.append("json_data", JSON.stringify({id: model.id}));
|
||||
form.append("file", file, "file");
|
||||
|
||||
run = true;
|
||||
|
||||
|
||||
try {
|
||||
_result = await postFormData('models/run', form);
|
||||
console.log(await _result);
|
||||
const r = await postFormData('tasks/start/image', form);
|
||||
last_task = r.id
|
||||
file = undefined;
|
||||
} catch (e) {
|
||||
if (e instanceof Response) {
|
||||
messages.display(await e.json());
|
||||
@@ -39,7 +43,8 @@
|
||||
messages.display("Could not run the model");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
dispatch('upload');
|
||||
}
|
||||
</script>
|
||||
<form on:submit|preventDefault={submit}>
|
||||
@@ -66,7 +71,11 @@
|
||||
Run
|
||||
</button>
|
||||
{#if run}
|
||||
{#await _result then result}
|
||||
{#await _result}
|
||||
<h1>
|
||||
Processing Image {last_task}
|
||||
</h1>
|
||||
{:then result}
|
||||
{#if !result}
|
||||
<div class="result">
|
||||
<h1>
|
||||
|
||||
Reference in New Issue
Block a user