@@ -19,6 +19,7 @@ import { ModalController } from '@singletons';
1919import { CoreEvents } from '@singletons/events' ;
2020import { AddonCalendarEventType , AddonCalendarProvider } from '../../services/calendar' ;
2121import { AddonCalendarFilter , AddonCalendarEventIcons } from '../../services/calendar-helper' ;
22+ import { ALL_COURSES_ID } from '@features/courses/services/courses-helper' ;
2223
2324/**
2425 * Component to display the events filter that includes events types and a list of courses.
@@ -30,7 +31,7 @@ import { AddonCalendarFilter, AddonCalendarEventIcons } from '../../services/cal
3031} )
3132export class AddonCalendarFilterComponent implements OnInit {
3233
33- @Input ( ) courses : Partial < CoreEnrolledCourseData > [ ] = [ ] ;
34+ @Input ( ) courses : CoreEnrolledCourseData [ ] = [ ] ;
3435 @Input ( ) filter : AddonCalendarFilter = {
3536 filtered : false ,
3637 courseId : undefined ,
@@ -45,7 +46,7 @@ export class AddonCalendarFilterComponent implements OnInit {
4546 courseId = - 1 ;
4647 typeIcons : AddonCalendarEventIcons [ ] = [ ] ;
4748 types : string [ ] = [ ] ;
48- sortedCourses : Partial < CoreEnrolledCourseData > [ ] = [ ] ;
49+ sortedCourses : CoreEnrolledCourseData [ ] = [ ] ;
4950
5051 constructor ( ) {
5152 CoreUtils . enumKeys ( AddonCalendarEventType ) . forEach ( ( name ) => {
@@ -60,10 +61,18 @@ export class AddonCalendarFilterComponent implements OnInit {
6061 * @inheritdoc
6162 */
6263 ngOnInit ( ) : void {
63- this . courseId = this . filter . courseId || - 1 ;
64+ this . courseId = this . filter . courseId || ALL_COURSES_ID ;
65+ this . sortedCourses = Array . from ( this . courses ) . sort ( ( a , b ) => {
66+ if ( a . id === ALL_COURSES_ID ) {
67+ return - 1 ;
68+ }
6469
65- this . sortedCourses = Array . from ( this . courses )
66- . sort ( ( a , b ) => ( a . shortname ?. toLowerCase ( ) ?? '' ) . localeCompare ( b . shortname ?. toLowerCase ( ) ?? '' ) ) ;
70+ if ( b . id === ALL_COURSES_ID ) {
71+ return 1 ;
72+ }
73+
74+ return ( a . shortname ?. toLowerCase ( ) ?? '' ) . localeCompare ( b . shortname ?. toLowerCase ( ) ?? '' ) ;
75+ } ) ;
6776 }
6877
6978 /**
0 commit comments