diff --git a/src/routes/transporting/export/+page.svelte b/src/routes/transporting/export/+page.svelte index 86569e3..be11514 100644 --- a/src/routes/transporting/export/+page.svelte +++ b/src/routes/transporting/export/+page.svelte @@ -53,11 +53,25 @@ }); } - function toggleSelectionOnUserInput() { - requestAnimationFrame(() => { - $maintenanceProfiles.forEach(profile => exportedEntities.profiles[profile.id] = exportAllProfiles); - $tagGroups.forEach(group => exportedEntities.groups[group.id] = exportAllGroups); - }); + /** + * Create a handler to toggle on or off specific entity type. + * @param targetEntity Code of the entity. + */ + function createToggleAllOnUserInput(targetEntity: keyof App.EntityNamesMap) { + return () => { + requestAnimationFrame(() => { + switch (targetEntity) { + case "profiles": + $maintenanceProfiles.forEach(profile => exportedEntities.profiles[profile.id] = exportAllProfiles); + break; + case "groups": + $tagGroups.forEach(group => exportedEntities.groups[group.id] = exportAllGroups); + break; + default: + console.warn(`Trying to toggle unsupported entity type: ${targetEntity}`); + } + }); + } } function toggleExportedStringDisplay() { @@ -74,7 +88,7 @@ Back
{#if $maintenanceProfiles.length} - + Export All Profiles {#each $maintenanceProfiles as profile} @@ -85,7 +99,7 @@
{/if} {#if $tagGroups.length} - + Export All Groups {#each $tagGroups as group}