computeDisplayable method
used to filter out only the displayable question among all questions
Implementation
void computeDisplayable(QuizModel quiz) {
int internalCount = 0;
int conditionalHiddenCount = 0;
var displayables = <QuizQuestionModel>[];
for (var question in allQuestions) {
if (question.internal == true) {
internalCount++;
continue;
}
if (!quiz.getDisplayCondition(question.displayCondition)) {
conditionalHiddenCount++;
continue;
}
displayables.add(question);
}
_displayableQuestions = List.of(displayables);
bool isCurrentStep = stepKey == quiz.currentDisplayedStep.stepKey;
// ignore: dead_code
if (kDebugMode && isCurrentStep && false) {
debugPrint('Step ${quiz.getCurrentStepIndex()} (key: $stepKey) : ');
debugPrint(' 🔹 ${allQuestions.length} questions including :');
debugPrint(' 🔸 ${displayables.length} displayables');
debugPrint(' 🔸 $conditionalHiddenCount conditionals');
debugPrint(' 🔸 $internalCount internals');
debugPrint('----------------------------------------------------------------------');
}
}