protected function QuizViewBuilder::buildStatsComponent in Quiz 6.x
1 call to QuizViewBuilder::buildStatsComponent()
- QuizViewBuilder::buildComponents in src/
View/ QuizViewBuilder.php - Builds the component fields and properties of a set of entities.
File
- src/
View/ QuizViewBuilder.php, line 32
Class
Namespace
Drupal\quiz\ViewCode
protected function buildStatsComponent(Quiz $quiz) : array {
$stats = [
[
[
'header' => TRUE,
'width' => '25%',
'data' => $this
->t('Questions'),
],
$quiz
->getNumberOfQuestions(),
],
];
if ($quiz
->get('show_attempt_stats')->value) {
$takes = $quiz
->get('takes')->value == 0 ? $this
->t('Unlimited') : $quiz
->get('takes')->value;
$stats[] = [
[
'header' => TRUE,
'data' => $this
->t('Attempts allowed'),
],
$takes,
];
}
if ($quiz
->get('quiz_date')
->isEmpty()) {
$stats[] = [
[
'header' => TRUE,
'data' => $this
->t('Available'),
],
$this
->t('Always'),
];
}
else {
$stats[] = [
[
'header' => TRUE,
'data' => $this
->t('Opens'),
],
$quiz
->get('quiz_date')->value,
];
$stats[] = [
[
'header' => TRUE,
'data' => $this
->t('Closes'),
],
$quiz
->get('quiz_date')->end_value,
];
}
if (!$quiz
->get('pass_rate')
->isEmpty()) {
$stats[] = [
[
'header' => TRUE,
'data' => $this
->t('Pass rate'),
],
$quiz
->get('pass_rate')->value . ' %',
];
}
if (!$quiz
->get('time_limit')
->isEmpty()) {
$stats[] = [
[
'header' => TRUE,
'data' => $this
->t('Time limit'),
],
_quiz_format_duration($quiz
->get('time_limit')->value),
];
}
$stats[] = [
[
'header' => TRUE,
'data' => $this
->t('Backwards navigation'),
],
$quiz
->get('backwards_navigation') ? $this
->t('Allowed') : $this
->t('Forbidden'),
];
return [
'#id' => 'quiz-view-table',
'#theme' => 'table__quiz_stats',
'#rows' => $stats,
];
}