-
-
- {{ 'addon.mod_lti.launchactivity' | translate }}
-
+
+
+
+ {{ 'addon.mod_lti.launchactivity' | translate }}
+
+
+
+
+
+
-
-
-
diff --git a/src/addons/mod/quiz/components/index/addon-mod-quiz-index.html b/src/addons/mod/quiz/components/index/addon-mod-quiz-index.html
index 5b80f4744..53daf6b16 100644
--- a/src/addons/mod/quiz/components/index/addon-mod-quiz-index.html
+++ b/src/addons/mod/quiz/components/index/addon-mod-quiz-index.html
@@ -10,7 +10,7 @@
+ [courseId]="courseId" [hasDataToSync]="buttonText && hasOffline">
@@ -134,22 +134,26 @@
-
-
-
-
-
+
+
+
+
+
{{ message }}
-
+
+
+
{{ 'addon.mod_quiz.noquestions' | translate }}
-
+
+
+
{{ 'addon.mod_quiz.errorquestionsnotsupported' | translate }}
-
+
+
+
{{ 'addon.mod_quiz.errorrulesnotsupported' | translate }}
-
+
+
+
{{ 'addon.mod_quiz.errorbehaviournotsupported' | translate }}
{{ quiz.preferredbehaviour }}
+
-
-
+
+
+
{{ 'addon.mod_quiz.canattemptbutnotsubmit' | translate }}
{{ 'addon.mod_quiz.warningquestionsnotsupported' | translate }}
{{ type }}
+
+
+
+
-
+
+
{{ buttonText | translate }}
@@ -195,17 +211,10 @@
{{ 'core.openinbrowser' | translate }}
+
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
diff --git a/src/addons/mod/quiz/components/navigation-modal/navigation-modal.html b/src/addons/mod/quiz/components/navigation-modal/navigation-modal.html
index 9899cb608..239b919fa 100644
--- a/src/addons/mod/quiz/components/navigation-modal/navigation-modal.html
+++ b/src/addons/mod/quiz/components/navigation-modal/navigation-modal.html
@@ -13,19 +13,6 @@
+
+
+
+ {{ 'addon.mod_quiz.finishattemptdots' | translate }}
+
+
diff --git a/src/addons/mod/quiz/components/navigation-modal/navigation-modal.ts b/src/addons/mod/quiz/components/navigation-modal/navigation-modal.ts
index 92c958c0a..93fb6848c 100644
--- a/src/addons/mod/quiz/components/navigation-modal/navigation-modal.ts
+++ b/src/addons/mod/quiz/components/navigation-modal/navigation-modal.ts
@@ -26,15 +26,10 @@ import { ModalController } from '@singletons';
})
export class AddonModQuizNavigationModalComponent {
- static readonly CHANGE_PAGE = 1;
- static readonly SWITCH_MODE = 2;
-
@Input() navigation?: AddonModQuizNavigationQuestion[]; // Whether the user is reviewing the attempt.
@Input() summaryShown?: boolean; // Whether summary is currently being shown.
@Input() currentPage?: number; // Current page.
@Input() isReview?: boolean; // Whether the user is reviewing the attempt.
- @Input() numPages = 0; // Num of pages for review mode.
- @Input() showAll?: boolean; // Whether to show all questions in same page or not for review mode.
/**
* Close modal.
@@ -51,21 +46,11 @@ export class AddonModQuizNavigationModalComponent {
*/
loadPage(page: number, slot?: number): void {
ModalController.dismiss({
- action: AddonModQuizNavigationModalComponent.CHANGE_PAGE,
page,
slot,
});
}
- /**
- * Switch mode in review.
- */
- switchMode(): void {
- ModalController.dismiss({
- action: AddonModQuizNavigationModalComponent.SWITCH_MODE,
- });
- }
-
}
/**
@@ -76,7 +61,6 @@ export type AddonModQuizNavigationQuestion = CoreQuestionQuestionParsed & {
};
export type AddonModQuizNavigationModalReturn = {
- action: number;
page?: number;
slot?: number;
};
diff --git a/src/addons/mod/quiz/pages/attempt/attempt.html b/src/addons/mod/quiz/pages/attempt/attempt.html
index 9454e17a9..c6a47f24d 100644
--- a/src/addons/mod/quiz/pages/attempt/attempt.html
+++ b/src/addons/mod/quiz/pages/attempt/attempt.html
@@ -53,15 +53,21 @@
-
-
- {{ 'addon.mod_quiz.review' | translate }}
-
+
{{ 'addon.mod_quiz.noreviewattempt' | translate }}
+
+
+
+
+
+ {{ 'addon.mod_quiz.review' | translate }}
+
+
+
diff --git a/src/addons/mod/quiz/pages/player/player.html b/src/addons/mod/quiz/pages/player/player.html
index b234f85ef..94d0aa3be 100644
--- a/src/addons/mod/quiz/pages/player/player.html
+++ b/src/addons/mod/quiz/pages/player/player.html
@@ -28,32 +28,10 @@
-
- = 0" (click)="changePage(previousPage)"
- [attr.aria-label]="'core.previous' | translate">
-
-
- = -1" (click)="changePage(nextPage)" [attr.aria-label]="'core.next' | translate">
-
-
-
-
-
-
-
- = 0" (click)="changePage(previousPage)"
- [attr.aria-label]="'core.previous' | translate">
-
-
- = -1" (click)="changePage(nextPage)" [attr.aria-label]="'core.next' | translate">
-
-
-
-
-
+
{{ 'addon.mod_quiz.startattempt' | translate }}
@@ -89,22 +67,23 @@
-
-
- = 0">
-
-
- {{ 'core.previous' | translate }}
-
-
- = -1">
-
- {{ 'core.next' | translate }}
-
-
-
-
-
+
+ = 0">
+
+
+ {{ 'core.previous' | translate }}
+
+
+ = -1">
+ 0">
+ {{ 'core.next' | translate }}
+
+
+
+ {{ 'core.submit' | translate }}
+
+
+
@@ -141,11 +120,6 @@
-
-
- {{ 'addon.mod_quiz.returnattempt' | translate }}
-
-
{{ dueDateWarning }}
@@ -162,17 +136,6 @@
{{message}}
-
-
- {{ 'core.openinbrowser' | translate }}
-
-
-
-
-
- {{ 'addon.mod_quiz.submitallandfinish' | translate }}
-
@@ -180,10 +143,25 @@
{{ 'addon.mod_quiz.errorparsequestions' | translate }}
-
+
+ {{ 'addon.mod_quiz.returnattempt' | translate }}
+
+
+
+
+
{{ 'core.openinbrowser' | translate }}
-
+
+
+
+ {{ 'addon.mod_quiz.submitallandfinish' | translate }}
+
+
diff --git a/src/addons/mod/quiz/pages/player/player.page.ts b/src/addons/mod/quiz/pages/player/player.page.ts
index 16e1a22de..d022c6d5e 100644
--- a/src/addons/mod/quiz/pages/player/player.page.ts
+++ b/src/addons/mod/quiz/pages/player/player.page.ts
@@ -602,9 +602,11 @@ export class AddonModQuizPlayerPage implements OnInit, OnDestroy, CanLeave {
},
});
- if (modalData && modalData.action == AddonModQuizNavigationModalComponent.CHANGE_PAGE) {
- this.changePage(modalData.page!, true, modalData.slot);
+ if (!modalData) {
+ return;
}
+
+ this.changePage(modalData.page!, true, modalData.slot);
}
/**
diff --git a/src/addons/mod/quiz/pages/review/review.html b/src/addons/mod/quiz/pages/review/review.html
index a83b93d8d..38286d18a 100644
--- a/src/addons/mod/quiz/pages/review/review.html
+++ b/src/addons/mod/quiz/pages/review/review.html
@@ -87,8 +87,6 @@
-
-
@@ -113,28 +111,30 @@
+
-
-
+
1" slot="fixed">
+
+
+
+
+
+
+
+
+ 1" (click)="switchMode()" fill="outline">
+ {{ 'addon.mod_quiz.showall' | translate }}
+ {{ 'addon.mod_quiz.showeachpage' | translate }}
+
+
+
+ = numPages" fill="clear" color="dark" [attr.aria-label]="'core.next' | translate"
+ (click)="changePage(nextPage)">
+
+
+
+
-
-
-
-
-
-
- = 0" (click)="changePage(previousPage)"
- [title]="'core.previous' | translate">
-
-
-
-
- = -1" (click)="changePage(nextPage)" [attr.aria-label]="'core.next' | translate">
-
-
-
-
-
-
diff --git a/src/addons/mod/quiz/pages/review/review.page.ts b/src/addons/mod/quiz/pages/review/review.page.ts
index 07fb1c5cd..04b7bb7a7 100644
--- a/src/addons/mod/quiz/pages/review/review.page.ts
+++ b/src/addons/mod/quiz/pages/review/review.page.ts
@@ -53,7 +53,7 @@ export class AddonModQuizReviewPage implements OnInit {
attempt?: AddonModQuizAttemptWSData; // The attempt being reviewed.
component = AddonModQuizProvider.COMPONENT; // Component to link the files to.
showAll = false; // Whether to view all questions in the same page.
- numPages?: number; // Number of pages.
+ numPages = 1; // Number of pages.
showCompleted = false; // Whether to show completed time.
additionalData?: AddonModQuizWSAdditionalData[]; // Additional data to display for the attempt.
loaded = false; // Whether data has been loaded.
@@ -112,10 +112,9 @@ export class AddonModQuizReviewPage implements OnInit {
* Change the current page. If slot is supplied, try to scroll to that question.
*
* @param page Page to load. -1 means all questions in same page.
- * @param fromModal Whether the page was selected using the navigation modal.
* @param slot Slot of the question to scroll to.
*/
- async changePage(page: number, fromModal?: boolean, slot?: number): Promise
{
+ async changePage(page: number, slot?: number): Promise {
if (slot !== undefined && (this.attempt!.currentpage == -1 || page == this.currentPage)) {
// Scrol to a certain question in the current page.
this.scrollToQuestion(slot);
@@ -183,7 +182,7 @@ export class AddonModQuizReviewPage implements OnInit {
this.setSummaryCalculatedData(data);
this.questions = data.questions;
- this.nextPage = page == -1 ? -2 : page + 1;
+ this.nextPage = page + 1;
this.previousPage = page - 1;
this.questions.forEach((question) => {
@@ -341,8 +340,6 @@ export class AddonModQuizReviewPage implements OnInit {
summaryShown: false,
currentPage: this.attempt?.currentpage,
isReview: true,
- numPages: this.numPages,
- showAll: this.showAll,
},
});
@@ -350,11 +347,7 @@ export class AddonModQuizReviewPage implements OnInit {
return;
}
- if (modalData.action == AddonModQuizNavigationModalComponent.CHANGE_PAGE) {
- this.changePage(modalData.page!, true, modalData.slot);
- } else if (modalData.action == AddonModQuizNavigationModalComponent.SWITCH_MODE) {
- this.switchMode();
- }
+ this.changePage(modalData.page!, modalData.slot);
}
}
diff --git a/src/addons/mod/resource/components/index/addon-mod-resource-index.html b/src/addons/mod/resource/components/index/addon-mod-resource-index.html
index 0fd7713b7..cf24bdd04 100644
--- a/src/addons/mod/resource/components/index/addon-mod-resource-index.html
+++ b/src/addons/mod/resource/components/index/addon-mod-resource-index.html
@@ -6,7 +6,7 @@
-
+
+
+
-
+
+
+
{{ 'core.play' | translate }}
@@ -88,15 +92,13 @@
-
+
{{ 'core.openwith' | translate }}
-
-
+
+
+
+
-
-
-
diff --git a/src/addons/mod/scorm/components/index/addon-mod-scorm-index.html b/src/addons/mod/scorm/components/index/addon-mod-scorm-index.html
index 49c22490a..953256c40 100644
--- a/src/addons/mod/scorm/components/index/addon-mod-scorm-index.html
+++ b/src/addons/mod/scorm/components/index/addon-mod-scorm-index.html
@@ -21,7 +21,7 @@
-
+
@@ -31,7 +31,7 @@
= 0">
- {{ 'addon.mod_scorm.noattemptsallowed' | translate }}
+ {{ 'addon.mod_scorm.noattemptsallowed' | translate }}
{{ 'core.unlimited' | translate }}
@@ -40,23 +40,34 @@
= 0">
- {{ 'addon.mod_scorm.noattemptsmade' | translate }}
+ {{ 'addon.mod_scorm.noattemptsmade' | translate }}
{{ numAttempts }}
-
+ 0" button class="divider ion-text-wrap" (click)="toggleGrades()"
+ [attr.aria-label]="(gradesExpanded ? 'core.collapse' : 'core.expand') | translate" detail="false">
+
+
- {{ 'addon.mod_scorm.gradeforattempt' | translate }} {{attempt.num}}
+ {{'core.grades.grades' | translate}}
-
- {{ attempt.gradeFormatted }}
- {{ 'addon.mod_scorm.cannotcalculategrade' | translate }}
-
+ 0">
+
+
+ {{ 'addon.mod_scorm.gradeforattempt' | translate }} {{attempt.num}}
+
+
+ {{ attempt.gradeFormatted }}
+ {{ 'addon.mod_scorm.cannotcalculategrade' | translate }}
+
+
+
- {{ 'addon.mod_scorm.gradeforattempt' | translate }} {{attempt.num}}
+ {{ 'addon.mod_scorm.gradeforattempt' | translate }} {{attempt.num}}
{{ 'addon.mod_scorm.offlineattemptnote' | translate }}
@@ -71,13 +82,13 @@
- {{ 'addon.mod_scorm.grademethod' | translate }}
+ {{ 'addon.mod_scorm.grademethod' | translate }}
{{ gradeMethodReadable }}
- {{ 'addon.mod_scorm.gradereported' | translate }}
+ {{ 'addon.mod_scorm.gradereported' | translate }}
{{ gradeFormatted }}
@@ -86,7 +97,7 @@
- {{ 'core.lastsync' | translate }}
+ {{ 'core.lastsync' | translate }}
{{ syncTime }}
@@ -144,32 +155,34 @@
+
-
-
-
-
- {{ errorMessage | translate }}
-
-
-
- {{ 'core.openinbrowser' | translate }}
-
-
-
+
+
+
+
+
+
+ {{ errorMessage | translate }}
+
+
+
+ {{ 'core.openinbrowser' | translate }}
+
+
+
-
-
-
-
- {{ 'addon.mod_scorm.exceededmaxattempts' | translate }}
-
-
-
+
+
+
+
+ {{ 'addon.mod_scorm.exceededmaxattempts' | translate }}
+
+
+
-
-
0)">
-
+ 0)">
+
0 && !incomplete && attemptsLeft > 0">
@@ -178,29 +191,23 @@
-
-
+
+
{{ statusMessage | translate }}
-
-
-
-
-
- {{ 'addon.mod_scorm.browse' | translate }}
-
-
-
-
-
- {{ 'addon.mod_scorm.enter' | translate }}
-
-
-
-
-
+
+
+
+
+ {{ 'addon.mod_scorm.browse' | translate }}
+
+
+ {{ 'addon.mod_scorm.enter' | translate }}
+
+
@@ -212,11 +219,9 @@
-
-
-
+
+
+
+
+
-
-
-
diff --git a/src/addons/mod/scorm/components/index/index.ts b/src/addons/mod/scorm/components/index/index.ts
index 88dd7b2c8..fcfa22b41 100644
--- a/src/addons/mod/scorm/components/index/index.ts
+++ b/src/addons/mod/scorm/components/index/index.ts
@@ -81,6 +81,7 @@ export class AddonModScormIndexComponent extends CoreCourseModuleMainActivityCom
attemptsLeft = -1; // Number of attempts left.
onlineAttempts: AttemptGrade[] = []; // Grades for online attempts.
offlineAttempts: AttemptGrade[] = []; // Grades for offline attempts.
+ gradesExpanded = false;
protected fetchContentDefaultError = 'addon.mod_scorm.errorgetscorm'; // Default error to show when loading contents.
protected syncEventName = AddonModScormSyncProvider.AUTO_SYNCED;
@@ -523,6 +524,13 @@ export class AddonModScormIndexComponent extends CoreCourseModuleMainActivityCom
}
}
+ /**
+ * Toggle list of grades.
+ */
+ toggleGrades(): void {
+ this.gradesExpanded = !this.gradesExpanded;
+ }
+
/**
* Open a SCORM package.
*
diff --git a/src/addons/mod/survey/components/index/addon-mod-survey-index.html b/src/addons/mod/survey/components/index/addon-mod-survey-index.html
index 6fd4d8906..431d04f34 100644
--- a/src/addons/mod/survey/components/index/addon-mod-survey-index.html
+++ b/src/addons/mod/survey/components/index/addon-mod-survey-index.html
@@ -21,10 +21,6 @@
{{ 'addon.mod_survey.surveycompletednograph' | translate }}
-
-
- {{ 'addon.mod_survey.results' | translate }}
-
@@ -119,18 +115,22 @@
-
-
-
-
- {{ 'core.submit' | translate }}
-
-
-
-
+
+
+
+ {{ 'addon.mod_survey.results' | translate }}
+
+
-
-
+
+ {{ 'core.submit' | translate }}
+
+
+
+
+
+
+
diff --git a/src/addons/mod/url/components/index/addon-mod-url-index.html b/src/addons/mod/url/components/index/addon-mod-url-index.html
index 9bd9966eb..734fbbe7e 100644
--- a/src/addons/mod/url/components/index/addon-mod-url-index.html
+++ b/src/addons/mod/url/components/index/addon-mod-url-index.html
@@ -35,17 +35,16 @@
{{ url }}
-
-
-
-
- {{ 'addon.mod_url.accessurl' | translate }}
-
-
-
-
-
-
+
+
+
+
+ {{ 'addon.mod_url.accessurl' | translate }}
+
+
+
+
+
+
diff --git a/src/addons/mod/workshop/components/index/addon-mod-workshop-index.html b/src/addons/mod/workshop/components/index/addon-mod-workshop-index.html
index adc5c72e4..7ce927fb2 100644
--- a/src/addons/mod/workshop/components/index/addon-mod-workshop-index.html
+++ b/src/addons/mod/workshop/components/index/addon-mod-workshop-index.html
@@ -117,20 +117,6 @@
-
-
-
-
-
-
- {{ 'addon.mod_workshop.createsubmission' | translate }}
-
-
-
- {{ 'addon.mod_workshop.editsubmission' | translate }}
-
-
-
@@ -231,8 +217,25 @@
-