diff --git a/src/components/scans/ScanDetail.svelte b/src/components/scans/ScanDetail.svelte index 016352b4..808a109b 100644 --- a/src/components/scans/ScanDetail.svelte +++ b/src/components/scans/ScanDetail.svelte @@ -21,25 +21,32 @@ editable.runner != null && ((original_data.responseType === "TRACKSCAN" && editable.track != null) || original_data.responseType !== "TRACKSCAN"); + $: runner = {}; $: changes_performed = !( JSON.stringify(original_data) === JSON.stringify(editable) ); $: save_enabled = changes_performed && is_everything_set && is_distance_valid; - const runner_promise = RunnerService.runnerControllerGetAll().then((val) => { - current_runners = val; - }); + const promise = ScanService.scanControllerGetOne(params.scanid).then( (data) => { data_loaded = true; original_data = Object.assign(original_data, data); editable = Object.assign(editable, original_data); + RunnerService.runnerControllerGetAll().then( + (val) => { + current_runners = val.map((r) => { + return { label: getRunnerLabel(r), value: r }; + }); + runner = current_runners.find(r => r.value.id == editable.runner.id); + } + ); } ); const getRunnerLabel = (option) => option.firstname + " " + (option.middlename || "") + " " + option.lastname; const filterRunners = (label, filterText, option) => label.toLowerCase().includes(filterText.toLowerCase()) || - option.id.toString().startsWith(filterText.toLowerCase()); + option.value.id.toString().startsWith(filterText.toLowerCase()); function submit() { if (data_loaded === true && save_enabled) { @@ -48,6 +55,7 @@ duration: 2500, }).showToast(); let postdata = {}; + console.log(editable.runner); if (original_data.responseType === "TRACKSCAN") { postdata = Object.assign(postdata, editable); postdata.runner = postdata.runner.id; @@ -98,7 +106,7 @@ } -{#await runner_promise && promise} +{#await promise} Loading scan details {:then}
@@ -213,15 +221,16 @@ class="block font-medium text-gray-700">{$_('runner')}