From 9318bd51faf7db96e08ba6fb570742a334720d2d Mon Sep 17 00:00:00 2001 From: KoloMl Date: Mon, 9 Feb 2026 10:41:10 +0400 Subject: [PATCH] Fixed bulk import only saving last entry --- src/routes/transporting/import/+page.svelte | 45 +++++++++++++-------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/src/routes/transporting/import/+page.svelte b/src/routes/transporting/import/+page.svelte index be84fcc..89a2fdb 100644 --- a/src/routes/transporting/import/+page.svelte +++ b/src/routes/transporting/import/+page.svelte @@ -25,6 +25,8 @@ let saveAllProfiles = $state(false); let saveAllGroups = $state(false); + let isSaving = $state(false); + let selectedEntities: Record> = $state({ profiles: {}, groups: {}, @@ -145,25 +147,36 @@ } } - function saveSelectedEntities() { - Promise.allSettled([ - Promise.allSettled( - importedProfiles - .filter(profile => selectedEntities.profiles[profile.id]) - .map(profile => profile.save()) - ), - Promise.allSettled( - importedGroups - .filter(group => selectedEntities.groups[group.id]) - .map(group => group.save()) - ), - ]).then(() => { - goto("/transporting"); - }); + async function saveSelectedEntities() { + if (isSaving) { + return; + } + + isSaving = true; + + for (const profile of importedProfiles) { + if (!selectedEntities.profiles[profile.id]) { + continue; + } + + await profile.save(); + } + + for (const group of importedGroups) { + if (!selectedEntities.groups[group.id]) { + continue; + } + + await group.save(); + } + + await goto("/transporting"); } -{#if !hasImportedEntities} +{#if isSaving} +

Saving imported entities...

+{:else if !hasImportedEntities} Back