fix(web): multiple fixes for people (#9343)

fix: multiple fixes for people

Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
martin 2024-05-09 23:23:49 +02:00 committed by GitHub
parent a8abf2753e
commit 757840c2fd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 35 additions and 46 deletions

View file

@ -30,9 +30,7 @@
}>();
$: hasSelection = selectedPeople.length > 0;
$: unselectedPeople = people.filter(
(source) => !selectedPeople.some((selected) => selected.id === source.id) && source.id !== person.id,
);
$: peopleToNotShow = [...selectedPeople, person];
onMount(async () => {
const data = await getAllPeople({ withHidden: false });
@ -150,13 +148,7 @@
</div>
</div>
<PeopleList
people={unselectedPeople}
peopleCopy={unselectedPeople}
unselectedPeople={selectedPeople}
{screenHeight}
on:select={({ detail }) => onSelect(detail)}
/>
<PeopleList {people} {peopleToNotShow} {screenHeight} on:select={({ detail }) => onSelect(detail)} />
</section>
{#if isShowConfirmation}

View file

@ -6,8 +6,8 @@
export let screenHeight: number;
export let people: PersonResponseDto[];
export let peopleCopy: PersonResponseDto[];
export let unselectedPeople: PersonResponseDto[];
export let peopleToNotShow: PersonResponseDto[];
let searchedPeopleLocal: PersonResponseDto[] = [];
let name = '';
let showPeople: PersonResponseDto[];
@ -17,20 +17,15 @@
}>();
$: {
showPeople = people.filter(
(person) => !unselectedPeople.some((unselectedPerson) => unselectedPerson.id === person.id),
showPeople = name ? searchedPeopleLocal : people;
showPeople = showPeople.filter(
(person) => !peopleToNotShow.some((unselectedPerson) => unselectedPerson.id === person.id),
);
}
</script>
<div class=" w-40 sm:w-48 md:w-96 h-14 mb-8">
<SearchPeople
type="searchBar"
placeholder="Search people"
bind:searchName={name}
bind:searchedPeopleLocal={people}
onReset={() => (people = peopleCopy)}
/>
<SearchPeople type="searchBar" placeholder="Search people" bind:searchName={name} bind:searchedPeopleLocal />
</div>
<div

View file

@ -31,9 +31,7 @@
let hasSelection = false;
let screenHeight: number;
$: unselectedPeople = selectedPerson
? people.filter((person) => selectedPerson && person.id !== selectedPerson.id && personAssets.id !== person.id)
: people;
$: peopleToNotShow = selectedPerson ? [personAssets, selectedPerson] : [personAssets];
let dispatch = createEventDispatcher<{
confirm: void;
@ -178,13 +176,7 @@
</div>
</div>
{/if}
<PeopleList
people={unselectedPeople}
peopleCopy={unselectedPeople}
unselectedPeople={selectedPerson ? [selectedPerson, personAssets] : [personAssets]}
{screenHeight}
on:select={({ detail }) => handleSelectedPerson(detail)}
/>
<PeopleList {people} {peopleToNotShow} {screenHeight} on:select={({ detail }) => handleSelectedPerson(detail)} />
</section>
</section>
</section>