From cda45128223ccc47456e2548b048e371d80bb7c2 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 18 Mar 2021 15:17:07 +0100 Subject: [PATCH] =?UTF-8?q?Implemented=20svelt=20select=20bug=20workaround?= =?UTF-8?q?=20for=20scan=20detail=F0=9F=94=A5=F0=9F=94=A5=F0=9F=94=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ref #92 --- src/components/scans/ScanDetail.svelte | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) 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')}