Skip to content

Commit ed57d58

Browse files
refactor: choices by graphql would impact all dropdowns (#2478)
--------- Co-authored-by: Antoine Hurard <antoine.reliefapps@gmail.com>
1 parent bbfbc84 commit ed57d58

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

libs/shared/src/lib/survey/global-properties/choices-by-graphql.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,10 @@ const setQuestionValue = (question: Question, choices: ItemValue[]) => {
4545
.filter((choice) => value.find((x) => isEqual(x, choice.value)))
4646
.map((choice) => choice.value);
4747
question.value = updatedValue;
48-
question._instance.value = updatedValue;
48+
// as question value may be updated before display
49+
if (question._instance) {
50+
question._instance.value = updatedValue;
51+
}
4952
}
5053
}
5154
if (question.getType() === 'dropdown') {
@@ -248,10 +251,14 @@ export const render = (questionElement: Question, http: HttpClient): void => {
248251
}
249252

250253
(questionElement.survey as SurveyModel).onValueChanged.add(() => {
251-
setQuestionValue(
252-
questionElement,
253-
questionElement.getPropertyValue('visibleChoices')
254-
);
254+
if (
255+
get(questionElement, `${prefix}Url`) &&
256+
get(questionElement, `${prefix}Query`)
257+
)
258+
setQuestionValue(
259+
questionElement,
260+
questionElement.getPropertyValue('visibleChoices')
261+
);
255262
});
256263
}
257264
};

0 commit comments

Comments
 (0)