From 0386d4e88ab57457fa981399627b2b61f38bb1ae Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 18 Mar 2021 15:35:39 +0100 Subject: [PATCH 01/11] =?UTF-8?q?Applied=20the=20select=20fix=20to=20all?= =?UTF-8?q?=20things=20runner=20=F0=9F=8F=83=E2=80=8D=E2=99=80=EF=B8=8F?= =?UTF-8?q?=F0=9F=8F=83=E2=80=8D=E2=99=82=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ref #98 --- src/components/runners/AddRunnerModal.svelte | 25 ++++------- src/components/runners/RunnerDetail.svelte | 44 ++++++++++---------- 2 files changed, 30 insertions(+), 39 deletions(-) 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)} />
From 5ad42d6ca7a3823a265e54d9dc7835e4a3e2e89c Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 18 Mar 2021 15:47:16 +0100 Subject: [PATCH 02/11] =?UTF-8?q?Added=20select=20workaround=20for=20all?= =?UTF-8?q?=20things=20team=F0=9F=8F=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ref #98 --- src/components/teams/AddTeamModal.svelte | 14 +++------ src/components/teams/TeamDetail.svelte | 40 +++++++++++++++--------- 2 files changed, 30 insertions(+), 24 deletions(-) diff --git a/src/components/teams/AddTeamModal.svelte b/src/components/teams/AddTeamModal.svelte index 89752448..06ba6a49 100644 --- a/src/components/teams/AddTeamModal.svelte +++ b/src/components/teams/AddTeamModal.svelte @@ -35,7 +35,9 @@ $: parentGroup = undefined; $: orgs = []; RunnerOrganizationService.runnerOrganizationControllerGetAll().then((val) => { - orgs = val; + orgs = val.map((r) => { + return { label: r.name, value: r }; + }); }); function submit() { if (processed_last_submit === true) { @@ -148,24 +150,18 @@ class="block text-sm font-medium text-gray-700">{$_('organization')} getContactLabel(option)} - getOptionLabel={(option) => getContactLabel(option)} itemFilter={(label, filterText, option) => label .toLowerCase() .includes( filterText.toLowerCase() - ) || option.id.toString().startsWith(filterText.toLowerCase())} + ) || option.value.id + .toString() + .startsWith(filterText.toLowerCase())} items={contacts} showChevron={true} placeholder={$_('no-contact-selected')} noOptionsMessage={$_('no-contact-found')} - bind:selectedValue={teamdata.contact} + bind:selectedValue={contact} + on:select={(selectedValue)=> teamdata.contact = selectedValue.detail.value} on:clear={() => (teamdata.contact = null)} />
@@ -361,22 +376,17 @@ class="font-medium text-gray-700">{$_('organization')} - {#each tracks as t} - - {/each} - + getDonorLabel(option)} - getOptionLabel={(option) => getDonorLabel(option)} itemFilter={(label, filterText, option) => filterDonors(label, filterText, option)} items={current_donors} showChevron={true} placeholder={$_('search-for-donor-name-or-id')} noOptionsMessage={$_('no-donors-found')} - bind:selectedValue={editable.donor} + bind:selectedValue={donor} + on:select={(selectedValue) => (editable.donor = selectedValue.detail.value)} on:clear={() => (editable.donor = null)} />
{#if original_data.responseType == 'DISTANCEDONATION'} @@ -234,14 +242,13 @@ class="block font-medium text-gray-700">{$_('runner')} getContactLabel(option)} - getOptionLabel={(option) => getContactLabel(option)} itemFilter={(label, filterText, option) => label .toLowerCase() .includes( filterText.toLowerCase() - ) || option.id.toString().startsWith(filterText.toLowerCase())} + ) || option.value.id + .toString() + .startsWith(filterText.toLowerCase())} items={contacts} showChevron={true} placeholder={$_('no-contact-selected')} noOptionsMessage={$_('no-contact-found')} - bind:selectedValue={editable.contact} + bind:selectedValue={contact} + on:select={(selectedValue) => (editable.contact = selectedValue.detail.value)} on:clear={() => (editable.contact = null)} /> From bd3ea721c301bf6ef67ef4e1e27ca73e799e1a35 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 18 Mar 2021 16:24:59 +0100 Subject: [PATCH 08/11] Switched import modal over to svelte select ref #98 --- .../runners/ImportRunnerModal.svelte | 59 +++++++++---------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/src/components/runners/ImportRunnerModal.svelte b/src/components/runners/ImportRunnerModal.svelte index 1333134a..63088e64 100644 --- a/src/components/runners/ImportRunnerModal.svelte +++ b/src/components/runners/ImportRunnerModal.svelte @@ -11,6 +11,7 @@ RunnerOrganizationService, } from "@odit/lfk-client-js"; import { createEventDispatcher } from "svelte"; + import Select from "svelte-select"; export let opened_from; export let passed_org; export let passed_orgs; @@ -35,22 +36,18 @@ } }; })(); - let orgs = []; + let groups = []; RunnerOrganizationService.runnerOrganizationControllerGetAll().then((val) => { - orgs = val; - if(opened_from === 'OrgOverview'){ - selected_org = orgs[0].id - } - }); - let teams = []; - RunnerTeamService.runnerTeamControllerGetAll().then((val) => { - teams = val; - if (opened_from === "RunnerOverview" && teams.length>0) { - selected_org_or_team = "TEAM_" + teams[0].id; - } - if(teams.length==0 && orgs.length>0){ - selected_org_or_team = "ORG_" + orgs[0].id - } + const orgs = val.map((r) => { + return { label: r.name, value: `ORG_${r.id}` }; + }); + groups = groups.concat(orgs); + RunnerTeamService.runnerTeamControllerGetAll().then((val) => { + const teams = val.map((r) => { + return { label: `${r.parentGroup.name} > ${r.name}`, value: `TEAM_${r.id}` }; + }); + groups = groups.concat(teams); + }); }); let selected_org; $: selected_org_or_team = ""; @@ -264,21 +261,23 @@ {/if} {#if opened_from === 'RunnerOverview'}

{$_('group')}

- +