diff --git a/src/core/features/courses/services/courses.ts b/src/core/features/courses/services/courses.ts
index b0a2df9d0..1af2c4d65 100644
--- a/src/core/features/courses/services/courses.ts
+++ b/src/core/features/courses/services/courses.ts
@@ -558,8 +558,8 @@ export class CoreCoursesProvider {
/**
* Get courses matching the given custom field. Only works in online.
*
- * @param customFieldName Custom field name.
- * @param customFieldValue Custom field value.
+ * @param customFieldName Custom field name.
+ * @param customFieldValue Custom field value.
* @param siteId Site ID. If not defined, current site.
* @return Promise resolved with the list of courses.
* @since 3.8
@@ -1308,7 +1308,7 @@ export type CoreCourseSearchedData = CoreCourseBasicSearchedData & {
legacyfiles?: number; // If legacy files are enabled.
calendartype?: string; // Calendar type.
timecreated?: number; // Time when the course was created.
- timemodified?: number; // Last time the course was updated.
+ timemodified?: number; // Last time the course was updated.
requested?: number; // If is a requested course.
cacherev?: number; // Cache revision number.
filters?: { // Course filters.
@@ -1364,7 +1364,7 @@ export type CoreCourseCustomField = {
/**
* Additional options for particular course format.
*/
-export type CoreCourseFormatOption = {
+export type CoreCourseFormatOption = {
name: string; // Course format option name.
value: string; // Course format option value.
};
diff --git a/src/core/features/courses/services/handlers/course-link.ts b/src/core/features/courses/services/handlers/course-link.ts
index 692ec547b..9498eb7c2 100644
--- a/src/core/features/courses/services/handlers/course-link.ts
+++ b/src/core/features/courses/services/handlers/course-link.ts
@@ -204,7 +204,7 @@ export class CoreCoursesCourseLinkHandlerService extends CoreContentLinksHandler
// Can't self enrol. Check if the user can view the course contents (guest access or similar).
try {
await CoreCourse.getSections(courseId, false, true);
- } catch {
+ } catch {
// Error. Show error message and allow the user to open the link in browser.
modal.dismiss();
diff --git a/src/core/features/emulator/services/geolocation.ts b/src/core/features/emulator/services/geolocation.ts
index 12b1b334a..bd88b52fa 100644
--- a/src/core/features/emulator/services/geolocation.ts
+++ b/src/core/features/emulator/services/geolocation.ts
@@ -38,7 +38,7 @@ export class GeolocationMock extends Geolocation {
}
/**
- * Watch the current device's position. Clear the watch by unsubscribing from
+ * Watch the current device's position. Clear the watch by unsubscribing from
* Observable changes.
*
* @param options The geolocation options.
diff --git a/src/core/features/grades/pages/course/course.scss b/src/core/features/grades/pages/course/course.scss
index 308fbe906..601e79771 100644
--- a/src/core/features/grades/pages/course/course.scss
+++ b/src/core/features/grades/pages/course/course.scss
@@ -1,7 +1,18 @@
@import "~theme/globals";
-// @todo darkmode
-// @todo RTL layout
+:host {
+ --header-background: var(--white);
+ --odd-cell-background: var(--gray-lighter);
+ --even-cell-background: var(--white);
+ --icon-color: #999999;
+}
+
+:host-context(body.dark) {
+ --header-background: var(--black);
+ --odd-cell-background: var(--gray-darker);
+ --even-cell-background: var(--black);
+ --icon-color: #eeeeee;
+}
:host-context(ion-app.md) {
--border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, .13))));
@@ -18,16 +29,12 @@
font-size: 16px;
color: var(--ion-text-color);
- // @include darkmode() {
- // color: $core-dark-text-color;
- // }
-
tr {
border-bottom: 1px solid var(--border-color);
}
th, td {
- padding: 10px 0 10px 10px;
+ @include padding(10px, 10px, 10px, null);
vertical-align: top;
white-space: normal;
text-align: start;
@@ -36,11 +43,7 @@
thead th {
vertical-align: bottom;
font-weight: bold;
- background-color: var(--white);
-
- // @include darkmode() {
- // background-color: $black;
- // }
+ background-color: var(--header-background);
}
tbody th {
@@ -48,15 +51,15 @@
}
#gradeitem {
- padding-left: 5px;
+ @include padding(null, null, null, 5px);
}
.core-grades-table-gradeitem {
- padding-left: 5px;
+ @include padding(null, null, null, 5px);
font-weight: bold;
&.column-itemname {
- padding-left: 0;
+ @include padding(null, null, null, 0);
}
img {
@@ -65,17 +68,17 @@
}
ion-icon {
- color: #999999;
+ color: var(--icon-color);
}
span {
- margin-left: 5px;
+ @include margin(null, null, null, 5px);
}
}
.core-grades-table-feedback {
- padding-left: 5px;
+ @include padding(null, null, null, 5px);
.no-overflow {
overflow: auto;
@@ -89,27 +92,16 @@
}
.odd {
-
td, th, th[aria-current="page"] {
- background-color: var(--gray-lighter);
-
- // @include darkmode() {
- // background-color: $gray-darker;
- // }
+ background-color: var(--odd-cell-background);
}
}
.even {
-
td, th, th[aria-current="page"] {
- background-color: var(--white);
-
- // @include darkmode() {
- // background-color: $black;
- // }
+ background-color: var(--even-cell-background);
}
-
}
.core-grades-grade-clickable {
diff --git a/src/core/features/grades/pages/courses/courses.page.ts b/src/core/features/grades/pages/courses/courses.page.ts
index 7adb536a7..bd6a4c51d 100644
--- a/src/core/features/grades/pages/courses/courses.page.ts
+++ b/src/core/features/grades/pages/courses/courses.page.ts
@@ -103,7 +103,7 @@ class CoreGradesCoursesManager extends CorePageItemsListManager
{
+ protected async logActivity(): Promise {
await CoreGrades.logCoursesGradesView();
}
diff --git a/src/core/features/grades/services/grades-helper.ts b/src/core/features/grades/services/grades-helper.ts
index 4f45ee75d..602855a8e 100644
--- a/src/core/features/grades/services/grades-helper.ts
+++ b/src/core/features/grades/services/grades-helper.ts
@@ -567,15 +567,15 @@ export class CoreGradesHelperProvider {
row.itemtype = 'agg_sum';
row.image = 'assets/img/grades/agg_sum.png';
row.iconAlt = Translate.instant('core.grades.aggregatesum');
- } else if (text.indexOf('/outcomes') > -1 || text.indexOf('fa-tasks') > -1) {
+ } else if (text.indexOf('/outcomes') > -1 || text.indexOf('fa-tasks') > -1) {
row.itemtype = 'outcome';
row.icon = 'fas-chart-pie';
row.iconAlt = Translate.instant('core.grades.outcome');
- } else if (text.indexOf('i/folder') > -1 || text.indexOf('fa-folder') > -1) {
+ } else if (text.indexOf('i/folder') > -1 || text.indexOf('fa-folder') > -1) {
row.itemtype = 'category';
row.icon = 'fas-cubes';
row.iconAlt = Translate.instant('core.grades.category');
- } else if (text.indexOf('/manual_item') > -1 || text.indexOf('fa-square-o') > -1) {
+ } else if (text.indexOf('/manual_item') > -1 || text.indexOf('fa-square-o') > -1) {
row.itemtype = 'manual';
row.icon = 'far-square';
row.iconAlt = Translate.instant('core.grades.manualitem');
diff --git a/src/core/features/grades/services/grades.ts b/src/core/features/grades/services/grades.ts
index 42551d176..ad28b605e 100644
--- a/src/core/features/grades/services/grades.ts
+++ b/src/core/features/grades/services/grades.ts
@@ -307,7 +307,7 @@ export class CoreGradesProvider {
*
* @param siteId Site ID. If not defined, current site.
* @return Resolve with true if plugin is enabled, false otherwise.
- * @since Moodle 3.2
+ * @since Moodle 3.2
*/
async isCourseGradesEnabled(siteId?: string): Promise {
const site = await CoreSites.getSite(siteId);
@@ -344,7 +344,7 @@ export class CoreGradesProvider {
*
* @param siteId Site ID. If not defined, current site.
* @return True if ws is available, false otherwise.
- * @since Moodle 3.2
+ * @since Moodle 3.2
*/
async isGradeItemsAvailable(siteId?: string): Promise {
const site = await CoreSites.getSite(siteId);
diff --git a/src/core/features/h5p/classes/content-validator.ts b/src/core/features/h5p/classes/content-validator.ts
index 0b5598d16..fb3468d5c 100644
--- a/src/core/features/h5p/classes/content-validator.ts
+++ b/src/core/features/h5p/classes/content-validator.ts
@@ -27,17 +27,17 @@ const ALLOWED_STYLEABLE_TAGS = ['span', 'p', 'div', 'h1', 'h2', 'h3', 'td'];
export class CoreH5PContentValidator {
protected typeMap = {
- text: 'validateText',
- number: 'validateNumber', // eslint-disable-line id-blacklist
- boolean: 'validateBoolean', // eslint-disable-line id-blacklist
- list: 'validateList',
- group: 'validateGroup',
- file: 'validateFile',
- image: 'validateImage',
- video: 'validateVideo',
- audio: 'validateAudio',
- select: 'validateSelect',
- library: 'validateLibrary',
+ text: 'validateText',
+ number: 'validateNumber', // eslint-disable-line id-blacklist
+ boolean: 'validateBoolean', // eslint-disable-line id-blacklist
+ list: 'validateList',
+ group: 'validateGroup',
+ file: 'validateFile',
+ image: 'validateImage',
+ video: 'validateVideo',
+ audio: 'validateAudio',
+ select: 'validateSelect',
+ library: 'validateLibrary',
};
protected nextWeight = 1;
diff --git a/src/core/features/h5p/classes/core.ts b/src/core/features/h5p/classes/core.ts
index e2b5acb1b..1e6a90502 100644
--- a/src/core/features/h5p/classes/core.ts
+++ b/src/core/features/h5p/classes/core.ts
@@ -431,7 +431,7 @@ export class CoreH5PCore {
if (matches) {
slug = matches[1] + (Number(matches[2]) + 1);
} else {
- slug += '-2';
+ slug += '-2';
}
}
diff --git a/src/core/features/login/components/site-onboarding/site-onboarding.html b/src/core/features/login/components/site-onboarding/site-onboarding.html
index 851adbfe8..67ef6d1cb 100644
--- a/src/core/features/login/components/site-onboarding/site-onboarding.html
+++ b/src/core/features/login/components/site-onboarding/site-onboarding.html
@@ -24,10 +24,10 @@
-
+
{{'core.login.onboardingimalearner' | translate}}
-
+
{{'core.login.onboardingimaneducator' | translate}}
@@ -36,10 +36,10 @@
{{ 'core.login.onboardingtoconnect' | translate }}
-
+
{{ 'core.login.onboardingialreadyhaveasite' | translate }}
-
+
{{ 'core.login.onboardingineedasite' | translate }}