diff --git a/src/components/runners/AddRunnerModal.svelte b/src/components/runners/AddRunnerModal.svelte index b84d425c..2ee98810 100644 --- a/src/components/runners/AddRunnerModal.svelte +++ b/src/components/runners/AddRunnerModal.svelte @@ -11,7 +11,6 @@ import isMobilePhone from "validator/es/lib/isMobilePhone"; import Toastify from "toastify-js"; import Select from "svelte-select"; - import AddDonationModal from "../donations/AddDonationModal.svelte"; export let modal_open; export let current_runners; $: selected_team = undefined; @@ -22,11 +21,15 @@ let email_input; let teams = []; RunnerTeamService.runnerTeamControllerGetAll().then((val) => { - teams = val; + teams = val.map((r) => { + return { label: `${r.parentGroup.name} > ${r.name}`, value: r }; + }); }); let orgs = []; RunnerOrganizationService.runnerOrganizationControllerGetAll().then((val) => { - orgs = val; + orgs = val.map((r) => { + return { label: r.name, value: r }; + }); }); function focus(el) { el.focus(); @@ -230,30 +233,18 @@ class="block text-sm font-medium text-gray-700">{$_('team')} { - if (option.responseType == 'RUNNERORGANIZATION') { - return option.name; - } - return `${option.parentGroup.name} > ${option.name}`; - }} - getOptionLabel={(option) => { - if (option.responseType == 'RUNNERORGANIZATION') { - return option.name; - } - return `${option.parentGroup.name} > ${option.name}`; - }} itemFilter={(label, filterText, option) => label .toLowerCase() .includes( filterText.toLowerCase() - ) || option.id.toString().startsWith(filterText.toLowerCase())} - items={orgs.concat(orgs, teams)} + ) || option.id.value.toString().startsWith(filterText.toLowerCase())} + items={groups} showChevron={true} placeholder={$_('search-for-an-organization-or-team-by-name-or-id')} noOptionsMessage={$_('no-organization-or-team-found')} - bind:selectedValue={editable.group} + bind:selectedValue={group} + on:select={(selectedValue) => {editable.group = selectedValue.detail.value}} on:clear={() => (editable.group = null)} />