diff --git a/web/src/lib/components/ui/constraintSignature/constraint-signature.svelte b/web/src/lib/components/ui/constraintSignature/constraint-signature.svelte index c1bed93c1..9d876f861 100644 --- a/web/src/lib/components/ui/constraintSignature/constraint-signature.svelte +++ b/web/src/lib/components/ui/constraintSignature/constraint-signature.svelte @@ -36,47 +36,47 @@ switch (parameterType) { case ParameterType.Grade: { const { content } = value ? await getGrades(page, { name: value }) : { content: grades }; - data[name] = content?.map((grade) => ({ value: grade.name ?? '', label: grade.name ?? '' })) || []; + data[name] = content?.map((grade) => ({ value: grade.id, label: grade.name ?? '' })) || []; break; } case ParameterType.Subject: { const { content } = value ? await getSubjects(page, { name: value }) : { content: subjects }; - data[name] = content?.map((subject) => ({ value: subject.name, label: subject.name })) || []; + data[name] = content?.map((subject) => ({ value: subject.id, label: subject.name })) || []; break; } case ParameterType.Room: { const { content } = await getRooms(page, { name: value }); data[name] = content?.map((room) => ({ - value: `${room.buildingName}: ${room.name}`, + value: room.id, label: `${room.buildingName}: ${room.name}`, })) || []; break; } case ParameterType.StudentGroup: { const { content } = await getStudentGroups(page, { name: value }); - data[name] = content?.map((studentGroup) => ({ value: studentGroup.name, label: studentGroup.name })) || []; + data[name] = content?.map((studentGroup) => ({ value: studentGroup.id, label: studentGroup.name })) || []; break; } case ParameterType.Student: { const { content } = await getStudents(page, { firstName: value }); data[name] = content?.map((student) => ({ - value: `${student.firstName} ${student.lastName}`, + value: student.id, label: `${student.firstName} ${student.lastName}`, })) || []; break; } case ParameterType.Tag: { const { content } = await getTags(page, { name: value }); - data[name] = content?.map((tag) => ({ value: tag.name, label: tag.name })) || []; + data[name] = content?.map((tag) => ({ value: tag.id, label: tag.name })) || []; break; } case ParameterType.Teacher: { const { content } = value ? await getTeachers(page, { firstName: value }) : { content: teachers }; data[name] = content?.map((teacher) => ({ - value: `${teacher.firstName} ${teacher.lastName}`, + value: teacher.id, label: `${teacher.firstName} ${teacher.lastName}`, })) || []; break; @@ -85,7 +85,7 @@ const { content } = await getTimeslots(page); data[name] = content?.map((timeslot) => ({ - value: `${timeslot.day}: ${timeslot.slot}`, + value: timeslot.id, label: `${timeslot.day}: ${timeslot.slot}`, })) || []; break; @@ -110,8 +110,8 @@

{constraintSignature.description}

- {#await initData()} - {#each constraintSignature.parameters as parameter} + {#await initData() then} + {#each constraintSignature.parameters as parameter (parameter.id)}

{parameter.parameterName}

{console.log(parameter.parameterName)} diff --git a/web/src/lib/elements/ui/combo-box/combo-box.svelte b/web/src/lib/elements/ui/combo-box/combo-box.svelte index 74532efe2..ecdf9ce19 100644 --- a/web/src/lib/elements/ui/combo-box/combo-box.svelte +++ b/web/src/lib/elements/ui/combo-box/combo-box.svelte @@ -19,7 +19,7 @@ let selectedValue = ''; let lastSearchedValued: string; - export let onSearch = (string: string) => {}; + export let onSearch: (string: string) => void; $: { selectedValue = 'Select a framework...'; @@ -36,9 +36,9 @@ // We want to refocus the trigger button when the user selects // an item from the list so users can continue navigating the // rest of the form with the keyboard. - function closeAndFocusTrigger(triggerId: string) { + async function closeAndFocusTrigger(triggerId: string) { open = false; - tick().then(() => { + await tick().then(() => { document.getElementById(triggerId)?.focus(); }); } @@ -59,19 +59,19 @@ - + No framework found. - {#each data as framework} + {#each data as resource} { + value={resource.value} + onSelect={async (currentValue) => { value = currentValue; - closeAndFocusTrigger(ids.trigger); + await closeAndFocusTrigger(ids.trigger); }} > - - {framework.label} + + {resource.label} {/each}