Skip to content

Commit 3aacfc7

Browse files
committed
Initialize selected answers with all concept answers
1 parent 3e78e20 commit 3aacfc7

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/components/interactive-builder/modals/question/question-form/rendering-types/inputs/select/select-answers.component.tsx

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,31 @@ const SelectAnswers: React.FC = () => {
1919
const [addedAnswers, setAddedAnswers] = useState<AnswerItem[]>([]);
2020
const [invalidAnswerIds, setInvalidAnswerIds] = useState<string[]>([]);
2121

22+
// Reset the additionally selected answers when the concept changes
2223
useEffect(() => {
2324
if (!concept) {
2425
setAddedAnswers([]);
2526
}
2627
}, [concept]);
2728

29+
// Initialize the selected answers to be the concept's answers
30+
useEffect(() => {
31+
if (concept?.answers?.length && !formField.questionOptions?.answers?.length) {
32+
const initialAnswers = concept.answers.map((answer) => ({
33+
concept: answer.uuid,
34+
label: answer.display,
35+
}));
36+
37+
setFormField((prevField) => ({
38+
...prevField,
39+
questionOptions: {
40+
...prevField.questionOptions,
41+
answers: initialAnswers,
42+
},
43+
}));
44+
}
45+
}, [concept, formField.questionOptions?.answers, setFormField]);
46+
2847
const selectedAnswers = useMemo(() => {
2948
const answers =
3049
formField.questionOptions?.answers?.map((answer) => ({

0 commit comments

Comments
 (0)