From 7e686b36c52479416e285d0e5fe12ae895dc3c3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Tue, 4 Feb 2025 11:21:13 +0100 Subject: [PATCH] MOBILE-4759 chore: Retrieve pages instead of modules on functions --- .../mod/assign/components/index/index.ts | 2 +- .../bigbluebuttonbn/components/index/index.ts | 2 +- src/addons/mod/book/components/index/index.ts | 2 +- src/addons/mod/chat/components/index/index.ts | 2 +- .../mod/choice/components/index/index.ts | 2 +- src/addons/mod/data/components/index/index.ts | 2 +- .../mod/feedback/components/index/index.ts | 2 +- .../mod/folder/components/index/index.ts | 2 +- .../mod/forum/components/index/index.ts | 2 +- .../mod/forum/pages/discussion/discussion.ts | 2 +- .../pages/new-discussion/new-discussion.ts | 2 +- .../mod/glossary/components/index/index.ts | 2 +- src/addons/mod/glossary/pages/entry/entry.ts | 2 +- .../mod/h5pactivity/components/index/index.ts | 2 +- .../mod/imscp/components/index/index.ts | 2 +- .../mod/lesson/components/index/index.ts | 2 +- src/addons/mod/lti/components/index/index.ts | 2 +- src/addons/mod/page/components/index/index.ts | 2 +- src/addons/mod/quiz/components/index/index.ts | 2 +- .../mod/resource/components/index/index.ts | 2 +- .../mod/scorm/components/index/index.ts | 2 +- .../mod/survey/components/index/index.ts | 2 +- src/addons/mod/url/components/index/index.ts | 2 +- src/addons/mod/wiki/components/index/index.ts | 2 +- .../mod/workshop/components/index/index.ts | 2 +- src/app/app-routing.module.ts | 5 +++ .../course/classes/main-activity-component.ts | 2 +- .../course/classes/main-resource-component.ts | 2 +- .../course/course-contents-lazy.module.ts | 2 +- .../features/course/course-lazy.module.ts | 2 +- .../course/course-summary-lazy.module.ts | 32 ------------------- .../course/pages/contents/contents.ts | 8 ++--- .../pages/course-summary/course-summary.ts | 2 +- .../features/course/services/course-helper.ts | 10 +++--- .../features/courses/courses-lazy.module.ts | 2 +- .../courses/services/courses-helper.ts | 10 +++--- .../components/module-index/module-index.ts | 2 +- 37 files changed, 51 insertions(+), 78 deletions(-) delete mode 100644 src/core/features/course/course-summary-lazy.module.ts diff --git a/src/addons/mod/assign/components/index/index.ts b/src/addons/mod/assign/components/index/index.ts index a0e5a1d1656..2e1399b1024 100644 --- a/src/addons/mod/assign/components/index/index.ts +++ b/src/addons/mod/assign/components/index/index.ts @@ -17,7 +17,7 @@ import { Params } from '@angular/router'; import { CoreError } from '@classes/errors/error'; import { CoreSite } from '@classes/sites/site'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { IonContent } from '@ionic/angular'; import { CoreGroupInfo, CoreGroups } from '@services/groups'; import { CoreNavigator } from '@services/navigator'; diff --git a/src/addons/mod/bigbluebuttonbn/components/index/index.ts b/src/addons/mod/bigbluebuttonbn/components/index/index.ts index 6625d93490e..f2f9c8c7422 100644 --- a/src/addons/mod/bigbluebuttonbn/components/index/index.ts +++ b/src/addons/mod/bigbluebuttonbn/components/index/index.ts @@ -15,7 +15,7 @@ import { Component, OnInit, Optional } from '@angular/core'; import { CoreError } from '@classes/errors/error'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { IonContent } from '@ionic/angular'; import { CoreApp } from '@services/app'; import { CoreGroupInfo, CoreGroups } from '@services/groups'; diff --git a/src/addons/mod/book/components/index/index.ts b/src/addons/mod/book/components/index/index.ts index 1bc9ea37ba2..1180ee33a18 100644 --- a/src/addons/mod/book/components/index/index.ts +++ b/src/addons/mod/book/components/index/index.ts @@ -15,7 +15,7 @@ import { Component, Optional, OnInit, OnDestroy } from '@angular/core'; import { CoreCourseModuleMainResourceComponent } from '@features/course/classes/main-resource-component'; import { AddonModBook, AddonModBookBookWSData, AddonModBookTocChapter } from '../../services/book'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreCourse } from '@features/course/services/course'; import { CoreNavigator } from '@services/navigator'; import { CorePromiseUtils } from '@singletons/promise-utils'; diff --git a/src/addons/mod/chat/components/index/index.ts b/src/addons/mod/chat/components/index/index.ts index 6fcf974f065..503a5384d10 100644 --- a/src/addons/mod/chat/components/index/index.ts +++ b/src/addons/mod/chat/components/index/index.ts @@ -14,7 +14,7 @@ import { Component, OnInit, Optional } from '@angular/core'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { IonContent } from '@ionic/angular'; import { CoreNavigator } from '@services/navigator'; import { CoreTimeUtils } from '@services/utils/time'; diff --git a/src/addons/mod/choice/components/index/index.ts b/src/addons/mod/choice/components/index/index.ts index a188956c08f..f68ca0bd450 100644 --- a/src/addons/mod/choice/components/index/index.ts +++ b/src/addons/mod/choice/components/index/index.ts @@ -15,7 +15,7 @@ import { Component, Optional, OnInit } from '@angular/core'; import { CoreError } from '@classes/errors/error'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { IonContent } from '@ionic/angular'; import { CoreSites } from '@services/sites'; import { CoreTimeUtils } from '@services/utils/time'; diff --git a/src/addons/mod/data/components/index/index.ts b/src/addons/mod/data/components/index/index.ts index 8fcf66fe81c..a353d3e2e11 100644 --- a/src/addons/mod/data/components/index/index.ts +++ b/src/addons/mod/data/components/index/index.ts @@ -17,7 +17,7 @@ import { Component, OnDestroy, OnInit, Optional, Type } from '@angular/core'; import { Params } from '@angular/router'; import { CoreCommentsProvider } from '@features/comments/services/comments'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreRatingProvider } from '@features/rating/services/rating'; import { CoreRatingSyncProvider } from '@features/rating/services/rating-sync'; import { IonContent } from '@ionic/angular'; diff --git a/src/addons/mod/feedback/components/index/index.ts b/src/addons/mod/feedback/components/index/index.ts index ab94ba656c7..c32cdcd2fd0 100644 --- a/src/addons/mod/feedback/components/index/index.ts +++ b/src/addons/mod/feedback/components/index/index.ts @@ -16,7 +16,7 @@ import { Component, Input, Optional, ViewChild, OnInit, OnDestroy } from '@angul import { CoreError } from '@classes/errors/error'; import { CoreTabsComponent } from '@components/tabs/tabs'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { IonContent } from '@ionic/angular'; import { CoreGroupInfo, CoreGroups } from '@services/groups'; import { CoreNavigator } from '@services/navigator'; diff --git a/src/addons/mod/folder/components/index/index.ts b/src/addons/mod/folder/components/index/index.ts index c7a06a24a1e..6a2187091f1 100644 --- a/src/addons/mod/folder/components/index/index.ts +++ b/src/addons/mod/folder/components/index/index.ts @@ -15,7 +15,7 @@ import { Component, Input, OnInit, Optional } from '@angular/core'; import { Params } from '@angular/router'; import { CoreCourseModuleMainResourceComponent } from '@features/course/classes/main-resource-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreCourse } from '@features/course/services/course'; import { CoreNavigator } from '@services/navigator'; import { Md5 } from 'ts-md5'; diff --git a/src/addons/mod/forum/components/index/index.ts b/src/addons/mod/forum/components/index/index.ts index 39c8629e072..807f2f08599 100644 --- a/src/addons/mod/forum/components/index/index.ts +++ b/src/addons/mod/forum/components/index/index.ts @@ -26,7 +26,7 @@ import { } from '@addons/mod/forum/services/forum'; import { AddonModForumOffline } from '@addons/mod/forum/services/forum-offline'; import { Translate } from '@singletons'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { AddonModForumHelper } from '@addons/mod/forum/services/forum-helper'; import { CoreGroupInfo } from '@services/groups'; import { CoreEvents, CoreEventObserver } from '@singletons/events'; diff --git a/src/addons/mod/forum/pages/discussion/discussion.ts b/src/addons/mod/forum/pages/discussion/discussion.ts index 9ce4f117bd0..402bcd296ca 100644 --- a/src/addons/mod/forum/pages/discussion/discussion.ts +++ b/src/addons/mod/forum/pages/discussion/discussion.ts @@ -58,7 +58,7 @@ import { ADDON_MOD_FORUM_REPLY_DISCUSSION_EVENT, AddonModForumType, } from '../../constants'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreToasts } from '@services/overlays/toasts'; import { CoreLoadings } from '@services/overlays/loadings'; import { CorePromiseUtils } from '@singletons/promise-utils'; diff --git a/src/addons/mod/forum/pages/new-discussion/new-discussion.ts b/src/addons/mod/forum/pages/new-discussion/new-discussion.ts index 66277604add..822d7b6e21a 100644 --- a/src/addons/mod/forum/pages/new-discussion/new-discussion.ts +++ b/src/addons/mod/forum/pages/new-discussion/new-discussion.ts @@ -50,7 +50,7 @@ import { ADDON_MOD_FORUM_COMPONENT, ADDON_MOD_FORUM_NEW_DISCUSSION_EVENT, } from '../../constants'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreLoadings } from '@services/overlays/loadings'; import { CorePromiseUtils } from '@singletons/promise-utils'; import { CoreAlerts } from '@services/overlays/alerts'; diff --git a/src/addons/mod/glossary/components/index/index.ts b/src/addons/mod/glossary/components/index/index.ts index 6b5bcfc0b3d..e18112e5d92 100644 --- a/src/addons/mod/glossary/components/index/index.ts +++ b/src/addons/mod/glossary/components/index/index.ts @@ -20,7 +20,7 @@ import { CoreRoutedItemsManagerSourcesTracker } from '@classes/items-management/ import { CorePromisedValue } from '@classes/promised-value'; import { CoreSplitViewComponent } from '@components/split-view/split-view'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreCourse } from '@features/course/services/course'; import { CoreRatingProvider } from '@features/rating/services/rating'; import { CoreRatingOffline } from '@features/rating/services/rating-offline'; diff --git a/src/addons/mod/glossary/pages/entry/entry.ts b/src/addons/mod/glossary/pages/entry/entry.ts index b2eb0cd653e..554ffff1b7a 100644 --- a/src/addons/mod/glossary/pages/entry/entry.ts +++ b/src/addons/mod/glossary/pages/entry/entry.ts @@ -38,7 +38,7 @@ import { import { CoreTime } from '@singletons/time'; import { CoreAnalytics, CoreAnalyticsEventType } from '@services/analytics'; import { ADDON_MOD_GLOSSARY_COMPONENT, ADDON_MOD_GLOSSARY_ENTRY_UPDATED, ADDON_MOD_GLOSSARY_PAGE_NAME } from '../../constants'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreToasts, ToastDuration } from '@services/overlays/toasts'; import { CoreLoadings } from '@services/overlays/loadings'; import { CoreAlerts } from '@services/overlays/alerts'; diff --git a/src/addons/mod/h5pactivity/components/index/index.ts b/src/addons/mod/h5pactivity/components/index/index.ts index db259f94f2f..ef605d95681 100644 --- a/src/addons/mod/h5pactivity/components/index/index.ts +++ b/src/addons/mod/h5pactivity/components/index/index.ts @@ -17,7 +17,7 @@ import { IonContent } from '@ionic/angular'; import { DownloadStatus } from '@/core/constants'; import { CoreSite } from '@classes/sites/site'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreH5PDisplayOptions } from '@features/h5p/classes/core'; import { CoreH5PHelper } from '@features/h5p/classes/helper'; import { CoreH5P } from '@features/h5p/services/h5p'; diff --git a/src/addons/mod/imscp/components/index/index.ts b/src/addons/mod/imscp/components/index/index.ts index 3876aa21c49..05a0e79bcda 100644 --- a/src/addons/mod/imscp/components/index/index.ts +++ b/src/addons/mod/imscp/components/index/index.ts @@ -14,7 +14,7 @@ import { Component, OnInit, Optional } from '@angular/core'; import { CoreCourseModuleMainResourceComponent } from '@features/course/classes/main-resource-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreCourse } from '@features/course/services/course'; import { CoreNavigator } from '@services/navigator'; import { AddonModImscp, AddonModImscpTocItem } from '../../services/imscp'; diff --git a/src/addons/mod/lesson/components/index/index.ts b/src/addons/mod/lesson/components/index/index.ts index 72e9c5ddbf9..88a66669730 100644 --- a/src/addons/mod/lesson/components/index/index.ts +++ b/src/addons/mod/lesson/components/index/index.ts @@ -17,7 +17,7 @@ import { Component, Input, ViewChild, ElementRef, OnInit, OnDestroy, Optional } import { CoreTabsComponent } from '@components/tabs/tabs'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreUser } from '@features/user/services/user'; import { IonContent, IonInput } from '@ionic/angular'; import { CoreGroupInfo, CoreGroups } from '@services/groups'; diff --git a/src/addons/mod/lti/components/index/index.ts b/src/addons/mod/lti/components/index/index.ts index c5d94a1ceb4..42eb71173e0 100644 --- a/src/addons/mod/lti/components/index/index.ts +++ b/src/addons/mod/lti/components/index/index.ts @@ -15,7 +15,7 @@ import { Component, Optional, OnInit } from '@angular/core'; import { IonContent } from '@ionic/angular'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { AddonModLti, AddonModLtiLti } from '../../services/lti'; import { AddonModLtiHelper } from '../../services/lti-helper'; import { ADDON_MOD_LTI_COMPONENT } from '../../constants'; diff --git a/src/addons/mod/page/components/index/index.ts b/src/addons/mod/page/components/index/index.ts index 61c9bb71b4e..61e74e6189a 100644 --- a/src/addons/mod/page/components/index/index.ts +++ b/src/addons/mod/page/components/index/index.ts @@ -14,7 +14,7 @@ import { Component, OnInit, Optional } from '@angular/core'; import { CoreCourseModuleMainResourceComponent } from '@features/course/classes/main-resource-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreText } from '@singletons/text'; import { CoreUtils } from '@singletons/utils'; import { AddonModPagePage, AddonModPage } from '../../services/page'; diff --git a/src/addons/mod/quiz/components/index/index.ts b/src/addons/mod/quiz/components/index/index.ts index d5d47f6f4dc..c1afc74162d 100644 --- a/src/addons/mod/quiz/components/index/index.ts +++ b/src/addons/mod/quiz/components/index/index.ts @@ -17,7 +17,7 @@ import { isSafeNumber, safeNumber, SafeNumber } from '@/core/utils/types'; import { Component, OnDestroy, OnInit, Optional } from '@angular/core'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreQuestionBehaviourDelegate } from '@features/question/services/behaviour-delegate'; import { IonContent } from '@ionic/angular'; import { CoreNavigator } from '@services/navigator'; diff --git a/src/addons/mod/resource/components/index/index.ts b/src/addons/mod/resource/components/index/index.ts index 527b8a381ed..34d099bfbc7 100644 --- a/src/addons/mod/resource/components/index/index.ts +++ b/src/addons/mod/resource/components/index/index.ts @@ -16,7 +16,7 @@ import { DownloadStatus } from '@/core/constants'; import { Component, OnDestroy, OnInit, Optional } from '@angular/core'; import { CoreError } from '@classes/errors/error'; import { CoreCourseModuleMainResourceComponent } from '@features/course/classes/main-resource-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreCourse } from '@features/course/services/course'; import { CoreCourseModulePrefetchDelegate } from '@features/course/services/module-prefetch-delegate'; import { CoreNetwork } from '@services/network'; diff --git a/src/addons/mod/scorm/components/index/index.ts b/src/addons/mod/scorm/components/index/index.ts index cd673b5ec7c..5916661f1e8 100644 --- a/src/addons/mod/scorm/components/index/index.ts +++ b/src/addons/mod/scorm/components/index/index.ts @@ -16,7 +16,7 @@ import { DownloadStatus } from '@/core/constants'; import { Component, Input, OnDestroy, OnInit, Optional } from '@angular/core'; import { CoreError } from '@classes/errors/error'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreCourse } from '@features/course/services/course'; import { IonContent } from '@ionic/angular'; import { CoreNavigator } from '@services/navigator'; diff --git a/src/addons/mod/survey/components/index/index.ts b/src/addons/mod/survey/components/index/index.ts index 43d2abe81f0..bf01e369c3e 100644 --- a/src/addons/mod/survey/components/index/index.ts +++ b/src/addons/mod/survey/components/index/index.ts @@ -16,7 +16,7 @@ import { Component, OnInit, Optional } from '@angular/core'; import { CoreError } from '@classes/errors/error'; import { CoreIonLoadingElement } from '@classes/ion-loading'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { IonContent } from '@ionic/angular'; import { CoreSites } from '@services/sites'; import { CoreText } from '@singletons/text'; diff --git a/src/addons/mod/url/components/index/index.ts b/src/addons/mod/url/components/index/index.ts index e4432ebfd0a..bb813c067da 100644 --- a/src/addons/mod/url/components/index/index.ts +++ b/src/addons/mod/url/components/index/index.ts @@ -16,7 +16,7 @@ import { CoreConstants } from '@/core/constants'; import { Component, OnInit, Optional } from '@angular/core'; import { CoreError } from '@classes/errors/error'; import { CoreCourseModuleMainResourceComponent } from '@features/course/classes/main-resource-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreCourse } from '@features/course/services/course'; import { CoreMimetypeUtils } from '@services/utils/mimetype'; import { CoreText } from '@singletons/text'; diff --git a/src/addons/mod/wiki/components/index/index.ts b/src/addons/mod/wiki/components/index/index.ts index 879c54938f3..1ecb3773c10 100644 --- a/src/addons/mod/wiki/components/index/index.ts +++ b/src/addons/mod/wiki/components/index/index.ts @@ -16,7 +16,7 @@ import { Component, Optional, Input, OnInit, OnDestroy } from '@angular/core'; import { Params } from '@angular/router'; import { CoreError } from '@classes/errors/error'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreCourse } from '@features/course/services/course'; import { CoreTag, CoreTagItem } from '@features/tag/services/tag'; import { CoreUser } from '@features/user/services/user'; diff --git a/src/addons/mod/workshop/components/index/index.ts b/src/addons/mod/workshop/components/index/index.ts index a9e46d736d1..4d79b1d9ac4 100644 --- a/src/addons/mod/workshop/components/index/index.ts +++ b/src/addons/mod/workshop/components/index/index.ts @@ -16,7 +16,7 @@ import { Component, Input, OnDestroy, OnInit, Optional } from '@angular/core'; import { Params } from '@angular/router'; import { CoreError } from '@classes/errors/error'; import { CoreCourseModuleMainActivityComponent } from '@features/course/classes/main-activity-component'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { IonContent } from '@ionic/angular'; import { CoreGroupInfo, CoreGroups } from '@services/groups'; import { CoreNavigator } from '@services/navigator'; diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 53704f5888f..3f12f318d73 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -112,6 +112,11 @@ export type LazyRoutesModule = Type | // eslint-disable-next-line deprecation/deprecation, @typescript-eslint/no-explicit-any Promise | Type | Routes | DefaultExport> |DefaultExport>; +/** + * Type to declare lazy standalone component. Extracted from Angular's LoadComponent type with default class. + */ +export type LazyDefaultStandaloneComponent = Promise>>; + /** * Build url matcher using a regular expression. * diff --git a/src/core/features/course/classes/main-activity-component.ts b/src/core/features/course/classes/main-activity-component.ts index 56dc3cd3fa0..b716667b74e 100644 --- a/src/core/features/course/classes/main-activity-component.ts +++ b/src/core/features/course/classes/main-activity-component.ts @@ -19,7 +19,7 @@ import { CoreCourseModuleMainResourceComponent } from './main-resource-component import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { CoreCourse } from '../services/course'; import { CorePromiseUtils } from '@singletons/promise-utils'; -import { CoreCourseContentsPage } from '../pages/contents/contents'; +import CoreCourseContentsPage from '../pages/contents/contents'; import { CoreSites } from '@services/sites'; import { CoreSyncResult } from '@services/sync'; import { CoreAlerts } from '@services/overlays/alerts'; diff --git a/src/core/features/course/classes/main-resource-component.ts b/src/core/features/course/classes/main-resource-component.ts index dc567092d68..88e17310695 100644 --- a/src/core/features/course/classes/main-resource-component.ts +++ b/src/core/features/course/classes/main-resource-component.ts @@ -22,7 +22,7 @@ import { Translate } from '@singletons'; import { CoreEventObserver, CoreEvents } from '@singletons/events'; import { CoreLogger } from '@singletons/logger'; import { CoreCourseModuleSummaryResult } from '../components/module-summary/module-summary'; -import { CoreCourseContentsPage } from '../pages/contents/contents'; +import CoreCourseContentsPage from '../pages/contents/contents'; import { CoreCourse, CoreCourseModuleContentFile } from '../services/course'; import { CoreCourseHelper, CoreCourseModuleData } from '../services/course-helper'; import { CoreCourseModuleDelegate, CoreCourseModuleMainComponent } from '../services/module-delegate'; diff --git a/src/core/features/course/course-contents-lazy.module.ts b/src/core/features/course/course-contents-lazy.module.ts index 03f4f16c4a6..0d7fb943fa6 100644 --- a/src/core/features/course/course-contents-lazy.module.ts +++ b/src/core/features/course/course-contents-lazy.module.ts @@ -16,7 +16,7 @@ import { Injector, NgModule } from '@angular/core'; import { ROUTES, Routes } from '@angular/router'; import { resolveContentsRoutes } from '@features/course/course-contents-routing.module'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; /** * Build module routes. diff --git a/src/core/features/course/course-lazy.module.ts b/src/core/features/course/course-lazy.module.ts index 37591ca5946..a46733e8958 100644 --- a/src/core/features/course/course-lazy.module.ts +++ b/src/core/features/course/course-lazy.module.ts @@ -52,7 +52,7 @@ function buildRoutes(injector: Injector): Routes { }, { path: ':courseId/summary', - loadChildren: () => CoreCourseHelper.getCourseSummaryRouteModule(), + loadComponent: () => CoreCourseHelper.getCourseSummaryPage(), }, ]; } diff --git a/src/core/features/course/course-summary-lazy.module.ts b/src/core/features/course/course-summary-lazy.module.ts deleted file mode 100644 index 08850979677..00000000000 --- a/src/core/features/course/course-summary-lazy.module.ts +++ /dev/null @@ -1,32 +0,0 @@ -// (C) Copyright 2015 Moodle Pty Ltd. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; - -import { CoreCourseSummaryPage } from '@features/course/pages/course-summary/course-summary'; - -const routes: Routes = [ - { - path: '', - component: CoreCourseSummaryPage, - }, -]; - -@NgModule({ - imports: [ - RouterModule.forChild(routes), - ], -}) -export default class CoreCourseSummaryLazyModule {} diff --git a/src/core/features/course/pages/contents/contents.ts b/src/core/features/course/pages/contents/contents.ts index ccdd6063062..9219801c9dd 100644 --- a/src/core/features/course/pages/contents/contents.ts +++ b/src/core/features/course/pages/contents/contents.ts @@ -58,16 +58,16 @@ import { CoreSharedModule } from '@/core/shared.module'; selector: 'page-core-course-contents', templateUrl: 'contents.html', providers: [{ - provide: CORE_REFRESH_CONTEXT, - useExisting: forwardRef(() => CoreCourseContentsPage), - }], + provide: CORE_REFRESH_CONTEXT, + useExisting: forwardRef(() => CoreCourseContentsPage), + }], standalone: true, imports: [ CoreSharedModule, CoreCourseFormatComponent, ], }) -export class CoreCourseContentsPage implements OnInit, OnDestroy, CoreRefreshContext { +export default class CoreCourseContentsPage implements OnInit, OnDestroy, CoreRefreshContext { @ViewChild(IonContent) content?: IonContent; @ViewChild(CoreCourseFormatComponent) formatComponent?: CoreCourseFormatComponent; diff --git a/src/core/features/course/pages/course-summary/course-summary.ts b/src/core/features/course/pages/course-summary/course-summary.ts index 812f93ec765..854ce6af7d7 100644 --- a/src/core/features/course/pages/course-summary/course-summary.ts +++ b/src/core/features/course/pages/course-summary/course-summary.ts @@ -58,7 +58,7 @@ import { CoreSharedModule } from '@/core/shared.module'; CoreRemindersDateComponent, ], }) -export class CoreCourseSummaryPage implements OnInit, OnDestroy { +export default class CoreCourseSummaryPage implements OnInit, OnDestroy { @Input() course?: CoreCourseSummaryData; @Input() courseId = 0; diff --git a/src/core/features/course/services/course-helper.ts b/src/core/features/course/services/course-helper.ts index 4f51e2636e8..60536503840 100644 --- a/src/core/features/course/services/course-helper.ts +++ b/src/core/features/course/services/course-helper.ts @@ -71,7 +71,7 @@ import { CoreRemindersPushNotificationData } from '@features/reminders/services/ import { CoreLocalNotifications } from '@services/local-notifications'; import { CoreEnrol } from '@features/enrol/services/enrol'; import { CoreEnrolAction, CoreEnrolDelegate } from '@features/enrol/services/enrol-delegate'; -import { LazyRoutesModule } from '@/app/app-routing.module'; +import { LazyDefaultStandaloneComponent } from '@/app/app-routing.module'; import { CoreModals } from '@services/overlays/modals'; import { CoreLoadings } from '@services/overlays/loadings'; import { @@ -1971,8 +1971,8 @@ export class CoreCourseHelperProvider { * * @returns Course summary page module. */ - getCourseSummaryRouteModule(): LazyRoutesModule { - return import('../course-summary-lazy.module'); + getCourseSummaryPage(): LazyDefaultStandaloneComponent { + return import('@features/course/pages/course-summary/course-summary'); } /** @@ -1981,10 +1981,10 @@ export class CoreCourseHelperProvider { * @param course Course selected */ async openCourseSummary(course: CoreCourseWithImageAndColor & CoreCourseAnyCourseData): Promise { - const { CoreCourseSummaryPage } = await import('@features/course/pages/course-summary/course-summary'); + const page = await this.getCourseSummaryPage(); CoreModals.openSideModal({ - component: CoreCourseSummaryPage, + component: page.default, componentProps: { courseId: course.id, course: course, diff --git a/src/core/features/courses/courses-lazy.module.ts b/src/core/features/courses/courses-lazy.module.ts index a000755da81..92946fb637b 100644 --- a/src/core/features/courses/courses-lazy.module.ts +++ b/src/core/features/courses/courses-lazy.module.ts @@ -31,7 +31,7 @@ function buildRoutes(injector: Injector): Routes { data: { mainMenuTabRoot: CoreCoursesMyCoursesMainMenuHandlerService.PAGE_NAME, }, - loadChildren: () => CoreCoursesHelper.getMyRouteModule(), + loadComponent: () => CoreCoursesHelper.getMyPage(), }, { path: 'categories', diff --git a/src/core/features/courses/services/courses-helper.ts b/src/core/features/courses/services/courses-helper.ts index 742babb1b2d..bd71c6a4fad 100644 --- a/src/core/features/courses/services/courses-helper.ts +++ b/src/core/features/courses/services/courses-helper.ts @@ -31,7 +31,7 @@ import { of, firstValueFrom } from 'rxjs'; import { zipIncludingComplete } from '@/core/utils/rxjs'; import { catchError, map } from 'rxjs/operators'; import { chainRequests, WSObservable } from '@classes/sites/authenticated-site'; -import { LazyRoutesModule } from '@/app/app-routing.module'; +import { LazyStandaloneComponent } from '@/app/app-routing.module'; import { CoreSite } from '@classes/sites/site'; // Id for a course item representing all courses (for example, for course filters). @@ -431,12 +431,12 @@ export class CoreCoursesHelperProvider { } /** - * Retrieves my courses page module. + * Retrieves my courses page. * - * @returns My courses page module. + * @returns My courses page. */ - getMyRouteModule(): LazyRoutesModule { - return import('../courses-my-lazy.module'); + getMyPage(): LazyStandaloneComponent { + return import('@features/courses/pages/my/my'); } /** diff --git a/src/core/features/siteplugins/components/module-index/module-index.ts b/src/core/features/siteplugins/components/module-index/module-index.ts index f53eb6d7d46..05d865fbaf6 100644 --- a/src/core/features/siteplugins/components/module-index/module-index.ts +++ b/src/core/features/siteplugins/components/module-index/module-index.ts @@ -16,7 +16,7 @@ import { Component, OnInit, OnDestroy, Input, ViewChild, HostBinding, Optional } import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site'; import { CoreCourseModuleSummaryResult } from '@features/course/components/module-summary/module-summary'; -import { CoreCourseContentsPage } from '@features/course/pages/contents/contents'; +import CoreCourseContentsPage from '@features/course/pages/contents/contents'; import { CoreCourse } from '@features/course/services/course'; import { CoreCourseModuleData } from '@features/course/services/course-helper'; import {