2021-02-18 15:17:54 +01:00
|
|
|
<ion-header>
|
|
|
|
<ion-toolbar>
|
|
|
|
<ion-buttons slot="start">
|
2021-04-27 15:21:09 +02:00
|
|
|
<ion-back-button [text]="'core.back' | translate"></ion-back-button>
|
2021-02-18 15:17:54 +01:00
|
|
|
</ion-buttons>
|
2021-11-23 15:06:01 +01:00
|
|
|
<ion-title>
|
|
|
|
<h1>
|
|
|
|
<core-format-text *ngIf="quiz" [text]="quiz.name" contextLevel="module" [contextInstanceId]="quiz.coursemodule"
|
|
|
|
[courseId]="courseId">
|
|
|
|
</core-format-text>
|
|
|
|
</h1>
|
|
|
|
</ion-title>
|
2021-02-18 15:17:54 +01:00
|
|
|
</ion-toolbar>
|
|
|
|
</ion-header>
|
2022-03-25 10:16:12 +01:00
|
|
|
<ion-content class="limited-width">
|
2021-02-18 15:17:54 +01:00
|
|
|
<ion-refresher slot="fixed" [disabled]="!loaded" (ionRefresh)="doRefresh($event.target)">
|
|
|
|
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
|
|
|
|
</ion-refresher>
|
2022-03-25 10:16:12 +01:00
|
|
|
<core-loading [hideUntil]="loaded">
|
2022-02-09 22:29:21 +01:00
|
|
|
<ion-list *ngIf="attempt">
|
2021-02-18 15:17:54 +01:00
|
|
|
<ion-item class="ion-text-wrap">
|
|
|
|
<ion-label>
|
2023-02-13 12:09:10 +01:00
|
|
|
<p class="item-heading">{{ 'addon.mod_quiz.attemptnumber' | translate }}</p>
|
2021-02-18 15:17:54 +01:00
|
|
|
<p *ngIf="attempt.preview">{{ 'addon.mod_quiz.preview' | translate }}</p>
|
|
|
|
<p *ngIf="!attempt.preview">{{ attempt.attempt }}</p>
|
|
|
|
</ion-label>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item class="ion-text-wrap">
|
|
|
|
<ion-label>
|
2023-02-13 12:09:10 +01:00
|
|
|
<p class="item-heading">{{ 'addon.mod_quiz.attemptstate' | translate }}</p>
|
2021-02-18 15:17:54 +01:00
|
|
|
<p *ngFor="let sentence of attempt.readableState">{{ sentence }}</p>
|
|
|
|
</ion-label>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item class="ion-text-wrap" *ngIf="quiz!.showMarkColumn && attempt.readableMark !== ''">
|
|
|
|
<ion-label>
|
2023-02-13 12:09:10 +01:00
|
|
|
<p class="item-heading">{{ 'addon.mod_quiz.marks' | translate }} / {{ quiz!.sumGradesFormatted }}</p>
|
2021-02-18 15:17:54 +01:00
|
|
|
<p>{{ attempt.readableMark }}</p>
|
|
|
|
</ion-label>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item class="ion-text-wrap" *ngIf="quiz!.showGradeColumn && attempt.readableGrade !== ''">
|
|
|
|
<ion-label>
|
2023-02-13 12:09:10 +01:00
|
|
|
<p class="item-heading">{{ 'addon.mod_quiz.grade' | translate }} / {{ quiz!.gradeFormatted }}</p>
|
2021-02-18 15:17:54 +01:00
|
|
|
<p>{{ attempt.readableGrade }}</p>
|
|
|
|
</ion-label>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item class="ion-text-wrap" *ngIf="quiz!.showFeedbackColumn && feedback">
|
|
|
|
<ion-label>
|
2023-02-13 12:09:10 +01:00
|
|
|
<p class="item-heading">{{ 'addon.mod_quiz.feedback' | translate }}</p>
|
2021-02-18 15:17:54 +01:00
|
|
|
<p>
|
2021-11-23 15:06:01 +01:00
|
|
|
<core-format-text [component]="component" [componentId]="componentId" [text]="feedback" contextLevel="module"
|
|
|
|
[contextInstanceId]="cmId" [courseId]="courseId">
|
2021-02-18 15:17:54 +01:00
|
|
|
</core-format-text>
|
|
|
|
</p>
|
|
|
|
</ion-label>
|
|
|
|
</ion-item>
|
2022-02-25 12:31:30 +01:00
|
|
|
|
2021-02-18 15:17:54 +01:00
|
|
|
<ion-item class="ion-text-wrap core-danger-item" *ngIf="!showReviewColumn">
|
|
|
|
<ion-label>
|
|
|
|
<p>{{ 'addon.mod_quiz.noreviewattempt' | translate }}</p>
|
|
|
|
</ion-label>
|
|
|
|
</ion-item>
|
|
|
|
</ion-list>
|
2022-02-25 12:31:30 +01:00
|
|
|
|
2022-03-09 10:10:11 +01:00
|
|
|
<div collapsible-footer appearOnBottom *ngIf="loaded && attempt && showReviewColumn && attempt.finished" slot="fixed">
|
2022-02-25 12:31:30 +01:00
|
|
|
<div class="list-item-limited-width">
|
|
|
|
<ion-button class="ion-margin ion-text-wrap" expand="block" (click)="reviewAttempt()">
|
2023-03-14 14:08:09 +01:00
|
|
|
<ion-icon name="fas-magnifying-glass" slot="start" aria-hidden="true"></ion-icon>
|
2022-02-25 12:31:30 +01:00
|
|
|
{{ 'addon.mod_quiz.review' | translate }}
|
|
|
|
</ion-button>
|
|
|
|
</div>
|
|
|
|
</div>
|
2021-02-18 15:17:54 +01:00
|
|
|
</core-loading>
|
|
|
|
</ion-content>
|