MOBILE-4081 course: Load 'course-summary.module' from service

main
Alfonso Salces 2022-09-02 08:58:37 +02:00
parent ceae5d701c
commit 7a83c7711e
3 changed files with 30 additions and 13 deletions

View File

@ -14,6 +14,7 @@
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { CoreCourseHelper } from './services/course-helper';
export const COURSE_INDEX_PATH = ':courseId';
@ -33,8 +34,7 @@ const routes: Routes = [
},
{
path: ':courseId/summary',
loadChildren: () =>
import('./pages/course-summary/course-summary.module').then(m => m.CoreCourseSummaryPageModule),
loadChildren: () => CoreCourseHelper.getCourseSummaryRouteModule(),
},
];

View File

@ -26,7 +26,6 @@ import { CoreUtils } from '@services/utils/utils';
import { CoreNavigationOptions, CoreNavigator } from '@services/navigator';
import { CONTENTS_PAGE_NAME } from '@features/course/course.module';
import { CoreDomUtils } from '@services/utils/dom';
import { CoreCourseSummaryPage } from '../course-summary/course-summary';
import { CoreCoursesHelper, CoreCourseWithImageAndColor } from '@features/courses/services/courses-helper';
import { CoreColors } from '@singletons/colors';
import { CoreText } from '@singletons/text';
@ -288,17 +287,9 @@ export class CoreCourseIndexPage implements OnInit, OnDestroy {
* Open the course summary
*/
openCourseSummary(): void {
if (!this.course) {
return;
if (this.course) {
CoreCourseHelper.openCourseSummary(this.course);
}
CoreDomUtils.openSideModal<void>({
component: CoreCourseSummaryPage,
componentProps: {
courseId: this.course.id,
course: this.course,
},
});
}
/**

View File

@ -70,6 +70,8 @@ import { CoreSiteHome } from '@features/sitehome/services/sitehome';
import { CoreNavigationOptions, CoreNavigator } from '@services/navigator';
import { CoreSiteHomeHomeHandlerService } from '@features/sitehome/services/handlers/sitehome-home';
import { CoreStatusWithWarningsWSResponse } from '@services/ws';
import { CoreCourseWithImageAndColor } from '@features/courses/services/courses-helper';
import { CoreCourseSummaryPage } from '../pages/course-summary/course-summary';
/**
* Prefetch info of a module.
@ -2033,6 +2035,30 @@ export class CoreCourseHelperProvider {
}
}
/**
* Retrieves course summary page module.
*
* @returns Course summary page module.
*/
async getCourseSummaryRouteModule(): Promise<unknown> {
return import('../pages/course-summary/course-summary.module').then(m => m.CoreCourseSummaryPageModule);
}
/**
* Open course summary in side modal.
*
* @param course Course selected
*/
openCourseSummary(course: CoreCourseWithImageAndColor & CoreCourseAnyCourseData): void {
CoreDomUtils.openSideModal<void>({
component: CoreCourseSummaryPage,
componentProps: {
courseId: course.id,
course: course,
},
});
}
}
export const CoreCourseHelper = makeSingleton(CoreCourseHelperProvider);